From 361ece2b88daed44168fc6763eb2d5fb0fdb5091 Mon Sep 17 00:00:00 2001 From: Aran Reeks <3313791+aran112000@users.noreply.github.com> Date: Wed, 6 Dec 2023 11:59:04 +0000 Subject: [PATCH 1/7] WIP - Update dependancies readying for PHP 8.3 support Pending an upstream fix being merged here: https://github.com/Imagick/imagick/pull/641 --- layers/imagick/Dockerfile | 17 +++++++++-------- layers/imagick/config.json | 3 ++- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/layers/imagick/Dockerfile b/layers/imagick/Dockerfile index d820bdd1..2eae6749 100644 --- a/layers/imagick/Dockerfile +++ b/layers/imagick/Dockerfile @@ -10,9 +10,9 @@ RUN LD_LIBRARY_PATH= yum -y install libpng-devel libjpeg-devel lcms2-devel Image # Compile libwebp since AL2 ships with v0.3, and v0.4 or higher is required to builder the other libs WORKDIR ${IMAGICK_BUILD_DIR} -RUN curl -Ls -o libwebp.tar.gz https://github.com/webmproject/libwebp/archive/refs/tags/v1.3.1.tar.gz +RUN curl -Ls -o libwebp.tar.gz https://github.com/webmproject/libwebp/archive/refs/tags/v1.3.2.tar.gz RUN tar xzf libwebp.tar.gz -WORKDIR ${IMAGICK_BUILD_DIR}/libwebp-1.3.1 +WORKDIR ${IMAGICK_BUILD_DIR}/libwebp-1.3.2 RUN autoreconf -i && automake && autoconf RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} RUN make -j $(nproc) @@ -20,18 +20,18 @@ RUN make install # Compile libde265 (libheif dependency) WORKDIR ${IMAGICK_BUILD_DIR} -RUN curl -Ls -o libde265.tar.gz https://github.com/strukturag/libde265/releases/download/v1.0.12/libde265-1.0.12.tar.gz +RUN curl -Ls -o libde265.tar.gz https://github.com/strukturag/libde265/releases/download/v1.0.14/libde265-1.0.14.tar.gz RUN tar xzf libde265.tar.gz -WORKDIR ${IMAGICK_BUILD_DIR}/libde265-1.0.12 +WORKDIR ${IMAGICK_BUILD_DIR}/libde265-1.0.14 RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} RUN make -j $(nproc) RUN make install # Compile libheif WORKDIR ${IMAGICK_BUILD_DIR} -RUN curl -Ls -o libheif.tar.gz https://github.com/strukturag/libheif/releases/download/v1.13.0/libheif-1.13.0.tar.gz +RUN curl -Ls -o libheif.tar.gz https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz RUN tar xzf libheif.tar.gz -WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.13.0 +WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.17.5 RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} RUN make -j $(nproc) RUN make install @@ -47,9 +47,9 @@ RUN cp bin/gs /tmp/gs # Compile the ImageMagick library WORKDIR ${IMAGICK_BUILD_DIR} -RUN curl -Ls -o ImageMagick.tar.gz https://github.com/ImageMagick/ImageMagick/archive/refs/tags/7.1.1-15.tar.gz +RUN curl -Ls -o ImageMagick.tar.gz https://github.com/ImageMagick/ImageMagick/archive/refs/tags/7.1.1-22.tar.gz RUN tar xzf ImageMagick.tar.gz -WORKDIR ${IMAGICK_BUILD_DIR}/ImageMagick-7.1.1-15 +WORKDIR ${IMAGICK_BUILD_DIR}/ImageMagick-7.1.1-22 RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} --with-webp --with-heic --disable-static --with-freetype=yes RUN make -j $(nproc) RUN make install @@ -61,6 +61,7 @@ RUN convert -list configure WORKDIR ${IMAGICK_BUILD_DIR} RUN git clone https://github.com/Imagick/imagick WORKDIR ${IMAGICK_BUILD_DIR}/imagick +# TODO; update the commit hash this PR has been merged with PHP 8.3 support: https://github.com/Imagick/imagick/pull/641 RUN git reset --hard 28f27044e435a2b203e32675e942eb8de620ee58 RUN phpize RUN ./configure --with-imagick=${INSTALL_DIR} diff --git a/layers/imagick/config.json b/layers/imagick/config.json index a5a35316..eea4b0f4 100644 --- a/layers/imagick/config.json +++ b/layers/imagick/config.json @@ -2,6 +2,7 @@ "php": [ "80", "81", - "82" + "82", + "83" ] } From 4f5b73e8868f346e52afb9e7f33d7cf963543728 Mon Sep 17 00:00:00 2001 From: Aran Reeks <3313791+aran112000@users.noreply.github.com> Date: Wed, 6 Dec 2023 11:59:49 +0000 Subject: [PATCH 2/7] Fix typo --- layers/imagick/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layers/imagick/Dockerfile b/layers/imagick/Dockerfile index 2eae6749..6f4f4db4 100644 --- a/layers/imagick/Dockerfile +++ b/layers/imagick/Dockerfile @@ -61,7 +61,7 @@ RUN convert -list configure WORKDIR ${IMAGICK_BUILD_DIR} RUN git clone https://github.com/Imagick/imagick WORKDIR ${IMAGICK_BUILD_DIR}/imagick -# TODO; update the commit hash this PR has been merged with PHP 8.3 support: https://github.com/Imagick/imagick/pull/641 +# TODO; update the commit hash once this PR has been merged with PHP 8.3 support: https://github.com/Imagick/imagick/pull/641 RUN git reset --hard 28f27044e435a2b203e32675e942eb8de620ee58 RUN phpize RUN ./configure --with-imagick=${INSTALL_DIR} From 2be1e53b484cec306ebc41b6ea40ef37c0754184 Mon Sep 17 00:00:00 2001 From: Aran Reeks <3313791+aran112000@users.noreply.github.com> Date: Wed, 6 Dec 2023 13:16:04 +0000 Subject: [PATCH 3/7] libheif build process has changed --- layers/imagick/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layers/imagick/Dockerfile b/layers/imagick/Dockerfile index 6f4f4db4..176356d0 100644 --- a/layers/imagick/Dockerfile +++ b/layers/imagick/Dockerfile @@ -32,7 +32,7 @@ WORKDIR ${IMAGICK_BUILD_DIR} RUN curl -Ls -o libheif.tar.gz https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz RUN tar xzf libheif.tar.gz WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.17.5 -RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} +RUN cmake --preset=release --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} RUN make -j $(nproc) RUN make install From cbeef82abfaa3055131aceb4c59310d483b4970f Mon Sep 17 00:00:00 2001 From: Aran Reeks <3313791+aran112000@users.noreply.github.com> Date: Wed, 6 Dec 2023 13:29:07 +0000 Subject: [PATCH 4/7] Attempt to fix libheif compiling --- layers/imagick/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/layers/imagick/Dockerfile b/layers/imagick/Dockerfile index 176356d0..4beee1f4 100644 --- a/layers/imagick/Dockerfile +++ b/layers/imagick/Dockerfile @@ -32,7 +32,7 @@ WORKDIR ${IMAGICK_BUILD_DIR} RUN curl -Ls -o libheif.tar.gz https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz RUN tar xzf libheif.tar.gz WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.17.5 -RUN cmake --preset=release --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} +RUN cmake --preset=release --prefix ${INSTALL_DIR} RUN make -j $(nproc) RUN make install @@ -41,7 +41,7 @@ WORKDIR ${IMAGICK_BUILD_DIR} RUN curl -Ls -o ghostscript.tar.gz https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9561/ghostscript-9.56.1.tar.gz RUN tar xzf ghostscript.tar.gz WORKDIR ${IMAGICK_BUILD_DIR}/ghostscript-9.56.1 -RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} --without-x +RUN ./configure --install-prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} --without-x RUN make -j $(nproc) RUN cp bin/gs /tmp/gs From 57893f3bf0a7e2898dd8757b612adc123329b36e Mon Sep 17 00:00:00 2001 From: Aran Reeks <3313791+aran112000@users.noreply.github.com> Date: Wed, 6 Dec 2023 13:43:01 +0000 Subject: [PATCH 5/7] More fixes for compiling libheif --- layers/imagick/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/layers/imagick/Dockerfile b/layers/imagick/Dockerfile index 4beee1f4..df974c58 100644 --- a/layers/imagick/Dockerfile +++ b/layers/imagick/Dockerfile @@ -30,9 +30,9 @@ RUN make install # Compile libheif WORKDIR ${IMAGICK_BUILD_DIR} RUN curl -Ls -o libheif.tar.gz https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz -RUN tar xzf libheif.tar.gz -WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.17.5 -RUN cmake --preset=release --prefix ${INSTALL_DIR} +RUN mkdir ${IMAGICK_BUILD_DIR}/libheif-1.17.5/build +WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.17.5/build +RUN cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} .. RUN make -j $(nproc) RUN make install @@ -41,7 +41,7 @@ WORKDIR ${IMAGICK_BUILD_DIR} RUN curl -Ls -o ghostscript.tar.gz https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9561/ghostscript-9.56.1.tar.gz RUN tar xzf ghostscript.tar.gz WORKDIR ${IMAGICK_BUILD_DIR}/ghostscript-9.56.1 -RUN ./configure --install-prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} --without-x +RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} --without-x RUN make -j $(nproc) RUN cp bin/gs /tmp/gs From 401d27702621439123f14daea734b63cf5bb2637 Mon Sep 17 00:00:00 2001 From: Aran Reeks <3313791+aran112000@users.noreply.github.com> Date: Wed, 6 Dec 2023 13:46:31 +0000 Subject: [PATCH 6/7] WIP --- layers/imagick/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layers/imagick/Dockerfile b/layers/imagick/Dockerfile index df974c58..cf67c554 100644 --- a/layers/imagick/Dockerfile +++ b/layers/imagick/Dockerfile @@ -30,7 +30,7 @@ RUN make install # Compile libheif WORKDIR ${IMAGICK_BUILD_DIR} RUN curl -Ls -o libheif.tar.gz https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz -RUN mkdir ${IMAGICK_BUILD_DIR}/libheif-1.17.5/build +RUN mkdir libheif-1.17.5/build WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.17.5/build RUN cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} .. RUN make -j $(nproc) From c3d91d770bd10a39f638e5e4c6092bf1dbc37673 Mon Sep 17 00:00:00 2001 From: Aran Reeks <3313791+aran112000@users.noreply.github.com> Date: Wed, 6 Dec 2023 13:48:34 +0000 Subject: [PATCH 7/7] WIP --- layers/imagick/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/layers/imagick/Dockerfile b/layers/imagick/Dockerfile index cf67c554..32576203 100644 --- a/layers/imagick/Dockerfile +++ b/layers/imagick/Dockerfile @@ -30,7 +30,8 @@ RUN make install # Compile libheif WORKDIR ${IMAGICK_BUILD_DIR} RUN curl -Ls -o libheif.tar.gz https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz -RUN mkdir libheif-1.17.5/build +RUN tar xzf libheif.tar.gz +RUN mkdir ${IMAGICK_BUILD_DIR}/libheif-1.17.5/build WORKDIR ${IMAGICK_BUILD_DIR}/libheif-1.17.5/build RUN cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} .. RUN make -j $(nproc)