index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | extra/ffmpeg/PKGBUILD | 129 |
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD index f0f6f8e1..ace68ef8 100644 --- a/extra/ffmpeg/PKGBUILD +++ b/extra/ffmpeg/PKGBUILD @@ -1,7 +1,37 @@ +# Disable mfx - libmfx does not compile +depends=(${depends[@]//libmfx/}) +eval "$( + declare -f build | \ + sed ' + s/--enable-libmfx/--disable-libmfx/ + ' +)" + +# also disable onevpl, it does not compile +depends=(${depends[@]//onevpl/}) +eval "$( + declare -f build | \ + sed ' + s/--enable-libvpl/--disable-libvpl/ + ' +)" + +# Disable cuda llvm and nvenc. No idea why the latter fails. +eval "$( + declare -f build | \ + sed ' + s/--enable-cuda-llvm/--disable-cuda-llvm/;s/--enable-nvenc/--disable-nvenc/ + ' +)" + +# Remove above dependencies +makedepends=(${makedepends[@]//onevpl/}) +makedepends=(${makedepends[@]//clang/}) + # no vamf for non-pentium4 if [ "$CARCH" == 'i686' ] || [ "$CARCH" == 'i486' ]; then depends=(${depends[@]//vmaf/}) - + eval "$( declare -f prepare | \ sed ' @@ -12,11 +42,104 @@ if [ "$CARCH" == 'i686' ] || [ "$CARCH" == 'i486' ]; then eval "$( declare -f build | \ sed ' - s/--enable-libvmaf/--disable-libvmaf/ + s/--enable-libvmaf// ' )" fi # force picking of a modern libvpx and not libvpx1.3 needed for steam -makedepends+=('libvpx>=1.8.2') +#makedepends+=('libvpx>=1.8.2') + +# no AviSynthPlus on i486 (uses Intel intrinsics and cmake support for +# disabling it is broken) +makedepends=(${makedepends[@]//avisynthplus/}) +makedepends_i686+=(avisynthplus) +makedepends_pentium4=("${makedepends_i686[@]}") +if [ "$CARCH" == 'i486' ]; then + eval "$( + declare -f build | \ + sed ' + s/--enable-avisynth/--disable-avisynth/ + ' + )" +fi + +# no rav1e on i486, no Rust (yet) +if [ "$CARCH" == 'i486' ]; then + depends=(${depends[@]//librav1e.so/}) + eval "$( + declare -f build | \ + sed ' + s@--enable-librav1e@--disable-librav1e@ + ' + )" +fi + +# svt-av1 is 64-bit only +depends=(${depends[@]//svt-av1/}) +eval "$( + declare -f build | \ + sed ' + 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 |