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 f4e0d9a..bd7da8e 100644 --- a/python-rdflib.changes +++ b/python-rdflib.changes @@ -1,3 +1,58 @@ +------------------------------------------------------------------- +Mon Oct 28 10:15:59 UTC 2024 - Daniel Garcia + +- Add sphinx8.patch to build doc with latest sphinx, gh#RDFLib/rdflib#2956 +- Update to 7.1.1: + * This minor release removes the dependency on some only Python + packages, in particular six which is a problem for some Linux + distributions that ship RDFLib. + * Replace html5lib with html5rdf, make it an optional dependency PR #2951 + * Prevent crash when comparing ill-typed numeric types. PR #2949 + * Fix parser bug and add test PR #2943 + * Fix import ordering in get_merged_prs. PR #2947 +- 7.1.0: + * There are no major changes in this release over 7.0.0 and this + release can be used in place of 7.0.0 without much worry about + altered behaviour. + +------------------------------------------------------------------- +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 + +- Add reproducible.patch for reproducible builds (boo#1062303) + ------------------------------------------------------------------- Mon Feb 7 23:38:10 UTC 2022 - Steve Kowalik diff --git a/python-rdflib.spec b/python-rdflib.spec index 56672b8..dbe22c2 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,37 +16,60 @@ # -%{?!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.1.1 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 -BuildRequires: %{python_module html5lib} -BuildRequires: %{python_module isodate} -BuildRequires: %{python_module pyparsing} -BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module xml} +# PATCH-FIX-UPSTREAM sphinx8.patch gh#RDFLib/rdflib#2956 -- daniel.garcia@suse.com +Patch0: sphinx8.patch 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 +BuildRequires: python3-typing_extensions +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 @@ -54,46 +77,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} +%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 @@ -110,16 +136,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.1.1.tar.gz b/rdflib-7.1.1.tar.gz new file mode 100644 index 0000000..7bfa485 --- /dev/null +++ b/rdflib-7.1.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:164de86bd3564558802ca983d84f6616a4a1a420c7a17a8152f5016076b2913e +size 4864216 diff --git a/sphinx8.patch b/sphinx8.patch new file mode 100644 index 0000000..e5c01bd --- /dev/null +++ b/sphinx8.patch @@ -0,0 +1,13 @@ +Index: rdflib-7.1.1/docs/conf.py +=================================================================== +--- rdflib-7.1.1.orig/docs/conf.py ++++ rdflib-7.1.1/docs/conf.py +@@ -300,7 +300,7 @@ def autodoc_skip_member_handler( + """ + # https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#event-autodoc-skip-member + if ( +- app.env.docname == "apidocs/rdflib" ++ app.env.docname in ["apidocs/rdflib", "apidocs/rdflib.namespace"] + and what == "module" + and type(obj).__name__.endswith("DefinedNamespaceMeta") + ):