]> git.pld-linux.org Git - packages/php-pecl-imagick.git/blobdiff - php-pecl-imagick.spec
Rel 4
[packages/php-pecl-imagick.git] / php-pecl-imagick.spec
index 7bd8acd2d1aac85b41b0b34c76af96e0e152e75e..fe43eca8f03c05fe700a24ca9ecd8d1fabbdd453 100644 (file)
@@ -1,23 +1,44 @@
-%define                _modname        imagick
-%define                _status         stable
-Summary:       PHP wrapper to the Image Magick Library
-Summary(pl.UTF-8):     PHP-owy wrapper do biblioteki Image Magick
-Name:          php-pecl-%{_modname}
-Version:       2.0.1
-Release:       1
-License:       PHP 2.02
+#
+# Conditional build:
+%bcond_without tests           # build without tests
+
+%define                php_name        php%{?php_suffix}
+%define                modname         imagick
+%define                status          stable
+%define                libversion      %(pkg-config --modversion MagickCore 2>/dev/null || echo ERROR)
+Summary:       %{modname} - PHP wrapper to the Image Magick Library
+Summary(pl.UTF-8):     %{modname} - PHP-owy wrapper do biblioteki Image Magick
+Name:          %{php_name}-pecl-%{modname}
+Version:       3.7.0
+Release:       4
+License:       PHP 3.01
 Group:         Development/Languages/PHP
-Source0:       http://pecl.php.net/get/%{_modname}-%{version}.tgz
-# Source0-md5: b18d4f44baf6688bdd828f2d48934582
-URL:           http://pecl.php.net/package/imagick/
+Source0:       https://pecl.php.net/get/%{modname}-%{version}.tgz
+# Source0-md5: 0687774a6126467d4e5ede02171e981d
+Patch0:                skip_version_check.patch
+URL:           https://pecl.php.net/package/imagick
+BuildRequires: %{php_name}-cli
+BuildRequires: %{php_name}-devel >= 4:5.3
+BuildRequires: %{php_name}-pcre
+BuildRequires: %{php_name}-spl
 BuildRequires: ImageMagick-devel >= 1:6.2.4.0
-BuildRequires: php-devel >= 3:5.1.3
-BuildRequires: rpmbuild(macros) >= 1.344
+BuildRequires: pkgconfig
+BuildRequires: re2c
+BuildRequires: rpmbuild(macros) >= 1.650
+%if %{with tests}
+BuildRequires: ImageMagick-coder-jpeg
+BuildRequires: ImageMagick-coder-png
+BuildRequires: ImageMagick-coder-tiff
+%endif
 %{?requires_php_extension}
-Requires(triggerpostun):       sed >= 4.0
-Requires:      php-common >= 4:5.0.4
-Provides:      php(imagick)
-Obsoletes:     php-imagick
+Requires(postun):      sed >= 4.0
+Requires:      %{php_name}-spl
+Suggests:      ImageMagick-coder-jpeg
+Suggests:      ImageMagick-coder-png
+Suggests:      ImageMagick-coder-tiff
+Provides:      php(imagick) = %{version}
+Provides:      php(lib-imagick) = %{libversion}
+Obsoletes:     php-pecl-imagick < 3.1.2-2
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -29,7 +50,7 @@ suitable for Web applications. You can also resize, rotate, sharpen,
 color reduce, or add special effects to an image and save your
 completed work in the same or differing image format.
 
-In PECL status of this package is: %{_status}.
+In PECL status of this package is: %{status}.
 
 %description -l pl.UTF-8
 ImageMagick to duży zestaw narzędzi i bibliotek do odczytu, zapisu i
@@ -39,28 +60,130 @@ ImageMagick można dynamicznie tworzyć obrazki, co jest przydatne w
 aplikacjach WWW. Można je także przeskalowywać, obracać, wyostrzać,
 zmniejszać ilość kolorów - w tym samym lub innym formacie.
 
