summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2017-02-23 07:44:02 +0100
committerRemi Collet <fedora@famillecollet.com>2017-02-23 07:44:02 +0100
commitb7e92754edf6b53aaf6e4d52f0c512ca564104ad (patch)
tree676a6ea123f27ee1f846ad9b5a594733dfee48da
parent7406eb4a38c28b70ae9add94d48803d67714ff40 (diff)
php-EasyRdf: backport Fedora changes
-rw-r--r--php-EasyRdf.spec86
1 files changed, 56 insertions, 30 deletions
diff --git a/php-EasyRdf.spec b/php-EasyRdf.spec
index e17b633..1d67799 100644
--- a/php-EasyRdf.spec
+++ b/php-EasyRdf.spec
@@ -2,7 +2,7 @@
#
# Fedora spec file for php-EasyRdf
#
-# Copyright (c) 2013-2016 Shawn Iwinski <shawn.iwinski@gmail.com>
+# Copyright (c) 2013-2017 Shawn Iwinski <shawn.iwinski@gmail.com>
#
# License: MIT
# http://opensource.org/licenses/MIT
@@ -36,7 +36,7 @@
Name: php-EasyRdf
Version: 0.9.0
-Release: 4%{?dist}
+Release: 6%{?dist}
Summary: A PHP library designed to make it easy to consume and produce RDF
Group: Development/Libraries
@@ -49,13 +49,14 @@ BuildArch: noarch
# Tests
%if %{with_tests}
BuildRequires: graphviz
+BuildRequires: graphviz-gd
BuildRequires: %{raptor_pkg}
%if %{redland_support}
BuildRequires: php-redland
%endif
## composer.json
-BuildRequires: %{_bindir}/phpunit
BuildRequires: php(language) >= %{php_min_ver}
+BuildRequires: php-composer(phpunit/phpunit)
## phpcompatinfo (computed from version 0.9.0)
BuildRequires: php-ctype
BuildRequires: php-date
@@ -69,7 +70,7 @@ BuildRequires: php-simplexml
BuildRequires: php-spl
BuildRequires: php-xml
## Autoloader
-BuildRequires: php-composer(symfony/class-loader)
+BuildRequires: php-composer(fedora/autoloader)
%endif
# composer.json
@@ -86,7 +87,17 @@ Requires: php-simplexml
Requires: php-spl
Requires: php-xml
# Autoloader
-Requires: php-composer(symfony/class-loader)
+Requires: php-composer(fedora/autoloader)
+
+# Weak dependencies
+%if 0%{?fedora} >= 21
+Suggests: graphviz
+Suggests: graphviz-gd
+Suggests: %{raptor_pkg}
+%if %{redland_support}
+Suggests: php-redland
+%endif
+%endif
# Composer
Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version}
@@ -111,11 +122,8 @@ SPARQL queries can be made over HTTP to a Triplestore using the
EasyRdf_Sparql_Client class. SELECT and ASK queries will return an
EasyRdf_Sparql_Result object and CONSTRUCT and DESCRIBE queries will
return an EasyRdf_Graph object.
-%if %{redland_support}
-Optional dependencies: graphviz, graphviz-gd, %{raptor_pkg}, php-redland
-%else
-Optional dependencies: graphviz, graphviz-gd, %{raptor_pkg}
-%endif
+
+Autoloader: %{phpdir}/EasyRdf/autoload.php
%package doc
@@ -129,34 +137,21 @@ Group: Documentation
%prep
%setup -qn easyrdf-%{version}
+
+%build
: Create autoloader
cat <<'AUTOLOAD' | tee lib/EasyRdf/autoload.php
<?php
/**
- * Autoloader created by %{name}-%{version}-%{release}
- *
- * @return \Symfony\Component\ClassLoader\ClassLoader
+ * Autoloader for %{name} and its' dependencies
+ * (created by %{name}-%{version}-%{release}).
*/
+require_once '%{phpdir}/Fedora/Autoloader/autoload.php';
-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();
-}
-
-$fedoraClassLoader->addPrefix('EasyRdf_', dirname(__DIR__));
-
-return $fedoraClassLoader;
+\Fedora\Autoloader\Autoload::addPsr0('EasyRdf_', dirname(__DIR__));
AUTOLOAD
-%build
-# Empty build section, nothing to build
-
-
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{phpdir}
@@ -190,8 +185,32 @@ PHPUNIT
rm -f test/EasyRdf/Parser/RedlandTest.php
%endif
-: Run tests
+: Skip tests known to fail since PHP 7.1
+: See https://github.com/njh/easyrdf/issues/276
+%if 0%{?fedora} > 25
+sed \
+ -e 's/function testSerialiseDot/function SKIP_testSerialiseDot/' \
+ -e 's/function testSerialiseDotUseLabels/function SKIP_testSerialiseDotUseLabels/' \
+ -e 's/function testSerialiseDotOnlyLabelled/function SKIP_testSerialiseDotOnlyLabelled/' \
+ -e 's/function testSerialisePng/function SKIP_testSerialisePng/' \
+ -e 's/function testSerialiseGif/function SKIP_testSerialiseGif/' \
+ -e 's/function testSerialiseSvg/function SKIP_testSerialiseSvg/' \
+ -e 's/function testDotNotFound/function SKIP_testDotNotFound/' \
+ -i test/EasyRdf/Serialiser/GraphVizTest.php
+%endif
+
+: Upstream tests
%{_bindir}/phpunit --verbose
+
+: Upstream tests with SCLs if available
+SCL_RETURN_CODE=0
+# Note: No php71 because of skipped tests above
+for SCL in %{?rhel:php54 php55} php56 php70; do
+ if which $SCL; then
+ $SCL %{_bindir}/phpunit || SCL_RETURN_CODE=1
+ fi
+done
+exit $SCL_RETURN_CODE
%else
: Tests skipped
%endif
@@ -219,6 +238,13 @@ rm -rf %{buildroot}
%changelog
+* Wed Feb 22 2017 Shawn Iwinski <shawn.iwinski@gmail.com> - 0.9.0-6
+- Fix FTBS in rawhide (RHBZ #1424061)
+- Skip tests known to fail since PHP 7.1 (see https://github.com/njh/easyrdf/issues/276)
+- Add SCL tests if available
+- Use php-composer(fedora/autoloader)
+- Move optional dependencies from description to weak dependencies (Suggests)
+
* Sun Oct 09 2016 Shawn Iwinski <shawn.iwinski@gmail.com> - 0.9.0-4
- No Redland support for Fedora 25+ (RHBZ #1350621)