Add portable build FFmpeg downloads

This commit is contained in:
Joshua M. Boniface
2024-05-07 10:47:11 -04:00
parent 76ad06ec95
commit d125f7fdb1
2 changed files with 46 additions and 0 deletions

View File

@@ -26,6 +26,7 @@ RUN apt-get update -y \
&& DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC \
apt-get install --no-install-recommends -y \
wget \
unzip \
debhelper \
gnupg \
devscripts \

View File

@@ -5,6 +5,10 @@
set -o errexit
set -o xtrace
# Set global variables
REPOSITORY_URI="https://repo.jellyfin.org"
FFMPEG_VERSION="6.x"
# Create the intermediate build dir
BUILD_DIR="/build"
mkdir -p ${BUILD_DIR}/jellyfin
@@ -43,6 +47,47 @@ else
fi
pushd ${BUILD_DIR}
pushd jellyfin
# Fetch any additional package(s) needed here (i.e. FFmpeg)
# This is a hack because the ffmpeg naming is very inconsistent and we need to find the right URL(s) from the repo browser
case ${BUILD_TYPE}-${PACKAGE_ARCH} in
linux-amd64*)
FFMPEG_PATH=$( curl ${REPOSITORY_URI}/?path=/ffmpeg/linux/latest-${FFMPEG_VERSION}/amd64 | grep -o "/files/.*_portable_linux64-gpl.tar.xz'" | sed "s/'$//" )
curl --location --output ffmpeg.tar.xz ${REPOSITORY_URI}${FFMPEG_PATH}
tar -xvJf ffmpeg.tar.xz
rm ffmpeg.tar.xz
;;
linux-arm64*)
FFMPEG_PATH=$( curl ${REPOSITORY_URI}/?path=/ffmpeg/linux/latest-${FFMPEG_VERSION}/arm64 | grep -o "/files/.*_portable_linuxarm64-gpl.tar.xz'" | sed "s/'$//" )
curl --location --output ffmpeg.tar.xz ${REPOSITORY_URI}${FFMPEG_PATH}
tar -xvJf ffmpeg.tar.xz
rm ffmpeg.tar.xz
;;
macos-amd64)
FFMPEG_PATH=$( curl ${REPOSITORY_URI}/?path=/ffmpeg/macos/latest-${FFMPEG_VERSION}/x86_64 | grep -o "/files/.*_portable_mac64-gpl.tar.xz'" | sed "s/'$//" )
curl --location --output ffmpeg.tar.xz ${REPOSITORY_URI}${FFMPEG_PATH}
tar -xvJf ffmpeg.tar.xz
rm ffmpeg.tar.xz
;;
macos-arm64)
FFMPEG_PATH=$( curl ${REPOSITORY_URI}/?path=/ffmpeg/macos/latest-${FFMPEG_VERSION}/arm64 | grep -o "/files/.*_portable_macarm64-gpl.tar.xz'" | sed "s/'$//" )
curl --location --output ffmpeg.tar.xz ${REPOSITORY_URI}${FFMPEG_PATH}
tar -xvJf ffmpeg.tar.xz
rm ffmpeg.tar.xz
;;
windows-amd64)
FFMPEG_PATH=$( curl ${REPOSITORY_URI}/?path=/ffmpeg/windows/latest-${FFMPEG_VERSION}/win64 | grep -o "/files/.*-portable_win64.zip'" | sed "s/'$//" )
curl --location --output ffmpeg.zip ${REPOSITORY_URI}${FFMPEG_PATH}
unzip ffmpeg.zip
rm ffmpeg.zip
;;
*)
true
;;
esac
popd
for ARCHIVE_TYPE in $( tr ',' '\n' <<<"${ARCHIVE_TYPES}" ); do
case ${ARCHIVE_TYPE} in
targz)