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