]> git.pld-linux.org Git - SPECS.git/blob - python-matplotlib.spec
SPECS updated Sat 31 Jul 20:27:02 CEST 2021
[SPECS.git] / python-matplotlib.spec
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)
3 #
4 # Conditional build:
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]
8
9 # TODO:
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
18 Version:        2.2.5
19 Release:        2
20 License:        PSF
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
37 # /usr/bin/pdftops
38 BuildRequires:  poppler-progs
39 BuildRequires:  qhull-devel >= 2015.2
40 BuildRequires:  rpm-pythonprov
41 BuildRequires:  rpmbuild(macros) >= 1.714
42 # /usr/bin/dvipng
43 BuildRequires:  texlive
44 BuildRequires:  tk-devel
45 %if %{with python2}
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
55 # or cairocffi
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
69 %if %{with tests}
70 BuildRequires:  python-kiwisolver >= 1.0.1
71 BuildRequires:  python-mock
72 BuildRequires:  python-pytest >= 3.6
73 %endif
74 %endif
75 %if %{with python3}
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
84 # or cairocffi
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
96 %if %{with tests}
97 BuildRequires:  python3-kiwisolver >= 1.0.1
98 BuildRequires:  python3-pytest >= 3.6
99 %endif
100 %endif
101 Requires:       freetype >= 1:2.6.1
102 Requires:       python-modules >= 1:2.7
103 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
104
105 %description
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
109 from Matlab.
110
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.
116
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
123
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
128 from Matlab.
129
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.
135
136 %prep
137 %setup -q -n %{module}-%{version}
138 %patch0 -p1
139
140 unzip -q %{SOURCE1} -d lib/matplotlib/backends/web_backend
141
142 %build
143 export CFLAGS="%{rpmcflags}"
144
145 %if %{with python2}
146 %py_build
147
148 %if %{with tests}
149 PYTHONPATH=$(readlink -f build-2/lib.*) \
150 %{__python} tests.py --no-network
151 %endif
152 %endif
153
154 %if %{with python3}
155 %py3_build
156
157 %if %{with tests}
158 PYTHONPATH=$(readlink -f build-2/lib.*) \
159 %{__python3} tests.py --no-network
160 %endif
161 %endif
162
163 %install
164 rm -rf $RPM_BUILD_ROOT
165
166 %if %{with python2}
167 %py_install
168
169 %py_postclean
170
171 # matplotlib can use system fonts, so drop these copies
172 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/matplotlib/mpl-data/fonts/ttf/DejaVu*.ttf
173 %endif
174
175 %if %{with python3}
176 %py3_install
177
178 # matplotlib can use system fonts, so drop these copies
179 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/matplotlib/mpl-data/fonts/ttf/DejaVu*.ttf
180 %endif
181
182 %clean
183 rm -rf $RPM_BUILD_ROOT
184
185 %if %{with python2}
186 %files
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
207
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
212 %endif
213
214 %if %{with python3}
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
244 %endif
This page took 0.310836 seconds and 3 git commands to generate.