3 %bcond_without tests # build without tests
5 %define php_name php%{?php_suffix}
6 %define modname imagick
8 %define libversion %(pkg-config --modversion MagickCore 2>/dev/null || echo ERROR)
9 Summary: %{modname} - PHP wrapper to the Image Magick Library
10 Summary(pl.UTF-8): %{modname} - PHP-owy wrapper do biblioteki Image Magick
11 Name: %{php_name}-pecl-%{modname}
15 Group: Development/Languages/PHP
16 Source0: https://pecl.php.net/get/%{modname}-%{version}.tgz
17 # Source0-md5: 0687774a6126467d4e5ede02171e981d
18 Patch0: skip_version_check.patch
19 URL: https://pecl.php.net/package/imagick
20 BuildRequires: %{php_name}-cli
21 BuildRequires: %{php_name}-devel >= 4:5.3
22 BuildRequires: %{php_name}-pcre
23 BuildRequires: %{php_name}-spl
24 BuildRequires: ImageMagick-devel >= 1:6.2.4.0
25 BuildRequires: pkgconfig
27 BuildRequires: rpmbuild(macros) >= 1.650
29 BuildRequires: ImageMagick-coder-jpeg
30 BuildRequires: ImageMagick-coder-png
31 BuildRequires: ImageMagick-coder-tiff
33 %{?requires_php_extension}
34 Requires(postun): sed >= 4.0
35 Requires: %{php_name}-spl
36 Suggests: ImageMagick-coder-jpeg
37 Suggests: ImageMagick-coder-png
38 Suggests: ImageMagick-coder-tiff
39 Provides: php(imagick) = %{version}
40 Provides: php(lib-imagick) = %{libversion}
41 Obsoletes: php-pecl-imagick < 3.1.2-2
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 ImageMagick is a robust collection of tools and libraries to read,
46 write, and manipulate an image in many image formats (over 68 major
47 formats) including popular formats like TIFF, JPEG, PNG, PDF, PhotoCD,
48 and GIF. With ImageMagick you can create images dynamically, making it
49 suitable for Web applications. You can also resize, rotate, sharpen,
50 color reduce, or add special effects to an image and save your
51 completed work in the same or differing image format.
53 In PECL status of this package is: %{status}.
55 %description -l pl.UTF-8
56 ImageMagick to duży zestaw narzędzi i bibliotek do odczytu, zapisu i
57 modyfikowania obrazków w wielu formatach (ponad 68 głównych), w tym
58 popularnych, takich jak TIFF, JPEG, PNG, PDF, PhotoCD i GIF. Za pomocą
59 ImageMagick można dynamicznie tworzyć obrazki, co jest przydatne w
60 aplikacjach WWW. Można je także przeskalowywać, obracać, wyostrzać,
61 zmniejszać ilość kolorów - w tym samym lub innym formacie.
63 To rozszerzenie ma w PECL status: %{status}.
67 mv %{modname}-%{version}/* .
81 t=${line##*\[}; t=${t%\]}
82 test -z "$t" && continue
90 Test Imagick, annotateImage [tests/034_Imagick_annotateImage_basic.phpt]
91 Test Imagick, setRegistry and getRegistry [tests/150_Imagick_setregistry.phpt]
92 Test ImagickDraw, composite [tests/177_ImagickDraw_composite_basic.phpt]
93 Test ImagickDraw, setFontSize [tests/206_ImagickDraw_setFontSize_basic.phpt]
94 Test ImagickDraw, setFontFamily [tests/207_ImagickDraw_setFontFamily_basic.phpt]
95 Test ImagickDraw, setFontStretch [tests/208_ImagickDraw_setFontStretch_basic.phpt]
96 Test ImagickDraw, setFontWeight [tests/209_ImagickDraw_setFontWeight_basic.phpt]
97 Test ImagickDraw, setFontStyle [tests/210_ImagickDraw_setFontStyle_basic.phpt]
98 Test ImagickDraw, setGravity [tests/212_ImagickDraw_setGravity_basic.phpt]
99 Test ImagickDraw, setTextAlignment [tests/222_ImagickDraw_setTextAlignment_basic.phpt]
100 Test ImagickDraw, setTextAntialias [tests/223_ImagickDraw_setTextAntialias_basic.phpt]
101 Test ImagickDraw, setTextUnderColor [tests/224_ImagickDraw_setTextUnderColor_basic.phpt]
102 Test ImagickDraw, setTextDecoration [tests/225_ImagickDraw_setTextDecoration_basic.phpt]
103 Test Tutorial, psychedelicFont [tests/241_Tutorial_psychedelicFont_basic.phpt]
104 Test Tutorial, svgExample [tests/243_Tutorial_svgExample_basic.phpt]
105 Test Tutorial, psychedelicFontGif [tests/244_Tutorial_psychedelicFontGif_basic.phpt]
106 Test Imagick, Imagick::exportImagePixels [tests/256_Imagick_exportImagePixels_basic.phpt]
107 Test ImagickDraw, getTextDirection [tests/264_ImagickDraw_getTextDirection_basic.phpt]
108 Test ImagickDraw, getFontResolution [tests/266_ImagickDraw_getFontResolution_basic.phpt]
111 Test Imagick, quantizeImage [tests/101_Imagick_quantizeImage_basic.phpt]
112 Test Imagick, uniqueImageColors [tests/163_Imagick_uniqueImageColors_basic.phpt]
113 Test Tutorial, deconstructGif [tests/237_Tutorial_deconstructGif_basic.phpt]
114 Test ImagickPixelIterator, setIteratorRow [tests/251_ImagickPixelIterator_setIteratorRow_basic.phpt]
116 # Fail on 5.3, 5.5, 5.6, 7.0, 7.1, 7.2
117 Test Tutorial, fxAnalyzeImage [tests/229_Tutorial_fxAnalyzeImage_case1.phpt]
119 # 5.3, 5.5, 5.6, 7.0/x32, 7.1, 7.2, 7.3, 7.4
120 ImagickKernel::fromMatrix exceptions [tests/280_imagickkernel_exception_invalid_origin.phpt]
121 Imagick::setImageAlpha [tests/274_imagick_setImageAlpha.phpt]
122 Test ImagickDraw:: setTextInterlineSpacing [tests/279_ImagickDraw_setTextInterlineSpacing.phpt]
123 Test Imagick::optimizeimagelayers and Imagick::optimizeimagetransparency [tests/278_Imagick_optimaze_gif.phpt]
126 Test PHP bug #59378 writing to php://memory is incomplete [tests/bug59378.phpt]
129 %if "%php_major_version.%php_minor_version" == "7.4"
130 Casting color and opacity to pixel [tests/003_cast_color_opacity.phpt]
131 Different types of thumbnailing [tests/002_thumbnail.phpt]
132 ImagickKernel::fromMatrix test [tests/145_imagickkernel_coverage.phpt]
133 Imagick::resizeImage prevent 0 width/height images [tests/github_174.phpt]
134 Test autoGammaImage [tests/263_autoGammaImage.phpt]
135 Test compositeImageGravity [tests/261_compositeImageGravity.phpt]
136 Test cropthumbnail [tests/006_cropthumbnail.phpt]
137 Test filling thumbnail with color [tests/007_thumbnail_fill.phpt]
138 Test for round issues [tests/064_cropThumbNailImage.phpt]
139 Test Imagick::colorDecisionListImage [tests/277_Imagick_colorDecisionListImage.phpt]
140 Test Imagick, progressMonitor [tests/127_Imagick_progressMonitor_basic.phpt]
141 Test importimagepixels [tests/010_importimagepixels.phpt]
142 Testing clone keyword [tests/004_clone.phpt]
143 Testing that cloned object does not affect the original [tests/012-clone-separation.phpt]
144 Test thumbnail bestfit [tests/005_bestfit.phpt]
146 Test localContrastImage [tests/260_localContrastImage.phpt]
154 php_cv_cc_dashr=false
157 CFLAGS_CLEAN="%{rpmcflags}"
160 -d extension_dir=modules \
161 %if "%php_major_version.%php_minor_version" < "7.4"
162 -d extension=%{php_extensiondir}/pcre.so \
163 -d extension=%{php_extensiondir}/spl.so \
165 -d extension=%{modname}.so \
167 grep %{modname} modules.log
170 export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
172 PHP_EXECUTABLE=%{__php} \
173 %if "%php_major_version.%php_minor_version" < "7.4"
174 PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl" \
179 rm -rf $RPM_BUILD_ROOT
180 install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
181 install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
182 cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
183 ; Enable %{modname} extension module
184 extension=%{modname}.so
186 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
189 rm -rf $RPM_BUILD_ROOT
192 %php_webserver_restart
195 if [ "$1" = 0 ]; then
196 %php_webserver_restart
199 %triggerpostun -- %{name} < 0.9.11-2.1
200 %{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*%{modname}\.so/d' %{php_sysconfdir}/php.ini
203 %defattr(644,root,root,755)
205 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
206 %attr(755,root,root) %{php_extensiondir}/%{modname}.so
207 %{_examplesdir}/%{name}-%{version}