mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	fix(server): compile libraw (#3593)
This commit is contained in:
		| @@ -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", | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user