mirror of
https://github.com/immich-app/immich.git
synced 2024-12-29 15:11:58 +00:00
fix(server): compile libraw (#3593)
This commit is contained in:
parent
1d37d8cac0
commit
1812e8811b
3 changed files with 35 additions and 12 deletions
|
@ -4,14 +4,17 @@ WORKDIR /usr/src/app
|
||||||
|
|
||||||
COPY bin/install-ffmpeg.sh build-lock.json ./
|
COPY bin/install-ffmpeg.sh build-lock.json ./
|
||||||
RUN sed -i -e's/ main/ main contrib non-free non-free-firmware/g' /etc/apt/sources.list.d/debian.sources
|
RUN sed -i -e's/ main/ main contrib non-free non-free-firmware/g' /etc/apt/sources.list.d/debian.sources
|
||||||
RUN apt-get update && apt-get install -yqq build-essential ninja-build meson pkg-config jq \
|
RUN apt-get update && apt-get install -yqq build-essential ninja-build meson pkg-config jq zlib1g autoconf \
|
||||||
libglib2.0-dev libexpat1-dev librsvg2-dev libexif-dev libwebp-dev liborc-0.4-dev libtiff5-dev \
|
libglib2.0-dev libexpat1-dev librsvg2-dev libexif-dev libwebp-dev liborc-0.4-dev libtiff5-dev \
|
||||||
libjpeg62-turbo-dev libgsf-1-dev libspng-dev libraw-dev libjxl-dev libheif-dev \
|
libjpeg62-turbo-dev libgsf-1-dev libspng-dev libjxl-dev libheif-dev \
|
||||||
mesa-va-drivers libmimalloc2.0 $(if [ $(arch) = "x86_64" ]; then echo "intel-media-va-driver-non-free"; fi) \
|
mesa-va-drivers libmimalloc2.0 $(if [ $(arch) = "x86_64" ]; then echo "intel-media-va-driver-non-free"; fi) \
|
||||||
&& ./install-ffmpeg.sh && apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/*
|
&& ./install-ffmpeg.sh && apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# debian build for imagemagick has broken RAW support, so build manually
|
# debian build for imagemagick has broken RAW support, so build manually
|
||||||
COPY bin/build-imagemagick.sh bin/build-libvips.sh ./
|
ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
|
||||||
|
ENV LD_RUN_PATH=/usr/local/lib:$LD_RUN_PATH
|
||||||
|
COPY bin/build-libraw.sh bin/build-imagemagick.sh bin/build-libvips.sh ./
|
||||||
|
RUN ./build-libraw.sh
|
||||||
RUN ./build-imagemagick.sh
|
RUN ./build-imagemagick.sh
|
||||||
RUN ./build-libvips.sh
|
RUN ./build-libvips.sh
|
||||||
|
|
||||||
|
@ -35,20 +38,13 @@ WORKDIR /usr/src/app
|
||||||
COPY bin/install-ffmpeg.sh build-lock.json ./
|
COPY bin/install-ffmpeg.sh build-lock.json ./
|
||||||
RUN sed -i -e's/ main/ main contrib non-free non-free-firmware/g' /etc/apt/sources.list.d/debian.sources
|
RUN sed -i -e's/ main/ main contrib non-free non-free-firmware/g' /etc/apt/sources.list.d/debian.sources
|
||||||
RUN apt-get update && apt-get install -yqq tini libheif1 libwebp7 libwebpdemux2 libwebpmux3 mesa-va-drivers \
|
RUN apt-get update && apt-get install -yqq tini libheif1 libwebp7 libwebpdemux2 libwebpmux3 mesa-va-drivers \
|
||||||
libjpeg62-turbo libexpat1 librsvg2-2 libjxl0.7 libraw20 libtiff6 libspng0 libexif12 libgcc-s1 libglib2.0-0 \
|
libjpeg62-turbo libexpat1 librsvg2-2 libjxl0.7 libtiff6 libspng0 libexif12 libgcc-s1 libglib2.0-0 \
|
||||||
libgsf-1-114 libopenjp2-7 liblcms2-2 liborc-0.4-0 libopenexr-3-1-30 liblqr-1-0 libltdl7 zlib1g \
|
libgsf-1-114 libopenjp2-7 liblcms2-2 liborc-0.4-0 libopenexr-3-1-30 liblqr-1-0 libltdl7 zlib1g libgomp1 \
|
||||||
mesa-va-drivers libmimalloc2.0 $(if [ $(arch) = "x86_64" ]; then echo "intel-media-va-driver-non-free"; fi) jq wget \
|
mesa-va-drivers libmimalloc2.0 $(if [ $(arch) = "x86_64" ]; then echo "intel-media-va-driver-non-free"; fi) jq wget \
|
||||||
&& ./install-ffmpeg.sh && apt-get remove -yqq jq wget && apt-get autoremove -yqq && apt-get clean && rm -rf /var/lib/apt/lists/* \
|
&& ./install-ffmpeg.sh && apt-get remove -yqq jq wget && apt-get autoremove -yqq && apt-get clean && rm -rf /var/lib/apt/lists/* \
|
||||||
&& rm install-ffmpeg.sh && rm build-lock.json
|
&& rm install-ffmpeg.sh && rm build-lock.json
|
||||||
|
|
||||||
COPY --from=prod /usr/local/bin/magick /usr/local/bin/magick
|
|
||||||
COPY --from=prod /usr/local/include/ImageMagick-7 /usr/local/include/ImageMagick-7
|
|
||||||
|
|
||||||
COPY --from=prod /usr/local/bin/vips /usr/local/bin/vips
|
|
||||||
COPY --from=prod /usr/local/include/vips/ /usr/local/include/vips/
|
|
||||||
|
|
||||||
COPY --from=prod /usr/local/lib/ /usr/local/lib/
|
COPY --from=prod /usr/local/lib/ /usr/local/lib/
|
||||||
|
|
||||||
RUN ldconfig /usr/local/lib
|
RUN ldconfig /usr/local/lib
|
||||||
|
|
||||||
COPY --from=prod /usr/src/app/node_modules ./node_modules
|
COPY --from=prod /usr/src/app/node_modules ./node_modules
|
||||||
|
|
22
server/bin/build-libraw.sh
Executable file
22
server/bin/build-libraw.sh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
LOCK=$(jq -c '.packages[] | select(.name == "libraw")' build-lock.json)
|
||||||
|
LIBRAW_VERSION=${LIBRAW_VERSION:=$(echo $LOCK | jq -r '.version')}
|
||||||
|
LIBRAW_SHA256=${LIBRAW_SHA256:=$(echo $LOCK | jq -r '.sha256')}
|
||||||
|
|
||||||
|
echo "$LIBRAW_SHA256 $LIBRAW_VERSION.tar.gz" > libraw.sha256
|
||||||
|
mkdir -p libraw
|
||||||
|
wget -nv https://github.com/libraw/libraw/archive/${LIBRAW_VERSION}.tar.gz
|
||||||
|
sha256sum -c libraw.sha256
|
||||||
|
tar -xvf ${LIBRAW_VERSION}.tar.gz -C libraw --strip-components=1
|
||||||
|
rm ${LIBRAW_VERSION}.tar.gz
|
||||||
|
rm libraw.sha256
|
||||||
|
cd libraw
|
||||||
|
autoreconf --install
|
||||||
|
./configure
|
||||||
|
make -j$(nproc)
|
||||||
|
make install
|
||||||
|
cd .. && rm -rf libraw
|
||||||
|
ldconfig /usr/local/lib
|
|
@ -5,6 +5,11 @@
|
||||||
"version": "7.1.1-13",
|
"version": "7.1.1-13",
|
||||||
"sha256": "8e3ce1aaad19da9f2ca444072bcc631d193a219e3ee11c13ad6d3c895044142c"
|
"sha256": "8e3ce1aaad19da9f2ca444072bcc631d193a219e3ee11c13ad6d3c895044142c"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "libraw",
|
||||||
|
"version": "0.21.1",
|
||||||
|
"sha256": "b63d7ffa43463f74afcc02f9083048c231349b41cc9255dec0840cf8a67b52e0"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "libvips",
|
"name": "libvips",
|
||||||
"version": "8.14.2",
|
"version": "8.14.2",
|
||||||
|
|
Loading…
Reference in a new issue