From 8a80ac5325e15fbd19edae5f8b389f53a231dba1 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 23 Sep 2015 11:18:07 +0200 Subject: php-patchwork-utf8: import from Fedora --- php-patchwork-utf8.spec | 182 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 php-patchwork-utf8.spec (limited to 'php-patchwork-utf8.spec') diff --git a/php-patchwork-utf8.spec b/php-patchwork-utf8.spec new file mode 100644 index 0000000..ccd973e --- /dev/null +++ b/php-patchwork-utf8.spec @@ -0,0 +1,182 @@ +# +# Fedora spec file for php-patchwork-utf8 +# +# Copyright (c) 2015 Shawn Iwinski +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# Please preserve changelog entries +# + +%global github_owner tchwork +%global github_name utf8 +%global github_version 1.2.3 +%global github_commit a7a9a987d01d052ff9c99510ecbd07ebc6c270f2 + +%global composer_vendor patchwork +%global composer_project utf8 + +# "php": ">=5.3.0" +%global php_min_ver 5.3.0 + +# Build using "--without tests" to disable tests +%global with_tests 0%{!?_without_tests:1} + +%{!?phpdir: %global phpdir %{_datadir}/php} + +Name: php-%{composer_vendor}-%{composer_project} +Version: %{github_version} +Release: 3%{?github_release}%{?dist} +Summary: Portable and performant UTF-8, Unicode and Grapheme Clusters for PHP + +Group: Development/Libraries +License: ASL 2.0 or GPLv2 +URL: https://github.com/%{github_owner}/%{github_name} + +# GitHub export does not include tests. +# Run php-patchwork-utf8-get-source.sh to create full source. +Source0: %{name}-%{github_version}-%{github_commit}.tar.gz +Source1: %{name}-get-source.sh + +# Add license files +# https://github.com/tchwork/utf8/pull/50 +Patch0: %{name}-pull-50.patch + +BuildArch: noarch +# Relative paths +BuildRequires: python +# Tests +%if %{with_tests} +BuildRequires: %{_bindir}/phpunit +## composer.json +BuildRequires: php(language) >= %{php_min_ver} +BuildRequires: php-iconv +BuildRequires: php-intl +BuildRequires: php-mbstring +BuildRequires: php-pcre +## phpcompatinfo (computed from version 1.2.3) +BuildRequires: php-reflection +BuildRequires: php-date +BuildRequires: php-exif +BuildRequires: php-filter +BuildRequires: php-json +BuildRequires: php-spl +BuildRequires: php-xml +## Autoloader +BuildRequires: php-composer(symfony/class-loader) +%endif + +# composer.json +Requires: php(language) >= %{php_min_ver} +Requires: php-pcre +# composer.json: optional +Requires: php-iconv +Requires: php-intl +Requires: php-mbstring +# phpcompatinfo (computed from version 1.2.3) +#Requires: php-exif +Requires: php-filter +Requires: php-json +Requires: php-spl +Requires: php-xml +# Autoloader +Requires: php-composer(symfony/class-loader) + +# Composer +Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} + +%description +%{summary}. + + +%prep +%setup -qn %{github_name}-%{github_commit} + +%patch0 -p1 + +: Create autoloader +cat <<'AUTOLOAD' | tee src/Patchwork/autoload.php +register(); +} + +$fedoraClassLoader->addPrefix('Patchwork\\', dirname(__DIR__)); + +\Patchwork\Utf8\Bootup::initAll(); + +return $fedoraClassLoader; +AUTOLOAD + +: Remove Windows files +rm -f \ + src/Patchwork/Utf8/WindowsStreamWrapper.php \ + tests/Patchwork/Tests/Utf8/WindowsStreamWrapperTest.php + + +%build +# Empty build section, nothing to build + + +%install +: Library +mkdir -p %{buildroot}%{phpdir} +cp -rp src/Patchwork %{buildroot}%{phpdir}/ + +: Data +mkdir -p %{buildroot}%{_datadir}/%{name} +mv %{buildroot}%{phpdir}/Patchwork/Utf8/data %{buildroot}%{_datadir}/%{name}/ +ln -s \ + %(python -c "import os.path; print os.path.relpath('%{_datadir}/%{name}/data', '%{phpdir}/Patchwork/Utf8')") \ + %{buildroot}%{phpdir}/Patchwork/Utf8/data +mv %{buildroot}%{phpdir}/Patchwork/PHP/Shim/charset %{buildroot}%{_datadir}/%{name}/shim-charset +ln -s \ + %(python -c "import os.path; print os.path.relpath('%{_datadir}/%{name}/shim-charset', '%{phpdir}/Patchwork/PHP/Shim')") \ + %{buildroot}%{phpdir}/Patchwork/PHP/Shim/charset +mv %{buildroot}%{phpdir}/Patchwork/PHP/Shim/unidata %{buildroot}%{_datadir}/%{name}/shim-unidata +ln -s \ + %(python -c "import os.path; print os.path.relpath('%{_datadir}/%{name}/shim-unidata', '%{phpdir}/Patchwork/PHP/Shim')") \ + %{buildroot}%{phpdir}/Patchwork/PHP/Shim/unidata + +%check +%if %{with_tests} +%{_bindir}/phpunit --verbose --bootstrap %{buildroot}%{phpdir}/Patchwork/autoload.php +%else +: Tests skipped +%endif + + +%files +%{!?_licensedir:%global license %%doc} +%license LICENSE* +%doc *.md +%doc composer.json +%{phpdir}/Patchwork +%exclude %{phpdir}/Patchwork/Utf8/unicode-data.tbz2 +%exclude %{phpdir}/Patchwork/Utf8/WindowsStreamWrapper.php +%{_datadir}/%{name} + + +%changelog +* Tue Sep 22 2015 Shawn Iwinski - 1.2.3-3 +- Update patch for license files + +* Sat Sep 19 2015 Shawn Iwinski - 1.2.3-2 +- Add patch for license files + +* Fri Sep 11 2015 Shawn Iwinski - 1.2.3-1 +- Initial package -- cgit