diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..8b63d6a --- /dev/null +++ b/README.txt @@ -0,0 +1,6 @@ +.. _examples_gallery: + +Gallery +======= + +Graph visualization examples with pygraphviz. 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/docdir.patch b/docdir.patch deleted file mode 100644 index 6860684..0000000 --- a/docdir.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/setup.py -+++ b/setup.py -@@ -54,7 +54,7 @@ with open("pygraphviz/__init__.py") as f - break - - packages = ["pygraphviz", "pygraphviz.tests"] --docdirbase = f"share/doc/pygraphviz-{version}" -+docdirbase = f"share/doc/packages/pygraphviz-{version}" - data = [ - (docdirbase, glob("*.txt")), - (os.path.join(docdirbase, "examples"), glob("examples/*.py")), diff --git a/pygraphviz-1.11.zip b/pygraphviz-1.11.zip deleted file mode 100644 index f43b750..0000000 --- a/pygraphviz-1.11.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a97eb5ced266f45053ebb1f2c6c6d29091690503e3a5c14be7f908b37b06f2d4 -size 120803 diff --git a/pygraphviz-1.13.tar.gz b/pygraphviz-1.13.tar.gz new file mode 100644 index 0000000..d2d287b --- /dev/null +++ b/pygraphviz-1.13.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ad8aa2f26768830a5a1cfc8a14f022d13df170a8f6fdfd68fd1aa1267000964 +size 104642 diff --git a/python-pygraphviz.changes b/python-pygraphviz.changes index 09cb5ec..ad8ac08 100644 --- a/python-pygraphviz.changes +++ b/python-pygraphviz.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Thu May 23 02:32:41 UTC 2024 - Steve Kowalik + +- Update to 1.13: + * Remove outdated pystrings.swg (#508). + * Fix segfault from repr attempting to access attrs on uninitialized + instance (#520). + * Add Python 3.12 support (#486). + * Copy edges keys when copying a graph + * Drop Python 3.8 support per SPEC 0 (#465). + * Drop Python 3.9 support (#487). + * Update documentation building requirements (#488). + * Add pyproject.toml (#471). + * Stop building pdf of the docs (#503). +- Drop patch docdir.patch, no longer needed. +- Build the documentation by hand, since now we need to, and do so in + its own flavor. +- Switch to pyproject macros. + ------------------------------------------------------------------- Thu Jun 29 07:00:11 UTC 2023 - Andreas Schneider diff --git a/python-pygraphviz.spec b/python-pygraphviz.spec index b62ad32..6a16422 100644 --- a/python-pygraphviz.spec +++ b/python-pygraphviz.spec @@ -1,7 +1,7 @@ # # spec file for package python-pygraphviz # -# Copyright (c) 2023 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,28 +16,44 @@ # -%bcond_without tests +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "doc" +%define psuffix -doc +%bcond_without doc +%else +%define psuffix %{nil} +%bcond_with doc +%endif %{?sle15_python_module_pythons} -Name: python-pygraphviz -Version: 1.11 +Name: python-pygraphviz%{psuffix} +Version: 1.13 Release: 0 Summary: Python interface to Graphviz License: BSD-3-Clause -Group: Development/Languages/Python URL: https://pygraphviz.github.io/ -Source: https://files.pythonhosted.org/packages/source/p/pygraphviz/pygraphviz-%{version}.zip -# PATCH-FIX-UPSTREAM docdir.patch -Patch0: docdir.patch -BuildRequires: %{python_module devel >= 3.8} -# Needed even without tests +Source: https://files.pythonhosted.org/packages/source/p/pygraphviz/pygraphviz-%{version}.tar.gz +# https://github.com/pygraphviz/pygraphviz/issues/532 +Source1: https://raw.githubusercontent.com/pygraphviz/pygraphviz/main/examples/README.txt +BuildRequires: %{python_module devel >= 3.10} +BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: graphviz-devel >= 2.42 +BuildRequires: graphviz-gd BuildRequires: libpng-devel BuildRequires: python-rpm-macros +%if %{with doc} +BuildRequires: %{python_module pygraphviz = %{version}} +BuildRequires: python3-Sphinx +BuildRequires: python3-matplotlib +BuildRequires: python3-numpydoc +BuildRequires: python3-pydata-sphinx-theme +BuildRequires: python3-sphinx-gallery +BuildArch: noarch +%endif BuildRequires: swig -BuildRequires: unzip Requires: graphviz >= 2.42 %if 0%{?suse_version} >= 1550 BuildRequires: pkgconf-pkg-config @@ -50,7 +66,6 @@ PyGraphviz can be used to create and draw networks and graphs with Graphviz. %package -n %{name}-doc Summary: Documentation for %{name} -Group: Documentation/Other Provides: %{python_module pygraphviz-doc = %{version}} %description -n %{name}-doc @@ -58,33 +73,53 @@ This package provides documentation and help files for %{name} %prep %autosetup -p1 -n pygraphviz-%{version} +cp %SOURCE1 examples %build export CFLAGS="%{optflags}" -%python_build +%if ! %{with doc} +%pyproject_wheel +%else +make -C doc html +%endif %install export CFLAGS="%{optflags}" -%python_install -%fdupes %{buildroot}%{$python_sitearch} +%if ! %{with doc} +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitearch} +# Don't ship swig source +%python_expand rm %{buildroot}%{$python_sitearch}/pygraphviz/graphviz_wrap.c +%else +mkdir -p %{buildroot}%{_docdir}/pygraphviz-%{version} +cp -ar doc/build/html/* %{buildroot}%{_docdir}/pygraphviz-%{version} +%endif -%if %{with tests} +%if ! %{with doc} %check -# export PYTEST_ADDOPTS="--doctest-modules --durations=10 --import-mode=importlib" -export PYTEST_ADDOPTS="--import-mode=importlib" +# We don't want to run the tests from the topdir +tmpdir=$(mktemp -d) +cp pygraphviz/tests/* $tmpdir +pushd $tmpdir # skip tests because of gh#pygraphviz/pygraphviz#366 donttest="test_drawing_makes_file or test_drawing_makes_file1 or test_drawing_makes_file or test_drawing_png_output_with_NULL_smoketest" %pytest_arch -k "not ($donttest)" +popd +rm -rf $tmpdir %endif +%if ! %{with doc} %files %{python_files} %license LICENSE %doc README.rst -%{python_sitearch}/pygraphviz/ -%{python_sitearch}/pygraphviz-%{version}-py*.egg-info +%{python_sitearch}/pygraphviz +%{python_sitearch}/pygraphviz-%{version}.dist-info +%endif -%files -n %{name}-doc +%if %{with doc} +%files -n %{name} %license LICENSE %{_docdir}/pygraphviz-%{version} +%endif %changelog