2 # - subpackages for tasks with external dependencies, or rather suggests?
4 %define pearname %{pkgname}
5 %define php_min_version 5.2.2
6 Summary: PHP project build system based on Apache Ant
7 Summary(pl.UTF-8): System budowania projektów w PHP oparty na narzędziu Apache Ant
12 Group: Development/Languages/PHP
13 Source0: http://pear.phing.info/get/phing-%{version}.tgz
14 # Source0-md5: ad7486dea5b5fc36f62f92cbfa4b3876
15 Source1: %{pkgname}.sh
16 Patch0: composer-path.patch
17 URL: http://www.phing.info/
18 BuildRequires: php-channel(pear.phing.info)
19 BuildRequires: php-pear >= 4:1.3.8
20 BuildRequires: php-pear-PEAR >= 1:1.8.0
21 BuildRequires: rpm-php-pearprov >= 4.4.2-11
22 BuildRequires: rpmbuild(macros) >= 1.654
23 BuildRequires: sed >= 4.0
24 Requires: /usr/bin/php
25 Requires: php(core) >= %{php_min_version}
30 Requires: php-channel(pear.phing.info)
34 Suggests: php(gettext)
36 Suggests: php(mbstring)
37 Suggests: php(openssl)
39 Suggests: php(simplexml)
42 Suggests: php-docblox-DocBlox
43 Suggests: php-pdepend-PHP_Depend
44 Suggests: php-pear-Archive_Tar
45 Suggests: php-pear-HTTP_Request2
46 Suggests: php-pear-Net_Growl
47 Suggests: php-pear-PEAR_PackageFileManager
48 Suggests: php-pear-PHP_CodeSniffer
49 Suggests: php-pear-PhpDocumentor
50 Suggests: php-pear-Services_Amazon_S3
51 Suggests: php-pear-VersionControl_Git
52 Suggests: php-pear-VersionControl_SVN
53 Suggests: php-phing-phingdocs
54 Suggests: php-phpmd-PHP_PMD
55 Suggests: php-phpunit-PHP_CodeCoverage
56 Suggests: php-phpunit-phpcpd
57 Suggests: php-phpunit-phploc
58 Suggests: phpunit >= 3.6
59 Provides: phing = %{version}
60 Obsoletes: phing < 2.4.1
61 Conflicts: php-phpunit-PHPUnit < 3.6
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65 %define _appdir %{php_data_dir}/%{pkgname}
67 # exclude optional dependencies
68 %define _noautoreq_pear phing/.* Archive/Tar.* HTTP/Request2.* Log.php Mail.php Mail/mime.php Net/FTP.php Net/Growl.* PEAR.php PEAR/.* PEAR/PackageFileManager.* PHP/CodeCoverage/.* PHP/CodeSniffer.* PHP/Depend/.* PHP/PMD.* PHPMD/.* phpunit/.* vendor/.* PHPLOC/.* PHPUnit/.* Services/Amazon/S3.* Smarty.class.php SmartyBC.class.php System.php VersionControl/.* creole/Creole.php [Pp]hpDocumentor/.* simpletest/.* PHPCPD/Autoload.php SebastianBergmann/PHPCPD/autoload.php Ssh2MethodConnectionParam.php Ssh2MethodParam.php IniFileConfig.php IniFileRemove.php IniFileSet.php Symfony/Component/Stopwatch/autoload.php scssphp/scss.inc.php
70 # exclude optional php dependencies
71 %define _noautophp php-ctype php-ftp php-gettext php-hash php-mbstring php-openssl php-pcre php-simplexml php-xsl
73 # put it together for rpmbuild
74 %define _noautoreq %{?_noautophp}
77 PHing Is Not GNU make; it's a project build system based on Apache
78 Ant. You can do anything with it that you could do with a traditional
79 build system like GNU make, and its use of simple XML build files and
80 extensible PHP "task" classes make it an easy-to-use and highly
81 flexible build framework. Features include file transformations (e.g.
82 token replacement, XSLT transformation, Smarty template
83 transformations), file system operations, interactive build support,
84 SQL execution, CVS operations, tools for creating PEAR packages, and
87 %description -l pl.UTF-8
88 PHing Is Not GNU make (phing to nie GNU make) to system budowania
89 projektów oparty na narzędziu Apache Ant. Pozwala robić wszystko to,
90 co da się zrobić przy użyciu tradycyjnego systemu budowania takiego
91 jak GNU make i wykorzystuje proste pliki reguł XML oraz rozszerzalne
92 klasy PHP "zadań", co czyni z niego łatwe w użyciu i elastyczne
93 środowisko. Możliwości obejmują przekształcenia (np. podstawienia
94 tokenów, przekształcenia XSLT, przekształcenia szablonów Smarty),
95 operacje na systemie plików, obsługę interaktywnego budowania,
96 wywoływanie SQL-a, operacje na CVS-ie, narzędzia do tworzenia pakietów
100 %pear_package_setup -d data_dir=%{_appdir}/data
103 # 2.4.4 release tarball contains .rej and .orig files junk
104 find '(' -name '*~' -o -name '*.orig' -o -name '*.rej' ')' -print0 | xargs -0 -r -l512 rm -f
107 rm -rf $RPM_BUILD_ROOT
108 install -d $RPM_BUILD_ROOT{%{_bindir},%{php_pear_dir},%{_appdir}}
109 %pear_package_install
111 install -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/phing
113 # cleanup the mess pear install made
114 mv $RPM_BUILD_ROOT{%{php_pear_dir}/%{pkgname}/*,%{_appdir}}
115 mv $RPM_BUILD_ROOT{%{php_pear_dir}/phing.php,%{php_data_dir}/phing.php}
116 cp -a ./%{php_data_dir}/* $RPM_BUILD_ROOT%{php_data_dir}
118 #install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
119 #cp -a docs/example/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
122 rm -rf $RPM_BUILD_ROOT
125 %pear_package_print_optionalpackages
128 %defattr(644,root,root,755)
129 %doc optional-packages.txt
130 %attr(755,root,root) %{_bindir}/phing
131 %{php_pear_dir}/.registry/.channel.*/phing.reg
132 %{php_data_dir}/phing.php
147 %{_appdir}/lib/Capsule.php
151 #%{_examplesdir}/%{name}-%{version}