Compare commits

...

55 Commits
f17 ... f22

Author SHA1 Message Date
Thomas Spura
53aef6c52e Remove spurious Provides: bundled(agg) 2016-04-04 13:28:22 +02:00
Thomas Spura
8e6fb6a047 Require the qt5 subpackage from the qt4 subpackage (#1219556) 2016-04-04 12:40:34 +02:00
Thomas Spura
95c4d0eaf5 Use bundled version of agg
This was discussed in bug #1276806 and the agg package (which is incompatible
to matplotlib's version anyway) will be retired.
2016-04-04 12:33:40 +02:00
Thomas Spura
cfae272b51 Use github sources in generate-tarball 2016-04-04 12:29:44 +02:00
Fedora Release Engineering
c901c6602b - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 20:08:25 +00:00
Thomas Spura
96f1b73a85 Fix another requires of the main package 2016-01-13 10:37:45 +01:00
Thomas Spura
e065ba8c72 Bump release 2016-01-07 19:16:00 +01:00
Thomas Spura
108153e46c Fix requiring the correct backend from the main package 2016-01-07 19:14:44 +01:00
Thomas Spura
69fbdf849b regenerate tarball to exclude lena image (#1295174) 2016-01-07 10:50:10 +01:00
Thomas Spura
a0ff1b7b0d Add python2 subpackages and use python_provide 2015-11-15 14:45:49 +01:00
Thomas Spura
a9a2c96250 Replace tabs with spaces 2015-11-15 14:16:29 +01:00
Thomas Spura
5ddd160fd3 Pick upstream patch for fixing the gdk backend #1231748 2015-11-15 14:15:25 +01:00
Peter Robinson
13c730c10e - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 2015-11-10 16:21:49 +00:00
Dennis Gilmore
13ef95ae8f - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-18 19:53:45 +00:00
Kalev Lember
b7fd65cd9f Rebuilt for GCC 5 C++11 ABI change 2015-05-02 16:58:37 +02:00
Zbigniew Jędrzejewski-Szmek
b9a2f5516d Modernize macro usage 2015-02-26 00:19:20 -05:00
Zbigniew Jędrzejewski-Szmek
9411cfc02e Use one dir for Python 2 and 3 builds
Because of __pycache__ and .so suffix in Python 3, nothing should conflict.
2015-02-26 00:19:20 -05:00
Zbigniew Jędrzejewski-Szmek
9c2074e497 Split out more backend subpackages 2015-02-25 23:42:38 -05:00
Zbigniew Jędrzejewski-Szmek
732ad8bbfe Simplify ifdeffery a bit 2015-02-25 21:38:17 -05:00
Zbigniew Jędrzejewski-Szmek
8c9cc20e2a Use %license 2015-02-25 00:16:39 -05:00
Zbigniew Jędrzejewski-Szmek
76883b8317 Add dependency on python-scikit-image, dot, tex-preview
It seems to be used in documentation generation.
2015-02-25 00:16:19 -05:00
Zbigniew Jędrzejewski-Szmek
98dd5e3da2 New sources 2015-02-24 23:07:02 -05:00
Zbigniew Jędrzejewski-Szmek
dd3b8abfa9 Pull in changes from https://github.com/QuLogic/rpmbuild-specs 2015-02-24 22:17:01 -05:00
Peter Robinson
3d4898c537 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 21:24:49 +00:00
Dennis Gilmore
3b5c19b1c1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 16:20:47 -05:00
Jaroslav Škarvada
d42870f60f - Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 2014-05-21 12:33:05 +02:00
Slavek Kabrda
68e041327a Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 2014-05-16 13:40:58 +02:00
pcpa
7731b0f8b4 Make TkAgg the default backend 2014-02-11 12:17:25 -02:00
pcpa
8736c81a32 Disable check because it randomly fails in koji build 2014-01-28 16:05:45 -02:00
pcpa
12e8a6231d Cconditionally to bundle fonts (#1047559) 2014-01-28 14:50:22 -02:00
Thomas Spura
b69e56e8d0 Also actually add setup.cfg 2014-01-25 17:22:54 +01:00
Thomas Spura
be26c9bf21 Update to 1.3.1 and use GTKAgg backend
bugs closed: #1030396, #982793, #1049624
2014-01-25 17:06:52 +01:00
Thomas Spura
f7ffbd877f BR: python-numpydoc when building html docs 2013-08-08 11:29:07 +02:00
Thomas Spura
14b1524911 Also fix day of last changelog entry 2013-08-07 15:59:17 +02:00
Thomas Spura
674876c696 Fix Changelog date entry 2013-08-07 15:58:02 +02:00
Thomas Spura
81fc2e8024 update to new version
- use xz to compress sources
- drop fontconfig patch (upstream)
- drop tk patch (upstream solved build issue differently)
- redo use system agg patch
- delete bundled python-pycxx headers
- fix requires of python3-matplotlib-qt (fixes #988412)
2013-08-07 15:53:33 +02:00
Dennis Gilmore
0a7be6ae46 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-04 03:23:38 -05:00
Jon Ciesla
e5fc5ec392 agg rebuild. 2013-06-10 08:13:13 -05:00
Thomas Spura
90bbb1ede9 include __pycache__ files in correct subpackages on python3 2013-04-11 09:48:33 +02:00
Thomas Spura
c4143b65b0 use python3 version in python3-matplotlib-qt4 (#915727) 2013-04-10 15:58:01 +02:00
Thomas Spura
83a27676aa Decode output of subprocess to utf-8 or regex will fail (#928326) 2013-04-03 02:24:20 +02:00
pcpa
adaf51ea57 Stix-fonts are a requires, not build requires 2013-04-02 13:26:23 -03:00
pcpa
ab00be2ba0 Make stix-fonts a requires of matplotlib (#928326) 2013-04-02 13:20:33 -03:00
pcpa
b2c1943ea5 Correct rhbz #908717, #912843 and #928326 2013-03-28 16:13:18 -03:00
Dennis Gilmore
c89b645d96 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 13:50:08 -06:00
pcpa
b58a0f66d3 Address side effects of using fontconfig by default 2013-01-16 18:49:17 -02:00
pcpa
eb9a122389 Use fontconfig by default (#885307) 2013-01-16 13:59:10 -02:00
David Malcolm
11c0529c89 remove wx support for rhel >= 7 2013-01-03 15:16:14 -05:00
pcpa
bce7fc7101 Do not run install under xvfb-run, it causes koji build to fail. 2012-12-05 00:16:10 -02:00
pcpa
f2d3f53a8d 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.
2012-12-04 23:31:08 -02:00
pcpa
03883d02e8 Obsolete python-matplotlib-wx for clean updates.
The python-matplotlib-wx package was only two python files (sans pyc & pyo),
that actually now are merged in the main package. This is a packaging issue
that should be corrected by also adding extra backend subpackages, but those
need extra packages in fedora. There are actually several other backends
that were in the main package, but the ones with .so files are split (main
package and tk backend).
2012-11-27 20:04:23 -02:00
pcpa
5e8c5cddc3 Update metadata after fedpkg new-sources 2012-11-27 18:24:48 -02:00
pcpa
cfeed65034 Update to matplotlib 1.2.0 (#837156) 2012-11-27 18:01:54 -02:00
Dennis Gilmore
8a5f96fc9d - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-21 02:08:31 -05:00
David Malcolm
2114656575 1.0.1-20: remove wx support for rhel >= 7
* Wed Apr 18 2012 David Malcolm <dmalcolm@redhat.com> - 1.0.1-20
- remove wx support for rhel >= 7
2012-04-18 16:25:06 -04:00
17 changed files with 881 additions and 607 deletions

5
.gitignore vendored
View File

@@ -1,3 +1,8 @@
matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-1.0.1-without-gpc.tar.gz
/mpl_sampledata-1.0.1.tar.gz
/matplotlib-1.2.0-without-gpc.tar.gz
/matplotlib-1.3.0-without-gpc.tar.xz
/matplotlib-1.3.1-without-gpc.tar.xz
/matplotlib-1.4.3-without-gpc.tar.xz
/matplotlib-1.4.3-without-extern.tar.xz

View File

@@ -1,188 +0,0 @@
--- a/lib/matplotlib/axes.py
+++ b/lib/matplotlib/axes.py
@@ -2679,18 +2679,20 @@ class Axes(martist.Artist):
def xaxis_date(self, tz=None):
"""Sets up x-axis ticks and labels that treat the x data as dates.
- *tz* is the time zone to use in labeling dates. Defaults to rc value.
+ *tz* is a timezone string or :class:`tzinfo` instance.
+ Defaults to rc value.
"""
# should be enough to inform the unit conversion interface
- # dates are comng in
- self.xaxis.axis_date()
+ # dates are coming in
+ self.xaxis.axis_date(tz)
def yaxis_date(self, tz=None):
"""Sets up y-axis ticks and labels that treat the y data as dates.
- *tz* is the time zone to use in labeling dates. Defaults to rc value.
+ *tz* is a timezone string or :class:`tzinfo` instance.
+ Defaults to rc value.
"""
- self.yaxis.axis_date()
+ self.yaxis.axis_date(tz)
def format_xdata(self, x):
"""
@@ -3808,7 +3810,7 @@ class Axes(martist.Artist):
*fmt*: string
The plot format string.
- *tz*: [ None | timezone string ]
+ *tz*: [ None | timezone string | :class:`tzinfo` instance]
The time zone to use in labeling dates. If *None*, defaults to rc
value.
diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py
index 85e078c..a825d8e 100644
--- a/lib/matplotlib/axis.py
+++ b/lib/matplotlib/axis.py
@@ -1249,21 +1249,21 @@ class Axis(artist.Artist):
def update_units(self, data):
"""
introspect *data* for units converter and update the
- axis.converter instance if necessary. Return *True* is *data* is
- registered for unit conversion
+ axis.converter instance if necessary. Return *True*
+ if *data* is registered for unit conversion.
"""
converter = munits.registry.get_converter(data)
- if converter is None: return False
+ if converter is None:
+ return False
neednew = self.converter!=converter
self.converter = converter
default = self.converter.default_units(data, self)
- #print 'update units: default="%s", units=%s"'%(default, self.units)
+ #print 'update units: default=%s, units=%s'%(default, self.units)
if default is not None and self.units is None:
self.set_units(default)
-
if neednew:
self._update_axisinfo()
return True
@@ -1484,14 +1484,21 @@ class Axis(artist.Artist):
self.major.locator.zoom(direction)
- def axis_date(self):
+ def axis_date(self, tz=None):
"""
Sets up x-axis ticks and labels that treat the x data as dates.
+ *tz* is a :class:`tzinfo` instance or a timezone string.
+ This timezone is used to create date labels.
"""
+ # By providing a sample datetime instance with the desired
+ # timezone, the registered converter can be selected,
+ # and the "units" attribute, which is the timezone, can
+ # be set.
import datetime
- # should be enough to inform the unit conversion interface
- # dates are comng in
- self.update_units(datetime.date(2009,1,1))
+ if isinstance(tz, (str, unicode)):
+ import pytz
+ tz = pytz.timezone(tz)
+ self.update_units(datetime.datetime(2009,1,1,0,0,0,0,tz))
class XAxis(Axis):
diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py
index 7a2f9f3..9018315 100644
--- a/lib/matplotlib/dates.py
+++ b/lib/matplotlib/dates.py
@@ -1104,15 +1104,26 @@ def weeks(w):
class DateConverter(units.ConversionInterface):
- """The units are equivalent to the timezone."""
+ """
+ Converter for datetime.date and datetime.datetime data,
+ or for date/time data represented as it would be converted
+ by :func:`date2num`.
+
+ The 'unit' tag for such data is None or a tzinfo instance.
+ """
@staticmethod
def axisinfo(unit, axis):
- 'return the unit AxisInfo'
- # make sure that the axis does not start at 0
+ """
+ Return the :class:`~matplotlib.units.AxisInfo` for *unit*.
+
+ *unit* is a tzinfo instance or None.
+ The *axis* argument is required but not used.
+ """
+ tz = unit
- majloc = AutoDateLocator(tz=unit)
- majfmt = AutoDateFormatter(majloc, tz=unit)
+ majloc = AutoDateLocator(tz=tz)
+ majfmt = AutoDateFormatter(majloc, tz=tz)
datemin = datetime.date(2000, 1, 1)
datemax = datetime.date(2010, 1, 1)
@@ -1121,12 +1132,28 @@ class DateConverter(units.ConversionInterface):
@staticmethod
def convert(value, unit, axis):
- if units.ConversionInterface.is_numlike(value): return value
+ """
+ If *value* is not already a number or sequence of numbers,
+ convert it with :func:`date2num`.
+
+ The *unit* and *axis* arguments are not used.
+ """
+ if units.ConversionInterface.is_numlike(value):
+ return value
return date2num(value)
@staticmethod
def default_units(x, axis):
- 'Return the default unit for *x* or None'
+ 'Return the tzinfo instance of *x* or of its first element, or None'
+ try:
+ x = x[0]
+ except (TypeError, IndexError):
+ pass
+
+ try:
+ return x.tzinfo
+ except AttributeError:
+ pass
return None
diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py
index 700363a..59b570e 100644
--- a/lib/matplotlib/units.py
+++ b/lib/matplotlib/units.py
@@ -7,8 +7,8 @@ objects, eg a list of datetime objects, as well as for objects that
are unit aware. We don't assume any particular units implementation,
rather a units implementation must provide a ConversionInterface, and
the register with the Registry converter dictionary. For example,
-here is a complete implementation which support plotting with native
-datetime objects
+here is a complete implementation which supports plotting with native
+datetime objects::
import matplotlib.units as units
@@ -48,7 +48,7 @@ from matplotlib.cbook import iterable, is_numlike, is_string_like
class AxisInfo:
'information to support default axis labeling and tick labeling, and default limits'
def __init__(self, majloc=None, minloc=None,
- majfmt=None, minfmt=None, label=None,
+ majfmt=None, minfmt=None, label=None,
default_limits=None):
"""
majloc and minloc: TickLocators for the major and minor ticks
--
1.7.6.2

View File

@@ -0,0 +1,29 @@
Description: Fixes the path to search for matplotlibrc file
Forwarded: not-needed
Author: Sandro Tosi <morph@debian.org>
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -658,10 +658,12 @@ def _get_data_path():
raise RuntimeError('Path in environment MATPLOTLIBDATA not a directory')
return path
- path = os.sep.join([os.path.dirname(__file__), 'mpl-data'])
+ path = '/usr/share/matplotlib/mpl-data'
if os.path.isdir(path):
return path
+ raise RuntimeError('Could not find the matplotlib data files')
+
# setuptools' namespace_packages may highjack this init file
# so need to try something known to be in matplotlib, not basemap
import matplotlib.afm
@@ -786,7 +788,7 @@ def matplotlib_fname():
home, '.matplotlib', 'matplotlibrc')
return fname
- path = get_data_path() # guaranteed to exist or raise
+ path = '/etc' # guaranteed to exist or raise
fname = os.path.join(path, 'matplotlibrc')
if not os.path.exists(fname):
warnings.warn('Could not find matplotlibrc; using defaults')

View File

@@ -0,0 +1,14 @@
Description: minor glitch in draw_markers() description
Author: Jakub Wilk <jwilk@debian.org>
--- a/doc/api/api_changes.rst
+++ b/doc/api/api_changes.rst
@@ -1143,7 +1143,7 @@ New methods:
* :meth:`draw_markers(self, gc, marker_path, marker_trans, path,
trans, rgbFace)
- <matplotlib.backend_bases.RendererBase.draw_markers`
+ <matplotlib.backend_bases.RendererBase.draw_markers>`
* :meth:`draw_path_collection(self, master_transform, cliprect,
clippath, clippath_trans, paths, all_transforms, offsets,

View File

@@ -0,0 +1,50 @@
Description: don't separate param and its argument with a space
--- a/lib/mpl_toolkits/axes_grid1/axes_divider.py
+++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py
@@ -201,12 +201,12 @@ class Divider(object):
def locate(self, nx, ny, nx1=None, ny1=None, axes=None, renderer=None):
"""
- :param nx, nx1: Integers specifying the column-position of the
+ :param nx,nx1: Integers specifying the column-position of the
cell. When nx1 is None, a single nx-th column is
specified. Otherwise location of columns spanning between nx
to nx1 (but excluding nx1-th column) is specified.
- :param ny, ny1: same as nx and nx1, but for row positions.
+ :param ny,ny1: same as nx and nx1, but for row positions.
"""
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.
- :param nx, nx1: Integers specifying the column-position of the
+ :param nx,nx1: Integers specifying the column-position of the
cell. When nx1 is None, a single nx-th column is
specified. Otherwise location of columns spanning between nx
to nx1 (but excluding nx1-th column) is specified.
- :param ny, ny1: same as nx and nx1, but for row positions.
+ :param ny,ny1: same as nx and nx1, but for row positions.
"""
return AxesLocator(self, nx, ny, nx1, ny1)
@@ -298,12 +298,12 @@ class AxesLocator(object):
"""
:param axes_divider: An instance of AxesDivider class.
- :param nx, nx1: Integers specifying the column-position of the
+ :param nx,nx1: Integers specifying the column-position of the
cell. When nx1 is None, a single nx-th column is
specified. Otherwise location of columns spanning between nx
to nx1 (but excluding nx1-th column) is is specified.
- :param ny, ny1: same as nx and nx1, but for row positions.
+ :param ny,ny1: same as nx and nx1, but for row positions.
"""
self._axes_divider = axes_divider

View File

@@ -0,0 +1,19 @@
Description: Try to use also StayPuft (a free font) for xkcd
Author: Sandro Tosi <morph@debian.org>
Origin: vendor
Bug: http://bugs.debian.org/720549
Forwarded: not-needed
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
@@ -301,7 +301,7 @@ def xkcd(scale=1, length=100, randomness
from matplotlib import patheffects
context = rc_context()
try:
- rcParams['font.family'] = ['Humor Sans', 'Comic Sans MS']
+ rcParams['font.family'] = ['Humor Sans', 'Comic Sans MS', 'StayPuft']
rcParams['font.size'] = 14.0
rcParams['path.sketch'] = (scale, length, randomness)
rcParams['path.effects'] = [

View File

@@ -6,14 +6,16 @@ version=$1
dir=matplotlib-${version}
file=matplotlib-${version}.tar.gz
result=matplotlib-${version}-without-gpc.tar.gz
file=v${version}.tar.gz
result=matplotlib-${version}-without-extern.tar.xz
wget -vc http://downloads.sourceforge.net/matplotlib/$file
test -f $file || wget -v https://github.com/matplotlib/matplotlib/archive/$file
rm -rf matplotlib-${version}
tar xzf $file
rm matplotlib-${version}/agg24/include/agg_conv_gpc.h
rm -vr matplotlib-${version}/extern/qhull
rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/lena.*
rm -f $result
tar czf $result $dir
tar cJf $result $dir

View File

@@ -1,82 +0,0 @@
diff -up matplotlib-1.0.1/MANIFEST.in.noagg matplotlib-1.0.1/MANIFEST.in
--- matplotlib-1.0.1/MANIFEST.in.noagg 2010-07-06 19:41:55.000000000 -0600
+++ matplotlib-1.0.1/MANIFEST.in 2011-05-20 15:45:38.337580769 -0600
@@ -18,6 +18,5 @@ recursive-include examples *
recursive-include doc *
recursive-include src *.cpp *.c *.h *.m
recursive-include CXX *.cxx *.hxx *.c *.h
-recursive-include agg24 *
recursive-include lib *
recursive-include ttconv *.cpp *.h
diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py
--- matplotlib-1.0.1/setupext.py.noagg 2010-07-06 19:41:55.000000000 -0600
+++ matplotlib-1.0.1/setupext.py 2011-05-20 16:11:56.977764688 -0600
@@ -104,7 +104,6 @@ BUILT_GDK = False
BUILT_PATH = False
BUILT_TRI = False
-AGG_VERSION = 'agg24'
TCL_TK_CACHE = None
# for nonstandard installation/build with --prefix variable
@@ -551,7 +550,8 @@ def add_agg_flags(module):
# before adding the freetype flags since -z comes later
add_base_flags(module)
add_numpy_flags(module)
- module.include_dirs.extend(['src', '%s/include'%AGG_VERSION, '.'])
+ module.include_dirs.extend(['src', '/usr/include/agg2', '.'])
+ module.libraries.append('agg')
# put these later for correct link order
module.libraries.extend(std_libs)
@@ -1251,17 +1251,7 @@ def build_agg(ext_modules, packages):
global BUILT_AGG
if BUILT_AGG: return # only build it if you you haven't already
- agg = (
- 'agg_trans_affine.cpp',
- 'agg_bezier_arc.cpp',
- 'agg_curves.cpp',
- 'agg_vcgen_dash.cpp',
- 'agg_vcgen_stroke.cpp',
- 'agg_image_filters.cpp',
- )
-
- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg]
- deps.extend(['src/mplutils.cpp', 'src/agg_py_transforms.cpp'])
+ deps = ['src/mplutils.cpp', 'src/agg_py_transforms.cpp']
deps.extend(glob.glob('CXX/*.cxx'))
deps.extend(glob.glob('CXX/*.c'))
temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp')
@@ -1284,15 +1274,7 @@ def build_path(ext_modules, packages):
global BUILT_PATH
if BUILT_PATH: return # only build it if you you haven't already
- agg = (
- 'agg_curves.cpp',
- 'agg_bezier_arc.cpp',
- 'agg_trans_affine.cpp',
- 'agg_vcgen_stroke.cpp',
- )
-
- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg]
- deps.extend(glob.glob('CXX/*.cxx'))
+ deps = glob.glob('CXX/*.cxx')
deps.extend(glob.glob('CXX/*.c'))
temp_copy('src/_path.cpp', 'src/path.cpp')
@@ -1317,14 +1299,8 @@ def build_image(ext_modules, packages):
global BUILT_IMAGE
if BUILT_IMAGE: return # only build it if you you haven't already
- agg = ('agg_trans_affine.cpp',
- 'agg_image_filters.cpp',
- 'agg_bezier_arc.cpp',
- )
-
temp_copy('src/_image.cpp', 'src/image.cpp')
deps = ['src/image.cpp', 'src/mplutils.cpp']
- deps.extend(['%s/src/%s'%(AGG_VERSION,name) for name in agg])
deps.extend(glob.glob('CXX/*.cxx'))
deps.extend(glob.glob('CXX/*.c'))

View File

@@ -1,12 +0,0 @@
diff -uNr matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py
--- matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:42:08.000000000 +0900
+++ matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:44:48.000000000 +0900
@@ -346,7 +346,7 @@
del options['nofigs']
formats = setup.config.plot_formats
- if type(formats) == str:
+ if type(formats) == str or type(formats) == unicode:
formats = eval(formats)
fname = os.path.basename(plot_path)

View File

@@ -1,12 +0,0 @@
diff -up matplotlib-1.0.1/setupext.py.tkinter matplotlib-1.0.1/setupext.py
--- matplotlib-1.0.1/setupext.py.tkinter 2011-10-31 14:58:44.000000000 +0100
+++ matplotlib-1.0.1/setupext.py 2011-10-31 14:59:14.000000000 +0100
@@ -829,7 +829,7 @@ def check_for_tk():
if gotit:
print_status("Tkinter", "Tkinter: %s, Tk: %s, Tcl: %s" %
- (Tkinter.__version__.split()[-2], Tkinter.TkVersion, Tkinter.TclVersion))
+ (Tkinter.__version__, Tkinter.TkVersion, Tkinter.TclVersion))
else:
print_status("Tkinter", "no")
if explanation is not None:

View File

@@ -0,0 +1,32 @@
From 2e445c2c4f66f1e0de9779a3fd966aaf8d8ed2c5 Mon Sep 17 00:00:00 2001
From: Thomas A Caswell <tcaswell@gmail.com>
Date: Sun, 17 May 2015 23:45:44 -0400
Subject: [PATCH] Merge pull request #4439 from tswsl1989/restrict_dict_gdk
FIX : Import cbook.restrict_dict into backend_gdk
---
lib/matplotlib/backends/backend_gdk.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/matplotlib/backends/backend_gdk.py b/lib/matplotlib/backends/backend_gdk.py
index fc705fe..024c27e 100644
--- a/lib/matplotlib/backends/backend_gdk.py
+++ b/lib/matplotlib/backends/backend_gdk.py
@@ -26,7 +26,7 @@ def fn_name(): return sys._getframe(1).f_code.co_name
from matplotlib._pylab_helpers import Gcf
from matplotlib.backend_bases import RendererBase, GraphicsContextBase, \
FigureManagerBase, FigureCanvasBase
-from matplotlib.cbook import is_string_like
+from matplotlib.cbook import is_string_like, restrict_dict
from matplotlib.figure import Figure
from matplotlib.mathtext import MathTextParser
from matplotlib.transforms import Affine2D
@@ -477,7 +477,7 @@ def _print_image(self, filename, format, *args, **kwargs):
# set the default quality, if we are writing a JPEG.
# http://www.pygtk.org/docs/pygtk/class-gdkpixbuf.html#method-gdkpixbuf--save
- options = cbook.restrict_dict(kwargs, ['quality'])
+ options = restrict_dict(kwargs, ['quality'])
if format in ['jpg','jpeg']:
if 'quality' not in options:
options['quality'] = rcParams['savefig.jpeg_quality']

View File

@@ -0,0 +1,33 @@
--- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200
+++ setupext.py 2013-08-02 09:40:14.785304342 +0200
@@ -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('extern/agg24/include')
- agg_sources = [
- 'agg_bezier_arc.cpp',
- 'agg_curves.cpp',
- 'agg_image_filters.cpp',
- 'agg_trans_affine.cpp',
- 'agg_vcgen_contour.cpp',
- 'agg_vcgen_dash.cpp',
- 'agg_vcgen_stroke.cpp',
- 'agg_vpgen_segmentator.cpp'
- ]
- ext.sources.extend(
- os.path.join('extern', 'agg24', 'src', x) for x in agg_sources)
+ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
class FreeType(SetupPackage):

View File

@@ -0,0 +1,18 @@
--- setupext.py.orig 2014-01-25 15:06:39.460916454 +0100
+++ setupext.py 2014-01-25 15:06:53.080946205 +0100
@@ -841,15 +841,6 @@
name = 'pycxx'
def check(self):
- if PY3:
- # There is no version of PyCXX in the wild that will work
- # 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 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

@@ -1,208 +1,733 @@
%if ! (0%{?rhel} > 5)
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%if 0%{?fedora} >= 18
%global with_python3 1
%global basepy3dir %(echo ../`basename %{py3dir}`)
%else
%global with_python3 0
%endif
%global __provides_exclude_from .*/site-packages/.*\\.so$
%global with_html 1
%global run_tests 0
# On RHEL 7 onwards, don't build with wx:
%if 0%{?rhel} >= 7
%global with_wx 0
%else
%global with_wx 1
%endif
%{?filter_setup:
%filter_provides_in %{python_sitearch}/.*\.so$
%filter_setup
}
# On Fedora 21 onwards, enable Qt5 backend:
%if 0%{?fedora} >= 21
%global with_qt5 1
%else
%global with_qt5 0
%endif
# We include capability for building a doc subpackage for
# documentation. However, building the html documentation requires
# python-basemap, and python-basemap requires python-matplotlib to build, so
# we have a circular dependence, and so we need to be able to turn off
# building of the html documents. Note that when building the html docs,
# python-basemap will pull in the existing python-matplotlib from the
# repos. So, it's important to set PYTHONPATH to use the newly built modules
# from this package.
%global withhtmldocs 1
# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
%global backend TkAgg
%if "%{backend}" == "TkAgg"
%global backend_subpackage tk
%else
% if "%{backend}" == "Qt4Agg"
%global backend_subpackage qt4
% else
% if "%{backend}" == "Qt5Agg"
%global backend_subpackage qt5
% endif
% endif
%endif
# https://fedorahosted.org/fpc/ticket/381
%global with_bundled_fonts 1
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
Name: python-matplotlib
Version: 1.0.1
Release: 19%{?dist}
Summary: Python plotting library
Version: 1.4.3
Release: 13%{?dist}
Summary: Python 2D plotting library
Group: Development/Libraries
License: Python
URL: http://sourceforge.net/projects/matplotlib
#Modified Sources to remove the one undistributable file
#See generate-tarball.sh in fedora cvs repository for logic
#sha1sum matplotlib-1.0.1-without-gpc.tar.gz
#a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz
Source0: matplotlib-%{version}-without-gpc.tar.gz
%if %{withhtmldocs}
Source1: http://downloads.sourceforge.net/matplotlib/mpl_sampledata-%{version}.tar.gz
%endif
Source2: setup.cfg
# This patch taken from upstream SVN and will not be needed for releases later than 1.0.1
Patch0: matplotlib-1.0.1-plot_directive.patch
Patch1: matplotlib-1.0.1-noagg.patch
Patch2: 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch
# fix build when Tkinter doesn't return an expected value in __version__ (FTBFS)
Patch3: matplotlib-1.0.1-tkinter.patch
# qt4_editor backend is MIT
License: Python and MIT
URL: http://matplotlib.org
#Modified Sources to remove the bundled libraries
Source0: matplotlib-%{version}-without-extern.tar.xz
Source1: setup.cfg
# Fix building against libpng 1.5
# https://github.com/matplotlib/matplotlib/issues/234
# Based on:
# https://github.com/matplotlib/matplotlib/commit/45c46672648e3b4a277bf7ff42b3baf56a98bcec
Patch4: use-png-accessor-functions.patch
Patch0: %{name}-noagg.patch
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: 70_bts720549_try_StayPuft_for_xkcd.patch
Patch6: matplotlib-1.4.3-cbook.restrict_dict.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel
BuildRequires: pygtk2-devel, gtk2-devel
BuildRequires: pytz, python-dateutil, numpy
BuildRequires: agg-devel
BuildRequires: freetype-devel
BuildRequires: libpng-devel
BuildRequires: qhull-devel
BuildRequires: python-six
BuildRequires: numpy
BuildRequires: pyparsing
Requires: numpy, pytz, python-dateutil
Requires: pycairo >= 1.2.0
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: pyparsing
BuildRequires: python-pycxx-devel
BuildRequires: python-dateutil
BuildRequires: python-setuptools
%if %{with_html}
BuildRequires: python-numpydoc
BuildRequires: python-scikit-image
%endif
%if %{run_tests}
BuildRequires: python-nose
%if %{with_python3}
BuildRequires: python3-nose
%endif
%endif
BuildRequires: python2-devel
BuildRequires: pytz
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
%description
Matplotlib is a pure python plotting library with the goal of making
publication quality plots using a syntax familiar to Matlab users. The
library uses numpy for handling large data sets and supports a variety
of output back-ends.
Matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package tk
%package -n python2-matplotlib
Summary: Python 2D plotting library
%{?python_provide:%python_provide python2-matplotlib}
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: python-six
Requires: numpy
Requires: pyparsing
Requires: python-dateutil
Requires: pytz
%if 0%{?fedora} >= 18
Requires: stix-math-fonts
%else
Requires: stix-fonts
%endif
Requires: %{name}-data = %{version}-%{release}
%{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}}
%description -n python2-matplotlib
Matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python2-matplotlib-qt4
%{?python_provide:%python_provide python2-matplotlib-qt4}
Summary: Qt4 backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: python2-matplotlib-qt5
BuildRequires: PyQt4-devel
Requires: PyQt4
%description -n python2-matplotlib-qt4
%{summary}
%if %{with_qt5}
%package -n python2-matplotlib-qt5
%{?python_provide:%python_provide python2-matplotlib-qt5}
Summary: Qt5 backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: python-qt5
Requires: python-qt5
%description -n python2-matplotlib-qt5
%{summary}
%endif # with_qt5
%package -n python2-matplotlib-gtk
%{?python_provide:%python_provide python2-matplotlib-gtk}
Summary: GTK backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: gtk2-devel
BuildRequires: pygtk2-devel
BuildRequires: pycairo-devel
Requires: pycairo
Requires: pygtk2
%description -n python2-matplotlib-gtk
%{summary}
%package -n python2-matplotlib-gtk3
%{?python_provide:%python_provide python2-matplotlib-gtk3}
Summary: GTK3 backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
# This should be converted to typelib(Gtk) when supported
BuildRequires: gtk3
BuildRequires: pygobject3-base
Requires: gtk3%{?_isa}
Requires: pygobject3-base%{?_isa}
%description -n python2-matplotlib-gtk3
%{summary}
%package -n python2-matplotlib-tk
%{?python_provide:%python_provide python2-matplotlib-tk}
Summary: Tk backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: tkinter, tk-devel
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: tcl-devel
BuildRequires: tkinter
BuildRequires: tk-devel
Requires: tkinter
%description tk
%description -n python2-matplotlib-tk
%{summary}
%package wx
%if %{with_wx}
%package -n python2-matplotlib-wx
%{?python_provide:%python_provide python2-matplotlib-wx}
Summary: wxPython backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: wxPython
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: wxPython-devel
Requires: wxPython
%description wx
%description -n python2-matplotlib-wx
%{summary}
%endif # with_wx
%package doc
%package -n python2-matplotlib-doc
%{?python_provide:%python_provide python2-matplotlib-doc}
Summary: Documentation files for python-matplotlib
Group: Documentation
Requires: %{name}%{?_isa} = %{version}-%{release}
%if %{withhtmldocs}
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%if %{with_html}
BuildRequires: python-sphinx
BuildRequires: tex(latex)
BuildRequires: tex-preview
BuildRequires: dvipng
BuildRequires: PyQt4
BuildRequires: python-basemap
# Some of the docs don't build as python-xlwt is needed. However the review
# request isn't yet complete for this package. See:
# https://bugzilla.redhat.com/show_bug.cgi?id=613766
# BuildRequires: python-xlwt
BuildRequires: graphviz
%endif
%description doc
%description -n python2-matplotlib-doc
%{summary}
%prep
%if %{withhtmldocs}
%setup -q -n matplotlib-%{version} -b1
%else
%setup -q -n matplotlib-%{version}
%package -n python-matplotlib-data
%{?python_provide:%python_provide python-matplotlib-data}
Summary: Data used by python-matplotlib
%if %{with_bundled_fonts}
Requires: python-matplotlib-data-fonts = %{version}-%{release}
%endif
%patch0 -p1
%patch2 -p1
%patch3 -p1 -b .tkinter
%patch4 -p1
BuildArch: noarch
# Remove bundled libraries
rm -r agg24 lib/matplotlib//pyparsing.py
%description -n python-matplotlib-data
%{summary}
%if %{with_bundled_fonts}
%package -n python-matplotlib-data-fonts
%{?python_provide:%python_provide python-matplotlib-data-fonts}
Summary: Fonts used by python-matplotlib
Requires: python-matplotlib-data = %{version}-%{release}
BuildArch: noarch
%description -n python-matplotlib-data-fonts
%{summary}
%endif
%if %{with_python3}
%package -n python3-matplotlib
%{?python_provide:%python_provide python3-matplotlib}
Summary: Python 2D plotting library
Group: Development/Libraries
BuildRequires: python3-cairo
BuildRequires: python3-dateutil
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-gobject
BuildRequires: python3-numpy
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
Requires: python3-dateutil
Requires: python3-pytz
%if 0%{?fedora} >= 18
Requires: stix-math-fonts
%else
Requires: stix-fonts
%endif
Requires: %{name}-data = %{version}-%{release}
Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
%description -n python3-matplotlib
Matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python3-matplotlib-qt4
%{?python_provide:%python_provide python3-matplotlib-qt4}
Summary: Qt4 backend for python3-matplotlib
Group: Development/Libraries
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-matplotlib-qt5
BuildRequires: python3-PyQt4-devel
Requires: python3-PyQt4
%description -n python3-matplotlib-qt4
%{summary}
%if %{with_qt5}
%package -n python3-matplotlib-qt5
%{?python_provide:%python_provide 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
# gtk2 never worked in Python 3 afaict, so no need for -gtk subpackage
%package -n python3-matplotlib-gtk3
%{?python_provide:%python_provide python3-matplotlib-gtk3}
Summary: GTK3 backend for python3-matplotlib
Group: Development/Libraries
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
# This should be converted to typelib(Gtk) when supported
BuildRequires: gtk3
BuildRequires: python3-gobject
Requires: gtk3%{?_isa}
Requires: python3-gobject%{?_isa}
%description -n python3-matplotlib-gtk3
%{summary}
%package -n python3-matplotlib-tk
%{?python_provide:%python_provide python3-matplotlib-tk}
Summary: Tk backend for python3-matplotlib
Group: Development/Libraries
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: python3-tkinter
Requires: python3-tkinter
%description -n python3-matplotlib-tk
%{summary}
%endif
%prep
%setup -q -n matplotlib-%{version}
# Copy setup.cfg to the builddir
sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1}
# Keep this until next version, and increment if changing from
# 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.4.3 ]; then
sed -i 's/\(__version__ = 101\)/\1.1/' lib/matplotlib/font_manager.py
fi
%if !%{with_bundled_fonts}
# Use fontconfig by default
sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
%endif
# Remove references to bundled libraries
%patch1 -p1 -b .noagg
sed -i -e s/matplotlib\.pyparsing/pyparsing/g lib/matplotlib/*.py
%patch0 -b .noagg
%patch1 -b .cxx
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
chmod -x lib/matplotlib/mpl-data/images/*.svg
cp %{SOURCE2} ./setup.cfg
%if %{withhtmldocs}
pushd doc
echo "examples.download : False" >> matplotlibrc
echo "examples.directory : %{_builddir}/mpl_sampledata-%{version}" >> matplotlibrc
popd
%endif
%build
%{__python} setup.py build
%if %{withhtmldocs}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python2} setup.py build
%if %{with_html}
# Need to make built matplotlib libs available for the sphinx extensions:
pushd doc
# Set PYTHONPATH in order to use the just built modules
export PYTHONPATH=`find %{_builddir} -name lib.linux*`
# This really does need to be ran twice
%{__python} make.py --small html && %{__python} make.py --small html
rm -f build/html/.buildinfo
chmod -x build/html/pyplots/make.py
sed -i 's/\r//' build/html/_sources/devel/add_new_projection.txt
sed -i 's/\r//' build/html/examples/api/font_family_rc.py
MPLCONFIGDIR=$PWD/.. \
MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \
PYTHONPATH=`realpath ../build/lib.linux*` \
%{__python2} make.py html
popd
%endif
# Ensure all example files are non-executable so that the -doc package doesn't
# drag in dependencies
# Ensure all example files are non-executable so that the -doc
# package doesn't drag in dependencies
find examples -name '*.py' -exec chmod a-x '{}' \;
# Fix line ending in this example file
sed -i 's/\r//' examples/api/font_family_rc.py
%if %{with_python3}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python3} setup.py build
# documentation cannot be built with python3 due to syntax errors
# and building with python 2 exits with cryptic error messages
%endif
%install
rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT
chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py
rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc README.txt license/LICENSE license/LICENSE_enthought.txt
%doc license/LICENSE_PAINT license/LICENSE_PIL
%doc CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS
%doc PKG-INFO TODO
%if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
%{python_sitearch}/*egg-info
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \
%{buildroot}%{_sysconfdir}
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \
%{buildroot}%{_datadir}/matplotlib
%if !%{with_bundled_fonts}
rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
%endif
%{python_sitearch}/matplotlib/
%{python_sitearch}/mpl_toolkits/
%{python_sitearch}/pylab.py*
%exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python_sitearch}/matplotlib/backends/_tkagg.so
%exclude %{python_sitearch}/matplotlib/backends/backend_wx.*
%exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.*
%files tk
%defattr(-,root,root,-)
%{python_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python_sitearch}/matplotlib/backends/tkagg.py*
%{python_sitearch}/matplotlib/backends/_tkagg.so
%if %{with_python3}
MPLCONFIGDIR=$PWD/.. \
MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data/ \
%{__python3} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py
rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
rm -f %{buildroot}%{python3_sitearch}/six.py
%endif
%files wx
%defattr(-,root,root,-)
%{python_sitearch}/matplotlib/backends/backend_wx.py*
%{python_sitearch}/matplotlib/backends/backend_wxagg.py*
%if %{run_tests}
%check
# This should match the default backend
echo "backend : %{backend}" > matplotlibrc
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python2_sitearch} \
xvfb-run %{__python} -c "import matplotlib; matplotlib.test()"
%files doc
%defattr(-,root,root,-)
%if %{with_python3}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
xvfb-run %{__python3} -c "import matplotlib; matplotlib.test()"
%endif
%endif # run_tests
%files -n python2-matplotlib
%license LICENSE/
%doc README.rst
%doc CHANGELOG
%doc PKG-INFO
%{python2_sitearch}/*egg-info
%{python2_sitearch}/matplotlib-*-nspkg.pth
%{python2_sitearch}/matplotlib/
%{python2_sitearch}/mpl_toolkits/
%{python2_sitearch}/pylab.py*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python2_sitearch}/matplotlib/backends/backend_gtk*
%exclude %{python2_sitearch}/matplotlib/backends/_gtkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/_tkagg.so
%exclude %{python2_sitearch}/matplotlib/backends/backend_wx.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%exclude %{_pkgdocdir}/*/
%files -n python2-matplotlib-qt4
%{python2_sitearch}/matplotlib/backends/backend_qt4.*
%{python2_sitearch}/matplotlib/backends/backend_qt4agg.*
%if %{with_qt5}
%files -n python2-matplotlib-qt5
%{python2_sitearch}/matplotlib/backends/backend_qt5.*
%{python2_sitearch}/matplotlib/backends/backend_qt5agg.*
%endif # with_qt5
%files -n python2-matplotlib-gtk
%{python2_sitearch}/matplotlib/backends/backend_gtk.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkagg.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkcairo.py*
%{python2_sitearch}/matplotlib/backends/_gtkagg.so
%files -n python2-matplotlib-gtk3
%{python2_sitearch}/matplotlib/backends/backend_gtk3*.py*
%files -n python2-matplotlib-tk
%{python2_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python2_sitearch}/matplotlib/backends/tkagg.py*
%{python2_sitearch}/matplotlib/backends/_tkagg.so
%if %{with_wx}
%files -n python2-matplotlib-wx
%{python2_sitearch}/matplotlib/backends/backend_wx.*
%{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%endif # with_wx
%files -n python2-matplotlib-doc
%doc examples
%if %{withhtmldocs}
%doc doc/build/html
%if %{with_html}
%doc doc/build/html/*
%endif
%files -n python-matplotlib-data
%{_sysconfdir}/matplotlibrc
%{_datadir}/matplotlib/mpl-data/
%if %{with_bundled_fonts}
%exclude %{_datadir}/matplotlib/mpl-data/fonts/
%endif
%if %{with_bundled_fonts}
%files -n python-matplotlib-data-fonts
%{_datadir}/matplotlib/mpl-data/fonts/
%endif
%if %{with_python3}
%files -n python3-matplotlib
%license LICENSE/
%doc README.rst
%doc CHANGELOG
%doc PKG-INFO
%{python3_sitearch}/*egg-info
%{python3_sitearch}/matplotlib-*-nspkg.pth
%{python3_sitearch}/matplotlib/
%{python3_sitearch}/mpl_toolkits/
%{python3_sitearch}/pylab.py*
%{python3_sitearch}/__pycache__/*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%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 %{_pkgdocdir}/*/
%files -n python3-matplotlib-qt4
%{python3_sitearch}/matplotlib/backends/backend_qt4.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.*
%{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-gtk3
%{python3_sitearch}/matplotlib/backends/backend_gtk*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%files -n python3-matplotlib-tk
%{python3_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
%{python3_sitearch}/matplotlib/backends/tkagg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%{python3_sitearch}/matplotlib/backends/_tkagg.*
%endif
%changelog
* Mon Apr 04 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-13
- Require the qt5 subpackage from the qt4 subpackage (#1219556)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.3-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jan 12 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-11
- Fix another requires of the main package
* Thu Jan 07 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-10
- Fix requiring the correct backend from the main package
* Thu Jan 07 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-9
- regenerate tarball to exclude lena image (#1295174)
* Sun Nov 15 2015 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-8
- Pick upstream patch for fixing the gdk backend #1231748
- Add python2 subpackages and use python_provide
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3-7
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.4.3-5
- Rebuilt for GCC 5 C++11 ABI change
* Wed Feb 25 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.3-4
- Split out python-matplotlib-gtk, python-matplotlib-gtk3,
python3-matplotlib-gtk3 subpackages (#1067373)
- Add missing requirements on gtk
* Tue Feb 24 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.3-3
- Use %%license, add skimage to build requirements
* 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 (#1134007)
- 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
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 21 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 1.3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Tue Feb 11 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.3.1-3
- Make TkAgg the default backend
- Remove python2 dependency from -data subpackage
* Mon Jan 27 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.3.1-2
- Correct environment for and enable %%check
- Install system wide matplotlibrc under /etc
- Do not duplicate mpl-data for python2 and python3 packages
- Conditionally bundle data fonts (https://fedorahosted.org/fpc/ticket/381)
* Sat Jan 25 2014 Thomas Spura <tomspur@fedoraproject.org> - 1.3.1-1
- update to 1.3.1
- use GTKAgg as backend (#1030396, #982793, #1049624)
- use fontconfig
- add %%check for local testing (testing requires a display)
* Wed Aug 7 2013 Thomas Spura <tomspur@fedoraproject.org> - 1.3.0-1
- update to new version
- use xz to compress sources
- drop fontconfig patch (upstream)
- drop tk patch (upstream solved build issue differently)
- redo use system agg patch
- delete bundled python-pycxx headers
- fix requires of python3-matplotlib-qt (fixes #988412)
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jun 10 2013 Jon Ciesla <limburgher@gmail.com> - 1.2.0-14
- agg rebuild.
* Wed Apr 10 2013 Thomas Spura <tomspur@fedoraproject.org> - 1.2.0-13
- use python3 version in python3-matplotlib-qt4 (#915727)
- include __pycache__ files in correct subpackages on python3
* Wed Apr 3 2013 Thomas Spura <tomspur@fedoraproject.org> - 1.2.0-12
- Decode output of subprocess to utf-8 or regex will fail (#928326)
* Tue Apr 2 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-11
- Make stix-fonts a requires of matplotlib (#928326)
* Thu Mar 28 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-10
- Use stix fonts avoid problems with missing cm fonts (#908717)
- Correct type mismatch in python3 font_manager (#912843, #928326)
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Jan 16 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-8
- Update fontconfig patch to apply issue found by upstream
- Update fontconfig patch to apply issue with missing afm fonts (#896182)
* Wed Jan 16 2013 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-7
- Use fontconfig by default (#885307)
* Thu Jan 3 2013 David Malcolm <dmalcolm@redhat.com> - 1.2.0-6
- remove wx support for rhel >= 7
* 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
- Obsolete python-matplotlib-wx for clean updates.
* Tue Nov 27 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-3
- Enable python 3 in fc18 as build requires are now available (#879731)
* Thu Nov 22 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-2
- Build python3 only on f19 or newer (#837156)
- Build requires python3-six if building python3 support (#837156)
* Thu Nov 22 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.2.0-1
- Update to version 1.2.0
- Revert to regenerate tarball with generate-tarball.sh (#837156)
- Assume update to 1.2.0 is for recent releases
- Remove %%defattr
- Remove %%clean
- Use simpler approach to build html documentation
- Do not use custom/outdated setup.cfg
- Put one BuildRequires per line
- Enable python3 support
- Cleanup spec as wx backend is no longer supported
- Use default agg backend
- Fix bogus dates in changelog by assuming only week day was wrong
* Fri Aug 17 2012 Jerry James <loganjerry@gmail.com> - 1.1.1-1
- Update to version 1.1.1.
- Remove obsolete spec file elements
- Fix sourceforge URLs
- Allow sample data to have a different version number than the sources
- Don't bother removing problematic file since we remove entire agg24 directory
- Fix building with pygtk in the absence of an X server
- Don't install license text for bundled software that we don't bundle
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Jul 3 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.1.0-1
- Update to version 1.1.0.
- Do not regenerate upstream tarball but remove problematic file in %%prep.
- Remove non longer applicable/required patch0.
- Rediff/rename -noagg patch.
- Remove propagate-timezone-info-in-plot_date-xaxis_da patch already applied.
- Remove tkinter patch now with critical code in a try block.
- Remove png 1.5 patch as upstream is now png 1.5 aware.
- Update file list.
* Wed Apr 18 2012 David Malcolm <dmalcolm@redhat.com> - 1.0.1-20
- remove wx support for rhel >= 7
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-19
- Rebuilt for c++ ABI breakage
@@ -320,7 +845,7 @@ rm -rf $RPM_BUILD_ROOT
* Wed Aug 6 2008 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.3-1
- Latest upstream release
* Fri Jul 1 2008 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.1-1
* Tue Jul 1 2008 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.1-1
- Latest upstream release
* Fri Mar 21 2008 Jef Spaleta <jspaleta[AT]fedoraproject org> - 0.91.2-2
@@ -359,7 +884,7 @@ rm -rf $RPM_BUILD_ROOT
* Fri Feb 09 2007 Orion Poplawski <orion@cora.nwra.com> 0.90.0-1
- Update to 0.90.0
* Tue Jan 5 2007 Orion Poplawski <orion@cora.nwra.com> 0.87.7-4
* Fri Jan 5 2007 Orion Poplawski <orion@cora.nwra.com> 0.87.7-4
- Add examples to %%docs
* Mon Dec 11 2006 Jef Spaleta <jspaleta@gmail.com> 0.87.7-3

View File

@@ -1,81 +1,2 @@
# Rename this file to setup.cfg to modify matplotlib's
# build options.
[egg_info]
tag_svn_revision = 1
[status]
# To suppress display of the dependencies and their versions
# at the top of the build log, uncomment the following line:
#suppress = True
#
# Uncomment to insert lots of diagnostic prints in extension code
#verbose = True
[provide_packages]
# By default, matplotlib checks for a few dependencies and
# installs them if missing. This feature can be turned off
# by uncommenting the following lines. Acceptible values are:
# True: install, overwrite an existing installation
# False: do not install
# auto: install only if the package is unavailable. This
# is the default behavior
#
## Date/timezone support:
#pytz = False
#dateutil = False
#
## Experimental config package support:
enthought.traits = False
configobj = False
[gui_support]
# Matplotlib supports multiple GUI toolkits, including Cocoa,
# GTK, Fltk, Qt, Qt4, Tk, and WX. Support for many of these
# toolkits requires AGG, the Anti-Grain Geometry library, 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.
#
# 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 = True
gtkagg = True
tkagg = True
wxagg = True
[rc_options]
# User-configurable options
#
# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg,
# GTKCairo, FltkAgg, 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, TkAgg or WXAgg if
# you have disabled the relevent extension modules. Agg will be used
# by default.
#
backend = GTKAgg
#
# 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

View File

@@ -1,2 +1 @@
b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz
24ee8b490f707a60ed5aaf7259f6bc40 mpl_sampledata-1.0.1.tar.gz
c16111ce7d6c799a2b557699f40eb709 matplotlib-1.4.3-without-extern.tar.xz

View File

@@ -1,79 +0,0 @@
diff -up matplotlib-1.0.1/CHANGELOG.png15 matplotlib-1.0.1/CHANGELOG
diff -up matplotlib-1.0.1/doc/users/installing.rst.png15 matplotlib-1.0.1/doc/users/installing.rst
--- matplotlib-1.0.1/doc/users/installing.rst.png15 2010-07-06 21:41:46.000000000 -0400
+++ matplotlib-1.0.1/doc/users/installing.rst 2011-12-06 16:29:05.824621532 -0500
@@ -138,7 +138,7 @@ libraries themselves.
array support for python (`download
<http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103>`__)
-libpng 1.1 (or later)
+libpng 1.2 (or later)
library for loading and saving :term:`PNG` files (`download
<http://www.libpng.org/pub/png/libpng.html>`__). libpng requires
zlib. If you are a windows user, you can ignore this since we
diff -up matplotlib-1.0.1/src/_png.cpp.png15 matplotlib-1.0.1/src/_png.cpp
--- matplotlib-1.0.1/src/_png.cpp.png15 2010-10-12 12:14:42.000000000 -0400
+++ matplotlib-1.0.1/src/_png.cpp 2011-12-06 16:29:05.825621532 -0500
@@ -350,10 +350,10 @@ _png_module::read_png(const Py::Tuple& a
png_set_sig_bytes(png_ptr, 8);
png_read_info(png_ptr, info_ptr);
- png_uint_32 width = info_ptr->width;
- png_uint_32 height = info_ptr->height;
+ png_uint_32 width = png_get_image_width(png_ptr, info_ptr);
+ png_uint_32 height = png_get_image_height(png_ptr, info_ptr);
- int bit_depth = info_ptr->bit_depth;
+ int bit_depth = png_get_bit_depth(png_ptr, info_ptr);
// Unpack 1, 2, and 4-bit images
if (bit_depth < 8)
@@ -361,7 +361,7 @@ _png_module::read_png(const Py::Tuple& a
// If sig bits are set, shift data
png_color_8p sig_bit;
- if ((info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) &&
+ if ((png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) &&
png_get_sBIT(png_ptr, info_ptr, &sig_bit))
{
png_set_shift(png_ptr, sig_bit);
@@ -374,13 +374,13 @@ _png_module::read_png(const Py::Tuple& a
}
// Convert palletes to full RGB
- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE)
{
png_set_palette_to_rgb(png_ptr);
}
// If there's an alpha channel convert gray to RGB
- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA)
{
png_set_gray_to_rgb(png_ptr);
}
@@ -408,11 +408,11 @@ _png_module::read_png(const Py::Tuple& a
npy_intp dimensions[3];
dimensions[0] = height; //numrows
dimensions[1] = width; //numcols
- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA)
+ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA)
{
dimensions[2] = 4; //RGBA images
}
- else if (info_ptr->color_type & PNG_COLOR_MASK_COLOR)
+ else if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_COLOR)
{
dimensions[2] = 3; //RGB images
}
@@ -421,7 +421,8 @@ _png_module::read_png(const Py::Tuple& a
dimensions[2] = 1; //Greyscale images
}
//For gray, return an x by y array, not an x by y by 1
- int num_dims = (info_ptr->color_type & PNG_COLOR_MASK_COLOR) ? 3 : 2;
+ int num_dims = (png_get_color_type(png_ptr, info_ptr)
+ & PNG_COLOR_MASK_COLOR) ? 3 : 2;
double max_value = (1 << ((bit_depth < 8) ? 8 : bit_depth)) - 1;
PyArrayObject *A = (PyArrayObject *) PyArray_SimpleNew(