Skip to content

Commit eeb7282

Browse files
authored
Update Imagemagick to version 7 & fix png and jpeg support (#118)
* Add supported formats check * Update Imagemagick version * fix jpeg and png support for imagick
1 parent 26df61d commit eeb7282

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

layers/imagick/Dockerfile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM bref/build-php-$PHP_VERSION:1.0.0 AS ext
44
# Prepare environment
55
ENV IMAGICK_BUILD_DIR=${BUILD_DIR}/imagick
66
RUN mkdir -p ${IMAGICK_BUILD_DIR}
7-
RUN LD_LIBRARY_PATH= yum -y install libwebp-devel wget
7+
RUN LD_LIBRARY_PATH= yum -y install libwebp-devel wget libpng-devel libjpeg-devel
88

99
# Compile libde265 (libheif dependency)
1010
WORKDIR ${IMAGICK_BUILD_DIR}
@@ -26,9 +26,9 @@ RUN make install
2626

2727
# Compile the ImageMagick library
2828
WORKDIR ${IMAGICK_BUILD_DIR}
29-
RUN wget https://github.com/ImageMagick/ImageMagick6/archive/6.9.11-7.tar.gz -O ImageMagick.tar.gz
29+
RUN wget https://github.com/ImageMagick/ImageMagick/archive/7.0.10-43.tar.gz -O ImageMagick.tar.gz
3030
RUN tar xzf ImageMagick.tar.gz
31-
WORKDIR ${IMAGICK_BUILD_DIR}/ImageMagick6-6.9.11-7
31+
WORKDIR ${IMAGICK_BUILD_DIR}/ImageMagick-7.0.10-43
3232
RUN ./configure --prefix ${INSTALL_DIR} --exec-prefix ${INSTALL_DIR} --with-webp --with-heic --disable-static
3333
RUN make -j $(nproc)
3434
RUN make install
@@ -48,10 +48,12 @@ RUN echo 'extension=/opt/bref-extra/imagick.so' > /tmp/ext.ini
4848
FROM scratch
4949

5050
# The ImageMagick libraries needed by the extension
51-
COPY --from=ext /opt/bref/lib/libMagickWand-6.Q16.so.6.0.0 /opt/bref/lib/libMagickWand-6.Q16.so.6
52-
COPY --from=ext /opt/bref/lib/libMagickCore-6.Q16.so.6.0.0 /opt/bref/lib/libMagickCore-6.Q16.so.6
51+
COPY --from=ext /opt/bref/lib/libMagickWand-7.Q16HDRI.so.8.0.0 /opt/bref/lib/libMagickWand-7.Q16HDRI.so.8
52+
COPY --from=ext /opt/bref/lib/libMagickCore-7.Q16HDRI.so.8.0.0 /opt/bref/lib/libMagickCore-7.Q16HDRI.so.8
5353

5454
# ImageMagick dependencies
55+
COPY --from=ext /usr/lib64/libpng15.so.15.13.0 /opt/bref/lib/libpng15.so.15
56+
COPY --from=ext /usr/lib64/libjpeg.so.62.1.0 /opt/bref/lib/libjpeg.so.62
5557
COPY --from=ext /usr/lib64/libwebp.so.4.0.2 /opt/bref/lib/libwebp.so.4
5658
COPY --from=ext /usr/lib64/libgomp.so.1.0.0 /opt/bref/lib/libgomp.so.1
5759
COPY --from=ext /opt/bref/lib/libde265.so.0.0.12 /opt/bref/lib/libde265.so.0

layers/imagick/test.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,11 @@
55
exit(1);
66
}
77

8+
foreach (['PNG', 'JPG', 'GIF', 'WEBP', 'HEIC'] as $format) {
9+
if (!\Imagick::queryFormats($format)) {
10+
echo sprintf('FAIL: Imagick does not support "%s".', $format).PHP_EOL;
11+
exit(1);
12+
}
13+
}
14+
815
exit(0);

0 commit comments

Comments
 (0)