1 # NOTE: for versions >= 3 (for python 3.6+) see python3-matplotlib.spec
2 # TODO: system jquery and jquery-ui (when they become up to date)
5 %bcond_without python2 # CPython 2.x module
6 %bcond_with python3 # CPython 3.x module
7 %bcond_with tests # unit tests [many failures as of 1.5.3]
10 # - use system fonts (mpl-data/fonts/ttf/{STIX,cm}*.ttf) and metrics (mpl-data/fonts/{afm,pdfcorefonts}/*.afm) in mpl-data dir?
11 # - make sure all dependencies that are available for Python3 are build for Python3
12 # and included in BR when neccessary
13 %define module matplotlib
14 Summary: Matlab(TM) style Python plotting package
15 Summary(pl.UTF-8): Pakiet do rysowania w Pythonie podobny do Matlaba(TM)
16 Name: python-%{module}
17 # keep 2.x here for python2 support
21 Group: Libraries/Python
22 #Source0Download: https://github.com/matplotlib/matplotlib/releases
23 Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}/matplotlib-%{version}.tar.gz
24 # Source0-md5: 8c49e6086ec06f3b5e9a1b7ad1ac37ff
25 Source1: https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip
26 # Source1-md5: e0cfea21c9d1acd37fb58592f2c1f50d
27 Patch0: %{name}-system-qhull.patch
28 URL: https://matplotlib.org/
29 #BuildRequires: agg-devel
30 BuildRequires: freetype-devel >= 1:2.6.1
31 BuildRequires: ghostscript
32 BuildRequires: gtk+3 >= 3.0
33 BuildRequires: libpng-devel >= 1.2
34 BuildRequires: libstdc++-devel
35 BuildRequires: ncurses-devel
36 BuildRequires: pkgconfig
38 BuildRequires: poppler-progs
39 BuildRequires: qhull-devel >= 2015.2
40 BuildRequires: rpm-pythonprov
41 BuildRequires: rpmbuild(macros) >= 1.714
43 BuildRequires: texlive
44 BuildRequires: tk-devel
46 BuildRequires: gtk+2-devel >= 1:2.0
47 BuildRequires: python >= 1:2.7
48 BuildRequires: python-PyQt4
49 BuildRequires: python-PyQt5
50 BuildRequires: python-backports.functools_lru_cache
51 BuildRequires: python-cycler >= 0.10
52 BuildRequires: python-dateutil >= 2.1
53 BuildRequires: python-devel >= 1:2.7
54 BuildRequires: python-numpy-devel >= 1:1.7.1
56 BuildRequires: python-pycairo
57 BuildRequires: python-pygobject3-devel >= 3.0
58 BuildRequires: python-pygtk-devel >= 1:2.2.0
59 BuildRequires: python-pyparsing >= 2.1.7
60 BuildRequires: python-pytz
61 BuildRequires: python-setuptools
62 # for import pyqtconfig needed by qt detection.
63 BuildRequires: python-sip-devel
64 BuildRequires: python-six >= 1.10
65 BuildRequires: python-subprocess32
66 BuildRequires: python-tkinter
67 BuildRequires: python-tornado
68 BuildRequires: python-wxPython >= 2.9
70 BuildRequires: python-kiwisolver >= 1.0.1
71 BuildRequires: python-mock
72 BuildRequires: python-pytest >= 3.6
76 BuildRequires: python3 >= 1:3.4
77 BuildRequires: python3-2to3
78 BuildRequires: python3-PyQt4
79 BuildRequires: python3-PyQt5
80 BuildRequires: python3-cycler >= 0.10
81 BuildRequires: python3-dateutil >= 2.2
82 BuildRequires: python3-devel >= 1:3.4
83 BuildRequires: python3-numpy-devel >= 1:1.7.1
85 BuildRequires: python3-pycairo
86 BuildRequires: python3-pygobject3-devel >= 3.0
87 BuildRequires: python3-pyparsing >= 2.1.7
88 BuildRequires: python3-pytz
89 BuildRequires: python3-six >= 1.10
90 BuildRequires: python3-setuptools
91 # for import pyqtconfig needed by qt detection.
92 BuildRequires: python3-sip-devel
93 BuildRequires: python3-tkinter
94 BuildRequires: python3-tornado
95 #BuildRequires: python3-wxPython >= 2.9
97 BuildRequires: python3-kiwisolver >= 1.0.1
98 BuildRequires: python3-pytest >= 3.6
101 Requires: freetype >= 1:2.6.1
102 Requires: python-modules >= 1:2.7
103 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
106 matplotlib strives to produce publication quality 2D graphics using
107 matlab plotting for inspiration. Although the main lib is object
108 oriented, there is a functional interface "pylab" for people coming
111 %description -l pl.UTF-8
112 matplotlib usiłuje tworzyć grafikę 2D o jakości publikacji przy użyciu
113 wykresów matlaba jako inspiracji. Chociaż główna biblioteka jest
114 zorientowana obiektowo, jest interfejs funkcyjny "pylab" dla ludzi
115 przechodzących z Matlaba.
117 %package -n python3-%{module}
118 Summary: Matlab(TM) style Python 3 plotting package
119 Summary(pl.UTF-8): Pakiet do rysowania w Pythonie 3 podobny do Matlaba(TM)
120 Group: Libraries/Python
121 Requires: freetype >= 1:2.6.1
122 Requires: python3-modules >= 1:3.4
124 %description -n python3-%{module}
125 matplotlib strives to produce publication quality 2D graphics using
126 matlab plotting for inspiration. Although the main lib is object
127 oriented, there is a functional interface "pylab" for people coming
130 %description -n python3-%{module} -l pl.UTF-8
131 matplotlib usiłuje tworzyć grafikę 2D o jakości publikacji przy użyciu
132 wykresów matlaba jako inspiracji. Chociaż główna biblioteka jest
133 zorientowana obiektowo, jest interfejs funkcyjny "pylab" dla ludzi
134 przechodzących z Matlaba.
137 %setup -q -n %{module}-%{version}
140 unzip -q %{SOURCE1} -d lib/matplotlib/backends/web_backend
143 export CFLAGS="%{rpmcflags}"
149 PYTHONPATH=$(readlink -f build-2/lib.*) \
150 %{__python} tests.py --no-network
158 PYTHONPATH=$(readlink -f build-2/lib.*) \
159 %{__python3} tests.py --no-network
164 rm -rf $RPM_BUILD_ROOT
171 # matplotlib can use system fonts, so drop these copies
172 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/matplotlib/mpl-data/fonts/ttf/DejaVu*.ttf
178 # matplotlib can use system fonts, so drop these copies
179 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/matplotlib/mpl-data/fonts/ttf/DejaVu*.ttf
183 rm -rf $RPM_BUILD_ROOT
187 %defattr(644,root,root,755)
188 %doc README.rst LICENSE/LICENSE
189 %dir %{py_sitedir}/%{module}
190 %{py_sitedir}/%{module}/*.py[co]
191 %attr(755,root,root) %{py_sitedir}/%{module}/*.so
192 %{py_sitedir}/%{module}/axes
193 %dir %{py_sitedir}/%{module}/backends
194 %{py_sitedir}/%{module}/backends/*.py[co]
195 %attr(755,root,root) %{py_sitedir}/%{module}/backends/*.so
196 %dir %{py_sitedir}/%{module}/backends/qt_editor
197 %{py_sitedir}/%{module}/backends/qt_editor/*.py[co]
198 %{py_sitedir}/%{module}/backends/web_backend
199 %{py_sitedir}/%{module}/cbook
200 %{py_sitedir}/%{module}/compat
201 %{py_sitedir}/%{module}/mpl-data
202 %{py_sitedir}/%{module}/projections
203 %{py_sitedir}/%{module}/sphinxext
204 %{py_sitedir}/%{module}/style
205 %{py_sitedir}/%{module}/testing
206 %{py_sitedir}/%{module}/tri
208 %{py_sitedir}/mpl_toolkits
209 %{py_sitedir}/pylab.py[co]
210 %{py_sitedir}/%{module}-%{version}-py*.egg-info
211 %{py_sitedir}/%{module}-%{version}-py*-nspkg.pth
215 %files -n python3-%{module}
216 %defattr(644,root,root,755)
217 %doc README.rst LICENSE/LICENSE
218 %dir %{py3_sitedir}/%{module}
219 %{py3_sitedir}/%{module}/*.py
220 %{py3_sitedir}/%{module}/__pycache__
221 %attr(755,root,root) %{py3_sitedir}/%{module}/*.so
222 %{py3_sitedir}/%{module}/axes
223 %dir %{py3_sitedir}/%{module}/backends
224 %{py3_sitedir}/%{module}/backends/*.py
225 %{py3_sitedir}/%{module}/backends/__pycache__
226 %attr(755,root,root) %{py3_sitedir}/%{module}/backends/*.so
227 %dir %{py3_sitedir}/%{module}/backends/qt_editor
228 %{py3_sitedir}/%{module}/backends/qt_editor/*.py
229 %{py3_sitedir}/%{module}/backends/qt_editor/__pycache__
230 %{py3_sitedir}/%{module}/backends/web_backend
231 %{py3_sitedir}/%{module}/cbook
232 %{py3_sitedir}/%{module}/compat
233 %{py3_sitedir}/%{module}/mpl-data
234 %{py3_sitedir}/%{module}/projections
235 %{py3_sitedir}/%{module}/sphinxext
236 %{py3_sitedir}/%{module}/style
237 %{py3_sitedir}/%{module}/testing
238 %{py3_sitedir}/%{module}/tri
239 %{py3_sitedir}/mpl_toolkits
240 %{py3_sitedir}/pylab.py
241 %{py3_sitedir}/__pycache__
242 %{py3_sitedir}/%{module}-%{version}-py*.egg-info
243 %{py3_sitedir}/%{module}-%{version}-py*-nspkg.pth