From da8ac0b8f8ce9d6bd8975899d3db6e306dc1ec62 Mon Sep 17 00:00:00 2001 From: Peter Markewitz Date: Mon, 20 Nov 2023 09:08:49 +0000 Subject: [PATCH] new Dockerfile for new sharp version --- docker/Dockerfile | 39 +++++++++++++++++++-------------------- package-lock.json | 23 ++++------------------- package.json | 1 - 3 files changed, 23 insertions(+), 40 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index d360a85a..d615654b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -4,34 +4,32 @@ FROM node:16-alpine3.16 ENV CFLAGS=-O3 ENV CXXFLAGS=-O3 -ARG VIPS_VERSION=8.12.2 +ARG VIPS_VERSION=8.14.5 -# System update, build dependencies, compile vips-8.11.x and cleanup. +# System update, build dependencies, compile vips-x.xx.x and cleanup. RUN set -x -o pipefail \ - && wget -O- https://github.com/libvips/libvips/releases/download/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.gz | tar xzC /tmp \ + && wget -O- https://github.com/libvips/libvips/releases/download/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz | tar xJC /tmp \ && apk update \ && apk upgrade \ && apk add \ zlib libxml2 glib gobject-introspection libjpeg-turbo \ - libexif lcms2 fftw giflib libpng libwebp orc tiff poppler-glib \ - librsvg libgsf openexr libheif libimagequant pango fontconfig \ + lcms2 fftw giflib libpng orc tiff poppler-glib \ + librsvg libimagequant pango fontconfig \ && apk add --virtual .ms-fonts msttcorefonts-installer \ && update-ms-fonts 2>/dev/null \ && fc-cache -f \ && apk del .ms-fonts\ && apk add \ - --virtual .vips-dependencies build-base binutils zlib-dev \ - libxml2-dev glib-dev gobject-introspection-dev libjpeg-turbo-dev \ - libexif-dev lcms2-dev fftw-dev giflib-dev libpng-dev libwebp-dev \ - orc-dev tiff-dev poppler-dev librsvg-dev libgsf-dev openexr-dev \ - libheif-dev libimagequant-dev pango-dev py-gobject3-dev \ + --virtual .vips-dependencies meson build-base binutils \ + zlib-dev libxml2-dev glib-dev gobject-introspection-dev libjpeg-turbo-dev \ + lcms2-dev fftw-dev giflib-dev libpng-dev orc-dev tiff-dev poppler-dev \ + librsvg-dev libimagequant-dev pango-dev py-gobject3-dev \ && cd /tmp/vips-${VIPS_VERSION} \ - && ./configure --prefix=/usr \ - --disable-static \ - --disable-dependency-tracking \ - --enable-silent-rules \ - && make -sj4 install-strip \ - && cd .. \ + && meson setup build --prefix=/usr --buildtype release \ + && cd build \ + && meson compile \ + && meson install \ + && cd ../../ \ && rm -rf /tmp/vips-${VIPS_VERSION} \ && apk del --purge .vips-dependencies \ && rm -rf /var/cache/apk/* @@ -48,15 +46,16 @@ COPY ./package*.json ./ # against globaly installed lib vips in newest version # Install the buildtools, dev packages of the required shared libs # execute "npm install" and remove the buildtools and dev packages afterwards -RUN apk add --no-cache --virtual .vips-deps build-base binutils zlib-dev libxml2-dev glib-dev gobject-introspection-dev \ - libjpeg-turbo-dev libexif-dev lcms2-dev fftw-dev giflib-dev libpng-dev libwebp-dev orc-dev tiff-dev \ - poppler-dev librsvg-dev libgsf-dev openexr-dev libheif-dev libimagequant-dev pango-dev py-gobject3-dev \ +RUN apk add \ + --virtual .vips-deps meson build-base binutils \ + zlib-dev libxml2-dev glib-dev gobject-introspection-dev libjpeg-turbo-dev \ + lcms2-dev fftw-dev giflib-dev libpng-dev orc-dev tiff-dev poppler-dev \ + librsvg-dev libimagequant-dev pango-dev py-gobject3-dev \ && npm install \ && apk del .vips-deps # If you are building your code for production # RUN npm ci --only=production - RUN npm install pm2 --location=global # Bundle app source diff --git a/package-lock.json b/package-lock.json index 333f5a9d..b478c9e9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,6 @@ "license": "ISC", "dependencies": { "@marlon360/express-queue": "^1.0.3", - "@types/sharp": "^0.30.5", "axios": "^1.3.2", "compression": "^1.7.4", "cors": "^2.8.5", @@ -2523,7 +2522,8 @@ "node_modules/@types/node": { "version": "16.18.61", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.61.tgz", - "integrity": "sha512-k0N7BqGhJoJzdh6MuQg1V1ragJiXTh8VUBAZTWjJ9cUq23SG0F0xavOwZbhiP4J3y20xd6jxKx+xNUhkMAi76Q==" + "integrity": "sha512-k0N7BqGhJoJzdh6MuQg1V1ragJiXTh8VUBAZTWjJ9cUq23SG0F0xavOwZbhiP4J3y20xd6jxKx+xNUhkMAi76Q==", + "dev": true }, "node_modules/@types/q": { "version": "1.5.8", @@ -2564,14 +2564,6 @@ "@types/node": "*" } }, - "node_modules/@types/sharp": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.30.5.tgz", - "integrity": "sha512-EhO29617AIBqxoVtpd1qdBanWpspk/kD2B6qTFRJ31Q23Rdf+DNU1xlHSwtqvwq1vgOqBwq1i38SX+HGCymIQg==", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/source-list-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.5.tgz", @@ -20468,7 +20460,8 @@ "@types/node": { "version": "16.18.61", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.61.tgz", - "integrity": "sha512-k0N7BqGhJoJzdh6MuQg1V1ragJiXTh8VUBAZTWjJ9cUq23SG0F0xavOwZbhiP4J3y20xd6jxKx+xNUhkMAi76Q==" + "integrity": "sha512-k0N7BqGhJoJzdh6MuQg1V1ragJiXTh8VUBAZTWjJ9cUq23SG0F0xavOwZbhiP4J3y20xd6jxKx+xNUhkMAi76Q==", + "dev": true }, "@types/q": { "version": "1.5.8", @@ -20509,14 +20502,6 @@ "@types/node": "*" } }, - "@types/sharp": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.30.5.tgz", - "integrity": "sha512-EhO29617AIBqxoVtpd1qdBanWpspk/kD2B6qTFRJ31Q23Rdf+DNU1xlHSwtqvwq1vgOqBwq1i38SX+HGCymIQg==", - "requires": { - "@types/node": "*" - } - }, "@types/source-list-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.5.tgz", diff --git a/package.json b/package.json index deb73fe9..b15e036d 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "license": "ISC", "dependencies": { "@marlon360/express-queue": "^1.0.3", - "@types/sharp": "^0.30.5", "axios": "^1.3.2", "compression": "^1.7.4", "cors": "^2.8.5",