From 99938a536f0653252c451beb5ce0887c16550438 Mon Sep 17 00:00:00 2001 From: joepers <> Date: Fri, 6 Dec 2024 21:50:40 -0500 Subject: [PATCH] bundle srt --- .github/workflows/build-ffmpeg.yml | 18 +++++++++++++----- scripts/build-ffmpeg.py | 9 +++++++++ scripts/cibuildpkg.py | 3 +++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-ffmpeg.yml b/.github/workflows/build-ffmpeg.yml index dbb13b42..6879fef3 100644 --- a/.github/workflows/build-ffmpeg.yml +++ b/.github/workflows/build-ffmpeg.yml @@ -43,13 +43,17 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.13" - - name: Set deployment target - if: matrix.os == 'macos-13' || matrix.os == 'macos-14' - run: echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> $GITHUB_ENV - - name: Install packages + - name: Set deployment target for macOS 13 + if: matrix.os == 'macos-13' + run: echo "MACOSX_DEPLOYMENT_TARGET=13.0" >> $GITHUB_ENV + - name: Set deployment target for macOS 14 + if: matrix.os == 'macos-14' + run: echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> $GITHUB_ENV + - name: Install packages for macOS if: matrix.os == 'macos-13' || matrix.os == 'macos-14' run: | brew update + brew install pkg-config srt brew unlink gettext libidn2 libpng libtiff libunistring libx11 libxau libxcb libxdmcp little-cms2 unbound - uses: msys2/setup-msys2@v2 if: matrix.os == 'windows-latest' @@ -60,7 +64,11 @@ jobs: - name: Build FFmpeg env: CIBW_ARCHS: ${{ matrix.arch }} - CIBW_BEFORE_BUILD: python scripts/build-ffmpeg.py /tmp/vendor --enable-gpl + CIBW_BEFORE_BUILD_LINUX: | + yum update + yum install -y tcl cmake gcc gcc-c++ + python scripts/build-ffmpeg.py /tmp/vendor --enable-gpl + CIBW_BEFORE_BUILD_MACOS: python scripts/build-ffmpeg.py /tmp/vendor --enable-gpl CIBW_BEFORE_BUILD_WINDOWS: python scripts\build-ffmpeg.py C:\cibw\vendor --enable-gpl CIBW_BUILD: cp39-* CIBW_REPAIR_WHEEL_COMMAND_LINUX: LD_LIBRARY_PATH=/tmp/vendor/lib:$LD_LIBRARY_PATH auditwheel repair -w {dest_dir} {wheel} diff --git a/scripts/build-ffmpeg.py b/scripts/build-ffmpeg.py index a45a1161..658ec883 100644 --- a/scripts/build-ffmpeg.py +++ b/scripts/build-ffmpeg.py @@ -7,6 +7,7 @@ from cibuildpkg import Builder, Package, fetch, get_platform, log_group, run + plat = platform.system() library_group = [ @@ -172,6 +173,12 @@ source_dir="source", gpl=True, ), + Package( + name="srt", + source_url="https://github.com/Haivision/srt/archive/refs/tags/v1.5.4.tar.gz", + build_system="cmake", + build_arguments=[r"-DOPENSSL_ROOT_DIR=/c/Program\ Files/OpenSSL/"] if plat == "Windows" else [""], + ), ] openh264 = Package( @@ -323,6 +330,7 @@ def main(): "--enable-libopencore-amrwb", "--enable-libopus", "--enable-libspeex", + "--enable-libsrt", "--enable-libtwolame", "--enable-libvorbis", "--enable-libvpx", @@ -426,3 +434,4 @@ def main(): if __name__ == "__main__": main() + diff --git a/scripts/cibuildpkg.py b/scripts/cibuildpkg.py index 63117756..f6e5cc64 100644 --- a/scripts/cibuildpkg.py +++ b/scripts/cibuildpkg.py @@ -273,6 +273,9 @@ def _build_with_cmake(self, package: Package, for_builder: bool) -> None: ] if platform.system() == "Darwin": cmake_args.append("-DCMAKE_INSTALL_NAME_DIR=" + os.path.join(prefix, "lib")) + + if package.name == "srt" and platform.system() == "Linux": + run(["yum", "-y", "install", "openssl-devel"]) # build package os.makedirs(package_build_path, exist_ok=True)