summaryrefslogtreecommitdiff
path: root/Ports/ffmpeg
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2022-03-01 19:50:19 +1100
committerAndreas Kling <kling@serenityos.org>2022-03-02 11:40:37 +0100
commit451fee8fd76a9d02c16e7224cca5fffd4f8cc2b0 (patch)
tree5f8f3729cf53cc14c69c9e401abb413501bf5782 /Ports/ffmpeg
parent34108547b691f26e11243045f66c72946a5081bf (diff)
downloadserenity-451fee8fd76a9d02c16e7224cca5fffd4f8cc2b0.zip
Ports: Upgrade to FFmpeg 5.0 release; enable SDL and networking
Diffstat (limited to 'Ports/ffmpeg')
-rwxr-xr-xPorts/ffmpeg/package.sh14
-rw-r--r--Ports/ffmpeg/patches/ReadMe.md9
-rw-r--r--Ports/ffmpeg/patches/errno-is-not-valid-during-cpp.patch13
3 files changed, 30 insertions, 6 deletions
diff --git a/Ports/ffmpeg/package.sh b/Ports/ffmpeg/package.sh
index 11b5d61230..d7db997bc1 100755
--- a/Ports/ffmpeg/package.sh
+++ b/Ports/ffmpeg/package.sh
@@ -1,20 +1,22 @@
#!/usr/bin/env -S bash ../.port_include.sh
port=ffmpeg
-version=4.4
+version=5.0
useconfigure=true
-depends=("libiconv" "libtiff" "xz" "bzip2")
-files="https://ffmpeg.org/releases/ffmpeg-${version}.tar.gz ffmpeg-${version}.tar.gz a4abede145de22eaf233baa1726e38e137f5698d9edd61b5763cd02b883f3c7c"
+depends=("libiconv" "libtiff" "xz" "bzip2" "SDL2")
+files="https://ffmpeg.org/releases/ffmpeg-${version}.tar.gz ffmpeg-${version}.tar.gz 7bf52bc242b5db8df67c62cb826df134d917dedcf6abf1289e15e4057bcc1750"
auth_type="sha256"
installopts=("INSTALL_TOP=${SERENITY_INSTALL_ROOT}/usr/local")
configopts=("SRC_PATH=.")
configure() {
run ./configure \
- --arch="x86_32" \
+ --target-os=none \
+ --arch="${SERENITY_ARCH}" \
--cc="${CC} -std=gnu99" \
--cxx="${CXX} -std=gnu99" \
- --disable-network \
- --enable-cross-compile
+ --enable-cross-compile \
+ --disable-stripping \
+ --disable-avx
}
install() {
diff --git a/Ports/ffmpeg/patches/ReadMe.md b/Ports/ffmpeg/patches/ReadMe.md
new file mode 100644
index 0000000000..986ba7920a
--- /dev/null
+++ b/Ports/ffmpeg/patches/ReadMe.md
@@ -0,0 +1,9 @@
+# Patches for FFmpeg on SerenityOS
+
+## `errno-is-not-valid-during-cpp.patch`
+
+FFmpeg performs a preprocessor-time test on errno values. This test does
+not work on SerenityOS because our errno values are described by an
+enum, and therefore are only available at compile time.
+
+The patch removes the preprocessor-time test.
diff --git a/Ports/ffmpeg/patches/errno-is-not-valid-during-cpp.patch b/Ports/ffmpeg/patches/errno-is-not-valid-during-cpp.patch
new file mode 100644
index 0000000000..b66b2735b1
--- /dev/null
+++ b/Ports/ffmpeg/patches/errno-is-not-valid-during-cpp.patch
@@ -0,0 +1,13 @@
+diff --git a/libavutil/error.h b/libavutil/error.h
+index 0d3269a..a54d80d 100644
+--- a/libavutil/error.h
++++ b/libavutil/error.h
+@@ -37,7 +37,7 @@
+
+
+ /* error handling */
+-#if EDOM > 0
++#if 1
+ #define AVERROR(e) (-(e)) ///< Returns a negative error code from a POSIX error code, to return from library functions.
+ #define AVUNERROR(e) (-(e)) ///< Returns a POSIX error code from a library function error return value.
+ #else