summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--PHPINFO-im66
-rw-r--r--PHPINFO-im712
-rw-r--r--REFLECTION-im62
-rw-r--r--REFLECTION-im786
-rw-r--r--php-pecl-imagick.spec232
6 files changed, 163 insertions, 177 deletions
diff --git a/Makefile b/Makefile
index ca493e0..460477d 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,4 @@ include ../../../common/Makefile
refl: $(NAME).spec
php --re imagick >REFLECTION-im7
php --ri imagick >PHPINFO-im7
- php81 --re imagick >REFLECTION-im6
- php81 --ri imagick >PHPINFO-im6
diff --git a/PHPINFO-im6 b/PHPINFO-im6
index 7cccaca..03a9677 100644
--- a/PHPINFO-im6
+++ b/PHPINFO-im6
@@ -4,10 +4,10 @@ imagick
imagick module => enabled
imagick module version => 3.7.0
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
-Imagick compiled with ImageMagick version => ImageMagick 6.9.12-94 Q16 x86_64 17987 https://legacy.imagemagick.org
-Imagick using ImageMagick library version => ImageMagick 6.9.12-94 Q16 x86_64 17987 https://legacy.imagemagick.org
+Imagick compiled with ImageMagick version => ImageMagick 6.9.13-21 Q16 x86_64 18557 https://legacy.imagemagick.org
+Imagick using ImageMagick library version => ImageMagick 6.9.13-21 Q16 x86_64 18557 https://legacy.imagemagick.org
ImageMagick copyright => (C) 1999 ImageMagick Studio LLC
-ImageMagick release date => 2023-09-17
+ImageMagick release date => 2024-12-22
ImageMagick number of supported formats: => 250
ImageMagick supported formats => 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FLV, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HEIF, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV
diff --git a/PHPINFO-im7 b/PHPINFO-im7
index aa03827..1d1817c 100644
--- a/PHPINFO-im7
+++ b/PHPINFO-im7
@@ -2,14 +2,14 @@
imagick
imagick module => enabled
-imagick module version => 3.7.0
+imagick module version => 3.8.0
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
-Imagick compiled with ImageMagick version => ImageMagick 7.1.1-16 Q16-HDRI x86_64 21560 https://imagemagick.org
-Imagick using ImageMagick library version => ImageMagick 7.1.1-16 Q16-HDRI x86_64 21560 https://imagemagick.org
+Imagick compiled with ImageMagick version => ImageMagick 7.1.1-47 Q16-HDRI x86_64 22763 https://imagemagick.org
+Imagick using ImageMagick library version => ImageMagick 7.1.1-47 Q16-HDRI x86_64 22763 https://imagemagick.org
ImageMagick copyright => (C) 1999 ImageMagick Studio LLC
-ImageMagick release date => 2023-09-17
-ImageMagick number of supported formats: => 266
-ImageMagick supported formats => 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, ASHLAR, AVI, AVIF, AVS, BAYER, BAYERA, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUBE, CUR, CUT, DATA, DCM, DCR, DCRAW, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FARBFELD, FAX, FF, FILE, FITS, FL32, FLV, FRACTAL, FTP, FTS, FTXT, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, HALD, HDR, HEIC, HEIF, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, JXL, K25, KDC, KERNEL, LABEL, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MPO, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORA, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PHM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PS, PS2, PS3, PSB, PSD, PTIF, PWP, QOI, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGB565, RGBA, RGBO, RGF, RLA, RLE, RMF, RSVG, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, STRIMG, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TM2, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YAML, YCbCr, YCbCrA, YUV
+ImageMagick release date => 2025-03-29
+ImageMagick number of supported formats: => 273
+ImageMagick supported formats => 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, ASHLAR, AVCI, AVI, AVIF, AVS, BAYER, BAYERA, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUBE, CUR, CUT, DATA, DCM, DCR, DCRAW, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FARBFELD, FAX, FF, FFF, FILE, FITS, FL32, FLV, FRACTAL, FTP, FTS, FTXT, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, HALD, HDR, HEIC, HEIF, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, JXL, K25, KDC, KERNEL, LABEL, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MDC, MEF, MIFF, MKV, MNG, MONO, MOS, MOV, MP4, MPC, MPEG, MPG, MPO, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORA, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PHM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PS, PS2, PS3, PSB, PSD, PTIF, PWP, QOI, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGB565, RGBA, RGBO, RGF, RLA, RLE, RMF, RSVG, RW2, RWL, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, SRW, STEGANO, STI, STRIMG, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TM2, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YAML, YCBCR, YCBCRA, YUV
Directive => Local Value => Master Value
imagick.locale_fix => 0 => 0
diff --git a/REFLECTION-im6 b/REFLECTION-im6
index 67b4af9..e8f99d1 100644
--- a/REFLECTION-im6
+++ b/REFLECTION-im6
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #84 imagick version 3.7.0 ] {
+Extension [ <persistent> extension #18 imagick version 3.7.0 ] {
- Dependencies {
Dependency [ gmagick (Conflicts) ]
diff --git a/REFLECTION-im7 b/REFLECTION-im7
index d4a327b..54385eb 100644
--- a/REFLECTION-im7
+++ b/REFLECTION-im7
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
+Extension [ <persistent> extension #86 imagick version 3.8.0 ] {
- Dependencies {
Dependency [ gmagick (Conflicts) ]
@@ -490,7 +490,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Class [ <internal:imagick> <iterateable> class Imagick implements Stringable, Iterator, Traversable, Countable ] {
- - Constants [629] {
+ - Constants [628] {
Constant [ public int COLOR_BLACK ] { 11 }
Constant [ public int COLOR_BLUE ] { 12 }
Constant [ public int COLOR_CYAN ] { 13 }
@@ -500,8 +500,8 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Constant [ public int COLOR_MAGENTA ] { 17 }
Constant [ public int COLOR_ALPHA ] { 18 }
Constant [ public int COLOR_FUZZ ] { 19 }
- Constant [ public int IMAGICK_EXTNUM ] { 30700 }
- Constant [ public string IMAGICK_EXTVER ] { 3.7.0 }
+ Constant [ public int IMAGICK_EXTNUM ] { 30800 }
+ Constant [ public string IMAGICK_EXTVER ] { 3.8.0 }
Constant [ public int QUANTUM_RANGE ] { 65535 }
Constant [ public int USE_ZEND_MM ] { 0 }
Constant [ public int COMPOSITE_DEFAULT ] { 54 }
@@ -616,7 +616,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Constant [ public int FILTER_WELCH ] { 17 }
Constant [ public int FILTER_PARZEN ] { 18 }
Constant [ public int FILTER_LAGRANGE ] { 21 }
- Constant [ public int FILTER_SENTINEL ] { 32 }
+ Constant [ public int FILTER_SENTINEL ] { 34 }
Constant [ public int FILTER_BOHMAN ] { 19 }
Constant [ public int FILTER_BARTLETT ] { 20 }
Constant [ public int FILTER_JINC ] { 13 }
@@ -676,7 +676,6 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Constant [ public int COMPRESSION_WEBP ] { 23 }
Constant [ public int COMPRESSION_DWAA ] { 24 }
Constant [ public int COMPRESSION_DWAB ] { 25 }
- Constant [ public int COMPRESSION_BC7 ] { 26 }
Constant [ public int PAINT_POINT ] { 1 }
Constant [ public int PAINT_REPLACE ] { 2 }
Constant [ public int PAINT_FLOODFILL ] { 3 }
@@ -1238,7 +1237,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [1] {
Parameter #0 [ <required> int $type ]
}
- - Return [ int ]
+ - Return [ float ]
}
Method [ <internal:imagick> static public method getVersion ] {
@@ -1271,7 +1270,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [1] {
Parameter #0 [ <required> string $key ]
}
- - Return [ string ]
+ - Return [ string|false ]
}
Method [ <internal:imagick> static public method listRegistry ] {
@@ -1293,12 +1292,12 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Properties [0] {
}
- - Methods [376] {
+ - Methods [377] {
Method [ <internal:imagick> public method optimizeImageLayers ] {
- Parameters [0] {
}
- - Return [ bool ]
+ - Return [ Imagick ]
}
Method [ <internal:imagick> public method compareImageLayers ] {
@@ -1647,6 +1646,15 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Return [ bool ]
}
+ Method [ <internal:imagick> public method clutImageWithInterpolate ] {
+
+ - Parameters [2] {
+ Parameter #0 [ <required> Imagick $lookup_table ]
+ Parameter #1 [ <required> int $pixel_interpolate_method ]
+ }
+ - Return [ bool ]
+ }
+
Method [ <internal:imagick> public method getImageProperties ] {
- Parameters [2] {
@@ -2258,7 +2266,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [0] {
}
- - Return [ string ]
+ - Return [ ?string ]
}
Method [ <internal:imagick> public method getImagesBlob ] {
@@ -3070,7 +3078,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Method [ <internal:imagick> public method convolveImage ] {
- Parameters [2] {
- Parameter #0 [ <required> array $kernel ]
+ Parameter #0 [ <required> ImagickKernel $kernel ]
Parameter #1 [ <optional> int $channel = Imagick::CHANNEL_DEFAULT ]
}
- Return [ bool ]
@@ -3144,7 +3152,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [1] {
Parameter #0 [ <required> int $evaluate ]
}
- - Return [ bool ]
+ - Return [ Imagick ]
}
Method [ <internal:imagick> public method flattenImages ] {
@@ -3633,9 +3641,10 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Method [ <internal:imagick> public method setImageBluePrimary ] {
- - Parameters [2] {
+ - Parameters [3] {
Parameter #0 [ <required> float $x ]
Parameter #1 [ <required> float $y ]
+ Parameter #2 [ <required> float $z ]
}
- Return [ bool ]
}
@@ -3693,9 +3702,10 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Method [ <internal:imagick> public method setImageGreenPrimary ] {
- - Parameters [2] {
+ - Parameters [3] {
Parameter #0 [ <required> float $x ]
Parameter #1 [ <required> float $y ]
+ Parameter #2 [ <required> float $z ]
}
- Return [ bool ]
}
@@ -3719,9 +3729,10 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Method [ <internal:imagick> public method setImageRedPrimary ] {
- - Parameters [2] {
+ - Parameters [3] {
Parameter #0 [ <required> float $x ]
Parameter #1 [ <required> float $y ]
+ Parameter #2 [ <required> float $z ]
}
- Return [ bool ]
}
@@ -3744,9 +3755,10 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Method [ <internal:imagick> public method setImageWhitePoint ] {
- - Parameters [2] {
+ - Parameters [3] {
Parameter #0 [ <required> float $x ]
Parameter #1 [ <required> float $y ]
+ Parameter #2 [ <required> float $z ]
}
- Return [ bool ]
}
@@ -3829,7 +3841,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Parameter #0 [ <required> int $columns ]
Parameter #1 [ <required> int $rows ]
Parameter #2 [ <required> ImagickPixel|string $background_color ]
- Parameter #3 [ <optional> string $format = null ]
+ Parameter #3 [ <optional> ?string $format = null ]
}
- Return [ bool ]
}
@@ -4021,14 +4033,14 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [0] {
}
- - Tentative return [ void ]
+ - Return [ void ]
}
Method [ <internal:imagick, prototype Iterator> public method rewind ] {
- Parameters [0] {
}
- - Tentative return [ void ]
+ - Return [ void ]
}
Method [ <internal:imagick, prototype Iterator> public method valid ] {
@@ -4098,8 +4110,8 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [5] {
Parameter #0 [ <required> Imagick $image ]
- Parameter #1 [ <optional> ?array &$offset = null ]
- Parameter #2 [ <optional> ?float &$similarity = null ]
+ Parameter #1 [ <optional> &$offset = null ]
+ Parameter #2 [ <optional> &$similarity = null ]
Parameter #3 [ <optional> float $threshold = 0.0 ]
Parameter #4 [ <optional> int $metric = 0 ]
}
@@ -4110,8 +4122,8 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [5] {
Parameter #0 [ <required> Imagick $image ]
- Parameter #1 [ <optional> ?array &$offset = null ]
- Parameter #2 [ <optional> ?float &$similarity = null ]
+ Parameter #1 [ <optional> &$offset = null ]
+ Parameter #2 [ <optional> &$similarity = null ]
Parameter #3 [ <optional> float $threshold = 0.0 ]
Parameter #4 [ <optional> int $metric = 0 ]
}
@@ -4197,7 +4209,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Parameter #0 [ <required> float $radius ]
Parameter #1 [ <required> float $strength ]
}
- - Return [ void ]
+ - Return [ bool ]
}
Method [ <internal:imagick> public method identifyImageType ] {
@@ -4869,7 +4881,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [0] {
}
- - Return [ string ]
+ - Return [ string|false ]
}
Method [ <internal:imagick> public method getFontStretch ] {
@@ -4988,7 +5000,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [0] {
}
- - Return [ string ]
+ - Return [ string|false ]
}
Method [ <internal:imagick> public method getClipRule ] {
@@ -5538,7 +5550,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Method [ <internal:imagick> public method setStrokeDashArray ] {
- Parameters [1] {
- Parameter #0 [ <required> array $dashes ]
+ Parameter #0 [ <required> ?array $dashes ]
}
- Return [ bool ]
}
@@ -5680,7 +5692,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [0] {
}
- - Return [ array ]
+ - Return [ ?array ]
}
Method [ <internal:imagick> public method getIteratorRow ] {
@@ -5694,7 +5706,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [0] {
}
- - Return [ array ]
+ - Return [ ?array ]
}
Method [ <internal:imagick> public method getPreviousIteratorRow ] {
@@ -5715,21 +5727,21 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [0] {
}
- - Tentative return [ void ]
+ - Return [ void ]
}
Method [ <internal:imagick, prototype Iterator> public method rewind ] {
- Parameters [0] {
}
- - Tentative return [ void ]
+ - Return [ void ]
}
Method [ <internal:imagick, prototype Iterator> public method current ] {
- Parameters [0] {
}
- - Return [ array ]
+ - Return [ ?array ]
}
Method [ <internal:imagick> public method newPixelIterator ] {
@@ -5898,7 +5910,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Parameter #0 [ <required> ImagickPixel|string $color ]
Parameter #1 [ <required> float $fuzz ]
}
- - Return [ bool ]
+ - Return [ ?bool ]
}
Method [ <internal:imagick> public method isPixelSimilarQuantum ] {
@@ -5907,7 +5919,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Parameter #0 [ <required> ImagickPixel|string $color ]
Parameter #1 [ <required> float $fuzz_quantum_range_scaled_by_square_root_of_three ]
}
- - Return [ bool ]
+ - Return [ ?bool ]
}
Method [ <internal:imagick> public method isSimilar ] {
@@ -5916,7 +5928,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
Parameter #0 [ <required> ImagickPixel|string $color ]
Parameter #1 [ <required> float $fuzz_quantum_range_scaled_by_square_root_of_three ]
}
- - Return [ bool ]
+ - Return [ ?bool ]
}
Method [ <internal:imagick> public method setColor ] {
@@ -6003,7 +6015,7 @@ Extension [ <persistent> extension #78 imagick version 3.7.0 ] {
- Parameters [2] {
Parameter #0 [ <required> array $matrix ]
- Parameter #1 [ <required> ?array $origin ]
+ Parameter #1 [ <optional> ?array $origin = null ]
}
- Return [ ImagickKernel ]
}
diff --git a/php-pecl-imagick.spec b/php-pecl-imagick.spec
index 288cba8..32467ee 100644
--- a/php-pecl-imagick.spec
+++ b/php-pecl-imagick.spec
@@ -1,15 +1,14 @@
# remirepo spec file for php-pecl-imagick
#
-# Copyright (c) 2008-2023 Remi Collet
-# License: CC-BY-SA-4.0
-# http://creativecommons.org/licenses/by-sa/4.0/
+# SPDX-FileCopyrightText: Copyright 2008-2025 Remi Collet
+# SPDX-License-Identifier: CECILL-2.1
+# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
-%bcond_with im6
-%bcond_with im7
%bcond_without tests
+%bcond_with im6
# Distribution default IM version
%if 0%{?fedora} >= 38 || 0%{?rhel} >= 10
@@ -18,12 +17,11 @@
%global default 6
%endif
-# 2 builds needed to get the full set
-# --with im6
-# --with im7
-
-# we don't want -z defs linker flag
-%undefine _strict_symbol_defs_build
+# NOTICE: 2 builds needed to get the full set
+# All distro
+# default (im7)
+# On EL 8 and 9
+# --with im6
%if 0%{?scl:1}
%scl_package php-pecl-imagick
@@ -35,38 +33,26 @@
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner imagick
%global gh_project imagick
-#global gh_date 20151204
%global pecl_name imagick
+%global pie_vend imagick
+%global pie_proj imagick
%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
-%if "%{php_version}" < "5.6"
-%global ini_name %{pecl_name}.ini
-%else
%global ini_name 40-%{pecl_name}.ini
-%endif
-%global upstream_version 3.7.0
-#global upstream_prever RC1
-%if 0%{?gh_date:1}
-%global sources %{gh_project}-%{gh_commit}
-%else
+%global upstream_version 3.8.0
+#global upstream_prever RC2
%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever}
-%endif
%global _configure ../%{sources}/configure
-%if %{with im7}
-Summary: Extension to create and modify images using ImageMagick 7
-Name: %{?scl_prefix}php-pecl-imagick-im7
-%else
+%if %{with im6}
Summary: Extension to create and modify images using ImageMagick 6
Name: %{?scl_prefix}php-pecl-imagick-im6
+%else
+Summary: Extension to create and modify images using ImageMagick 7
+Name: %{?scl_prefix}php-pecl-imagick-im7
%endif
Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
-%if 0%{?gh_date}
-Release: 0.11.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
-Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz
-%else
-Release: 9.1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
-%endif
License: PHP-3.01
URL: https://pecl.php.net/package/imagick
@@ -74,84 +60,47 @@ BuildRequires: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel
BuildRequires: %{?scl_prefix}php-pear
-BuildRequires: pcre-devel
-%if %{with im7}
-BuildRequires: ImageMagick7-devel
-%else
%if %{with im6}
BuildRequires: ImageMagick6-devel
%else
-BuildRequires: ImageMagick-devel
-%endif
+BuildRequires: ImageMagick7-devel
%endif
Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
-%if %{with im7}
-Provides: %{?scl_prefix}php-%{pecl_name} = 1:%{version}%{?prever}
-Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = 1:%{version}%{?prever}
+%if %{with im6}
+Provides: %{?scl_prefix}php-%{pecl_name} = %{version}
+Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}
+Provides: %{?scl_prefix}php-pecl-imagick = %{version}-%{release}
+Provides: %{?scl_prefix}php-pecl-imagick%{?_isa} = %{version}-%{release}
%else
-Provides: %{?scl_prefix}php-%{pecl_name} = %{version}%{?prever}
-Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}%{?prever}
+Provides: %{?scl_prefix}php-%{pecl_name} = 1:%{version}
+Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = 1:%{version}
+Provides: %{?scl_prefix}php-pecl-imagick = 1:%{version}-%{release}
+Provides: %{?scl_prefix}php-pecl-imagick%{?_isa} = 1:%{version}-%{release}
%endif
-Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}%{?prever}
-Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}%{?prever}
+Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
+Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
+Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version}
+Provides: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} = %{version}
Conflicts: %{?scl_prefix}php-pecl-gmagick
-%if %{with im7}
-Conflicts: %{?scl_prefix}php-pecl-imagick-im6 <= %{version}-%{release}
-%if %{default} == 7
+%if %{with im6}
+Conflicts: %{?scl_prefix}php-pecl-imagick-im7 <= %{version}-%{release}
+%if %{default} == 6
Obsoletes: %{?scl_prefix}php-pecl-imagick <= %{version}-%{release}
%else
Conflicts: %{?scl_prefix}php-pecl-imagick <= %{version}-%{release}
%endif
%else
-Conflicts: %{?scl_prefix}php-pecl-imagick-im7 <= %{version}-%{release}
-%if %{default} == 6
+Conflicts: %{?scl_prefix}php-pecl-imagick-im6 <= %{version}-%{release}
+%if %{default} == 7
Obsoletes: %{?scl_prefix}php-pecl-imagick <= %{version}-%{release}
%else
Conflicts: %{?scl_prefix}php-pecl-imagick <= %{version}-%{release}
%endif
%endif
-Provides: %{?scl_prefix}php-pecl-imagick = %{version}-%{release}
-Provides: %{?scl_prefix}php-pecl-imagick%{?_isa} = %{version}-%{release}
-
-%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} == 7
-# Other third party repo stuff
-Obsoletes: php53-pecl-%{pecl_name} <= %{version}
-Obsoletes: php53u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php54-pecl-%{pecl_name} <= %{version}
-Obsoletes: php54w-pecl-%{pecl_name} <= %{version}
-%if "%{php_version}" > "5.5"
-Obsoletes: php55u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php55w-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "5.6"
-Obsoletes: php56u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php56w-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "7.0"
-Obsoletes: php70u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php70w-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "7.1"
-Obsoletes: php71u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php71w-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "7.2"
-Obsoletes: php72u-pecl-%{pecl_name} <= %{version}
-Obsoletes: php72w-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "7.3"
-Obsoletes: php73-pecl-%{pecl_name} <= %{version}
-Obsoletes: php73w-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "7.4"
-Obsoletes: php74-pecl-%{pecl_name} <= %{version}
-%endif
-%endif
-
%description
Imagick is a native php extension to create and modify images
@@ -159,10 +108,10 @@ using the ImageMagick API.
Documentation: https://www.php.net/imagick
-%if %{with im7}
-Package built using ImageMagick version 7
-%else
+%if %{with im6}
Package built using ImageMagick version 6
+%else
+Package built using ImageMagick version 7
%endif
Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}.
@@ -173,11 +122,20 @@ Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{?scl_prefix}php-devel%{?_isa}
-%if %{with im7}
-Conflicts: %{?scl_prefix}php-pecl-imagick-im6-devel
-%else
+%if %{with im6}
Conflicts: %{?scl_prefix}php-pecl-imagick-im7-devel
+%if %{default} == 6
Obsoletes: %{?scl_prefix}php-pecl-imagick-devel < %{version}-%{release}
+%else
+Conflicts: %{?scl_prefix}php-pecl-imagick-devel < %{version}-%{release}
+%endif
+%else
+Conflicts: %{?scl_prefix}php-pecl-imagick-im6-devel
+%if %{default} == 7
+Obsoletes: %{?scl_prefix}php-pecl-imagick-devel < %{version}-%{release}
+%else
+Conflicts: %{?scl_prefix}php-pecl-imagick-devel < %{version}-%{release}
+%endif
%endif
Provides: %{?scl_prefix}php-pecl-imagick-devel = %{version}-%{release}
Provides: %{?scl_prefix}php-pecl-imagick-devel%{?_isa} = %{version}-%{release}
@@ -188,18 +146,13 @@ These are the files needed to compile programs using %{pecl_name} extension.
%prep
%setup -q -c
-%if 0%{?gh_date}
-mv NTS/package.xml .
-sed -e 's/@PACKAGE_VERSION@/%{version}dev/' -i NTS/php_imagick.h
-sed -e 's/3.3.0RC2/%{version}dev/' -i package.xml
-%endif
# don't install any font (and test using it)
# don't install empty file (d41d8cd98f00b204e9800998ecf8427e)
sed -e '/anonymous_pro_minus.ttf/d' \
-e '/015-imagickdrawsetresolution.phpt/d' \
-e '/OFL.txt/d' \
- %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \
+ -e '/LICENSE/s/role="doc"/role="src"/' \
-i package.xml
if grep '\.ttf' package.xml
@@ -255,29 +208,36 @@ mkdir ZTS
cd %{sources}
%{__phpize}
+[ -f Makefile.global ] && GLOBAL=Makefile.global || GLOBAL=build/Makefile.global
+sed -e 's/INSTALL_ROOT/DESTDIR/' -i $GLOBAL
: Standard NTS build
cd ../NTS
%configure --with-imagick=%{_root_prefix} --with-php-config=%{__phpconfig}
-make %{?_smp_mflags}
+%make_build
-: Dump REFLECTION
+: Dump REFLECTION and PHPINFO
+%{__php} --no-php-ini \
+ --define extension=modules/%{pecl_name}.so \
+ --define imagick.skip_version_check=1 \
+ --re imagick >../REFLECTION
%{__php} --no-php-ini \
--define extension=modules/%{pecl_name}.so \
- --re imagick >REFLECTION
+ --define imagick.skip_version_check=1 \
+ --ri imagick >../PHPINFO
%if %{with_zts}
: ZTS build
cd ../ZTS
%configure --with-imagick=%{_root_prefix} --with-php-config=%{__ztsphpconfig}
-make %{?_smp_mflags}
+%make_build
%endif
%install
%{?dtsenable}
-make install INSTALL_ROOT=%{buildroot} -C NTS
+%make_install -C NTS
# Drop in the bit of configuration
install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
@@ -286,7 +246,7 @@ install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}
install -D -p -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml
%if %{with_zts}
-make install INSTALL_ROOT=%{buildroot} -C ZTS
+%make_install -C ZTS
install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}
%endif
@@ -302,26 +262,6 @@ do [ -f $i ] && install -Dpm 644 $i %{buildroot}%{pecl_docdir
done
-%if 0%{?fedora} < 24 && 0%{?rhel} < 8
-# when pear installed alone, after us
-%triggerin -- %{?scl_prefix}php-pear
-if [ -x %{__pecl} ] ; then
- %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
-fi
-
-# posttrans as pear can be installed after us
-%posttrans
-if [ -x %{__pecl} ] ; then
- %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
-fi
-
-%postun
-if [ $1 -eq 0 -a -x %{__pecl} ] ; then
- %{pecl_uninstall} %{pecl_name} >/dev/null || :
-fi
-%endif
-
-
%check
cd %{sources}
export REPORT_EXIT_STATUS=1
@@ -330,8 +270,10 @@ export REPORT_EXIT_STATUS=1
rm tests/229_Tutorial_fxAnalyzeImage_case1.phpt
rm tests/244_Tutorial_psychedelicFontGif_basic.phpt
# very long, and erratic results, sometime segfault on shutdown (EL-7/8)
+# also see https://github.com/Imagick/imagick/issues/724
rm tests/073_Imagick_forwardFourierTransformImage_basic.phpt
rm tests/086_Imagick_forwardFourierTransformImage_basic.phpt
+rm tests/151_Imagick_subImageMatch_basic.phpt
: simple module load test for NTS extension
%{__php} --no-php-ini \
@@ -348,6 +290,17 @@ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
%else
%{__php} -n run-tests.php -q --show-diff
%endif
+
+if [ -f %{php_extdir}/%{pecl_name}.so ]; then
+ # Only if same version
+ if %{__php} -n -d extension=%{pecl_name} -r 'exit(phpversion("%{pecl_name}")==="%{upstream_version}%{?upstream_prever}" ? 0 : 1);'
+ then
+ : upstream test suite for extension built with previous version
+ %{__php} --ri imagick
+ TEST_PHP_ARGS="-n -d extension=%{pecl_name}" \
+ %{__php} -n run-tests.php -q --show-diff %{?_smp_mflags}
+ fi
+fi
%endif
%if %{with_zts}
@@ -360,7 +313,7 @@ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
%files
-%{?_licensedir:%license %{sources}/LICENSE}
+%license %{sources}/LICENSE
%doc %{pecl_docdir}/%{pecl_name}
%{pecl_xmldir}/%{name}.xml
@@ -373,7 +326,8 @@ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
%endif
%files devel
-%doc NTS/REFLECTION
+%doc REFLECTION
+%doc PHPINFO
%doc %{pecl_testdir}/%{pecl_name}
%{php_incldir}/ext/%{pecl_name}
@@ -383,6 +337,28 @@ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \
%changelog
+* Fri Apr 11 2025 Remi Collet <remi@remirepo.net> - 3.8.0-1
+- update to 3.8.0
+
+* Fri Mar 14 2025 Remi Collet <remi@remirepo.net> - 3.8.0~RC2-1
+- update to 3.8.0RC2
+- open https://github.com/Imagick/imagick/issues/723 test failure with PHP 5.x
+- open https://github.com/Imagick/imagick/issues/724 erratic segfault in subImageMatch
+
+* Mon Dec 23 2024 Remi Collet <remi@remirepo.net> - 3.7.0-13
+- re-license spec file to CECILL-2.1
+- im7 by default, change using --with im6 build option
+
+* Thu Nov 21 2024 Remi Collet <remi@remirepo.net> - 3.7.0-12
+- drop unneeded build dependency
+
+* Fri Sep 27 2024 Remi Collet <remi@remirepo.net> - 3.7.0-11
+- add patch for PHP 8.4 from
+ https://github.com/Imagick/imagick/pull/690
+
+* Mon Feb 12 2024 Remi Collet <remi@remirepo.net> - 3.7.0-10
+- add upstream patch for test suite with recent IM versions
+
* Wed Aug 30 2023 Remi Collet <remi@remirepo.net> - 3.7.0-9
- rebuild for PHP 8.3.0RC1