index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | extra/ffmpeg/PKGBUILD | 89 |
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD index 8d7c47cb..ace68ef8 100644 --- a/extra/ffmpeg/PKGBUILD +++ b/extra/ffmpeg/PKGBUILD @@ -1,18 +1,37 @@ -# disable LTO (breaks with too few registers in error: 'asm' operand has impossible constraints -# also disable mfx - libmfx does not compile +# Disable mfx - libmfx does not compile +depends=(${depends[@]//libmfx/}) eval "$( -declare -f build | \ - sed ' - s/--enable-lto/--disable-lto/ - s/--enable-libmfx/--disable-libmfx/ - ' + declare -f build | \ + sed ' + s/--enable-libmfx/--disable-libmfx/ + ' )" -depends=(${depends[@]//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 ' @@ -23,14 +42,14 @@ 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) @@ -76,3 +95,51 @@ if [ "$CARCH" == 'i486' ]; then ' )" 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 |