]> git.pld-linux.org Git - SPECS.git/blob - python3-matplotlib.spec
SPECS updated Tue 30 Apr 15:13:02 CEST 2024
[SPECS.git] / python3-matplotlib.spec
1 #
2 # Conditional build:
3 %bcond_with     doc             # Sphinx documentation
4 %bcond_with     tests           # unit tests [many failures as of 3.5.1, esp. with system freetype]
5 %bcond_without  system_freetype # system freetype library
6 %bcond_without  system_qhull    # system qhull library
7
8 # TODO:
9 # - finish doc
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:           python3-%{module}
17 Version:        3.5.3
18 Release:        1
19 License:        PSF
20 Group:          Libraries/Python
21 #Source0Download: https://github.com/matplotlib/matplotlib/releases
22 Source0:        https://github.com/matplotlib/matplotlib/archive/v%{version}/matplotlib-%{version}.tar.gz
23 # Source0-md5:  3e865ad2653e5c9ba068823075bb2b44
24 URL:            https://matplotlib.org/
25 # currently internal agg is used
26 #BuildRequires: agg-devel
27 %{?with_system_freetype:BuildRequires:  freetype-devel >= 1:2.6.1}
28 BuildRequires:  libstdc++-devel
29 BuildRequires:  pkgconfig
30 BuildRequires:  python3 >= 1:3.7
31 BuildRequires:  python3-certifi >= 2020.6.20
32 BuildRequires:  python3-devel >= 1:3.7
33 BuildRequires:  python3-numpy-devel >= 1:1.17
34 BuildRequires:  python3-setuptools
35 BuildRequires:  python3-setuptools_scm >= 4
36 BuildRequires:  python3-setuptools_scm < 7
37 BuildRequires:  python3-setuptools_scm_git_archive
38 %{?with_system_qhull:BuildRequires:     qhull-devel >= 2015.2}
39 BuildRequires:  rpm-pythonprov
40 BuildRequires:  rpmbuild(macros) >= 1.714
41 %if %{with tests}
42 BuildRequires:  ghostscript
43 BuildRequires:  gtk+3 >= 3.0
44 # /usr/bin/pdftops
45 BuildRequires:  poppler-progs
46 # or PyQt6>=6.1, PySide6, PySide2
47 BuildRequires:  python3-PyQt5
48 BuildRequires:  python3-cycler >= 0.10
49 BuildRequires:  python3-dateutil >= 2.7
50 BuildRequires:  python3-fonttools >= 4.22.0
51 BuildRequires:  python3-kiwisolver >= 1.0.1
52 BuildRequires:  python3-packaging >= 20.0
53 BuildRequires:  python3-pillow >= 6.2.0
54 # or cairocffi >= 0.8
55 BuildRequires:  python3-pycairo >= 1.11.0
56 BuildRequires:  python3-pygobject3 >= 3.0
57 BuildRequires:  python3-pyparsing >= 2.2.1
58 BuildRequires:  python3-pytest >= 3.6
59 BuildRequires:  python3-pytz
60 BuildRequires:  python3-tkinter >= 1:3.7
61 BuildRequires:  python3-tornado >= 5
62 #BuildRequires: python3-wxPython >= 4
63 # /usr/bin/dvipng
64 BuildRequires:  texlive
65 BuildRequires:  texlive-xetex
66 # Font EU1/lmr/m/n/10=[lmroman10-regular]:mapping=tex-text at 10.0pt
67 #BuildRequires: texlive-???
68 %endif
69 %if %{with doc}
70 BuildRequires:  python3-colorspacious
71 BuildRequires:  python3-ipython
72 BuildRequires:  python3-ipywidgets
73 BuildRequires:  python3-mpl-sphinx-theme
74 BuildRequires:  python3-numpydoc >= 0.8
75 BuildRequires:  python3-packaging >= 20
76 BuildRequires:  python3-scipy
77 BuildRequires:  python3-sphinx_copybutton
78 BuildRequires:  python3-sphinx_gallery >= 0.10
79 BuildRequires:  python3-sphinx_panels
80 BuildRequires:  python3-sphinxcontrib-svg2pdfconverter >= 1.1.0
81 BuildRequires:  sphinx-pdg >= 2.0.1
82 %endif
83 %{?with_system_freetype:Requires:       freetype >= 1:2.6.1}
84 Requires:       python3-modules >= 1:3.7
85 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
86
87 %description
88 matplotlib strives to produce publication quality 2D graphics using
89 matlab plotting for inspiration. Although the main lib is object
90 oriented, there is a functional interface "pylab" for people coming
91 from Matlab.
92
93 %description -l pl.UTF-8
94 matplotlib usiłuje tworzyć grafikę 2D o jakości publikacji przy użyciu
95 wykresów matlaba jako inspiracji. Chociaż główna biblioteka jest
96 zorientowana obiektowo, jest interfejs funkcyjny "pylab" dla ludzi
97 przechodzących z Matlaba.
98
99 %prep
100 %setup -q -n %{module}-%{version}
101
102 cat >mplsetup.cfg <<EOF
103 [libs]
104 %if %{with system_freetype}
105 system_freetype = True
106 %endif
107 %if %{with system_qhull}
108 system_qhull = True
109 %endif
110 EOF
111
112 %build
113 export CFLAGS="%{rpmcflags}"
114
115 %py3_build
116
117 %if %{with tests}
118 LIB=$(readlink -f build-3/lib.*)
119 ln -sf $(readlink -f lib/matplotlib/tests/baseline_images) $LIB/matplotlib/tests/baseline_images
120 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
121 PYTHONPATH=$LIB \
122 %{__python3} -m pytest $LIB/matplotlib/tests -m 'not network'
123 %{__rm} $LIB/matplotlib/tests/baseline_images
124 %endif
125
126 %install
127 rm -rf $RPM_BUILD_ROOT
128
129 %py3_install
130
131 %{__rm} -r $RPM_BUILD_ROOT%{py3_sitedir}/matplotlib/tests
132 # matplotlib can use system fonts, so drop these copies
133 %{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/matplotlib/mpl-data/fonts/ttf/DejaVu*.ttf
134
135 %clean
136 rm -rf $RPM_BUILD_ROOT
137
138 %files
139 %defattr(644,root,root,755)
140 %doc README.rst LICENSE/LICENSE
141 %dir %{py3_sitedir}/%{module}
142 %{py3_sitedir}/%{module}/*.py
143 %{py3_sitedir}/%{module}/__pycache__
144 %attr(755,root,root) %{py3_sitedir}/%{module}/*.so
145 %{py3_sitedir}/%{module}/_api
146 %{py3_sitedir}/%{module}/axes
147 %dir %{py3_sitedir}/%{module}/backends
148 %{py3_sitedir}/%{module}/backends/*.py
149 %{py3_sitedir}/%{module}/backends/__pycache__
150 %attr(755,root,root) %{py3_sitedir}/%{module}/backends/*.so
151 %dir %{py3_sitedir}/%{module}/backends/qt_editor
152 %{py3_sitedir}/%{module}/backends/qt_editor/*.py
153 %{py3_sitedir}/%{module}/backends/qt_editor/__pycache__
154 %{py3_sitedir}/%{module}/backends/web_backend
155 %{py3_sitedir}/%{module}/cbook
156 %{py3_sitedir}/%{module}/mpl-data
157 %{py3_sitedir}/%{module}/projections
158 %{py3_sitedir}/%{module}/sphinxext
159 %{py3_sitedir}/%{module}/style
160 %{py3_sitedir}/%{module}/testing
161 %{py3_sitedir}/%{module}/tri
162 %{py3_sitedir}/mpl_toolkits
163 %{py3_sitedir}/pylab.py
164 %{py3_sitedir}/__pycache__
165 %{py3_sitedir}/%{module}-%{version}-py*.egg-info
166 %{py3_sitedir}/%{module}-%{version}-py*-nspkg.pth
This page took 0.356263 seconds and 3 git commands to generate.