the runners aren't named like the OS version anymore but instead use
the xcode + version.
rename the arch to taget-os and make it represent the whole target OS
name, with version and architecture. use this as artifact name instead.
Run the build workflow for v0.* tags and let the publish job upload the
artifacts to the release of that tag, with the run id stripped from the
asset names to match the previous hand-made uploads. The release is
created as a draft when it does not exist yet, so the notes can be
filled in before publishing.
Attach the full x86_64 and aarch64 builds instead of the shared x86_64
mingw-w64 build, which they supersede. The i686 build stays, it exists
only as the shared build. Add a libmpv section with the GPL and LGPL
packages, label every entry by architecture and flavour.
Build mpv and libmpv inside the FFmpeg-Builds container images, which
ship a mingw-w64 cross toolchain and every FFmpeg dependency as a static
library. FFmpeg itself, LuaJIT, subrandr and the C++/WinRT projection
are built on top. One day we might fork the FFmpeg-Builds and do
mpv-Builds, but the overhead of maintaining that is bigger than current
cost of building few deps on top.
x86_64 and aarch64 are built in the GPL and the LGPL variant. The GPL
variant publishes mpv.exe, both variants publish a libmpv package with
the DLL, its import library and the headers.
rav1e and librsvg are Rust libraries with their own copy of the Rust
standard library, which collides with subrandr's at link time, so both
are left out of FFmpeg for now.
meson added -fatal-warnings to the -werror build flag for linking in the
newest release. this leads to errors on linking on the test builds that
are expected to output warnings on linking.
see 764da9919c
we removed -werror for the test builds on the previous commit, here we
add it back but for compiling only and not for linking.
the arch=test builds only checks if our code can be successfully
compiled to the lowest macOS target we support, so we can catch wrongs
guards usage of newer functionality, etc before any merge. the builds
are not supposed to be completely runnable, since they link to libs
not build for the lowest target.
running tests on those builds is a waste of resources. warnings as error
will be reintroduced in a follow up commit.
It appears this time GNU broke their ftpmirror, while the primary one is working again.
download.savannah.gnu.org also seems to be having issues.
Never thought I'd see the day where sourceforge is more reliable.
Just to catch uninitialized variables early. Build all three unint/zero/pattern to compare the results between them and we don't accidentally depend on implicit initialization in tests.
The instanced API allows a lot of work to be offloaded to the GPU and
makes software rasterization tolerable performance-wise in most cases.
This is similar to sd_ass but there are some substantial differences:
- It uses a BGRA atlas to allow drawing bitmap emoji.
- De-duplicates images internally to significantly reduce atlas size by
reusing the same atlas image for different instances.
- Exploits bilinear interpolation to further reduce atlas size of some
primitives. For example this allows reducing background boxes to one
very stretched pixel.
Bumps subrandr requirement to `v1.1` since this API is not present in
earlier versions.
Wrap subrandr build process into meson custom target.
Meson's custom target allow only file output (without path component),
so additionall copy step is added to get the library. Dummy stamp file
is used to connect custom target to dependency, the file is actually not
created, so target will be called each time, but it's fine, because
cargo will resolve it's own dependencies this way and build if needed.
This is glued only for static lib, this is what we need for our CI
script.
add libbluray, libarchive, libcaca, libcdio-paranoia, libdvdnav,
rubberband and zimg to macOS builds for consistency with other platforms
and detection tests.
It produces some bogus warnings when UBSAN is enabled:
../demux/demux_mf.c:103:22: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
Which is clearly not possible at this point.