From 1138a31e257526c8948324aacec0f6ed67a10a4d Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 3 Jul 2025 18:55:05 -0400 Subject: [PATCH 1/3] LibVPX: New version 1.15.2 --- L/LibVPX/build_tarballs.jl | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/L/LibVPX/build_tarballs.jl b/L/LibVPX/build_tarballs.jl index abf57f680d8..9604c2c36f0 100644 --- a/L/LibVPX/build_tarballs.jl +++ b/L/LibVPX/build_tarballs.jl @@ -3,17 +3,16 @@ using BinaryBuilder name = "LibVPX" -version = v"1.10.0" +version = v"1.15.2" # Collection of sources required to build LibVPX sources = [ - ArchiveSource("https://github.com/webmproject/libvpx/archive/v$(version).tar.gz", - "85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a"), + GitSource("https://github.com/webmproject/libvpx", "d168454ecd099805c675d4a98c66f4891373302a"), ] # Bash recipe for building across all platforms script = raw""" -cd ${WORKSPACE}/srcdir/libvpx-*/ +cd ${WORKSPACE}/srcdir/libvpx sed -i 's/cp -p/cp/' build/make/Makefile mkdir vpx_build && cd vpx_build @@ -38,20 +37,16 @@ elif [[ "${bb_full_target}" == i686-w64-mingw32* ]]; then elif [[ "${bb_full_target}" == x86_64-w64-mingw32* ]]; then export TARGET=x86_64-win64-gcc export CFLAGS="${CFLAGS} -fno-asynchronous-unwind-tables" +elif [[ "${bb_full_target}" == *-linux* ]]; then + export TARGET=generic-gnu elif [[ "${bb_full_target}" == *-freebsd* ]]; then export TARGET=generic-gnu fi CONFIG_OPTS=() -if [[ "${target}" == aarch64-apple-* ]]; then - # This feature isn't currently available for this platforms - # check again in the future. - CONFIG_OPTS+=(--disable-runtime-cpu-detect) -else - CONFIG_OPTS+=(--enable-runtime-cpu-detect) - if [[ "${target}" == *-freebsd* ]]; then - CONFIG_OPTS+=(--disable-multithread) - fi +CONFIG_OPTS+=(--enable-runtime-cpu-detect) +if [[ "${target}" == *-freebsd* ]]; then + CONFIG_OPTS+=(--disable-multithread) fi ../configure --prefix=$prefix --target=${TARGET} \ @@ -77,7 +72,11 @@ fi # These are the platforms we will build for by default, unless further # platforms are passed in on the command line -platforms = filter!(p -> arch(p) != "armv6l", supported_platforms(; experimental=true)) +platforms = supported_platforms() + +# # armv6l and riscv64 are not supported for cross-builds +# filter!(p -> arch(p) != "armv6l", platforms) +# filter!(p -> arch(p) != "riscv64", platforms) # The products that we will ensure are always built products = [ @@ -91,4 +90,5 @@ dependencies = Dependency[ ] # Build the tarballs, and possibly a `build.jl` as well. -build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; preferred_gcc_version=v"8", julia_compat="1.6", lock_microarchitecture=false) +build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; + julia_compat="1.6", lock_microarchitecture=false, preferred_gcc_version=v"8") From d9f021ce01ea524b73775f0e9d9d5a51af50cfcd Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 3 Jul 2025 20:21:39 -0400 Subject: [PATCH 2/3] LibVPX: Disable -march --- L/LibVPX/build_tarballs.jl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/L/LibVPX/build_tarballs.jl b/L/LibVPX/build_tarballs.jl index 9604c2c36f0..bf738f3cd2b 100644 --- a/L/LibVPX/build_tarballs.jl +++ b/L/LibVPX/build_tarballs.jl @@ -15,9 +15,13 @@ script = raw""" cd ${WORKSPACE}/srcdir/libvpx sed -i 's/cp -p/cp/' build/make/Makefile -mkdir vpx_build && cd vpx_build apk add diffutils yasm +if [[ "${bb_full_target}" == armv7l-* ]]; then + # Rein in the optimization settings + sed -i 's/-march=armv7-a//g' build/make/configure.sh +fi + if [[ "${bb_full_target}" == i686-linux-* ]]; then export TARGET=x86-linux-gcc elif [[ "${bb_full_target}" == x86_64-linux-* ]]; then @@ -49,6 +53,7 @@ if [[ "${target}" == *-freebsd* ]]; then CONFIG_OPTS+=(--disable-multithread) fi +mkdir vpx_build && cd vpx_build ../configure --prefix=$prefix --target=${TARGET} \ --as=yasm \ --enable-postproc \ @@ -74,10 +79,6 @@ fi # platforms are passed in on the command line platforms = supported_platforms() -# # armv6l and riscv64 are not supported for cross-builds -# filter!(p -> arch(p) != "armv6l", platforms) -# filter!(p -> arch(p) != "riscv64", platforms) - # The products that we will ensure are always built products = [ # While we want this, it's not available on windows. :/ From ed020da461e390581ad430dc47dd05867bde08ef Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Fri, 4 Jul 2025 07:49:55 -0400 Subject: [PATCH 3/3] LibVPX: Allow hardware-specific optimizations --- L/LibVPX/build_tarballs.jl | 5 ----- 1 file changed, 5 deletions(-) diff --git a/L/LibVPX/build_tarballs.jl b/L/LibVPX/build_tarballs.jl index bf738f3cd2b..89daaded5fd 100644 --- a/L/LibVPX/build_tarballs.jl +++ b/L/LibVPX/build_tarballs.jl @@ -17,11 +17,6 @@ sed -i 's/cp -p/cp/' build/make/Makefile apk add diffutils yasm -if [[ "${bb_full_target}" == armv7l-* ]]; then - # Rein in the optimization settings - sed -i 's/-march=armv7-a//g' build/make/configure.sh -fi - if [[ "${bb_full_target}" == i686-linux-* ]]; then export TARGET=x86-linux-gcc elif [[ "${bb_full_target}" == x86_64-linux-* ]]; then