1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-18 04:45:33 +00:00
Commit Graph

73 Commits

Author SHA1 Message Date
Kacper Michajłow
3cc3c9ced3 Revert "ci/mingw: don't run test on 32-bit binary"
Support for 32-bit binaries were restored.

See:
https://github.com/actions/runner-images/issues/9977
https://bugs.launchpad.net/ubuntu/+source/linux-signed-azure/+bug/2071445
https://launchpad.net/ubuntu/+source/linux-azure/6.8.0-1012.14

This reverts commit f47cbcd439.
2024-08-16 12:57:56 +02:00
Kacper Michajłow
08935d5d21 ci/{mingw,win32}: specify nasm as it seems to be required now by libass
Fixes mingw and win32 builds after 1774117b80
2024-08-16 12:57:56 +02:00
sfan5
3ab989e554 ci/mingw: update dependency versions 2024-07-16 23:04:36 +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
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
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
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
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
dda14de13d Revert "ci/mingw: use vulkan-loader v1.3.266"
This reverts commit 9d8dfc7b49.
2023-12-04 09:56:27 +01: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
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
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
Kacper Michajłow
b9b58f122b ci: enable -Werror
For better feedback on build status and to keep mpv warning free.

Except for macos builds, there are more issue there that need fixing.
2023-10-19 14:03:23 +00:00
Kacper Michajłow
9d8dfc7b49 ci/mingw: use vulkan-loader v1.3.266
Upstream has been changing buildsystem and current vulkan.pc is not
functional with custom prefix path.

Rollback to older version until it is fixed.

See:
https://github.com/KhronosGroup/Vulkan-Loader/issues/1318
https://github.com/KhronosGroup/Vulkan-Loader/issues/1319
2023-10-07 17:47:57 +00:00
sfan5
140d018578 ci/mingw: drop old workarounds for vulkan-headers
These got fixed upstream.
2023-09-23 11:30:18 +02:00
sfan5
90543610c2 ci/mingw: attempt to enable Vulkan Video Decoding 2023-08-29 17:52:17 +02:00
sfan5
76b1d282a5 ci/mingw: disable vulkan for 32-bit build
There's some cdecl / stdcall linking nonsense breaking the build
which I'm not inclined to debug this Sunday at all.
32-bit is not important anyway, so just disable it there.

On the plus side the new functional structure makes this very painless.
2023-08-21 16:43:38 +02:00
sfan5
c936377e34 ci/mingw: don't include useless DLLs in artifact 2023-08-21 16:43:38 +02:00
sfan5
b11b602312 ci/mingw: refactor build script into functions 2023-08-21 16:43:38 +02:00
sfan5
654ccb3c2c ci/mingw: enable more ffmpeg features
If someone wants to use the CI artifacts for day-to-day usage
or even for certain tests it can be useful to take screenshots
and use e.g. DShow (--disable-devices option), so enable those.
2023-08-21 16:43:38 +02:00
sfan5
aed8d6f552 ci/mingw: add necessary deps and enable vulkan 2023-08-21 16:43:38 +02:00
sfan5
9b9409196b ci/mingw: move functional test to workflow
Arguably the better place for this as it provides fine-grained feedback.
2023-08-21 16:43:38 +02:00
sfan5
c7342bbd5a ci/mingw: update dependency versions 2023-08-21 16:43:38 +02:00
Niklas Haas
24dca265b4 meson: remove redundant libplacebo-next check
Now implied by the minimum libplacebo version.
2023-08-18 16:39:57 +02:00
Dudemanguy
7adb56ccd9 ci: update the mpv.com path
Following the previous commit, it will now be in build/player.
2023-07-31 19:00:06 +00:00
Kacper Michajłow
38ad2467a4 ci/mingw: reduce git clone depth to 1 2023-07-25 11:34:59 +02:00
Kacper Michajłow
95a2d5b044 ci/mingw: use ccache
Can significantly reduce build time, most of dependencies have fixed
versions, so they can be cached fully. Others will be incrementally
build.

Cache is saved on every run and restored from the newest one. Size is
limited to 500M (compressed) to keep cache save/restore fast. Clean
cached build is little over 100M, so we have a headroom as things will
grow. ccache will automatically evict least recently used entries.

It is unlikely that clean build will exceed the limit anytime soon, but
it is something to keep in mind, as we do not want to evict cache
entries from current build, so the cache size need to be set correctly.
2023-07-25 11:34:59 +02:00
Kacper Michajłow
d521ba38d1 ci/mingw: check if binary is runnable before packaging 2023-07-25 11:34:59 +02:00
Kacper Michajłow
ff3739b36e ci/mingw: update luajit to fix i686 crashes
2.1.0-beta3 is ancient. Disable unwinding in luajit, as it requires SEH
to be enabled in the image, but it is not on i686 target and it
crashes when luajit tries to use SEH.
2023-07-24 19:44:34 +02:00
LaserEyess
f2cce5f38f waf: remove waf as a build system
Remove waf entirely in favor of meson as the only supported build
system. Waf was officially deprecated in 0.36.0, and has not been
preferred over meson since 0.35.0.
2023-07-23 19:55:51 +00:00
sfan5
f1c9daa169 ci: use a different mirror for freetype
GNU decided to break theirs
2023-06-13 10:01:05 +02:00
Kacper Michajłow
1c82d6ae7a ci/mingw: add dlltool to the meson crossfile 2023-06-08 19:52:10 -04:00
Kacper Michajłow
8037320920 ci/mingw: update dependencies versions 2023-06-08 06:26:06 -04:00
Kacper Michajłow
21301dc12d ci/mingw: require libplacebo-next
libplacebo is build by us, so we can explicitly enable it.
2023-03-28 09:23:38 -07:00
Dudemanguy
e82d9045a4 ci: separate meson tests and reorganize build steps
Instead of running the test directly in the build script, we can make a
separate step in the workflow so it looks a little prettier. For running
the actual tests, we skip mingw since they will never be run (cross
compiled). Additionally, improve the github workflow logic a bit so that
way logs on failure are only shown when that specific step fails. The
freebsd job still has to be less elegant since it's in a weird vm
thingy.

Not really related but the location of various build directories
(particularly waf) are corrected as well (might as well).
2023-03-02 15:45:27 +00:00
Kacper Michajłow
e4e3a8fc0b ci: pack mingw64 meson build instead of waf 2023-01-31 14:50:26 +00:00