summaryrefslogtreecommitdiff
path: root/extra/ffmpeg/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'extra/ffmpeg/PKGBUILD')
-rw-r--r--extra/ffmpeg/PKGBUILD78
1 files changed, 76 insertions, 2 deletions
diff --git a/extra/ffmpeg/PKGBUILD b/extra/ffmpeg/PKGBUILD
index a2634b99..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
@@ -56,3 +62,71 @@ if [ "$CARCH" == 'i486' ]; then
'
)"
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