mirror of
https://git.vectorsigma.ru/public/photoview.git
synced 2026-07-28 20:28:46 +00:00
Ensure features are enabled with imagemagick. (#1233)
This commit is contained in:
12
dependencies/Dockerfile
vendored
12
dependencies/Dockerfile
vendored
@@ -16,7 +16,8 @@ RUN --mount=type=cache,target=${BUILD_CACHE_DIR},id=libraw-${TARGETARCH}-${LIBRA
|
||||
if [ -f /run/secrets/github_token ]; then \
|
||||
export GITHUB_TOKEN=$(cat /run/secrets/github_token); \
|
||||
fi \
|
||||
&& export $(cat /env) && ./build_libraw.sh
|
||||
&& set -a && source /env && set +a \
|
||||
&& ./build_libraw.sh
|
||||
|
||||
FROM build-libraw AS build-libheif
|
||||
ARG LIBHEIF_VERSION
|
||||
@@ -29,7 +30,8 @@ RUN --mount=type=cache,target=${BUILD_CACHE_DIR},id=libheif-${TARGETARCH}-${LIBH
|
||||
if [ -f /run/secrets/github_token ]; then \
|
||||
export GITHUB_TOKEN=$(cat /run/secrets/github_token); \
|
||||
fi \
|
||||
&& export $(cat /env) && ./build_libheif.sh
|
||||
&& set -a && source /env && set +a \
|
||||
&& ./build_libheif.sh
|
||||
|
||||
FROM build-libheif AS build-imagemagick
|
||||
ARG IMAGEMAGICK_VERSION
|
||||
@@ -42,7 +44,8 @@ RUN --mount=type=cache,target=${BUILD_CACHE_DIR},id=imagemagick-${TARGETARCH}-${
|
||||
if [ -f /run/secrets/github_token ]; then \
|
||||
export GITHUB_TOKEN=$(cat /run/secrets/github_token); \
|
||||
fi \
|
||||
&& export $(cat /env) && ./build_imagemagick.sh
|
||||
&& set -a && source /env && set +a \
|
||||
&& ./build_imagemagick.sh
|
||||
|
||||
FROM base-prep AS download-jellyfin-ffmpeg
|
||||
ARG JELLYFIN_FFMPEG_VERSION
|
||||
@@ -51,7 +54,8 @@ ENV BUILD_CACHE_DIR=/build-cache
|
||||
WORKDIR /tmp/download-ffmpeg
|
||||
COPY --chmod=0755 download_jellyfin-ffmpeg.sh .
|
||||
RUN --mount=type=cache,target=${BUILD_CACHE_DIR},id=ffmpeg-${TARGETARCH}-${JELLYFIN_FFMPEG_VERSION} \
|
||||
export $(cat /env) && ./download_jellyfin-ffmpeg.sh
|
||||
set -a && source /env && set +a \
|
||||
&& ./download_jellyfin-ffmpeg.sh
|
||||
|
||||
FROM base-prep AS final-assembly
|
||||
COPY --from=build-libraw /output/ /output/
|
||||
|
||||
19
dependencies/build_imagemagick.sh
vendored
19
dependencies/build_imagemagick.sh
vendored
@@ -10,8 +10,8 @@ fi
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
: "${DEB_HOST_MULTIARCH:=$(uname -m)-linux-gnu}"
|
||||
: "${DEB_HOST_ARCH:=$(dpkg --print-architecture)}"
|
||||
: "${DEB_HOST_GNU_TYPE:=$(dpkg-architecture -a "$DEB_HOST_ARCH" -qDEB_HOST_GNU_TYPE)}"
|
||||
CACHE_DIR="${BUILD_CACHE_DIR:-/build-cache}/ImageMagick-${IMAGEMAGICK_VERSION}"
|
||||
CACHE_MARKER="${CACHE_DIR}/ImageMagick-${IMAGEMAGICK_VERSION}-complete"
|
||||
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
echo "Building ImageMagick ${IMAGEMAGICK_VERSION} (cache miss)..."
|
||||
|
||||
echo Compiler: "${DEB_HOST_MULTIARCH}" Arch: "${DEB_HOST_ARCH}"
|
||||
echo Compiler: "${DEB_HOST_GNU_TYPE}" Arch: "${DEB_HOST_ARCH}"
|
||||
|
||||
apt-get install -y \
|
||||
libjxl-dev:"${DEB_HOST_ARCH}" \
|
||||
@@ -51,14 +51,23 @@ curl -fsSL --retry 2 --retry-delay 5 --retry-max-time 60 -o ./magick.tar.gz \
|
||||
|
||||
tar xfv ./magick.tar.gz
|
||||
cd ImageMagick-*
|
||||
|
||||
FEATURES="--with-heic --with-jpeg --with-png --with-raw --with-tiff --with-webp"
|
||||
|
||||
./configure \
|
||||
--enable-64bit-channel-masks \
|
||||
--enable-static --enable-shared --enable-delegate-build \
|
||||
--with-heic --with-jpeg --with-png \
|
||||
--with-raw --with-tiff --with-webp \
|
||||
--without-x --without-magick-plus-plus \
|
||||
--without-perl --disable-doc \
|
||||
--host="${DEB_HOST_MULTIARCH}"
|
||||
--host="${DEB_HOST_GNU_TYPE}" \
|
||||
${FEATURES}
|
||||
|
||||
# Ensure that features are enabled
|
||||
for feature in ${FEATURES}
|
||||
do
|
||||
grep -- ${feature}'.*yes$' config.log || (echo "Can't enable feature ${feature}"; false)
|
||||
done
|
||||
|
||||
make
|
||||
make install
|
||||
cd ..
|
||||
|
||||
12
dependencies/build_libheif.sh
vendored
12
dependencies/build_libheif.sh
vendored
@@ -10,8 +10,8 @@ fi
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
: "${DEB_HOST_MULTIARCH:=$(uname -m)-linux-gnu}"
|
||||
: "${DEB_HOST_ARCH:=$(dpkg --print-architecture)}"
|
||||
: "${DEB_HOST_GNU_TYPE:=$(dpkg-architecture -a "$DEB_HOST_ARCH" -qDEB_HOST_GNU_TYPE)}"
|
||||
CACHE_DIR="${BUILD_CACHE_DIR:-/build-cache}/libheif-${LIBHEIF_VERSION}"
|
||||
CACHE_MARKER="${CACHE_DIR}/libheif-${LIBHEIF_VERSION}-complete"
|
||||
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
echo "Building libheif ${LIBHEIF_VERSION} (cache miss)..."
|
||||
|
||||
echo Compiler: "${DEB_HOST_MULTIARCH}" Arch: "${DEB_HOST_ARCH}"
|
||||
echo Compiler: "${DEB_HOST_GNU_TYPE}" Arch: "${DEB_HOST_ARCH}"
|
||||
|
||||
apt-get install -y \
|
||||
libdav1d-dev:"${DEB_HOST_ARCH}" \
|
||||
@@ -46,10 +46,10 @@ cd ./*-libheif-*
|
||||
cmake \
|
||||
--preset=release \
|
||||
-DCMAKE_SYSTEM_PROCESSOR="${DEB_HOST_ARCH}" \
|
||||
-DCMAKE_C_COMPILER="${DEB_HOST_MULTIARCH}"-gcc \
|
||||
-DCMAKE_CXX_COMPILER="${DEB_HOST_MULTIARCH}"-g++ \
|
||||
-DPKG_CONFIG_EXECUTABLE="${DEB_HOST_MULTIARCH}"-pkg-config \
|
||||
-DCMAKE_LIBRARY_ARCHITECTURE="${DEB_HOST_MULTIARCH}" \
|
||||
-DCMAKE_C_COMPILER="${DEB_HOST_GNU_TYPE}"-gcc \
|
||||
-DCMAKE_CXX_COMPILER="${DEB_HOST_GNU_TYPE}"-g++ \
|
||||
-DPKG_CONFIG_EXECUTABLE="${DEB_HOST_GNU_TYPE}"-pkg-config \
|
||||
-DCMAKE_LIBRARY_ARCHITECTURE="${DEB_HOST_GNU_TYPE}" \
|
||||
-DENABLE_PLUGIN_LOADING=OFF \
|
||||
-DWITH_GDK_PIXBUF=OFF .
|
||||
make
|
||||
|
||||
6
dependencies/build_libraw.sh
vendored
6
dependencies/build_libraw.sh
vendored
@@ -10,8 +10,8 @@ fi
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
: "${DEB_HOST_MULTIARCH:=$(uname -m)-linux-gnu}"
|
||||
: "${DEB_HOST_ARCH:=$(dpkg --print-architecture)}"
|
||||
: "${DEB_HOST_GNU_TYPE:=$(dpkg-architecture -a "$DEB_HOST_ARCH" -qDEB_HOST_GNU_TYPE)}"
|
||||
CACHE_DIR="${BUILD_CACHE_DIR:-/build-cache}/LibRaw-${LIBRAW_VERSION}"
|
||||
CACHE_MARKER="${CACHE_DIR}/LibRaw-${LIBRAW_VERSION}-complete"
|
||||
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
echo "Building LibRaw ${LIBRAW_VERSION} (cache miss)..."
|
||||
|
||||
echo Compiler: "${DEB_HOST_MULTIARCH}" Arch: "${DEB_HOST_ARCH}"
|
||||
echo Compiler: "${DEB_HOST_GNU_TYPE}" Arch: "${DEB_HOST_ARCH}"
|
||||
|
||||
apt-get install -y \
|
||||
libjpeg62-turbo-dev:"${DEB_HOST_ARCH}" \
|
||||
@@ -45,7 +45,7 @@ autoreconf --install
|
||||
--disable-silent-rules \
|
||||
--disable-maintainer-mode \
|
||||
--disable-dependency-tracking \
|
||||
--host="${DEB_HOST_MULTIARCH}"
|
||||
--host="${DEB_HOST_GNU_TYPE}"
|
||||
make
|
||||
make install
|
||||
cd ..
|
||||
|
||||
4
dependencies/download_jellyfin-ffmpeg.sh
vendored
4
dependencies/download_jellyfin-ffmpeg.sh
vendored
@@ -10,8 +10,8 @@ fi
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
: "${DEB_HOST_MULTIARCH:=$(uname -m)-linux-gnu}"
|
||||
: "${DEB_HOST_ARCH:=$(dpkg --print-architecture)}"
|
||||
: "${DEB_HOST_GNU_TYPE:=$(dpkg-architecture -a "$DEB_HOST_ARCH" -qDEB_HOST_GNU_TYPE)}"
|
||||
CACHE_DIR="${BUILD_CACHE_DIR:-/build-cache}/jellyfin-ffmpeg-${JELLYFIN_FFMPEG_VERSION}"
|
||||
CACHE_MARKER="${CACHE_DIR}/jellyfin-ffmpeg-${JELLYFIN_FFMPEG_VERSION}-complete"
|
||||
|
||||
@@ -25,7 +25,7 @@ fi
|
||||
|
||||
echo "Downloading jellyfin-ffmpeg ${JELLYFIN_FFMPEG_VERSION} (cache miss)..."
|
||||
|
||||
echo Compiler: "${DEB_HOST_MULTIARCH}" Arch: "${DEB_HOST_ARCH}"
|
||||
echo Compiler: "${DEB_HOST_GNU_TYPE}" Arch: "${DEB_HOST_ARCH}"
|
||||
|
||||
VER="${JELLYFIN_FFMPEG_VERSION#v}"
|
||||
MAJOR_VER=$(echo "${VER}" | cut -d. -f1)
|
||||
|
||||
5
dependencies/prepare.sh
vendored
5
dependencies/prepare.sh
vendored
@@ -2,7 +2,6 @@
|
||||
set -euo pipefail
|
||||
|
||||
: "${TARGETPLATFORM:=linux/$(dpkg --print-architecture)}"
|
||||
: "${DEB_HOST_MULTIARCH:=$(uname -m)-linux-gnu}"
|
||||
|
||||
TARGETARCH="$(echo "$TARGETPLATFORM" | cut -d"/" -f2)"
|
||||
|
||||
@@ -27,7 +26,5 @@ apt-get install -y \
|
||||
cmake
|
||||
|
||||
dpkg-architecture -a "$DEBIAN_ARCH" >/env
|
||||
echo "PKG_CONFIG_PATH=/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig" >>/env
|
||||
# shellcheck disable=SC2046
|
||||
export $(cat /env)
|
||||
echo "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/$(dpkg-architecture -a "$DEBIAN_ARCH" -qDEB_HOST_MULTIARCH)/pkgconfig" >>/env
|
||||
cat /env
|
||||
|
||||
Reference in New Issue
Block a user