2010-11-23 14:45:57 +01:00
#
2011-01-18 12:08:25 +01:00
# spec file for package python-matplotlib
2010-11-23 14:45:57 +01:00
#
2020-03-28 19:05:40 +01:00
# Copyright (c) 2020 SUSE LLC
2010-11-23 14:45:57 +01:00
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
2018-11-23 09:27:47 +01:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
2010-11-23 14:45:57 +01:00
#
2012-08-26 11:33:52 +02:00
2019-03-01 19:47:47 +01:00
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
2019-07-07 22:01:44 +02:00
# Not doing tests because they take too long
# The tests also pull in dependencies of all backends done in pure python
2020-05-18 11:10:22 +02:00
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
Name : python-matplotlib%{psuffix}
2020-03-28 19:05:40 +01:00
Version : 3.2.1
2011-12-12 16:58:51 +01:00
Release : 0
2010-11-23 14:45:57 +01:00
Summary : Plotting Library for Python
2014-07-23 22:07:19 +02:00
License : SUSE-Matplotlib
2020-03-28 19:05:40 +01:00
URL : https://matplotlib.org
2017-01-10 10:45:39 +01:00
Source : https://files.pythonhosted.org/packages/source/m/matplotlib/matplotlib-%{version} .tar.gz
2013-10-25 11:21:32 +02:00
Source1 : matplotlib-setup.cfg
2020-05-18 11:10:22 +02:00
# Bundled version of freetype for testing purposes only
Source99 : https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz
Patch0 : no-builddir-freetype.patch
2018-01-31 19:51:16 +01:00
BuildRequires : %{python_module Cycler >= 0.10}
2017-08-13 14:58:58 +02:00
BuildRequires : %{python_module devel}
2018-03-26 13:13:21 +02:00
BuildRequires : %{python_module kiwisolver}
2018-01-31 19:51:16 +01:00
BuildRequires : %{python_module numpy >= 1.7.1}
BuildRequires : %{python_module numpy-devel >= 1.7.1}
BuildRequires : %{python_module pyparsing > 2.1.6}
2017-05-06 18:29:48 +02:00
BuildRequires : %{python_module pytz}
BuildRequires : %{python_module setuptools}
2018-01-19 11:53:19 +01:00
BuildRequires : %{python_module six >= 1.10}
2019-03-01 19:47:47 +01:00
BuildRequires : c++_compiler
BuildRequires : fdupes
BuildRequires : pkgconfig
BuildRequires : python-rpm-macros
2020-05-18 09:00:21 +02:00
BuildRequires : qhull-devel >= 2003.1
2019-03-01 19:47:47 +01:00
Requires : python-Cycler >= 0.10
Requires : python-kiwisolver >= 1.0.1
Requires : python-numpy >= 1.7.1
Requires : python-pyparsing > 2.1.6
Requires : python-python-dateutil >= 2.1
Requires : python-pytz
Requires : python-six >= 1.10
Recommends: ghostscript
Recommends: libxml2-tools
Recommends: poppler-tools
Recommends: python-Pillow
Provides : python-matplotlib-gtk = %{version}
Obsoletes : python-matplotlib-gtk < %{version}
2020-03-28 19:05:40 +01:00
# SECTION WebAgg dependencies
BuildRequires : %{python_module tornado}
# /SECTION
# SECTION tk dependencies via tcl
BuildRequires : tcl
BuildRequires : pkgconfig(freetype2) >= 2.3
BuildRequires : pkgconfig(libpng) >= 1.2
BuildRequires : pkgconfig(tcl)
# /SECTION
2020-05-18 11:10:22 +02:00
%if %{with test}
2017-05-06 18:29:48 +02:00
BuildRequires : %{python_module mock}
2020-05-18 11:10:22 +02:00
BuildRequires : %{python_module pytest-xdist}
BuildRequires : %{python_module pytest}
2018-03-26 13:13:21 +02:00
BuildRequires : %{python_module python-dateutil >= 2.1}
2019-12-06 20:39:19 +01:00
# SECTION cairo dependencies
BuildRequires : %{python_module cairo}
# SECTION GTK3 dependencies
BuildRequires : %{python_module gobject}
# /SECTION
# SECTION Qt5 dependencies
2019-03-01 19:47:47 +01:00
BuildRequires : %{python_module qt5}
2020-05-18 11:10:22 +02:00
BuildRequires : xvfb-run
2019-12-06 20:39:19 +01:00
BuildRequires : pkgconfig(gtk+-3.0)
# /SECTION
# SECTION tk dependencies
2019-03-01 19:47:47 +01:00
BuildRequires : %{python_module tk}
2019-12-06 20:39:19 +01:00
# /SECTION
# SECTION Wx dependencies
2019-03-01 19:47:47 +01:00
BuildRequires : %{python_module wxPython >= 4}
2019-12-06 20:39:19 +01:00
# /SECTION
# SECTION latex dependencies
2017-10-17 01:52:04 +02:00
BuildRequires : ghostscript
2019-03-01 19:47:47 +01:00
BuildRequires : inkscape
2017-10-17 01:52:04 +02:00
BuildRequires : poppler-tools
2014-09-17 17:26:35 +02:00
BuildRequires : texlive-dvipng
BuildRequires : texlive-latex
2015-07-02 22:50:49 +02:00
BuildRequires : texlive-sfmath
2020-05-18 09:00:21 +02:00
BuildRequires : texlive-tex
2017-10-17 01:52:04 +02:00
BuildRequires : tex(8a.enc)
BuildRequires : tex(helvet.sty)
BuildRequires : tex(phvr7t.tfm)
BuildRequires : tex(pncr7t.tfm)
BuildRequires : tex(psfrag.sty)
BuildRequires : tex(type1cm.sty)
BuildRequires : tex(ucs.sty)
2019-12-06 20:39:19 +01:00
# /SECTION
2017-10-17 01:52:04 +02:00
%endif
2018-06-02 12:15:27 +02:00
Recommends: (python-matplotlib-tk if tk)
2017-05-06 18:29:48 +02:00
%python_subpackages
2011-02-07 23:51:18 +01:00
%description
2010-11-23 14:45:51 +01:00
matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell (ala matlab or mathematica), web
application servers, and six graphical user interface toolkits.
2018-09-19 03:59:45 +02:00
%package cairo
2014-09-03 18:22:57 +02:00
Summary : Cairo backend for %{name}
License : SUSE-Matplotlib
Requires : %{name} = %{version}
2019-05-19 07:15:06 +02:00
Requires : python-cairo
2014-09-03 18:22:57 +02:00
2018-09-19 03:59:45 +02:00
%description cairo
2018-11-23 09:27:47 +01:00
This package includes the non-interactive Cairo-based backend
2014-09-03 18:22:57 +02:00
for the %{name} plotting package
2018-09-19 03:59:45 +02:00
%package gtk3
2014-03-09 20:14:38 +01:00
Summary : GTK3 backends for %{name}
2012-08-26 11:33:52 +02:00
License : BSD-2-Clause
2011-02-07 23:51:18 +01:00
Requires : %{name} = %{version}
2014-09-03 18:22:57 +02:00
Requires : %{name} -cairo = %{version}
2014-03-09 20:14:38 +01:00
Requires : python-gobject
2010-11-23 14:45:51 +01:00
2018-09-19 03:59:45 +02:00
%description gtk3
2014-03-09 20:14:38 +01:00
This package includes the GTK3-based gtk3, gtk3agg, and
gtk3cairo backends for the %{name} plotting package
2012-03-20 11:33:39 +01:00
2018-09-19 03:59:45 +02:00
%package latex
2014-09-19 13:56:26 +02:00
Summary : Allow rendering latex in %{name}
License : BSD-2-Clause
Requires : %{name} = %{version}
Requires : texlive-dvipng
Requires : texlive-latex
2017-08-13 14:58:58 +02:00
Requires : texlive-sfmath
2020-05-18 09:00:21 +02:00
Requires : texlive-tex
2014-09-19 13:56:26 +02:00
2018-09-19 03:59:45 +02:00
%description latex
2014-09-19 13:56:26 +02:00
This package allows %{name} to display latex in plots
and figures.
2018-09-19 03:59:45 +02:00
%package qt5
2014-09-03 18:22:57 +02:00
Summary : Qt5 backend for %{name}
License : BSD-2-Clause
Requires : %{name} = %{version}
Requires : python-qt5
2020-05-18 09:00:21 +02:00
Provides : %{name} -qt-shared = %{version}
Obsoletes : %{name} -qt-shared
2014-09-03 18:22:57 +02:00
2018-09-19 03:59:45 +02:00
%description qt5
2014-09-03 18:22:57 +02:00
This package includes the Qt5-based pyqt5 backend
for the %{name} plotting package
2018-09-19 03:59:45 +02:00
%package tk
2014-03-09 20:14:38 +01:00
Summary : Tk backend for %{name}
License : BSD-2-Clause
Requires : %{name} = %{version}
Requires : python-tk
2014-09-17 17:26:35 +02:00
Requires : tcl >= 8.3
2014-03-09 20:14:38 +01:00
2018-09-19 03:59:45 +02:00
%description tk
2014-03-09 20:14:38 +01:00
This package includes the Tk-based tkagg backend
for the %{name} plotting package
2018-09-19 03:59:45 +02:00
%package web
2014-03-09 20:14:38 +01:00
Summary : Web backend for %{name}
License : BSD-2-Clause
Requires : %{name} = %{version}
Requires : python-tornado
2018-09-19 03:59:45 +02:00
%description web
2014-03-09 20:14:38 +01:00
This package includes the browser-based webagg backend
for the %{name} plotting package
2018-09-19 03:59:45 +02:00
%package wx
2014-03-09 20:14:38 +01:00
Summary : WxWidgets backend for %{name}
License : BSD-2-Clause
Requires : %{name} = %{version}
2018-09-19 03:59:45 +02:00
Requires : python-wxPython >= 4
2014-03-09 20:14:38 +01:00
2018-09-19 03:59:45 +02:00
%description wx
2014-03-09 20:14:38 +01:00
This package includes the wxWidgets-based wxagg backend
for %{name} plotting package
2010-11-23 14:45:51 +01:00
%prep
2020-05-18 11:10:22 +02:00
%setup -q -n matplotlib-%{version} -a99
2013-10-25 11:21:32 +02:00
chmod -x lib/matplotlib/mpl-data/images/*.svg
2014-09-17 17:26:35 +02:00
find examples lib/matplotlib lib/mpl_toolkits/mplot3d -type f -name " * . p y " -exec sed -i " s | # ! \ / u s r \ / b i n \ / e n v p y t h o n | | " {} \;
2017-01-10 10:45:39 +01:00
find examples lib/matplotlib lib/mpl_toolkits/mplot3d -type f -name " * . p y " -exec sed -i " s | # ! \ / u s r \ / b i n \ / p y t h o n | | " {} \;
2020-05-18 11:10:22 +02:00
cp %{SOURCE1} setup.cfg
%patch0 -p1
2017-10-17 01:52:04 +02:00
2020-05-18 11:10:22 +02:00
%if !%{with test}
sed -i -e 's/tests = .*/tests = False/' setup.cfg
2017-10-17 01:52:04 +02:00
%else
2020-05-18 11:10:22 +02:00
# As freetype changes the behaviour slightly for tests always use the bundled freetype
sed -i -e 's:#local_freetype = False:local_freetype = True:' setup.cfg
2017-10-17 01:52:04 +02:00
%endif
2010-11-23 14:45:51 +01:00
%build
2020-05-18 11:10:22 +02:00
%if !%{with test}
2014-07-23 22:07:19 +02:00
export XDG_RUNTIME_DIR=/tmp
2017-05-06 18:29:48 +02:00
%python_build
2020-05-18 11:10:22 +02:00
%endif
2010-11-23 14:45:51 +01:00
%install
2020-05-18 11:10:22 +02:00
%if !%{with test}
2014-07-23 22:07:19 +02:00
export XDG_RUNTIME_DIR=/tmp
2017-05-06 18:29:48 +02:00
%python_install
2017-08-13 14:58:58 +02:00
%{python_expand %fdupes %{buildroot} %{$python_sitearch}
$python -m compileall -d %{$python_sitearch} %{buildroot} %{$python_sitearch}/matplotlib/backends/qt_editor/
$python -O -m compileall -d %{$python_sitelib} %{buildroot} %{$python_sitearch}/matplotlib/backends/qt_editor/
%fdupes %{buildroot} %{$python_sitearch}/matplotlib/backends/qt_editor/
}
2020-05-18 11:10:22 +02:00
%endif
2014-03-09 20:14:38 +01:00
2020-05-18 11:10:22 +02:00
%if %{with test}
2017-05-06 18:29:48 +02:00
%check
2020-05-18 11:10:22 +02:00
# test_savefig_to_stringio - generated ps is differing a bit
# test_interactive_backend - needs full X session
# test_bbox_inches_tight_raster - resulting PNGs look differently
# test_backend_fallback_headful - fails to detect X session with xvfb
# test_usetex - png differs
export XDG_RUNTIME_DIR=/tmp
%python_exec setup.py build_ext --inplace
%python_expand PYTHONPATH=./lib xvfb-run $python -m pytest -v -n auto -k 'not (test_savefig_to_stringio or test_interactive_backend or test_bbox_inches_tight_raster or test_backend_fallback_headful or test_usetex)'
2017-05-06 18:29:48 +02:00
%endif
2010-11-23 14:45:51 +01:00
2020-05-18 11:10:22 +02:00
%if !%{with test}
2017-05-06 18:29:48 +02:00
%files %{python_files}
2018-08-18 00:03:18 +02:00
%doc README.rst
2017-11-09 13:57:25 +01:00
%doc examples/
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2014-09-17 17:26:35 +02:00
%{python_sitearch} /matplotlib/
2017-03-12 20:05:14 +01:00
%{python_sitearch} /matplotlib-%{version} -py*.egg-info
%{python_sitearch} /matplotlib-%{version} -py*-nspkg.pth
2014-09-03 18:22:57 +02:00
%{python_sitearch} /mpl_toolkits
%{python_sitearch} /pylab.py*
2017-05-06 18:29:48 +02:00
%pycache_only %{python_sitearch} /__pycache__/pylab.*
2014-09-03 18:22:57 +02:00
%exclude %{python_sitearch} /matplotlib/backends/backend_cairo.*
%exclude %{python_sitearch} /matplotlib/backends/backend_gtk3.*
%exclude %{python_sitearch} /matplotlib/backends/backend_gtk3agg.*
%exclude %{python_sitearch} /matplotlib/backends/backend_gtk3cairo.*
2017-05-06 18:29:48 +02:00
%exclude %{python_sitearch} /matplotlib/backends/backend_qt4.py*
%exclude %{python_sitearch} /matplotlib/backends/backend_qt4agg.py*
2014-09-03 18:22:57 +02:00
%exclude %{python_sitearch} /matplotlib/backends/backend_qt5.*
%exclude %{python_sitearch} /matplotlib/backends/backend_qt5agg.*
%exclude %{python_sitearch} /matplotlib/backends/backend_tkagg.*
%exclude %{python_sitearch} /matplotlib/backends/backend_webagg.*
%exclude %{python_sitearch} /matplotlib/backends/backend_webagg_core.*
2018-09-19 03:59:45 +02:00
%exclude %{python_sitearch} /matplotlib/backends/backend_wx.*
%exclude %{python_sitearch} /matplotlib/backends/backend_wxagg.*
2014-09-03 18:22:57 +02:00
%exclude %{python_sitearch} /matplotlib/backends/qt_compat.*
2017-05-06 18:29:48 +02:00
%exclude %{python_sitearch} /matplotlib/backends/qt_editor/
2014-09-03 18:22:57 +02:00
%exclude %{python_sitearch} /matplotlib/backends/tkagg.*
%exclude %{python_sitearch} /matplotlib/backends/web_backend/
2018-09-19 03:59:45 +02:00
%exclude %{python_sitearch} /matplotlib/backends/wx_compat.*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_cairo.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_gtk3.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_gtk3agg.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_gtk3cairo.*.py*
2017-05-06 18:29:48 +02:00
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_qt4.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_qt4agg.*.py*
2018-09-19 03:59:45 +02:00
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_qt5.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_qt5agg.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_tkagg.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_webagg.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_webagg_core.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_wx.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/backend_wxagg.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/qt_compat.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/tkagg.*.py*
%exclude %{python_sitearch} /matplotlib/backends/__pycache__/wx_compat.*.py*
2017-08-13 14:58:58 +02:00
# Dummy package to pull in latex dependencies.
%files %{python_files latex}
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2014-09-03 18:22:57 +02:00
2017-05-06 18:29:48 +02:00
%files %{python_files cairo}
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2017-05-06 18:29:48 +02:00
%{python_sitearch} /matplotlib/backends/backend_cairo.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_cairo.*.py*
%files %{python_files gtk3}
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2017-05-06 18:29:48 +02:00
%{python_sitearch} /matplotlib/backends/backend_gtk3.py*
%{python_sitearch} /matplotlib/backends/backend_gtk3agg.py*
%{python_sitearch} /matplotlib/backends/backend_gtk3cairo.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_gtk3.*.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_gtk3agg.*.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_gtk3cairo.*.py*
2014-03-09 20:14:38 +01:00
2020-05-18 09:00:21 +02:00
%files %{python_files qt5}
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2017-05-06 18:29:48 +02:00
%{python_sitearch} /matplotlib/backends/backend_qt5.py*
%{python_sitearch} /matplotlib/backends/backend_qt5agg.py*
%{python_sitearch} /matplotlib/backends/qt_compat.py*
2014-09-03 18:22:57 +02:00
%{python_sitearch} /matplotlib/backends/qt_editor/
2017-05-06 18:29:48 +02:00
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_qt5.*.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_qt5agg.*.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/qt_compat.*.py*
%files %{python_files tk}
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2017-05-06 18:29:48 +02:00
%{python_sitearch} /matplotlib/backends/backend_tkagg.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_tkagg.*.py*
2014-03-09 20:14:38 +01:00
2017-05-06 18:29:48 +02:00
%files %{python_files web}
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2017-05-06 18:29:48 +02:00
%{python_sitearch} /matplotlib/backends/backend_webagg.py*
%{python_sitearch} /matplotlib/backends/backend_webagg_core.py*
2014-09-03 18:22:57 +02:00
%{python_sitearch} /matplotlib/backends/web_backend/
2017-05-06 18:29:48 +02:00
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_webagg.*.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_webagg_core.*.py*
2014-03-09 20:14:38 +01:00
2018-09-19 03:59:45 +02:00
%files %{python_files wx}
2018-08-18 00:03:18 +02:00
%license LICENSE/
%license doc/users/license.rst
2018-09-19 03:59:45 +02:00
%{python_sitearch} /matplotlib/backends/backend_wx.py*
%{python_sitearch} /matplotlib/backends/backend_wxagg.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_wx.*.py*
%pycache_only %{python_sitearch} /matplotlib/backends/__pycache__/backend_wxagg.*.py*
2020-05-18 11:10:22 +02:00
%endif
2010-11-23 14:45:51 +01:00
%changelog