diff options
Diffstat (limited to 'extra/ffmpeg/PKGBUILD')
-rw-r--r-- | extra/ffmpeg/PKGBUILD | 69 |
1 files changed, 67 insertions, 2 deletions
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD index cc9d547d..53170066 100644 --- a/extra/ffmpeg/PKGBUILD +++ b/extra/ffmpeg/PKGBUILD @@ -1,13 +1,19 @@ # disable LTO (breaks with too few registers in error: 'asm' operand has impossible constraints -# also disable mfx - libmfx does not compile eval "$( declare -f build | \ sed ' s/--enable-lto/--disable-lto/ - s/--enable-libmfx/--disable-libmfx/ ' )" + +# also disable mfx - libmfx does not compile depends=(${depends[@]//libmfx/}) +eval "$( + declare -f build | \ + sed ' + s/--enable-libmfx/--disable-libmfx/ + ' +)" # no vamf for non-pentium4 if [ "$CARCH" == 'i686' ] || [ "$CARCH" == 'i486' ]; then @@ -65,3 +71,62 @@ eval "$( s@--enable-libsvtav1@--disable-libsvtav1@ ' )" + +# -latomic on i486 +if [ "$CARCH" == 'i486' ]; then + depends=(${depends[@]//librav1e.so/}) + eval "$( + declare -f build | \ + sed ' + s@make[^ ]@make EXTRALIBS-ffmpeg=-latomic EXTRALIBS-ffplay=-latomic EXTRALIBS-ffprobe=-latomic@ + ' + )" +fi + +# disable all modern optimizations +eval "$( + declare -f build | \ + sed ' + s|./configure|./configure --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-mmxext --disable-avx --disable-avx2 --disable-avx512| + ' +)" +# disabled specific assembly per subarchitecture +if [ "$CARCH" == 'i486' ]; then + eval "$( + declare -f build | \ + sed ' + s|./configure|./configure --disable-sse --disable-sse2 --disable-mmx| + ' + )" +fi +if [ "$CARCH" == 'i686' ]; then + eval "$( + declare -f build | \ + sed ' + s|./configure|./configure --disable-sse --disable-mmx| + ' + )" +fi + +# see FS32#239, basically everything breaks otherwise +eval "$( + declare -f build | \ + sed ' + s|./configure|./configure --disable-asm| + ' +)" + +# see FS32#239, x264 and i486 result in missing symbols, no clue +if [ "$CARCH" == 'i486' ]; then + eval "$( + declare -f build | \ + sed ' + s|--enable-libx264|--disable-libx264| + ' + )" +fi + +# no Rust and librsvg on i486 (for now), use librsvg-og instead +if [ "$CARCH" == 'i486' ]; then + makedepends+=(librsvg-og) +fi |