Commit Graph

128 Commits

Author SHA1 Message Date
Kacper Michajłow 05e870f76b ci/msys2: compact build script 2024-06-07 21:12:38 +02:00
Kacper Michajłow de1c0b5464 ci/msys2: re-enable 32-bit builds
The 32-bit builds were disabled, because some packages started
disappearing. MSYS2 is slowly phasing out 32-bit support, but since we
still support it we have to test it somehow. Recent brakage with calling
convention mismatch would be spotted a lot quicker. So enable it, but
with some, not available, packages disabled.

This reverts a56d5c7fa1
2024-06-07 21:12:38 +02:00
Kacper Michajłow f47cbcd439 ci/mingw: don't run test on 32-bit binary
Ubuntu 24.04 linux-azure kernel, used on GHA, is compiled with
CONFIG_COMPAT_32BIT_TIME=n. This prevents running any 32-bit binaries
through wine, so disable tests when doing i686 build. 32-bit builds are
still tested on Windows.

See: https://github.com/actions/runner-images/issues/9977
2024-06-07 21:12:38 +02:00
Kacper Michajłow ac5d27fce5 ci/mingw: enable javascript support 2024-06-07 20:07:29 +02:00
Kacper Michajłow 8f220067df ci/mingw: resolve pkgconfig deprecation warning in meson
pkgconfig is deprecated in favor of pkg-config. Define both for
compatibility with meson < 1.3.0.

https://mesonbuild.com/Release-notes-for-1-3-0.html#machine-files-pkgconfig-field-deprecated-and-replaced-by-pkgconfig
2024-06-03 19:18:06 +02:00
Kacper Michajłow bec3f606cf ci/mingw: run meson tests 2024-06-03 19:18:06 +02:00
Kacper Michajłow bb078b8303 ci/mingw: add exe_wrapper to cross file
Allows running complied binaries on build machine.
2024-06-03 19:18:06 +02:00
Kacper Michajłow 7e8c887873 ci/mingw: support encode mode 2024-06-03 19:18:06 +02:00
Kacper Michajłow edcc72ba02 ci/mingw: use ninja for cmake builds 2024-06-03 19:18:06 +02:00
Guido Cella 4bbaa4d0d0 ci/lint: only allow specific characters in subjects 2024-05-20 20:59:10 +02:00
Guido Cella 7c4e7d8c7b ci/lint: allow the first word after : to be an option with -- 2024-05-20 20:59:10 +02:00
Guido Cella 68a5490be2 ci/lint: only allow space instead of \s or \s+ 2024-05-20 20:59:10 +02:00
Kacper Michajłow f2f62c5436 ci/mingw: use meson for libass build 2024-05-19 19:10:19 +02:00
Kacper Michajłow 0f93a6934f ci/mingw: remove non-existent cmake option 2024-05-19 19:10:19 +02:00
Kacper Michajłow 875378ff01 ci/win32: override link args only for the target that needs them
Fixes compilation after USE_GAS related fixes upstream. It links
asm_offset.exe, which shouldn't use a .def file.

Fixes: 0125d35954
2024-05-19 01:29:14 +02:00
Kacper Michajłow 0125d35954 ci/win32: add Vulkan-Loader
vulkan-1.dll is packaged, but is not neccessary in most cases where
Vulkan Loader is already instaled by GPU driver.
2024-05-18 23:22:18 +02:00
Kacper Michajłow 2b4c64e321 ci/win32: build shaderc
Instead of linking binary blobs, build everything ourselves.
2024-05-18 23:22:18 +02:00
Kacper Michajłow a0195d335d ci/win32: enable all available projects from meson's wrapdb
Rubber Band is disabled because it pulls more dependencies and it is not
worth build. Might be reconsidered later.
2024-05-18 23:22:18 +02:00
Kacper Michajłow 58d9f565c4 ci/win32: add spirv-cross 2024-05-18 23:22:18 +02:00
Kacper Michajłow 8c4b081da9 ci/win32: add shaderc
Use pre-built binaries to reduce CI build time.
2024-05-18 23:22:18 +02:00
Kacper Michajłow 0ffabf5d45 ci: add Windows native build
x86_64-pc-windows-msvc build without mingw dependency. For now it lacks
some key dependencies like lua or shaderc. Will be extended in the
future.
2024-05-06 22:01:17 +02:00
Kacper Michajłow d347ee0e91 ci/lint: use long commit hash
No reason to use short hash in script internally.
2024-05-05 13:54:07 +02:00
sfan5 943a50b300 ci/mingw: update dependency versions 2024-05-03 23:44:51 +02:00
Jan Ekström e8fb386456 ci/build-mingw64: enable the SPDIF muxer
Useful if we want people to verify bitstreaming related changes
with our PR builds.
2024-04-04 17:03:48 +03:00
Andarwinux bcab45149d ci/mingw: use GAS for vulkan loader
this allows us to securely bundle the vulkan loader and include it in CI artifacts
2024-03-25 15:34:59 +01:00
nanahi 385031ae2d ci/mingw: update dependency versions 2024-03-03 16:43:02 +01:00
nanahi 7d31db9e45 ci/mingw: add dav1d decoder
ffmpeg has built-in decoders for almost all common formats, except AV1.
dav1d allows the CI build to play AV1 videos without a hwdec-capable GPU.
2024-03-03 16:43:02 +01:00
nanahi a81212836d ci/mingw: enable nvdec
Install the nv-codec-headers to enable nvdec for ffmpeg.
This allows the CI build to enable hwdec on opengl and vulkan contexts.
2024-03-03 16:43:02 +01:00
sfan5 3e42139e13 ci: clone repos with shallow submodules 2024-02-26 23:16:48 +01:00
LaserEyess d5dc1e8025 ci: add explicit build test for ffmpeg 4.4
This uses an alpine 3.15 container, which should be one of the oldest
distros that mpv master can compile on and that uses ffmpeg 4.4. Some
functionality is missing due to library versions being too old on
alpine, e.g. wayland, mujs, and pipewire.

