From eb8a2100a5073e3a08cd8287651fe15d0b65e0c9cad4e3141b6757bd8c04139a Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sun, 9 Mar 2014 19:14:38 +0000 Subject: [PATCH] Accepting request 213409 from devel:languages:python - remove qt4/designer subpackages for SLE11, as those can not be installed without additional updates on a SLES+SDK system (forwarded request 213292 from dirkmueller) OBS-URL: https://build.opensuse.org/request/show/213409 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-matplotlib?expand=0&rev=29 --- matplotlib-setup.cfg | 79 +++++++++------ python-matplotlib.changes | 15 +++ python-matplotlib.spec | 201 ++++++++++++++++++++++++++++++++------ 3 files changed, 232 insertions(+), 63 deletions(-) diff --git a/matplotlib-setup.cfg b/matplotlib-setup.cfg index ed6bfe6..0c28ea7 100644 --- a/matplotlib-setup.cfg +++ b/matplotlib-setup.cfg @@ -4,13 +4,24 @@ [egg_info] tag_svn_revision = 1 +[directories] +# Uncomment to override the default basedir in setupext.py. +# This can be a single directory or a comma-delimited list of directories. +#basedirlist = /usr + [status] # To suppress display of the dependencies and their versions # at the top of the build log, uncomment the following line: -#suppress = True +#suppress = False + +[packages] +# There are a number of subpackages of matplotlib that are considered +# optional. They are all installed by default, but they may be turned +# off here. # -# Uncomment to insert lots of diagnostic prints in extension code -#verbose = True +tests = True +sample_data = True +toolkits = True [provide_packages] # By default, matplotlib checks for a few dependencies and @@ -25,7 +36,6 @@ tag_svn_revision = 1 pytz = False dateutil = False - [gui_support] # Matplotlib supports multiple GUI toolkits, including Cocoa, # GTK, Fltk, MacOSX, Qt, Qt4, Tk, and WX. Support for many of @@ -33,29 +43,43 @@ dateutil = False # which is provided by matplotlib and built by default. # # Some backends are written in pure Python, and others require -# extension code to be compiled. By default, matplotlib checks -# for these GUI toolkits during installation and, if present, -# compiles the required extensions to support the toolkit. GTK -# support requires the GTK runtime environment and PyGTK. Wx -# support requires wxWidgets and wxPython. Tk support requires -# Tk and Tkinter. The other GUI toolkits do not require any -# extension code, and can be used as long as the libraries are -# installed on your system. +# extension code to be compiled. By default, matplotlib checks for +# these GUI toolkits during installation and, if present, compiles the +# required extensions to support the toolkit. # -# You can uncomment any the following lines if you know you do -# not want to use the GUI toolkit. Acceptible values are: -# True: build the extension. Exits with a warning if the -# required dependencies are not available -# False: do not build the extension -# auto: build if the required dependencies are available, -# otherwise skip silently. This is the default -# behavior +# - GTK 2.x support of any kind requires the GTK runtime environment +# headers and PyGTK. +# - Tk support requires Tk development headers and Tkinter. +# - Mac OSX backend requires the Cocoa headers included with XCode. +# - Windowing is MS-Windows specific, and requires the "windows.h" +# header. # +# The other GUI toolkits do not require any extension code, and can be +# used as long as the libraries are installed on your system -- +# therefore they are installed unconditionally. +# +# You can uncomment any the following lines to change this +# behavior. Acceptible values are: +# +# True: build the extension. Exits with a warning if the +# required dependencies are not available +# False: do not build the extension +# auto: build if the required dependencies are available, +# otherwise skip silently. This is the default +# behavior +# +agg = True +cairo = True gtk = True +gtk3agg = Auto +gtk3cairo = Auto gtkagg = True +pyside = Auto +qt4agg = Auto tkagg = True wxagg = True -#macosx = True +macosx = False +windowing = False [rc_options] # User-configurable options @@ -64,16 +88,9 @@ wxagg = True # FltkAgg, MacOSX, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg. # # The Agg, Ps, Pdf and SVG backends do not require external -# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, TkAgg or WXAgg -# if you have disabled the relevent extension modules. Agg will be used +# dependencies. Do not choose GTK, GTKAgg, GTKCairo, MacOSX, or TkAgg +# if you have disabled the relevent extension modules. Agg will be used # by default. # -backend = TkAgg +backend = Agg # -# The numerix module was historically used to provide -# compatibility between the Numeric, numarray, and NumPy array -# packages. Now that NumPy has emerge as the universal array -# package for python, numerix is not really necessary and is -# maintained to provide backward compatibility. Do not change -# this unless you have a compelling reason to do so. -#numerix = numpy diff --git a/python-matplotlib.changes b/python-matplotlib.changes index 4980cb8..9d32eb8 100644 --- a/python-matplotlib.changes +++ b/python-matplotlib.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Thu Jan 9 12:46:20 UTC 2014 - dmueller@suse.com + +- remove qt4/designer subpackages for SLE11, as those can + not be installed without additional updates on a SLES+SDK system + +------------------------------------------------------------------- +Thu Nov 14 14:52:44 UTC 2013 - toddrme2178@gmail.com + +- Enable all backends +- Split most backends into separate packages +- Update dependencies +- Add many optional dependencies +- Make %setup.py quiet + ------------------------------------------------------------------- Thu Oct 24 12:47:42 UTC 2013 - speilicke@suse.com diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 73b5533..3a1b6bb 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ # # spec file for package python-matplotlib # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -28,33 +28,56 @@ Source1: matplotlib-setup.cfg Source2: matplotlibplugin.py Source3: matplotlibwidget.py BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: fdupes BuildRequires: fltk-devel BuildRequires: freetype2-devel BuildRequires: gcc-c++ +BuildRequires: ghostscript BuildRequires: gtk2-devel BuildRequires: libpng-devel +BuildRequires: poppler-tools BuildRequires: python-gtk BuildRequires: python-gtk-devel BuildRequires: python-numpy-devel >= 1.2.1 +BuildRequires: python-pyparsing BuildRequires: python-setuptools BuildRequires: python-tk +BuildRequires: python-tornado BuildRequires: tcl BuildRequires: tcl-devel +BuildRequires: texlive-latex BuildRequires: tk BuildRequires: tk-devel -Requires: python-dateutil +# needed for testing +BuildRequires: python-nose Requires: python-numpy >= 1.2.1 Requires: python-pyparsing -Requires: python-tz +Recommends: ghostscript +Recommends: inkscape +Recommends: libxml2-tools +Recommends: poppler-tools +Recommends: texlive-dvipng +Recommends: texlive-latex +Recommends: texlive-sfmath +Recommends: texlive-tex %py_requires -%if 0%{?sles_version} == 11 +%if 0%{?suse_version} > 1220 +BuildRequires: python-qt4-devel +BuildRequires: texlive-dvipng +BuildRequires: texlive-sfmath +BuildRequires: texlive-tex +%endif +%if 0%{?suse_version} < 1220 BuildRequires: gnome-libs-devel -BuildRequires: python-qt BuildRequires: python-wxGTK BuildRequires: wxGTK-devel %else BuildRequires: libgnome-devel -BuildRequires: python-qt4 +BuildRequires: libxml2-tools +BuildRequires: python-gobject +BuildRequires: python-gobject-cairo +BuildRequires: python-gobject-devel +BuildRequires: python-pyside BuildRequires: python-wxWidgets BuildRequires: wxWidgets-devel %define _use_internal_dependency_generator 0 @@ -64,6 +87,8 @@ BuildRequires: wxWidgets-devel ## own versions of the packages from the lib directory BuildRequires: python-dateutil BuildRequires: python-tz +Requires: python-dateutil +Requires: python-pytz %description matplotlib is a python 2D plotting library which produces publication @@ -72,6 +97,56 @@ 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. +%package gtk2 +Summary: GTK2 backends for %{name} +License: BSD-2-Clause +Group: Development/Libraries/Python +Requires: %{name} = %{version} +Requires: python-gtk + +%description gtk2 +This package includes the GTK2-based gdk, gtk, gtkagg, and +gtkcairo backends for the %{name} plotting package + +%package gtk3 +Summary: GTK3 backends for %{name} +License: BSD-2-Clause +Group: Development/Libraries/Python +Requires: %{name} = %{version} +Requires: python-gobject +Requires: python-gobject-cairo + +%description gtk3 +This package includes the GTK3-based gtk3, gtk3agg, and +gtk3cairo backends for the %{name} plotting package + +%if 0%{?suse_version} > 1220 +%package qt4 +Summary: Qt4 backends for %{name} +License: BSD-2-Clause +Group: Development/Libraries/Python +Requires: %{name} = %{version} +Requires: python-pyside +Requires: python-qt4 + +%description qt4 +This package includes the Qt4-based pyqt4 and pyside backends +for the %{name} plotting package + +%package designer +Summary: Qt Designer plugin for %{name} +License: MIT +Group: Development/Libraries/Python +Requires: %{name}-qt4 = %{version} +Requires: qt-creator + +%description designer +This is a plugin and widget to let you use %{name} +plots as widget in PyQt4 GUIs using Qt Designer + +This plugin comes from Python(x,y) +%endif + %package tk Summary: Tk backend for %{name} License: BSD-2-Clause @@ -80,34 +155,37 @@ Requires: %{name} = %{version} Requires: python-tk %description tk -Tk backend for %{name} plotting package +This package includes the Tk-based tkagg backend +for the %{name} plotting package -%package wx -Summary: Wx backend for %{name} +%package web +Summary: Web backend for %{name} License: BSD-2-Clause Group: Development/Libraries/Python Requires: %{name} = %{version} -Requires: python-wxGTK +Requires: python-tornado -%description wx -wxWidgets backend for %{name} plotting package +%description web +This package includes the browser-based webagg backend +for the %{name} plotting package -%package designer -Summary: Qt Designer %{name} plugin -License: MIT +%package wx +Summary: WxWidgets backend for %{name} +License: BSD-2-Clause Group: Development/Libraries/Python Requires: %{name} = %{version} -Requires: python-qt4 -Requires: qt-creator +%if 0%{?sles_version} == 11 +Requires: python-wxGTK +%else +Requires: python-wxWidgets +%endif -%description designer -This is a plugin and widget to let you use %{name} -plots as widget in PyQt4 GUIs using Qt Designer - -This plugin comes from Python(x,y) +%description wx +This package includes the wxWidgets-based wxagg backend +for %{name} plotting package %prep -%setup -n matplotlib-%{version} +%setup -q -n matplotlib-%{version} chmod -x lib/matplotlib/mpl-data/images/*.svg %build @@ -116,9 +194,15 @@ python setup.py build %install python setup.py install --root=%{buildroot} --prefix=%{_prefix} + +# Install designer plugin +%if 0%{?suse_version} > 1220 mkdir -p %{buildroot}%{_libdir}/qt4/plugins/designer/python/ install -vm 755 %{SOURCE2} %{buildroot}%{_libdir}/qt4/plugins/designer/python/ install -vm 755 %{SOURCE3} %{buildroot}%{py_sitedir}/ +%endif + +%fdupes %{buildroot}%{py_sitedir}/matplotlib/tests/baseline_images/ %files %defattr(-,root,root,-) @@ -128,24 +212,60 @@ install -vm 755 %{SOURCE3} %{buildroot}%{py_sitedir}/ %{py_sitedir}/matplotlib-%{version}_r0-py%{py_ver}-nspkg.pth %{py_sitedir}/matplotlib/ %{py_sitedir}/mpl_toolkits +%exclude %{py_sitedir}/mpl_toolkits/gtktools.* %{py_sitedir}/pylab.py %{py_sitedir}/pylab.pyc -%exclude %{py_sitedir}/matplotlib/backends/backend_tkagg.* -%exclude %{py_sitedir}/matplotlib/backends/tkagg.* +%exclude %{py_sitedir}/matplotlib/backends/backend_cairo.* +%exclude %{py_sitedir}/matplotlib/backends/backend_macosx.* +%exclude %{py_sitedir}/matplotlib/backends/windowing.* +%exclude %{py_sitedir}/matplotlib/backends/_backend_gdk.so +%exclude %{py_sitedir}/matplotlib/backends/_gtkagg.so %exclude %{py_sitedir}/matplotlib/backends/_tkagg.so +%exclude %{py_sitedir}/matplotlib/backends/backend_cocoaagg.* +%exclude %{py_sitedir}/matplotlib/backends/backend_gdk.* +%exclude %{py_sitedir}/matplotlib/backends/backend_gtk.* +%exclude %{py_sitedir}/matplotlib/backends/backend_gtkagg.* +%exclude %{py_sitedir}/matplotlib/backends/backend_gtkcairo.* +%exclude %{py_sitedir}/matplotlib/backends/backend_gtk3.* +%exclude %{py_sitedir}/matplotlib/backends/backend_gtk3agg.* +%exclude %{py_sitedir}/matplotlib/backends/backend_gtk3cairo.* +%exclude %{py_sitedir}/matplotlib/backends/backend_qt4.* +%exclude %{py_sitedir}/matplotlib/backends/backend_qt4agg.* +%exclude %{py_sitedir}/matplotlib/backends/backend_tkagg.* +%exclude %{py_sitedir}/matplotlib/backends/backend_webagg.* %exclude %{py_sitedir}/matplotlib/backends/backend_wx.* %exclude %{py_sitedir}/matplotlib/backends/backend_wxagg.* +%exclude %{py_sitedir}/matplotlib/backends/qt4_compat.* +%exclude %{py_sitedir}/matplotlib/backends/qt4_editor/ +%exclude %{py_sitedir}/matplotlib/backends/tkagg.* +%exclude %{py_sitedir}/matplotlib/backends/web_backend/ -%files tk +%files gtk2 %defattr(-,root,root,-) -%{py_sitedir}/matplotlib/backends/backend_tkagg.* -%{py_sitedir}/matplotlib/backends/tkagg.* -%{py_sitedir}/matplotlib/backends/_tkagg.so +%{py_sitedir}/matplotlib/backends/_backend_gdk.so +%{py_sitedir}/matplotlib/backends/_gtkagg.so +%{py_sitedir}/matplotlib/backends/backend_cairo.* +%{py_sitedir}/matplotlib/backends/backend_gdk.* +%{py_sitedir}/matplotlib/backends/backend_gtk.* +%{py_sitedir}/matplotlib/backends/backend_gtkagg.* +%{py_sitedir}/matplotlib/backends/backend_gtkcairo.* +%{py_sitedir}/mpl_toolkits/gtktools.py* -%files wx +%if 0%{?suse_version} > 1110 +%files gtk3 %defattr(-,root,root,-) -%{py_sitedir}/matplotlib/backends/backend_wx.* -%{py_sitedir}/matplotlib/backends/backend_wxagg.* +%{py_sitedir}/matplotlib/backends/backend_gtk3.* +%{py_sitedir}/matplotlib/backends/backend_gtk3agg.* +%{py_sitedir}/matplotlib/backends/backend_gtk3cairo.* +%endif + +%if 0%{?suse_version} > 1220 +%files qt4 +%defattr(-,root,root,-) +%{py_sitedir}/matplotlib/backends/backend_qt4.* +%{py_sitedir}/matplotlib/backends/backend_qt4agg.* +%{py_sitedir}/matplotlib/backends/qt4_compat.* +%{py_sitedir}/matplotlib/backends/qt4_editor/ %files designer %defattr(-,root,root,-) @@ -155,5 +275,22 @@ install -vm 755 %{SOURCE3} %{buildroot}%{py_sitedir}/ %dir %{_libdir}/qt4/plugins/designer/python/ %{_libdir}/qt4/plugins/designer/python/matplotlibplugin.py %{py_sitedir}/matplotlibwidget.py +%endif + +%files tk +%defattr(-,root,root,-) +%{py_sitedir}/matplotlib/backends/backend_tkagg.* +%{py_sitedir}/matplotlib/backends/tkagg.* +%{py_sitedir}/matplotlib/backends/_tkagg.so + +%files web +%defattr(-,root,root,-) +%{py_sitedir}/matplotlib/backends/backend_webagg.* +%{py_sitedir}/matplotlib/backends/web_backend/ + +%files wx +%defattr(-,root,root,-) +%{py_sitedir}/matplotlib/backends/backend_wx.* +%{py_sitedir}/matplotlib/backends/backend_wxagg.* %changelog