From 8e6d614869bd34b0b7531e5890d71ffcc13328db Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 21 Aug 2021 02:23:28 -0400 Subject: [PATCH] Switch to latest Python macros. --- 0001-matplotlibrc-path-search-fix.patch | 2 +- ...sion-to-2.11.0-and-update-tolerances.patch | 2 +- ...-increase-tolerance-on-rcupdate-test.patch | 2 +- ...s-trying-to-delete-make_release_tree.patch | 32 ++++++++++++ python-matplotlib.spec | 51 +++++++------------ 5 files changed, 53 insertions(+), 36 deletions(-) create mode 100644 0004-Ignore-errors-trying-to-delete-make_release_tree.patch diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 3bfa1ae..3f445aa 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,7 +1,7 @@ From fc48d068c9e28cdd82e93db2248ff2fa6facc986 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 1/3] matplotlibrc path search fix +Subject: [PATCH 1/4] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- diff --git a/0002-Set-FreeType-version-to-2.11.0-and-update-tolerances.patch b/0002-Set-FreeType-version-to-2.11.0-and-update-tolerances.patch index da8bcf1..081afe2 100644 --- a/0002-Set-FreeType-version-to-2.11.0-and-update-tolerances.patch +++ b/0002-Set-FreeType-version-to-2.11.0-and-update-tolerances.patch @@ -1,7 +1,7 @@ From 8e37877bc09957a50ee2f181b62447adb14d5162 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 14 Feb 2020 06:05:42 -0500 -Subject: [PATCH 2/3] Set FreeType version to 2.11.0 and update tolerances. +Subject: [PATCH 2/4] Set FreeType version to 2.11.0 and update tolerances. Signed-off-by: Elliott Sales de Andrade --- diff --git a/0003-Slightly-increase-tolerance-on-rcupdate-test.patch b/0003-Slightly-increase-tolerance-on-rcupdate-test.patch index 423952f..ea09e8b 100644 --- a/0003-Slightly-increase-tolerance-on-rcupdate-test.patch +++ b/0003-Slightly-increase-tolerance-on-rcupdate-test.patch @@ -1,7 +1,7 @@ From 543d61d521c02120b48688ae56e39128144debd8 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 4 Jun 2021 02:32:31 -0400 -Subject: [PATCH 3/3] Slightly increase tolerance on rcupdate test. +Subject: [PATCH 3/4] Slightly increase tolerance on rcupdate test. Signed-off-by: Elliott Sales de Andrade --- diff --git a/0004-Ignore-errors-trying-to-delete-make_release_tree.patch b/0004-Ignore-errors-trying-to-delete-make_release_tree.patch new file mode 100644 index 0000000..ccc4138 --- /dev/null +++ b/0004-Ignore-errors-trying-to-delete-make_release_tree.patch @@ -0,0 +1,32 @@ +From 64c8d772eaeeed5861a8990178e8a5691bc3c496 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Fri, 20 Aug 2021 22:11:33 -0400 +Subject: [PATCH 4/4] Ignore errors trying to delete make_release_tree. + +Which apparently happens in Fedora's automated build requirement +generator. + +Signed-off-by: Elliott Sales de Andrade +--- + setup.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index b51ae806c2..7b73f7e945 100644 +--- a/setup.py ++++ b/setup.py +@@ -41,7 +41,10 @@ try: + except ImportError: + pass + else: +- del sdist.sdist.make_release_tree ++ try: ++ del sdist.sdist.make_release_tree ++ except AttributeError: ++ pass + + from distutils.errors import CompileError + from distutils.dist import Distribution +-- +2.31.1 + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 09dd959..eb5bf2f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -57,6 +57,8 @@ Patch1001: 0001-matplotlibrc-path-search-fix.patch Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch # Work around for problems with texlive 2021 (#1965547) Patch1003: 0003-Slightly-increase-tolerance-on-rcupdate-test.patch +# https://github.com/matplotlib/matplotlib/pull/20869 +Patch1004: 0004-Ignore-errors-trying-to-delete-make_release_tree.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -166,17 +168,9 @@ Obsoletes: python-matplotlib-data-fonts < 3 %package -n python3-matplotlib Summary: Python 2D plotting library -BuildRequires: python3-cairo -BuildRequires: python3-certifi >= 2020.06.20 -BuildRequires: python3-cycler >= 0.10.0 -BuildRequires: python3-dateutil BuildRequires: python3-devel -BuildRequires: python3-setuptools +BuildRequires: python3-cairo BuildRequires: python3-gobject -BuildRequires: python3-kiwisolver -BuildRequires: python3-numpy -BuildRequires: python3-pillow -BuildRequires: python3-pyparsing BuildRequires: python3-pytz BuildRequires: python3-sphinx Requires: dejavu-sans-fonts @@ -184,9 +178,6 @@ Recommends: texlive-dvipng Requires: (texlive-dvipng if texlive-base) Requires: python3-matplotlib-data = %{version}-%{release} Requires: python3-cairo -Requires: python3-cycler >= 0.10.0 -Requires: python3-dateutil -Requires: python3-kiwisolver Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release} %if %{with check} BuildRequires: python3-pytest @@ -195,9 +186,6 @@ BuildRequires: python3-pytest-timeout BuildRequires: python3-pytest-xdist BuildRequires: python3-pikepdf %endif -Requires: python3-numpy -Recommends: python3-pillow -Requires: python3-pyparsing %if %{without bundled_fonts} Requires: stix-math-fonts %else @@ -220,7 +208,6 @@ Summary: Qt5 backend for python3-matplotlib BuildRequires: python3-qt5 Requires: python3-matplotlib%{?_isa} = %{version}-%{release} Requires: python3-qt5 -%{?python_provide:%python_provide python3-matplotlib-qt5} Obsoletes: python3-matplotlib-qt4 < 3.5.0-0 %description -n python3-matplotlib-qt5 @@ -262,16 +249,12 @@ Requires: python3-wxpython4 Summary: Documentation files for python-matplotlib %if %{with html} BuildRequires: graphviz +BuildRequires: make BuildRequires: python3-sphinx BuildRequires: tex(latex) BuildRequires: tex-preview -BuildRequires: js-jquery >= 3.2.1 -BuildRequires: xstatic-jquery-ui-common -Requires: js-jquery >= 3.2.1 -Requires: xstatic-jquery-ui-common %endif Requires: python3-matplotlib%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python3-matplotlib-doc} %description -n python3-matplotlib-doc %{summary} @@ -297,20 +280,23 @@ gzip -dc %SOURCE1000 | tar xf - --transform='s~^mpl-images-%{mpl_images_version} cp -p %{SOURCE1} setup.cfg %patch1003 -p1 +%patch1004 -p1 + + +%generate_buildrequires +%pyproject_buildrequires -r %build %set_build_flags export http_proxy=http://127.0.0.1/ -MPLCONFIGDIR=$PWD %py3_build +MPLCONFIGDIR=$PWD %pyproject_wheel %if %{with html} # Need to make built matplotlib libs available for the sphinx extensions: -pushd doc - MPLCONFIGDIR=$PWD/.. \ - PYTHONPATH=`realpath ../build/lib.linux*` \ - %{python3} make.py html -popd +MPLCONFIGDIR=$PWD \ +PYTHONPATH=$(ls -d %{_pyproject_builddir}/pip-req-build-*/build/lib.%{python3_platform}-%{python3_version}) \ + make -C doc html %endif # Ensure all example files are non-executable so that the -doc # package doesn't drag in dependencies @@ -320,7 +306,7 @@ find examples -name '*.py' -exec chmod a-x '{}' \; %install export http_proxy=http://127.0.0.1/ -MPLCONFIGDIR=$PWD %py3_install +MPLCONFIGDIR=$PWD %pyproject_install # Delete unnecessary files. rm %{buildroot}%{python3_sitearch}/matplotlib/backends/web_backend/.{eslintrc.js,prettierignore,prettierrc} @@ -353,12 +339,11 @@ export http_proxy=http://127.0.0.1/ # * test_invisible_Line_rendering: Checks for "slowness" that often fails on a # heavily-loaded builder. MPLCONFIGDIR=$PWD \ -PYTHONPATH=%{buildroot}%{python3_sitearch} \ -PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ - %{python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ + env %{pytest} -ra -n auto \ -m 'not network' \ - -k 'not test_invisible_Line_rendering and not Qt4Agg' + -k 'not test_invisible_Line_rendering and not Qt4Agg' \ + --pyargs matplotlib mpl_toolkits.tests %endif @@ -382,7 +367,7 @@ PYTHONDONTWRITEBYTECODE=1 \ %files -n python3-matplotlib %license LICENSE/ %doc README.rst -%{python3_sitearch}/matplotlib-*.egg-info/ +%{python3_sitearch}/matplotlib-*.dist-info/ %{python3_sitearch}/matplotlib-*-nspkg.pth %{python3_sitearch}/matplotlib/ %exclude %{python3_sitearch}/matplotlib/tests/baseline_images/*