The alpine build is also explicitly minimal, to test builds in
conditions where many common mpv features may not be available.
2024-02-26 15:37:37 +00:00
Kacper Michajłow 4f305e022f Revert "ci/mingw: pin Vulkan version again"
No longer needed after commit:
e06ce6d2b4

This reverts commit 09606b9db9.
2024-02-26 09:35:36 +01:00
LaserEyess a0447a370e ci: add OpenBSD 2024-02-25 14:29:18 +01:00
LaserEyess 914e56d845 ci: fix typing in lint-commit-msg.py
1. Explicitly add typing to lint_rules
2. Fix return type for get_commit_range()
3. Fix no-return path with get_commit_range()
2024-02-25 14:28:05 +01:00
der richter 3390dce426 github/workflows: add vulkan, mujs and urchadet to macOS dependencies
also explicitly enable those and remaining macOS features.
2024-02-24 20:04:16 +01:00
Dudemanguy 31a5f77ceb ci/lint: add Reapply to the no prefix whitelist
You get a special award if you commit one of these.
2024-02-15 09:54:48 -06:00
sfan5 09606b9db9 ci/mingw: pin Vulkan version again
With 1.3.277 the AV1 decode headers have been upstreamed.
These get preferred over ffmpeg's internal non-standard header
for this extension (same name). FFmpeg currently only builds
using its own header and a patch to work with upstream ones
is in review.

For now pin vulkan at the version before that to unbreak our CI.
2024-02-12 14:42:29 +01:00
Kacper Michajłow 5b28c5aa20 Revert "github/workflows: don't install angleproject on msys2"
No longer needed after removal of 32-bit builds.

This reverts commit d56ad8f032.
2024-01-14 22:42:26 +01:00
llyyr d56ad8f032 github/workflows: don't install angleproject on msys2
This package isn't available for i686 anymore, and not worth the hassle
to only install it for win64 since it isn't particularly useful.

See: fff2fa3711
2024-01-12 17:19:25 +01:00
Kacper Michajłow 687372e2a2 ci/build-freebsd: use march=native for QEMU hosted build
This is workaround to not emit instructions that are broken with current
version of QEMU used in CI job.

Fixes SIGBUS on valid code when executed in QEMU caused by issue with
CVTPS2PD instruction.

QEMU issue:
https://gitlab.com/qemu-project/qemu/-/issues/1377

QEMU fix:
abd41884c5

Should be resolved after QEMU update to 8.2.0:
https://github.com/cross-platform-actions/action/issues/78
2024-01-04 11:44:22 +01:00
Kacper Michajłow dda14de13d Revert "ci/mingw: use vulkan-loader v1.3.266"
This reverts commit 9d8dfc7b49.
2023-12-04 09:56:27 +01:00
sfan5 7dff735241 ci: remove dvbin from freebsd run
As it is now, the FreeBSD CI is failing because meson can't find the
dvb headers.
FreeBSD puts the relevant headers into /usr/local which is bothersome
and in fact required a workaround to be added to the Wayland detection
already (3bdf702b1d) but this should be
addressed by us adding the path to CFLAGS already.

With a more minimal example the detection works fine in my FreeBSD VM.
I'm at my wits end debugging this so just disable it for now.
2023-11-29 20:36:37 +01:00
Dudemanguy c7d8e155d2 ci/tumbleweed: don't enable shaderc
It only ever had any real affect on windows so with the previous build
change, enabling it cannot work.
2023-11-28 21:47:13 +00:00
Dudemanguy 7cca2a304e ci: remove leftover libplacebo subproject options
486bb93dfa removed the wrap which made
these specific options obsolete.
2023-11-27 20:44:07 +00:00
nanahi facbbd1110 ci/msys2: remove libplacebo.wrap
Not needed anymore as package is updated.
2023-11-27 19:11:07 +00:00
Dudemanguy 60db198267 ci: update mpv.com path again
Hopefully for the last time. It will now be in ./build as one would
expect.
2023-11-27 18:42:19 +00:00
Kacper Michajłow 36a33b44b9 ci/build-macos: enable Werror to catch issues quicker 2023-11-24 10:05:09 +01:00
llyyr 54223fc8e7 ci/msys2: create a wrap file for libplacebo
This is required because msys2's libplacebo is too outdated
2023-10-25 16:40:02 +00:00
Dudemanguy 1ea106bac0 ci/freebsd: disable iconv
This actually started having a linking error a few days ago, but the ci
never actually actually exited 1 for some reason so it was never caught.
The actual commits where this started happening are unrelated (reverted
all of the them to be sure) and there's no other obvious things like a
meson update that would cause this. All I can assume is some other
package within BSD itself, but I can't be bothered to debug it. Anyways,
just disable iconv in the build for now so the CI stops failing.
Presumably there's something wrong in the environment with GNU's
libiconv and the built-in one clashing somehow. Also, sdl unbelievably
defines HAVE_ICONV in their public header so we have to disable that
too.
2023-10-23 19:23:48 +00:00
Kacper Michajłow 7d63b81cf1 ci: disable Werror for libplacebo subproject build 2023-10-23 20:35:13 +02:00
llyyr f5ca11e12b meson: make libplacebo a required dependency
Make it not possible to build mpv without the latest libplacebo anymore.
This will allow for less code duplication between mpv and libplacebo,
and in the future also let us delete legacy ifdefs and track libplacebo
better.
2023-10-23 13:03:29 +02:00