diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..58ef5ee --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + doc + diff --git a/python-rdflib.changes b/python-rdflib.changes index 606d54f..7cff12a 100644 --- a/python-rdflib.changes +++ b/python-rdflib.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Wed Jul 3 11:44:54 UTC 2024 - Daniel Garcia + +- Create doc subpackage with _multibuild to move + python3-sphnix-autodoc-typehints build requirement out of ring1 + +------------------------------------------------------------------- +Tue Feb 27 06:23:55 UTC 2024 - Steve Kowalik + +- Update to 7.0.0: + * BREAKING CHANGE: drop support for python 3.7 (#2436) + * feat: add curie method to NamespaceManager (#2365) + * feat: add optional target_graph argument to Graph.cbd and use it for + DESCRIBE queries (#2322) + * feat: Don't generate prefixes for unknown URIs (#2467) + * feat: Longturtle improvements (#2500) + * fix: SPARQL count with optionals (#2448) + * fix: GROUP_CONCAT handling of empty separator (issue) (#2474) + * fix: add NORMALIZE_LITERALS to rdflib.__all__ (#2489) + * fix: correct imports and __all__ (#2340) + * fix: dbpedia URL to use https instead of http (#2444) + * fix: eliminate bare except: (#2350) + * fix: eliminate some mutable default arguments in SPARQL code (#2301) + * fix: formatting of SequencePath and AlternativePath (#2504) + * fix: handling of rdf:HTML literals (#2490) + * fix: HTTP 308 Permanent Redirect status code handling (#2389) + * fix: lexical-to-value mapping of rdf:HTML literals (#2483) + * fix: TriG handling of GRAPH keyword without a graph ID (#2469) + * fix: TriG parser error handling for nested graphs (#2468) +- Switch to autosetup and pyproject macros. +- Shift docs build to the install phase, the module needs to be queryable. +- Drop patch reproducible.patch, included. + ------------------------------------------------------------------- Wed Dec 13 08:40:59 UTC 2023 - Bernhard Wiedemann diff --git a/python-rdflib.spec b/python-rdflib.spec index 911aeea..8bfc801 100644 --- a/python-rdflib.spec +++ b/python-rdflib.spec @@ -1,7 +1,7 @@ # # spec file for package python-rdflib # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,38 +16,57 @@ # -%{?!python_module:%define python_module() python3-%{**}} +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "doc" +%bcond_without doc +%define psuffix -doc +%else +%bcond_with doc +%define psuffix %{nil} +%endif + # Tests don't work and cause a dependency loop with python-SPARQLWrapper %bcond_with tests -Name: python-rdflib -Version: 6.1.1 +Name: python-rdflib%{psuffix} +Version: 7.0.0 Release: 0 Summary: A Python library for working with RDF License: BSD-3-Clause URL: http://rdflib.net/ Source: https://files.pythonhosted.org/packages/source/r/rdflib/rdflib-%{version}.tar.gz -Patch0: reproducible.patch -BuildRequires: %{python_module html5lib} -BuildRequires: %{python_module isodate} -BuildRequires: %{python_module pyparsing} -BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module xml} BuildRequires: fdupes BuildRequires: python-rpm-macros -BuildRequires: python3-Sphinx -BuildRequires: python3-sphinxcontrib-apidoc -Requires: python-html5lib -Requires: python-isodate -Requires: python-pyparsing Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives BuildArch: noarch + %if %{with tests} BuildRequires: %{python_module SPARQLWrapper} BuildRequires: %{python_module flake8} BuildRequires: %{python_module pytest} %endif + +%if %{with doc} +BuildRequires: %{python_module rdflib = %{version}} +BuildRequires: python3-Sphinx +BuildRequires: python3-myst-parser +BuildRequires: python3-sphinx-autodoc-typehints +BuildRequires: python3-sphinxcontrib-apidoc +Provides: %{python_module rdflib-doc = %{version}} +%else +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module html5lib} +BuildRequires: %{python_module isodate} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module poetry-core} +BuildRequires: %{python_module pyparsing} +BuildRequires: %{python_module wheel} +BuildRequires: %{python_module xml} +Requires: python-html5lib +Requires: python-isodate +Requires: python-pyparsing %python_subpackages +%endif %description RDFLib is a Python library for working with RDF, a simple yet powerful @@ -55,47 +74,49 @@ language for representing information. The library contains an RDF/XML parser/serializer that conforms to the RDF/XML Syntax Specification (Revised). The library also contains both in-memory and persistent Graph backends. -%package -n %{name}-doc -Summary: A Python library for working with RDF -Provides: %{python_module rdflib-doc = %{version}} - -%description -n %{name}-doc -RDFLib is a Python library for working with RDF, a simple yet powerful -language for representing information. The library contains an RDF/XML -parser/serializer that conforms to the RDF/XML Syntax Specification (Revised). -The library also contains both in-memory and persistent Graph backends. - %prep -%setup -q -n rdflib-%{version} -%patch0 -p1 +%autosetup -p1 -n rdflib-%{version} # remove unwanted shebang find rdflib -name "*.py" | xargs sed -i '1 { /^#!/ d }' +chmod -x rdflib/plugins/parsers/notation3.py +%if %{without doc} %build -%python_build +%pyproject_wheel +%endif +%install +%if %{with doc} +# Build the docs, we need the module queryable pushd docs -%make_build html +PYTHONPATH=%{buildroot}%{python3_sitelib} %make_build html + # Remove hidden file rm -r _build/html/.buildinfo popd +%fdupes docs/_build/html +%else -%install -%python_install +%pyproject_install %python_clone -a %{buildroot}%{_bindir}/rdfs2dot %python_clone -a %{buildroot}%{_bindir}/rdfpipe %python_clone -a %{buildroot}%{_bindir}/rdfgraphisomorphism %python_clone -a %{buildroot}%{_bindir}/rdf2dot %python_clone -a %{buildroot}%{_bindir}/csv2rdf %python_expand %fdupes %{buildroot}%{$python_sitelib} - -%fdupes docs/_build/html +%endif %if %{with tests} %check %pytest %endif +%if %{with doc} +%files -n %{name} +%doc docs/_build/html + +%else + %post %python_install_alternative rdfs2dot %python_install_alternative rdfpipe @@ -112,16 +133,14 @@ popd %files %{python_files} %license LICENSE -%doc CHANGELOG.md CONTRIBUTORS README.md +%doc README.md %python_alternative %{_bindir}/csv2rdf %python_alternative %{_bindir}/rdf2dot %python_alternative %{_bindir}/rdfgraphisomorphism %python_alternative %{_bindir}/rdfpipe %python_alternative %{_bindir}/rdfs2dot -%{python_sitelib}/rdflib/ -%{python_sitelib}/rdflib-%{version}-py*.egg-info - -%files -n %{name}-doc -%doc docs/_build/html +%{python_sitelib}/rdflib +%{python_sitelib}/rdflib-%{version}.dist-info +%endif %changelog diff --git a/rdflib-6.1.1.tar.gz b/rdflib-6.1.1.tar.gz deleted file mode 100644 index 3a6d5bc..0000000 --- a/rdflib-6.1.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8dbfa0af2990b98471dacbc936d6494c997ede92fd8ed693fb84ee700ef6f754 -size 1587670 diff --git a/rdflib-7.0.0.tar.gz b/rdflib-7.0.0.tar.gz new file mode 100644 index 0000000..574f34e --- /dev/null +++ b/rdflib-7.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae +size 4765796 diff --git a/reproducible.patch b/reproducible.patch deleted file mode 100644 index 58b7e65..0000000 --- a/reproducible.patch +++ /dev/null @@ -1,35 +0,0 @@ -Author: Bernhard M. Wiedemann -Date: Wed Dec 13 09:28:20 2023 +0100 - - Mark Restriction and Individual as private - - Fixes https://github.com/RDFLib/rdflib/issues/2645 - - Without this patch, the graph's random identifier leaked into - html/apidocs/rdflib.extras.html - - See https://reproducible-builds.org/ for why this matters. - - This patch was done while working on reproducible builds for openSUSE. - -Index: rdflib-6.1.1/rdflib/extras/infixowl.py -=================================================================== ---- rdflib-6.1.1.orig/rdflib/extras/infixowl.py -+++ rdflib-6.1.1/rdflib/extras/infixowl.py -@@ -365,6 +365,8 @@ class TermDeletionHelper: - class Individual(object): - """ - A typed individual -+ -+ :meta private: - """ - - factoryGraph = Graph() -@@ -1606,6 +1608,7 @@ class Restriction(Class): - individualRestrictionComponent - { individualRestrictionComponent } ')' - -+ :meta private: - """ - - restrictionKinds = [