|
|
|
@ -1,22 +1,33 @@
|
|
|
|
|
%global srcname rdflib
|
|
|
|
|
|
|
|
|
|
# Tests not compatible with pytest 5+:
|
|
|
|
|
%global run_tests 0
|
|
|
|
|
%bcond docs 0
|
|
|
|
|
%bcond tests 0
|
|
|
|
|
%if 0%{?fedora}
|
|
|
|
|
%bcond docs 1
|
|
|
|
|
%bcond tests 1
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Name: python-%{srcname}
|
|
|
|
|
Version: 6.2.0
|
|
|
|
|
Version: 7.0.0
|
|
|
|
|
Release: %autorelease
|
|
|
|
|
Summary: Python library for working with RDF
|
|
|
|
|
License: BSD-3-Clause
|
|
|
|
|
URL: https://github.com/RDFLib/rdflib
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
Source0: %{pypi_source}
|
|
|
|
|
Source: %{pypi_source}
|
|
|
|
|
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-devel
|
|
|
|
|
BuildRequires: python%{python3_pkgversion}-setuptools
|
|
|
|
|
|
|
|
|
|
%{?python_enable_dependency_generator}
|
|
|
|
|
%if %{with tests}
|
|
|
|
|
BuildRequires: python3dist(pytest)
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with docs}
|
|
|
|
|
BuildRequires: python3dist(myst-parser)
|
|
|
|
|
BuildRequires: python3dist(sphinx)
|
|
|
|
|
BuildRequires: python3dist(sphinx-autodoc-typehints)
|
|
|
|
|
BuildRequires: python3dist(sphinxcontrib-apidoc)
|
|
|
|
|
BuildRequires: python3dist(typing-extensions)
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
RDFLib is a pure Python package for working with RDF. RDFLib contains most
|
|
|
|
@ -39,21 +50,25 @@ store implementations for in-memory, persistent on disk (Berkeley DB) and
|
|
|
|
|
remote SPARQL endpoints, a SPARQL 1.1 implementation - supporting SPARQL 1.1
|
|
|
|
|
Queries and Update statements - and SPARQL function extension mechanisms.
|
|
|
|
|
|
|
|
|
|
%if %{with docs}
|
|
|
|
|
%package -n python%{python3_pkgversion}-%{srcname}-docs
|
|
|
|
|
Summary: Documentation for %{srcname}
|
|
|
|
|
|
|
|
|
|
%description -n python%{python3_pkgversion}-%{srcname}-docs
|
|
|
|
|
Documentation for %{srcname}, a Python library for working with RDF.
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup -p1 -n %{srcname}-%{version}
|
|
|
|
|
|
|
|
|
|
%generate_buildrequires
|
|
|
|
|
%if %{run_tests}
|
|
|
|
|
%pyproject_buildrequires -x tests
|
|
|
|
|
%else
|
|
|
|
|
%pyproject_buildrequires
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%py3_build
|
|
|
|
|
%pyproject_wheel
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%py3_install
|
|
|
|
|
%pyproject_install
|
|
|
|
|
|
|
|
|
|
# Various .py files within site-packages have a shebang line but aren't
|
|
|
|
|
# flagged as executable.
|
|
|
|
@ -63,19 +78,14 @@ Queries and Update statements - and SPARQL function extension mechanisms.
|
|
|
|
|
# __main__ parses URI as N-Triples:
|
|
|
|
|
chmod +x %{buildroot}%{python3_sitelib}/rdflib/plugins/parsers/ntriples.py
|
|
|
|
|
|
|
|
|
|
# __main__ parses the file given on the command line:
|
|
|
|
|
chmod +x %{buildroot}%{python3_sitelib}/rdflib/plugins/parsers/notation3.py
|
|
|
|
|
|
|
|
|
|
# __main__ parses the file or URI given on the command line:
|
|
|
|
|
chmod +x %{buildroot}%{python3_sitelib}/rdflib/tools/rdfpipe.py
|
|
|
|
|
|
|
|
|
|
# __main__ runs a test (well, it's something)
|
|
|
|
|
chmod +x %{buildroot}%{python3_sitelib}/rdflib/extras/infixowl.py \
|
|
|
|
|
%{buildroot}%{python3_sitelib}/rdflib/extras/external_graph_libs.py
|
|
|
|
|
chmod +x %{buildroot}%{python3_sitelib}/rdflib/extras/external_graph_libs.py
|
|
|
|
|
|
|
|
|
|
# sed these headers out as they include no __main__
|
|
|
|
|
for lib in %{buildroot}%{python3_sitelib}/rdflib/extras/describer.py \
|
|
|
|
|
%{buildroot}%{python3_sitelib}/rdflib/plugins/parsers/pyRdfa/extras/httpheader.py; do
|
|
|
|
|
for lib in %{buildroot}%{python3_sitelib}/rdflib/extras/describer.py; do
|
|
|
|
|
sed '1{\@^#!/usr/bin/env python@d}' $lib > $lib.new &&
|
|
|
|
|
touch -r $lib $lib.new &&
|
|
|
|
|
mv $lib.new $lib
|
|
|
|
@ -89,21 +99,38 @@ sed -i '1s=^#!/usr/bin/\(python\|env python\).*=#!%{__python3}=' \
|
|
|
|
|
%{buildroot}%{python3_sitelib}/rdflib/tools/rdfpipe.py \
|
|
|
|
|
%{buildroot}%{python3_sitelib}/rdflib/plugins/parsers/notation3.py
|
|
|
|
|
|
|
|
|
|
%if %{with docs}
|
|
|
|
|
# generate html docs
|
|
|
|
|
PYTHONPATH=%{buildroot}%{python3_sitelib} sphinx-build-3 -b html -d docs/_build/doctree docs docs/_build/html
|
|
|
|
|
# remove the sphinx-build-3 leftovers
|
|
|
|
|
rm -rf docs/_build/html/.{doctrees,buildinfo}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%pyproject_save_files -L %{srcname}
|
|
|
|
|
|
|
|
|
|
%if %{with tests}
|
|
|
|
|
%check
|
|
|
|
|
%if %{run_tests}
|
|
|
|
|
%{__python3} -m pytest
|
|
|
|
|
%pytest -k "not rdflib and not rdflib.extras.infixowl and not \
|
|
|
|
|
test_example and not test_suite and not \
|
|
|
|
|
test_infix_owl_example1 and not test_context and not \
|
|
|
|
|
test_service and not test_simple_not_null and not \
|
|
|
|
|
test_sparqleval and not test_parser"
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%files -n python3-%{srcname}
|
|
|
|
|
%files -n python%{python3_pkgversion}-%{srcname} -f %{pyproject_files}
|
|
|
|
|
%license LICENSE
|
|
|
|
|
%doc CHANGELOG.md README.md
|
|
|
|
|
%{python3_sitelib}/%{srcname}
|
|
|
|
|
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info
|
|
|
|
|
%doc README.md
|
|
|
|
|
%{_bindir}/csv2rdf
|
|
|
|
|
%{_bindir}/rdf2dot
|
|
|
|
|
%{_bindir}/rdfgraphisomorphism
|
|
|
|
|
%{_bindir}/rdfpipe
|
|
|
|
|
%{_bindir}/rdfs2dot
|
|
|
|
|
|
|
|
|
|
%if %{with docs}
|
|
|
|
|
%files -n python%{python3_pkgversion}-%{srcname}-docs
|
|
|
|
|
%license LICENSE
|
|
|
|
|
%doc docs/_build/html
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
%autochangelog
|
|
|
|
|