%global revision_date 20161203 %global git_short_version_hash 3230179 %global git_full_version_hash 3230179f3ce5d144a5fcdd5d68375f285006bd58 Summary: A collection of PHP utility classes Name: libphutil Version: 0.%{revision_date}.git%{git_short_version_hash} Release: 1%{?dist} License: ASL 2.0 URL: http://www.phabricator.com/docs/libphutil/ Source0: https://github.com/phacility/libphutil/archive/%{git_full_version_hash}.tar.gz#/libphutil-%{git_full_version_hash}.tar.gz # Document what's in the phabricator subpackage, so that RPM will # be able to build the actual subpackage. Source999: README.phabricator ## ## Packaging fixes ## # https://github.com/kanarip/libphutil/tree/packaging/stable/0001-unvendorize-jsonlint Patch0001: 0001-Unvendorize-jsonlint.patch # https://github.com/kanarip/libphutil/tree/packaging/stable/0002-remove-deprecated-xhprof-dependency # No longer needed in the next promotion of master to stable Patch0002: 0002-Remove-xhprof-dependency.patch # https://github.com/kanarip/libphutil/tree/packaging/stable/0003-remove-mysql-dependency Patch0003: 0003-Strip-dependency-on-deprecated-MySQL-PHP-extension.patch ## ## Feature enhancements (arguably) ## # https://github.com/kanarip/libphutil/tree/feature/stable/0001-fix-from-address-parsing Patch0004: 0004-Parse-From-lines-in-the-format-user-domain.com-user-.patch BuildArch: noarch # Virtual provides to silence rpmlint on requiring an explicit # library for arcanist and phabricator. Provides: arcanist(libphutil) = %{version}-%{release} Requires: php(language) >= 5 # See: # * https://pagure.io/phabphourphedora/issue/7 # * https://secure.phabricator.com/T9640#184099 # * https://secure.phabricator.com/T11270 Requires: php(language) < 7 Requires: php-curl Requires: php-date Requires: php-fileinfo Requires: php-jsonlint Requires: php-mbstring Requires: php-pecl(json) Requires: php-xml %description A collection of PHP utility classes used with phabricator %package phabricator Summary: A collection of dependencies optimized for Phabricator Requires: php-gd Requires: php-ldap Requires: php-mysqli Requires: php-opcache Requires: php-pecl(APC) # Virtual provides to silence rpmlint on requiring an explicit # library for arcanist and phabricator. Provides: phabricator(libphutil) = %{version}-%{release} %description phabricator A meta-package to pull in optimization and server-side dependencies for Phabricator. %prep %setup -q -n libphutil-%{git_full_version_hash} %patch0001 -p1 # Also remove the externals/jsonlint/ directory. rm -rf externals/jsonlint/ %patch0002 -p1 %patch0003 -p1 # Also remove the files associated with it, keeps things clean for review find src/ -type f -name "*MySQL*" -a ! -name "*BaseMySQL*" -a ! -name "*MySQLi*" -delete %patch0004 -p1 cp -a %{SOURCE999} . %build %install # copy libphutil to the buildroot mkdir -p %{buildroot}%{_datadir}/%{name} cp -a scripts/ src/ %{buildroot}%{_datadir}/%{name}/. find %{buildroot}%{_datadir}/%{name}/ -type d -name test -exec rm -rvf {} \; 2>/dev/null || : find %{buildroot}%{_datadir}/%{name}/ -type d -name __tests__ -exec rm -rvf {} \; 2>/dev/null || : # Fix shebangs find %{buildroot}%{_datadir}/%{name}/ -type f -exec sed -i -r -e 's"^#!(.*)/usr/bin/env php"#!%{_bindir}/php"' {} \; find %{buildroot}%{_datadir}/%{name}/ -type f -exec sed -i -r -e 's"^#!(.*)/usr/local/bin/php"#!%{_bindir}/php"' {} \; %files %{!?_licensedir:%global license %doc} %license LICENSE %doc README.md %doc NOTICE %dir %{_datadir}/%{name} %{_datadir}/%{name}/scripts %{_datadir}/%{name}/src %files phabricator %doc README.phabricator %changelog * Sat Dec 03 2016 Jeroen van Meeuwen (Kolab Systems) - 0.20161203.git3230179-1 - Promote Week #48 2016 * Sat Dec 03 2016 Jeroen van Meeuwen (Kolab Systems) - 0.20161126.git89984ac-6 - Rebuild * Thu Dec 01 2016 Jeroen van Meeuwen (Kolab Systems) - 0.20161126.git89984ac-5 - Rebuild * Thu Dec 01 2016 Jeroen van Meeuwen (Kolab Systems) - 0.20161126.git89984ac-4 - Rebuild * Thu Dec 01 2016 Jeroen van Meeuwen (Kolab Systems) - 0.20161126.git89984ac-3 - Rebuild * Thu Dec 01 2016 Jeroen van Meeuwen (Kolab Systems) - 0.20161126.git89984ac-2 - Rebuild * Thu Dec 01 2016 Jeroen van Meeuwen (Kolab Systems) - 0.20161126.git89984ac-1 - Promote Week #47 2016 * Thu Dec 01 2016 Jeroen van Meeuwen (Kolab Systems) - 20161126.git89984ac-2 - Rebuild * Tue Nov 29 2016 Jeroen van Meeuwen (Kolab Systems) - 20161126.git89984ac-1 - Promote Week #47 2016 * Tue Nov 29 2016 Jeroen van Meeuwen (Kolab Systems) - 20161126.git89984ac-1 - Promote Week #47 * Thu Nov 10 2016 Jeroen van Meeuwen (Kolab Systems) - 20161105.git40e473e-1 - Promote Week #44 * Sat Nov 05 2016 Jeroen van Meeuwen (Kolab Systems) - 20161028.git1961d55-1 - Promote Week #43 * Mon Oct 24 2016 Jeroen van Meeuwen (Kolab Systems) - 20161022.git20841d2-1 - Promote Week #42 * Sat Sep 24 2016 Jeroen van Meeuwen (Kolab Systems) - 20160924.git518dacd-1 - Promote week #38 * Thu Sep 8 2016 Jeroen van Meeuwen (Kolab Systems) - 20160905.gitc14343e-1 - Promote week #36 * Wed Aug 10 2016 Jeroen van Meeuwen (Kolab Systems) - 20160806.git8f8e02d-1 - Correct NEVRA * Tue Aug 9 2016 Jeroen van Meeuwen (Kolab Systems) - 20160727.git8f8e02d-2 - Adjust dependency on php-opcache - Adjust dependency on php-pecl-apcu - Remove dependency on XHProf (strip references to it as well) - Taking in some of the packaging review recommendations * Wed Feb 25 2015 Tim Flink - 20150211.git9e0ea2c-2 - un-removing bundled jsonlint because the bundled version isn't compatible with upstream * Wed Feb 11 2015 Tim Flink - 20150211.git9e0ea2c-1 - Updating to latest upstream git * Sat Jan 17 2015 Vladimir Rusinov - 20141204.git549aa1b-2 - remove bundled jsonlint * Thu Dec 04 2014 Tim Flink - 20141204.git549aa1b-1 - updating to latest upstream git * Tue Sep 02 2014 Tim Flink - 20140902.git2de6440-1 - updating to latest upstream git * Mon Jul 21 2014 Tim Flink - 20140721.gitefc2cc5-1 - updating to latest upstream git * Sun May 18 2014 Tim Flink - 20140518.git1add454-1 - updating to latest upstream git * Thu Jan 23 2014 Tim Flink - 20140123.git86d651f-1 - updating to latest git * Tue Dec 10 2013 Tim Flink - 20131210.git69490c5-1 - updating to latest git * Wed Oct 30 2013 Tim Flink - 20131030.gitba9c942-1 - Initial package