diff options
Diffstat (limited to 'extra/ffmpeg/PKGBUILD')
-rw-r--r-- | extra/ffmpeg/PKGBUILD | 111 |
1 files changed, 96 insertions, 15 deletions
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD index 7c2a7aed..53170066 100644 --- a/extra/ffmpeg/PKGBUILD +++ b/extra/ffmpeg/PKGBUILD @@ -1,3 +1,20 @@ +# disable LTO (breaks with too few registers in error: 'asm' operand has impossible constraints +eval "$( +declare -f build | \ + sed ' + s/--enable-lto/--disable-lto/ + ' +)" + +# 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 depends=(${depends[@]//vmaf/}) @@ -30,22 +47,86 @@ if [ "$CARCH" == 'i486' ]; then eval "$( declare -f build | \ sed ' - s/-enable-avisynth/--disable-avisynth/ + 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 -# still required dependencies on i486: -# sdl2 -# - ibus -# - gtk3 -# - libnotify -# - python-gobject -# - gtk2 -# - qt5-base -# - unicode-cldr -# - fcitx -# v4l-utils -# - qt5-base -# - mariadb-libs -# - qtk3 +# no Rust and librsvg on i486 (for now), use librsvg-og instead +if [ "$CARCH" == 'i486' ]; then + makedepends+=(librsvg-og) +fi |