Correct wrong dependency of main package on the tk backend.

- Reinstantiate wx backend for python2.x.
- Run setup.py under xvfb-run to detect and default to gtk backend (#883502)
- Split qt4 backend subpackage and add proper requires for it.
- Correct wrong regex in tcl libdir patch.
This commit is contained in:
pcpa 2012-12-04 23:31:08 -02:00
parent 03883d02e8
commit f2d3f53a8d
2 changed files with 63 additions and 8 deletions

View File

@ -8,7 +8,7 @@ diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py
- "/usr/lib/tcl"+str(Tkinter.TclVersion), - "/usr/lib/tcl"+str(Tkinter.TclVersion),
- "/usr/lib"] - "/usr/lib"]
+ "@@libdir@@/tcl"+str(Tkinter.TclVersion), + "@@libdir@@/tcl"+str(Tkinter.TclVersion),
+ "@@lib@@"] + "@@libdir@@"]
tk_poss = [tk_lib_dir, tk_poss = [tk_lib_dir,
os.path.normpath(os.path.join(tk_lib_dir, '..')), os.path.normpath(os.path.join(tk_lib_dir, '..')),
- "/usr/lib/tk"+str(Tkinter.TkVersion), - "/usr/lib/tk"+str(Tkinter.TkVersion),

View File

@ -9,7 +9,7 @@
Name: python-matplotlib Name: python-matplotlib
Version: 1.2.0 Version: 1.2.0
Release: 4%{?dist} Release: 5%{?dist}
Summary: Python 2D plotting library Summary: Python 2D plotting library
Group: Development/Libraries Group: Development/Libraries
License: Python License: Python
@ -29,19 +29,21 @@ BuildRequires: gtk2-devel
BuildRequires: libpng-devel BuildRequires: libpng-devel
BuildRequires: numpy BuildRequires: numpy
BuildRequires: pycairo-devel BuildRequires: pycairo-devel
BuildRequires: pygtk2-devel
BuildRequires: pyparsing BuildRequires: pyparsing
BuildRequires: python-dateutil BuildRequires: python-dateutil
BuildRequires: python2-devel BuildRequires: python2-devel
BuildRequires: pytz BuildRequires: pytz
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel BuildRequires: zlib-devel
Requires: dejavu-sans-fonts Requires: dejavu-sans-fonts
Requires: dvipng Requires: dvipng
Requires: numpy Requires: numpy
Requires: pycairo Requires: pycairo
Requires: pygtk2
Requires: pyparsing Requires: pyparsing
Requires: python-dateutil Requires: python-dateutil
Requires: pytz Requires: pytz
Obsoletes: %{name}-wx < %{version}-%{release}
%description %description
Matplotlib is a python 2D plotting library which produces publication Matplotlib is a python 2D plotting library which produces publication
@ -54,6 +56,16 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts, You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code. errorcharts, scatterplots, etc, with just a few lines of code.
%package qt4
Summary: Qt4 backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: PyQt4-devel
Requires: PyQt4
%description qt4
%{summary}
%package tk %package tk
Summary: Tk backend for python-matplotlib Summary: Tk backend for python-matplotlib
Group: Development/Libraries Group: Development/Libraries
@ -66,6 +78,16 @@ Requires: tkinter
%description tk %description tk
%{summary} %{summary}
%package wx
Summary: wxPython backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: wxPython-devel
Requires: wxPython
%description wx
%{summary}
%package doc %package doc
Summary: Documentation files for python-matplotlib Summary: Documentation files for python-matplotlib
Group: Documentation Group: Documentation
@ -108,6 +130,16 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts, You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code. errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python3-matplotlib-qt4
Summary: Qt4 backend for python3-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: python3-PyQt4-devel
Requires: python3-PyQt4
%description -n python3-matplotlib-qt4
%{summary}
%package -n python3-matplotlib-tk %package -n python3-matplotlib-tk
Summary: Tk backend for python3-matplotlib Summary: Tk backend for python3-matplotlib
Group: Development/Libraries Group: Development/Libraries
@ -131,7 +163,7 @@ sed -i -e s/matplotlib\.pyparsing_py./pyparsing/g lib/matplotlib/*.py
# Correct tcl/tk detection # Correct tcl/tk detection
%patch1 -p1 -b .tk %patch1 -p1 -b .tk
sed -i -e 's|@@@libdir@@@|%{_libdir}|' setupext.py sed -i -e 's|@@libdir@@|%{_libdir}|' setupext.py
chmod -x lib/matplotlib/mpl-data/images/*.svg chmod -x lib/matplotlib/mpl-data/images/*.svg
@ -141,7 +173,7 @@ cp -a . %{py3dir}
%endif %endif
%build %build
%{__python2} setup.py build xvfb-run %{__python2} setup.py build
%if %{with_html} %if %{with_html}
# Need to make built matplotlib libs available for the sphinx extensions: # Need to make built matplotlib libs available for the sphinx extensions:
pushd doc pushd doc
@ -155,20 +187,20 @@ find examples -name '*.py' -exec chmod a-x '{}' \;
%if %{with_python3} %if %{with_python3}
pushd %{py3dir} pushd %{py3dir}
%{__python3} setup.py build xvfb-run %{__python3} setup.py build
# documentation cannot be built with python3 due to syntax errors # documentation cannot be built with python3 due to syntax errors
# and building with python 2 exits with cryptic error messages # and building with python 2 exits with cryptic error messages
popd popd
%endif %endif
%install %install
%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT xvfb-run %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT
chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py
rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts
%if %{with_python3} %if %{with_python3}
pushd %{py3dir} pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT xvfb-run %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT
chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py
rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts
rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py
@ -189,17 +221,27 @@ popd
%{python_sitearch}/matplotlib/ %{python_sitearch}/matplotlib/
%{python_sitearch}/mpl_toolkits/ %{python_sitearch}/mpl_toolkits/
%{python_sitearch}/pylab.py* %{python_sitearch}/pylab.py*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt4.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt4agg.*
%exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python_sitearch}/matplotlib/backends/tkagg.* %exclude %{python_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python_sitearch}/matplotlib/backends/_tkagg.so %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so
%exclude %{python_sitearch}/matplotlib/backends/backend_wx.* %exclude %{python_sitearch}/matplotlib/backends/backend_wx.*
%exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.* %exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.*
%files qt4
%{python_sitearch}/matplotlib/backends/backend_qt4.*
%{python_sitearch}/matplotlib/backends/backend_qt4agg.*
%files tk %files tk
%{python_sitearch}/matplotlib/backends/backend_tkagg.py* %{python_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/tkagg.py*
%{python_sitearch}/matplotlib/backends/_tkagg.so %{python_sitearch}/matplotlib/backends/_tkagg.so
%files wx
%{python_sitearch}/matplotlib/backends/backend_wx.*
%{python_sitearch}/matplotlib/backends/backend_wxagg.*
%files doc %files doc
%doc examples %doc examples
%if %{with_html} %if %{with_html}
@ -222,10 +264,17 @@ popd
%{python3_sitearch}/mpl_toolkits/ %{python3_sitearch}/mpl_toolkits/
%{python3_sitearch}/pylab.py* %{python3_sitearch}/pylab.py*
%{python3_sitearch}/__pycache__/* %{python3_sitearch}/__pycache__/*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4agg.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.*
%files -n python3-matplotlib-qt4
%{python_sitearch}/matplotlib/backends/backend_qt4.*
%{python_sitearch}/matplotlib/backends/backend_qt4agg.*
%files -n python3-matplotlib-tk %files -n python3-matplotlib-tk
%{python3_sitearch}/matplotlib/backends/backend_tkagg.py* %{python3_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python3_sitearch}/matplotlib/backends/tkagg.* %{python3_sitearch}/matplotlib/backends/tkagg.*
@ -233,6 +282,12 @@ popd
%endif %endif
%changelog %changelog
* Tue Dec 04 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-5
- Reinstantiate wx backend for python2.x.
- Run setup.py under xvfb-run to detect and default to gtk backend (#883502)
- Split qt4 backend subpackage and add proper requires for it.
- Correct wrong regex in tcl libdir patch.
* Tue Nov 27 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-4 * Tue Nov 27 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-4
- Obsolete python-matplotlib-wx for clean updates. - Obsolete python-matplotlib-wx for clean updates.