summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--php-Faker.spec96
1 files changed, 70 insertions, 26 deletions
diff --git a/php-Faker.spec b/php-Faker.spec
index 56c62e0..abff111 100644
--- a/php-Faker.spec
+++ b/php-Faker.spec
@@ -1,8 +1,8 @@
# remirepo spec file for php-Faker, from Fedora:
#
-# RPM spec file for php-Faker
+# Fedora spec file for php-Faker
#
-# Copyright (c) 2012-2015 Shawn Iwinski <shawn.iwinski@gmail.com>
+# Copyright (c) 2012-2016 Shawn Iwinski <shawn.iwinski@gmail.com>
#
# License: MIT
# http://opensource.org/licenses/MIT
@@ -10,22 +10,25 @@
# Please preserve changelog entries
#
-%global github_owner fzaninotto
-%global github_name Faker
-%global github_version 1.5.0
-%global github_commit d0190b156bcca848d401fb80f31f504f37141c8d
+%global github_owner fzaninotto
+%global github_name Faker
+%global github_version 1.5.0
+%global github_commit d0190b156bcca848d401fb80f31f504f37141c8d
+
+%global composer_vendor fzaninotto
+%global composer_project faker
# "php": ">=5.3.3"
-%global php_min_ver 5.3.3
+%global php_min_ver 5.3.3
# Build using "--without tests" to disable tests
-%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
+%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
%{!?phpdir: %global phpdir %{_datadir}/php}
Name: php-%{github_name}
Version: %{github_version}
-Release: 1%{?dist}
+Release: 5%{?dist}
Summary: A PHP library that generates fake data
Group: Development/Libraries
@@ -35,13 +38,11 @@ Source0: %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{githu
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
-# Autoload generation
-BuildRequires: %{_bindir}/phpab
# Tests
%if %{with_tests}
## composer.json
-BuildRequires: %{_bindir}/phpunit
BuildRequires: php(language) >= %{php_min_ver}
+BuildRequires: php-composer(phpunit/phpunit)
## phpcompatinfo (computed from version 1.5.0)
BuildRequires: php-curl
BuildRequires: php-date
@@ -52,13 +53,15 @@ BuildRequires: php-mbstring
BuildRequires: php-pcre
BuildRequires: php-reflection
BuildRequires: php-spl
+## Autoloader
+BuildRequires: php-composer(symfony/class-loader)
%endif
# composer.json
Requires: php(language) >= %{php_min_ver}
# composer.json: optional
Requires: php-intl
-# phpcompatinfo (computed from version 1.4.0)
+# phpcompatinfo (computed from version 1.5.0)
Requires: php-curl
Requires: php-date
Requires: php-hash
@@ -66,8 +69,17 @@ Requires: php-mbstring
Requires: php-pcre
Requires: php-reflection
Requires: php-spl
+# Autoloader
+Requires: php-composer(symfony/class-loader)
+# Weak dependencies
+%if 0%{?fedora} >= 21
+Suggests: php-composer(doctrine/orm)
+%endif
-Provides: php-composer(fzaninotto/faker) = %{version}
+# php-{COMPOSER_VENDOR}-{COMPOSER_PROJECT}
+Provides: php-%{composer_vendor}-%{composer_project} = %{version}-%{release}
+# Composer
+Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version}
%description
Faker is a PHP library that generates fake data for you. Whether you need
@@ -77,6 +89,8 @@ service, Faker is for you.
Faker is heavily inspired by Perl's Data::Faker [1], and by Ruby's Faker [2].
+Autoloader: %{phpdir}/Faker/autoload.php
+
Optional:
* CakePHP (http://cakephp.org/)
* Doctrine ORM (php-doctrine-orm)
@@ -99,20 +113,33 @@ chmod a-x \
src/Faker/Provider/sl_SI/PhoneNumber.php \
test/Faker/Provider/ja_JP/PersonTest.php
+: Create autoloader
+cat <<'AUTOLOAD' | tee src/Faker/autoload.php
+<?php
+/**
+ * Autoloader for %{name} and its' dependencies
+ * (created by %{name}-%{version}-%{release}).
+ *
+ * @return \Symfony\Component\ClassLoader\ClassLoader
+ */
-%build
-: Generate autoloader
-%{_bindir}/phpab --nolower --output src/Faker/autoload.php src/Faker
+if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) {
+ if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) {
+ require_once '%{phpdir}/Symfony/Component/ClassLoader/ClassLoader.php';
+ }
+
+ $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader();
+ $fedoraClassLoader->register();
+}
-(cat <<'AUTOLOAD'
+$fedoraClassLoader->addPrefix('Faker\\', dirname(__DIR__));
-// TODO: Add optional package autoloaders from their packages when they are available
-spl_autoload_register(function ($class) {
- $src = str_replace('\\', '/', $class) . '.php';
- @include_once $src;
-});
+return $fedoraClassLoader;
AUTOLOAD
-) | tee -a src/Faker/autoload.php
+
+
+%build
+# Empty build section, nothing to build
%install
@@ -126,8 +153,18 @@ cp -rp src/%{github_name} %{buildroot}%{phpdir}/
: Skip tests that require downloading content
sed 's/function testDownloadWithDefaults/function SKIP_testDownloadWithDefaults/' \
-i test/Faker/Provider/ImageTest.php
-
-%{_bindir}/phpunit --bootstrap %{buildroot}%{phpdir}/Faker/autoload.php
+: Skip tests with erratic results in Koschei
+sed -e '/561059108101825/d' \
+ -e '/601100099013942/d' \
+ -i test/Faker/Calculator/LuhnTest.php
+
+%{_bindir}/phpunit --verbose \
+ --bootstrap %{buildroot}%{phpdir}/Faker/autoload.php
+
+if which php70; then
+ php70 %{_bindir}/phpunit --verbose \
+ --bootstrap %{buildroot}%{phpdir}/Faker/autoload.php
+fi
%else
: Tests skipped
%endif
@@ -146,6 +183,13 @@ rm -rf %{buildroot}
%changelog
+* Sat Mar 12 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.5.0-5
+- Add standard "php-{COMPOSER_VENDOR}-{COMPOSER_PROJECT}" provides
+- Updated autoloader
+
+* Fri Mar 11 2016 Remi Collet <remi@fedoraproject.org> - 1.5.0-4
+- skip tests with erratic results in Koschei
+
* Sat May 30 2015 Shawn Iwinski <shawn.iwinski@gmail.com> - 1.5.0-1
- Updated to 1.5.0 (BZ #1226339)
- Packaged autoloader