-To rozszerzenie ma w PECL status: %{_status}.
+To rozszerzenie ma w PECL status: %{status}.
 
 %prep
-%setup -q -c
+%setup -qc
+mv %{modname}-%{version}/* .
+%patch0 -p1
+
+xfail() {
+       local t=$1
+       test -f $t
+       cat >> $t <<-EOF
+
+       --XFAIL--
+       Skip
+       EOF
+}
+
+while read line; do
+       t=${line##*\[}; t=${t%\]}
+       test -z "$t" && continue
+       case "$t" in
+               '#'*) continue;;
+       esac
+       xfail $t
+done << 'EOF'
+
+# skip failing tests
+Test Imagick, annotateImage [tests/034_Imagick_annotateImage_basic.phpt]
+Test Imagick, setRegistry and getRegistry [tests/150_Imagick_setregistry.phpt]
+Test ImagickDraw, composite [tests/177_ImagickDraw_composite_basic.phpt]
+Test ImagickDraw, setFontSize [tests/206_ImagickDraw_setFontSize_basic.phpt]
+Test ImagickDraw, setFontFamily [tests/207_ImagickDraw_setFontFamily_basic.phpt]
+Test ImagickDraw, setFontStretch [tests/208_ImagickDraw_setFontStretch_basic.phpt]
+Test ImagickDraw, setFontWeight [tests/209_ImagickDraw_setFontWeight_basic.phpt]
+Test ImagickDraw, setFontStyle [tests/210_ImagickDraw_setFontStyle_basic.phpt]
+Test ImagickDraw, setGravity [tests/212_ImagickDraw_setGravity_basic.phpt]
+Test ImagickDraw, setTextAlignment [tests/222_ImagickDraw_setTextAlignment_basic.phpt]
+Test ImagickDraw, setTextAntialias [tests/223_ImagickDraw_setTextAntialias_basic.phpt]
+Test ImagickDraw, setTextUnderColor [tests/224_ImagickDraw_setTextUnderColor_basic.phpt]
+Test ImagickDraw, setTextDecoration [tests/225_ImagickDraw_setTextDecoration_basic.phpt]
+Test Tutorial, psychedelicFont [tests/241_Tutorial_psychedelicFont_basic.phpt]
+Test Tutorial, svgExample [tests/243_Tutorial_svgExample_basic.phpt]
+Test Tutorial, psychedelicFontGif [tests/244_Tutorial_psychedelicFontGif_basic.phpt]
+Test Imagick, Imagick::exportImagePixels [tests/256_Imagick_exportImagePixels_basic.phpt]
+Test ImagickDraw, getTextDirection [tests/264_ImagickDraw_getTextDirection_basic.phpt]
+Test ImagickDraw, getFontResolution [tests/266_ImagickDraw_getFontResolution_basic.phpt]
+%ifarch x32
+# Fail on 7.0
+Test Imagick, quantizeImage [tests/101_Imagick_quantizeImage_basic.phpt]
+Test Imagick, uniqueImageColors [tests/163_Imagick_uniqueImageColors_basic.phpt]
+Test Tutorial, deconstructGif [tests/237_Tutorial_deconstructGif_basic.phpt]
+Test ImagickPixelIterator, setIteratorRow [tests/251_ImagickPixelIterator_setIteratorRow_basic.phpt]
+%endif
+# Fail on 5.3, 5.5, 5.6, 7.0, 7.1, 7.2
+Test Tutorial, fxAnalyzeImage [tests/229_Tutorial_fxAnalyzeImage_case1.phpt]
+
+# 5.3, 5.5, 5.6, 7.0/x32, 7.1, 7.2, 7.3, 7.4
+ImagickKernel::fromMatrix exceptions [tests/280_imagickkernel_exception_invalid_origin.phpt]
+Imagick::setImageAlpha [tests/274_imagick_setImageAlpha.phpt]
+Test ImagickDraw:: setTextInterlineSpacing [tests/279_ImagickDraw_setTextInterlineSpacing.phpt]
+Test Imagick::optimizeimagelayers and Imagick::optimizeimagetransparency [tests/278_Imagick_optimaze_gif.phpt]
+
+# php73/x32
+Test PHP bug #59378 writing to php://memory is incomplete [tests/bug59378.phpt]
+
+# php 7.4, 8.0
+%if "%php_major_version.%php_minor_version" == "7.4"
+Casting color and opacity to pixel [tests/003_cast_color_opacity.phpt]
+Different types of thumbnailing [tests/002_thumbnail.phpt]
+ImagickKernel::fromMatrix test [tests/145_imagickkernel_coverage.phpt]
+Imagick::resizeImage prevent 0 width/height images [tests/github_174.phpt]
+Test autoGammaImage [tests/263_autoGammaImage.phpt]
+Test compositeImageGravity [tests/261_compositeImageGravity.phpt]
+Test cropthumbnail [tests/006_cropthumbnail.phpt]
+Test filling thumbnail with color [tests/007_thumbnail_fill.phpt]
+Test for round issues [tests/064_cropThumbNailImage.phpt]
+Test Imagick::colorDecisionListImage [tests/277_Imagick_colorDecisionListImage.phpt]
+Test Imagick, progressMonitor [tests/127_Imagick_progressMonitor_basic.phpt]
+Test importimagepixels [tests/010_importimagepixels.phpt]
+Testing clone keyword [tests/004_clone.phpt]
+Testing that cloned object does not affect the original [tests/012-clone-separation.phpt]
+Test thumbnail bestfit [tests/005_bestfit.phpt]
+%ifarch x32 %{ix86}
+Test localContrastImage [tests/260_localContrastImage.phpt]
+%endif
+%endif
+EOF
 
 %build
-cd %{_modname}-%{version}
 phpize
-%configure
+%configure \
+       php_cv_cc_dashr=false
 
 %{__make} \
        CFLAGS_CLEAN="%{rpmcflags}"
 
+%{__php} -n -q \
+       -d extension_dir=modules \
+%if "%php_major_version.%php_minor_version" < "7.4"
+       -d extension=%{php_extensiondir}/pcre.so \
+       -d extension=%{php_extensiondir}/spl.so \
+%endif
+       -d extension=%{modname}.so \
+       -m > modules.log
+grep %{modname} modules.log
+
+%if %{with tests}
+export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2
+%{__make} test \
+       PHP_EXECUTABLE=%{__php} \
+%if "%php_major_version.%php_minor_version" < "7.4"
+       PHP_TEST_SHARED_SYSTEM_EXTENSIONS="pcre spl" \
+%endif
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir}}
-
-install %{_modname}-%{version}/modules/%{_modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
-cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{_modname}.ini
-; Enable %{_modname} extension module
-extension=%{_modname}.so
+install -d $RPM_BUILD_ROOT{%{php_sysconfdir}/conf.d,%{php_extensiondir},%{_examplesdir}/%{name}-%{version}}
+install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
+cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/%{modname}.ini
+; Enable %{modname} extension module
+extension=%{modname}.so
 EOF
+cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -74,10 +197,11 @@ if [ "$1" = 0 ]; then
 fi
 
 %triggerpostun -- %{name} < 0.9.11-2.1
-%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*%{_modname}\.so/d' %{php_sysconfdir}/php.ini
+%{__sed} -i -e '/^extension[[:space:]]*=[[:space:]]*%{modname}\.so/d' %{php_sysconfdir}/php.ini
 
 %files
 %defattr(644,root,root,755)
-%doc %{_modname}-%{version}/examples
-%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{_modname}.ini
-%attr(755,root,root) %{php_extensiondir}/%{_modname}.so
+%doc CREDITS
+%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
+%attr(755,root,root) %{php_extensiondir}/%{modname}.so
+%{_examplesdir}/%{name}-%{version}
This page took 0.035034 seconds and 4 git commands to generate.