This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2015-02-24 22:17:01 -05:00
parent 3d4898c537
commit dd3b8abfa9
8 changed files with 113 additions and 145 deletions

View File

@ -4,7 +4,7 @@ Author: Sandro Tosi <morph@debian.org>
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -607,10 +607,12 @@ def _get_data_path():
@@ -658,10 +658,12 @@ def _get_data_path():
raise RuntimeError('Path in environment MATPLOTLIBDATA not a directory')
return path
@ -18,8 +18,8 @@ Author: Sandro Tosi <morph@debian.org>
# setuptools' namespace_packages may highjack this init file
# so need to try something known to be in matplotlib, not basemap
import matplotlib.afm
@@ -727,7 +729,7 @@ def matplotlib_fname():
_get_xdg_config_dir())
@@ -786,7 +788,7 @@ def matplotlib_fname():
home, '.matplotlib', 'matplotlibrc')
return fname
- path = get_data_path() # guaranteed to exist or raise

View File

@ -3,7 +3,7 @@ Author: Jakub Wilk <jwilk@debian.org>
--- a/doc/api/api_changes.rst
+++ b/doc/api/api_changes.rst
@@ -919,7 +919,7 @@ New methods:
@@ -1143,7 +1143,7 @@ New methods:
* :meth:`draw_markers(self, gc, marker_path, marker_trans, path,
trans, rgbFace)

View File

@ -16,8 +16,9 @@ Description: don't separate param and its argument with a space
+ :param ny,ny1: same as nx and nx1, but for row positions.
"""
@@ -253,12 +253,12 @@ class Divider(object):
figW, figH = self._fig.get_size_inches()
@@ -250,12 +250,12 @@ class Divider(object):
(:class:`mpl_toolkits.axes_grid.axes_divider.AxesLocator`) for
specified cell.
@ -32,7 +33,7 @@ Description: don't separate param and its argument with a space
"""
return AxesLocator(self, nx, ny, nx1, ny1)
@@ -299,12 +299,12 @@ class AxesLocator(object):
@@ -298,12 +298,12 @@ class AxesLocator(object):
"""
:param axes_divider: An instance of AxesDivider class.

View File

@ -1,111 +0,0 @@
Description: deal with the case where there are no writable directories.
Author: Michael Droettboom <mdboom@gmail.com>
Bug-Debian: http://bugs.debian.org/719384
Origin: https://github.com/mdboom/matplotlib/commit/1e8d592ed0439ac6fe8fc08d5efe522799acf4fe
Reviewed-By: Anton Gladky <gladk@debian.org>
Last-Update: 2013-09-29
--- matplotlib-1.3.0.orig/lib/matplotlib/font_manager.py
+++ matplotlib-1.3.0/lib/matplotlib/font_manager.py
@@ -1324,6 +1324,8 @@ if USE_FONTCONFIG and sys.platform != 'w
return result
else:
+ _fmcache = None
+
if not 'TRAVIS' in os.environ:
cachedir = get_cachedir()
if cachedir is not None:
@@ -1331,8 +1333,6 @@ else:
_fmcache = os.path.join(cachedir, 'fontList.py3k.cache')
else:
_fmcache = os.path.join(cachedir, 'fontList.cache')
- else:
- _fmcache = None
fontManager = None
--- matplotlib-1.3.0.orig/lib/matplotlib/__init__.py
+++ matplotlib-1.3.0/lib/matplotlib/__init__.py
@@ -518,7 +518,11 @@ def _get_xdg_config_dir():
base directory spec
<http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_.
"""
- return os.environ.get('XDG_CONFIG_HOME', os.path.join(get_home(), '.config'))
+ home = get_home()
+ if home is None:
+ return None
+ else:
+ return os.environ.get('XDG_CONFIG_HOME', os.path.join(home, '.config'))
def _get_xdg_cache_dir():
@@ -527,7 +531,11 @@ def _get_xdg_cache_dir():
base directory spec
<http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>`_.
"""
- return os.environ.get('XDG_CACHE_HOME', os.path.join(get_home(), '.cache'))
+ home = get_home()
+ if home is None:
+ return None
+ else:
+ return os.environ.get('XDG_CACHE_HOME', os.path.join(home, '.cache'))
def _get_config_or_cache_dir(xdg_base):
@@ -543,22 +551,28 @@ def _get_config_or_cache_dir(xdg_base):
return _create_tmp_config_dir()
return configdir
+ p = None
h = get_home()
- p = os.path.join(h, '.matplotlib')
- if (sys.platform.startswith('linux') and
- not os.path.exists(p)):
- p = os.path.join(xdg_base, 'matplotlib')
-
- if os.path.exists(p):
- if not _is_writable_dir(p):
- return _create_tmp_config_dir()
- else:
- try:
- mkdirs(p)
- except OSError:
- return _create_tmp_config_dir()
+ if h is not None:
+ p = os.path.join(h, '.matplotlib')
+ if (sys.platform.startswith('linux') and
+ not os.path.exists(p) and
+ xdg_base is not None):
+ p = os.path.join(xdg_base, 'matplotlib')
+
+ if p is not None:
+ if os.path.exists(p):
+ if _is_writable_dir(p):
+ return p
+ else:
+ try:
+ mkdirs(p)
+ except OSError:
+ pass
+ else:
+ return p
- return p
+ return _create_tmp_config_dir()
def _get_configdir():
@@ -716,9 +730,11 @@ def matplotlib_fname():
if configdir is not None:
fname = os.path.join(configdir, 'matplotlibrc')
if os.path.exists(fname):
+ home = get_home()
if (sys.platform.startswith('linux') and
+ home is not None and
fname == os.path.join(
- get_home(), '.matplotlib', 'matplotlibrc')):
+ home, '.matplotlib', 'matplotlibrc')):
warnings.warn(
"Found matplotlib configuration in ~/.matplotlib/. "
"To conform with the XDG base directory standard, "

View File

@ -8,7 +8,7 @@ Last-Update: 2013-10-06
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/lib/matplotlib/pyplot.py
+++ b/lib/matplotlib/pyplot.py
@@ -289,7 +289,7 @@ def xkcd(scale=1, length=100, randomness
@@ -301,7 +301,7 @@ def xkcd(scale=1, length=100, randomness
from matplotlib import patheffects
context = rc_context()
try:

View File

@ -1,13 +1,20 @@
--- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200
+++ setupext.py 2013-08-02 09:40:14.785304342 +0200
@@ -749,22 +749,7 @@
@@ -914,28 +914,13 @@ class LibAgg(SetupPackage):
self.__class__.found_external = True
try:
return self._check_for_pkg_config(
- 'libagg', 'agg2/agg_basics.h', min_version='PATCH')
+ 'libagg', 'agg2/agg_basics.h', min_version='2.5.0')
except CheckFailed as e:
self.__class__.found_external = False
return str(e) + ' Using local copy.'
def add_flags(self, ext):
- if self.found_external:
- pkg_config.setup_extension(ext, 'libagg')
- else:
- ext.include_dirs.append('agg24/include')
- ext.include_dirs.append('extern/agg24/include')
- agg_sources = [
- 'agg_bezier_arc.cpp',
- 'agg_curves.cpp',
@ -19,7 +26,7 @@
- 'agg_vpgen_segmentator.cpp'
- ]
- ext.sources.extend(
- os.path.join('agg24', 'src', x) for x in agg_sources)
- os.path.join('extern', 'agg24', 'src', x) for x in agg_sources)
+ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])

View File

@ -1,15 +1,18 @@
--- setupext.py.orig 2014-01-25 15:06:39.460916454 +0100
+++ setupext.py 2014-01-25 15:06:53.080946205 +0100
@@ -768,12 +768,6 @@
@@ -841,15 +841,6 @@
name = 'pycxx'
def check(self):
- if sys.version_info[0] >= 3:
- if PY3:
- # There is no version of PyCXX in the wild that will work
- # with Python 3.x
- # with Python 3.x and matplotlib, since they lack support
- # for the buffer object.
- self.__class__.found_external = False
- return ("Official versions of PyCXX are not compatible with "
- "Python 3.x. Using local copy")
- return ("Official versions of PyCXX are not compatible "
- "with matplotlib on Python 3.x, since they lack "
- "support for the buffer object. Using local "
- "copy")
self.__class__.found_external = True
old_stdout = sys.stdout

View File

@ -15,26 +15,30 @@
%global with_wx 1
%endif
# On Fedora 21 onwards, enable Qt5 backend:
%if 0%{?fedora} >= 21
%global with_qt5 1
%else
%global with_qt5 0
%endif
# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
%global backend TkAgg
# https://fedorahosted.org/fpc/ticket/381
%global with_bundled_fonts 1
Name: python-matplotlib
Version: 1.3.1
Release: 7%{?dist}
Version: 1.4.3
Release: 2%{?dist}
Summary: Python 2D plotting library
Group: Development/Libraries
# qt4_editor backend is MIT
License: Python and MIT
URL: http://matplotlib.org
#Modified Sources to remove the one undistributable file
#See generate-tarball.sh in fedora cvs repository for logic
#sha1sum matplotlib-1.2.0-without-gpc.tar.gz
#92ada4ef4e7374d67e46e30bfb08c3fed068d680 matplotlib-1.2.0-without-gpc.tar.gz
Source0: matplotlib-%{version}-without-gpc.tar.xz
#Modified Sources to remove the bundled libraries
Source0: matplotlib-%{version}-without-extern.tar.xz
Source1: setup.cfg
Patch0: %{name}-noagg.patch
@ -42,13 +46,14 @@ Patch1: %{name}-system-cxx.patch
Patch2: 20_matplotlibrc_path_search_fix.patch
Patch3: 40_bts608939_draw_markers_description.patch
Patch4: 50_bts608942_spaces_in_param_args.patch
Patch5: 60_deal_with_no_writable_dirs.patch
Patch6: 70_bts720549_try_StayPuft_for_xkcd.patch
Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch
BuildRequires: agg-devel
BuildRequires: freetype-devel
BuildRequires: gtk2-devel
BuildRequires: libpng-devel
BuildRequires: qhull-devel
BuildRequires: python-six
BuildRequires: numpy
BuildRequires: pycairo-devel
BuildRequires: pygtk2-devel
@ -71,6 +76,7 @@ BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: python-six
Requires: numpy
Requires: pycairo
Requires: pygtk2
@ -90,6 +96,12 @@ Requires: %{name}-tk%{?_isa} = %{version}-%{release}
%else
% if "%{backend}" == "Qt4Agg"
Requires: %{name}-qt4%{?_isa} = %{version}-%{release}
% else
% if %{with_qt5}
% if "%{backend}" == "Qt5Agg"
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
% endif
% endif
% endif
%endif
@ -114,6 +126,18 @@ Requires: PyQt4
%description qt4
%{summary}
%if %{with_qt5}
%package qt5
Summary: Qt5 backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: python-qt5
Requires: python-qt5
%description qt5
%{summary}
%endif # with_qt5
%package tk
Summary: Tk backend for python-matplotlib
Group: Development/Libraries
@ -185,6 +209,7 @@ BuildRequires: python3-pycxx-devel
BuildRequires: python3-pyparsing
BuildRequires: python3-pytz
BuildRequires: python3-six
Requires: python3-six
Requires: python3-numpy
Requires: python3-cairo
Requires: python3-pyparsing
@ -201,6 +226,12 @@ Requires: python3-matplotlib-tk%{?_isa} = %{version}-%{release}
%else
% if "%{backend}" == "Qt4Agg"
Requires: python3-matplotlib-qt4%{?_isa} = %{version}-%{release}
% else
% if %{with_qt5}
% if "%{backend}" == "Qt5Agg"
Requires: python3-matplotlib-qt5%{?_isa} = %{version}-%{release}
% endif
% endif
% endif
%endif
@ -225,6 +256,18 @@ Requires: python3-PyQt4
%description -n python3-matplotlib-qt4
%{summary}
%if %{with_qt5}
%package -n python3-matplotlib-qt5
Summary: Qt5 backend for python3-matplotlib
Group: Development/Libraries
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: python3-qt5
Requires: python3-qt5
%description -n python3-matplotlib-qt5
%{summary}
%endif # with_qt5
%package -n python3-matplotlib-tk
Summary: Tk backend for python3-matplotlib
Group: Development/Libraries
@ -247,7 +290,7 @@ sed -i 's/\(backend = \).*/\1%{backend}/' setup.cfg
# USE_FONTCONFIG to False or True so that cache is regenerated
# if updated from a version enabling fontconfig to one not
# enabling it, or vice versa
if [ %{version} = 1.3.1 ]; then
if [ %{version} = 1.4.3 ]; then
sed -i 's/\(__version__ = 101\)/\1.1/' lib/matplotlib/font_manager.py
fi
@ -256,9 +299,6 @@ fi
sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
%endif
# Remove bundled libraries
rm -r agg24 CXX
# Remove references to bundled libraries
%patch0 -b .noagg
%patch1 -b .cxx
@ -266,7 +306,6 @@ rm -r agg24 CXX
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
chmod -x lib/matplotlib/mpl-data/images/*.svg
@ -350,7 +389,6 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \
%doc CHANGELOG
%doc INSTALL
%doc PKG-INFO
%doc TODO
%{python_sitearch}/*egg-info
%{python_sitearch}/matplotlib-*-nspkg.pth
%{python_sitearch}/matplotlib/
@ -358,6 +396,8 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \
%{python_sitearch}/pylab.py*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt4.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt4agg.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt5.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt5agg.*
%exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python_sitearch}/matplotlib/backends/_tkagg.so
@ -368,6 +408,12 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \
%{python_sitearch}/matplotlib/backends/backend_qt4.*
%{python_sitearch}/matplotlib/backends/backend_qt4agg.*
%if %{with_qt5}
%files qt5
%{python_sitearch}/matplotlib/backends/backend_qt5.*
%{python_sitearch}/matplotlib/backends/backend_qt5agg.*
%endif # with_qt5
%files tk
%{python_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python_sitearch}/matplotlib/backends/tkagg.py*
@ -404,7 +450,6 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \
%doc %{basepy3dir}/CHANGELOG
%doc %{basepy3dir}/INSTALL
%doc %{basepy3dir}/PKG-INFO
%doc %{basepy3dir}/TODO
%{python3_sitearch}/*egg-info
%{python3_sitearch}/matplotlib-*-nspkg.pth
%{python3_sitearch}/matplotlib/
@ -415,12 +460,15 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4agg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5agg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_tkagg.*
%files -n python3-matplotlib-qt4
%{python3_sitearch}/matplotlib/backends/backend_qt4.*
@ -428,6 +476,14 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
%if %{with_qt5}
%files -n python3-matplotlib-qt5
%{python3_sitearch}/matplotlib/backends/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/backend_qt5agg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
%endif # with_qt5
%files -n python3-matplotlib-tk
%{python3_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
@ -437,6 +493,18 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \
%endif
%changelog
* Tue Feb 17 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.4.3-2
- Disable Qt5 backend on Fedora <21 and RHEL
* Tue Feb 17 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.4.3-1
- New upstream release
- Add Qt5 backend
* Tue Jan 13 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.4.2-1
- Bump to new upstream release
- Add qhull-devel to BR
- Add six to Requires
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild