Update to matplotlib 1.2.0 (#837156)
This commit is contained in:
parent
8a5f96fc9d
commit
cfeed65034
@ -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
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up matplotlib-1.0.1/setup.cfg.disable-wx-in-setup.cfg matplotlib-1.0.1/setup.cfg
|
|
||||||
--- matplotlib-1.0.1/setup.cfg.disable-wx-in-setup.cfg 2012-04-18 15:54:40.408040980 -0400
|
|
||||||
+++ matplotlib-1.0.1/setup.cfg 2012-04-18 15:54:40.412040931 -0400
|
|
||||||
@@ -57,7 +57,7 @@ configobj = False
|
|
||||||
gtk = True
|
|
||||||
gtkagg = True
|
|
||||||
tkagg = True
|
|
||||||
-wxagg = True
|
|
||||||
+wxagg = False
|
|
||||||
|
|
||||||
[rc_options]
|
|
||||||
# User-configurable options
|
|
@ -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)
|
|
@ -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:
|
|
@ -1,17 +1,7 @@
|
|||||||
diff -up matplotlib-1.0.1/MANIFEST.in.noagg matplotlib-1.0.1/MANIFEST.in
|
diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py
|
||||||
--- matplotlib-1.0.1/MANIFEST.in.noagg 2010-07-06 19:41:55.000000000 -0600
|
--- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:49:21.295712608 -0200
|
||||||
+++ matplotlib-1.0.1/MANIFEST.in 2011-05-20 15:45:38.337580769 -0600
|
+++ matplotlib-1.2.0/setupext.py 2012-11-23 14:49:31.508712999 -0200
|
||||||
@@ -18,6 +18,5 @@ recursive-include examples *
|
@@ -96,7 +96,6 @@ BUILT_GDK = False
|
||||||
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_PATH = False
|
||||||
BUILT_TRI = False
|
BUILT_TRI = False
|
||||||
|
|
||||||
@ -19,7 +9,7 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py
|
|||||||
TCL_TK_CACHE = None
|
TCL_TK_CACHE = None
|
||||||
|
|
||||||
# for nonstandard installation/build with --prefix variable
|
# for nonstandard installation/build with --prefix variable
|
||||||
@@ -551,7 +550,8 @@ def add_agg_flags(module):
|
@@ -621,7 +620,8 @@ def add_agg_flags(module):
|
||||||
# before adding the freetype flags since -z comes later
|
# before adding the freetype flags since -z comes later
|
||||||
add_base_flags(module)
|
add_base_flags(module)
|
||||||
add_numpy_flags(module)
|
add_numpy_flags(module)
|
||||||
@ -29,7 +19,7 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py
|
|||||||
|
|
||||||
# put these later for correct link order
|
# put these later for correct link order
|
||||||
module.libraries.extend(std_libs)
|
module.libraries.extend(std_libs)
|
||||||
@@ -1251,17 +1251,7 @@ def build_agg(ext_modules, packages):
|
@@ -1220,17 +1220,7 @@ def build_agg(ext_modules, packages):
|
||||||
global BUILT_AGG
|
global BUILT_AGG
|
||||||
if BUILT_AGG: return # only build it if you you haven't already
|
if BUILT_AGG: return # only build it if you you haven't already
|
||||||
|
|
||||||
@ -48,11 +38,12 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py
|
|||||||
deps.extend(glob.glob('CXX/*.cxx'))
|
deps.extend(glob.glob('CXX/*.cxx'))
|
||||||
deps.extend(glob.glob('CXX/*.c'))
|
deps.extend(glob.glob('CXX/*.c'))
|
||||||
temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp')
|
temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp')
|
||||||
@@ -1284,15 +1274,7 @@ def build_path(ext_modules, packages):
|
@@ -1253,16 +1243,7 @@ def build_path(ext_modules, packages):
|
||||||
global BUILT_PATH
|
global BUILT_PATH
|
||||||
if BUILT_PATH: return # only build it if you you haven't already
|
if BUILT_PATH: return # only build it if you you haven't already
|
||||||
|
|
||||||
- agg = (
|
- agg = (
|
||||||
|
- 'agg_vcgen_contour.cpp',
|
||||||
- 'agg_curves.cpp',
|
- 'agg_curves.cpp',
|
||||||
- 'agg_bezier_arc.cpp',
|
- 'agg_bezier_arc.cpp',
|
||||||
- 'agg_trans_affine.cpp',
|
- 'agg_trans_affine.cpp',
|
||||||
@ -65,7 +56,7 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py
|
|||||||
deps.extend(glob.glob('CXX/*.c'))
|
deps.extend(glob.glob('CXX/*.c'))
|
||||||
|
|
||||||
temp_copy('src/_path.cpp', 'src/path.cpp')
|
temp_copy('src/_path.cpp', 'src/path.cpp')
|
||||||
@@ -1317,14 +1299,8 @@ def build_image(ext_modules, packages):
|
@@ -1287,14 +1268,8 @@ def build_image(ext_modules, packages):
|
||||||
global BUILT_IMAGE
|
global BUILT_IMAGE
|
||||||
if BUILT_IMAGE: return # only build it if you you haven't already
|
if BUILT_IMAGE: return # only build it if you you haven't already
|
||||||
|
|
35
python-matplotlib-tk.patch
Normal file
35
python-matplotlib-tk.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py
|
||||||
|
--- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:50:48.954715965 -0200
|
||||||
|
+++ matplotlib-1.2.0/setupext.py 2012-11-23 14:55:53.731727636 -0200
|
||||||
|
@@ -898,12 +898,12 @@ def parse_tcl_config(tcl_lib_dir, tk_lib
|
||||||
|
|
||||||
|
tcl_poss = [tcl_lib_dir,
|
||||||
|
os.path.normpath(os.path.join(tcl_lib_dir, '..')),
|
||||||
|
- "/usr/lib/tcl"+str(Tkinter.TclVersion),
|
||||||
|
- "/usr/lib"]
|
||||||
|
+ "@@libdir@@/tcl"+str(Tkinter.TclVersion),
|
||||||
|
+ "@@lib@@"]
|
||||||
|
tk_poss = [tk_lib_dir,
|
||||||
|
os.path.normpath(os.path.join(tk_lib_dir, '..')),
|
||||||
|
- "/usr/lib/tk"+str(Tkinter.TkVersion),
|
||||||
|
- "/usr/lib"]
|
||||||
|
+ "@@libdir@@/tk"+str(Tkinter.TkVersion),
|
||||||
|
+ "@@libdir@@"]
|
||||||
|
for ptcl, ptk in zip(tcl_poss, tk_poss):
|
||||||
|
tcl_config = os.path.join(ptcl, "tclConfig.sh")
|
||||||
|
tk_config = os.path.join(ptk, "tkConfig.sh")
|
||||||
|
@@ -974,10 +974,10 @@ def guess_tcl_config(tcl_lib_dir, tk_lib
|
||||||
|
return tcl_lib, tcl_inc, 'tcl' + tk_ver, tk_lib, tk_inc, 'tk' + tk_ver
|
||||||
|
|
||||||
|
def hardcoded_tcl_config():
|
||||||
|
- tcl_inc = "/usr/local/include"
|
||||||
|
- tk_inc = "/usr/local/include"
|
||||||
|
- tcl_lib = "/usr/local/lib"
|
||||||
|
- tk_lib = "/usr/local/lib"
|
||||||
|
+ tcl_inc = "/usr/include"
|
||||||
|
+ tk_inc = "/usr/include"
|
||||||
|
+ tcl_lib = "@@libdir@@"
|
||||||
|
+ tk_lib = "@@libdir@@"
|
||||||
|
return tcl_lib, tcl_inc, 'tcl', tk_lib, tk_inc, 'tk'
|
||||||
|
|
||||||
|
def add_tk_flags(module):
|
@ -1,196 +1,190 @@
|
|||||||
%if ! (0%{?rhel} > 5)
|
%if 0%{?fedora} >= 18
|
||||||
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
%global with_python3 1
|
||||||
%endif
|
%global basepy3dir %(echo ../`basename %{py3dir}`)
|
||||||
|
|
||||||
%{?filter_setup:
|
|
||||||
%filter_provides_in %{python_sitearch}/.*\.so$
|
|
||||||
%filter_setup
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# On RHEL 7 onwards, don't build the wx:
|
|
||||||
%if 0%{?rhel} >= 7
|
|
||||||
%global with_wx 0
|
|
||||||
%else
|
%else
|
||||||
%global with_wx 1
|
%global with_python3 0
|
||||||
%endif
|
%endif
|
||||||
|
%global __provides_exclude_from .*/site-packages/.*\\.so$
|
||||||
|
%global with_html 1
|
||||||
|
|
||||||
Name: python-matplotlib
|
Name: python-matplotlib
|
||||||
Version: 1.0.1
|
Version: 1.2.0
|
||||||
Release: 21%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Python plotting library
|
Summary: Python 2D plotting library
|
||||||
|
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
License: Python
|
License: Python
|
||||||
URL: http://sourceforge.net/projects/matplotlib
|
URL: http://matplotlib.org
|
||||||
#Modified Sources to remove the one undistributable file
|
#Modified Sources to remove the one undistributable file
|
||||||
#See generate-tarball.sh in fedora cvs repository for logic
|
#See generate-tarball.sh in fedora cvs repository for logic
|
||||||
#sha1sum matplotlib-1.0.1-without-gpc.tar.gz
|
#sha1sum matplotlib-1.2.0-without-gpc.tar.gz
|
||||||
#a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz
|
#92ada4ef4e7374d67e46e30bfb08c3fed068d680 matplotlib-1.2.0-without-gpc.tar.gz
|
||||||
Source0: matplotlib-%{version}-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
|
|
||||||
|
|
||||||
# Fix building against libpng 1.5
|
Patch0: %{name}-noagg.patch
|
||||||
# https://github.com/matplotlib/matplotlib/issues/234
|
Patch1: %{name}-tk.patch
|
||||||
# Based on:
|
|
||||||
# https://github.com/matplotlib/matplotlib/commit/45c46672648e3b4a277bf7ff42b3baf56a98bcec
|
|
||||||
Patch4: use-png-accessor-functions.patch
|
|
||||||
|
|
||||||
# Conditionally applied, when disabling wx support:
|
|
||||||
Patch5: disable-wx-in-setup.cfg.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: agg-devel
|
||||||
|
BuildRequires: freetype-devel
|
||||||
|
BuildRequires: gtk2-devel
|
||||||
|
BuildRequires: libpng-devel
|
||||||
|
BuildRequires: numpy
|
||||||
|
BuildRequires: pycairo-devel
|
||||||
BuildRequires: pyparsing
|
BuildRequires: pyparsing
|
||||||
Requires: numpy, pytz, python-dateutil
|
BuildRequires: python-dateutil
|
||||||
Requires: pycairo >= 1.2.0
|
BuildRequires: python2-devel
|
||||||
|
BuildRequires: pytz
|
||||||
|
BuildRequires: zlib-devel
|
||||||
Requires: dejavu-sans-fonts
|
Requires: dejavu-sans-fonts
|
||||||
Requires: dvipng
|
Requires: dvipng
|
||||||
|
Requires: numpy
|
||||||
|
Requires: pycairo
|
||||||
Requires: pyparsing
|
Requires: pyparsing
|
||||||
|
Requires: python-dateutil
|
||||||
|
Requires: pytz
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Matplotlib is a pure python plotting library with the goal of making
|
Matplotlib is a python 2D plotting library which produces publication
|
||||||
publication quality plots using a syntax familiar to Matlab users. The
|
quality figures in a variety of hardcopy formats and interactive
|
||||||
library uses numpy for handling large data sets and supports a variety
|
environments across platforms. matplotlib can be used in python
|
||||||
of output back-ends.
|
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 tk
|
||||||
Summary: Tk backend for python-matplotlib
|
Summary: Tk backend for python-matplotlib
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
BuildRequires: tkinter, tk-devel
|
BuildRequires: tcl-devel
|
||||||
|
BuildRequires: tkinter
|
||||||
|
BuildRequires: tk-devel
|
||||||
Requires: tkinter
|
Requires: tkinter
|
||||||
|
|
||||||
%description tk
|
%description tk
|
||||||
%{summary}
|
%{summary}
|
||||||
|
|
||||||
%if 0%{with_wx}
|
|
||||||
%package wx
|
|
||||||
Summary: wxPython backend for python-matplotlib
|
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: wxPython
|
|
||||||
BuildRequires: wxPython-devel
|
|
||||||
|
|
||||||
%description wx
|
|
||||||
%{summary}
|
|
||||||
%endif # if 0%{with_wx}
|
|
||||||
|
|
||||||
%package doc
|
%package doc
|
||||||
Summary: Documentation files for python-matplotlib
|
Summary: Documentation files for python-matplotlib
|
||||||
Group: Documentation
|
Group: Documentation
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
%if %{withhtmldocs}
|
%if %{with_html}
|
||||||
BuildRequires: python-sphinx
|
BuildRequires: python-sphinx
|
||||||
BuildRequires: tex(latex)
|
BuildRequires: tex(latex)
|
||||||
BuildRequires: dvipng
|
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
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description doc
|
%description doc
|
||||||
%{summary}
|
%{summary}
|
||||||
|
|
||||||
%prep
|
%if %{with_python3}
|
||||||
%if %{withhtmldocs}
|
%package -n python3-matplotlib
|
||||||
%setup -q -n matplotlib-%{version} -b1
|
Summary: Python 2D plotting library
|
||||||
%else
|
Group: Development/Libraries
|
||||||
%setup -q -n matplotlib-%{version}
|
BuildRequires: python3-cairo
|
||||||
|
BuildRequires: python3-dateutil
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-gobject
|
||||||
|
BuildRequires: python3-numpy
|
||||||
|
BuildRequires: python3-pyparsing
|
||||||
|
BuildRequires: python3-pytz
|
||||||
|
BuildRequires: python3-six
|
||||||
|
Requires: python3-numpy
|
||||||
|
Requires: python3-cairo
|
||||||
|
Requires: python3-pyparsing
|
||||||
|
Requires: python3-dateutil
|
||||||
|
Requires: python3-pytz
|
||||||
|
|
||||||
|
%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-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
|
%endif
|
||||||
%patch0 -p1
|
|
||||||
%patch2 -p1
|
%prep
|
||||||
%patch3 -p1 -b .tkinter
|
%setup -q -n matplotlib-%{version}
|
||||||
%patch4 -p1
|
|
||||||
|
|
||||||
# Remove bundled libraries
|
# Remove bundled libraries
|
||||||
rm -r agg24 lib/matplotlib//pyparsing.py
|
rm -r agg24 lib/matplotlib/pyparsing_py?.py
|
||||||
|
|
||||||
# Remove references to bundled libraries
|
# Remove references to bundled libraries
|
||||||
%patch1 -p1 -b .noagg
|
%patch0 -p1 -b .noagg
|
||||||
sed -i -e s/matplotlib\.pyparsing/pyparsing/g lib/matplotlib/*.py
|
sed -i -e s/matplotlib\.pyparsing_py./pyparsing/g lib/matplotlib/*.py
|
||||||
|
|
||||||
|
# Correct tcl/tk detection
|
||||||
|
%patch1 -p1 -b .tk
|
||||||
|
sed -i -e 's|@@@libdir@@@|%{_libdir}|' setupext.py
|
||||||
|
|
||||||
chmod -x lib/matplotlib/mpl-data/images/*.svg
|
chmod -x lib/matplotlib/mpl-data/images/*.svg
|
||||||
|
|
||||||
cp %{SOURCE2} ./setup.cfg
|
%if %{?with_python3}
|
||||||
%if !0%{with_wx}
|
rm -rf %{py3dir}
|
||||||
# Patch the new copy of setup.cfg to remove wx support:
|
cp -a . %{py3dir}
|
||||||
%patch5 -p1
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{withhtmldocs}
|
|
||||||
pushd doc
|
|
||||||
echo "examples.download : False" >> matplotlibrc
|
|
||||||
echo "examples.directory : %{_builddir}/mpl_sampledata-%{version}" >> matplotlibrc
|
|
||||||
popd
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%{__python} setup.py build
|
%{__python2} setup.py build
|
||||||
|
%if %{with_html}
|
||||||
%if %{withhtmldocs}
|
# Need to make built matplotlib libs available for the sphinx extensions:
|
||||||
pushd doc
|
pushd doc
|
||||||
# Set PYTHONPATH in order to use the just built modules
|
export PYTHONPATH=`realpath ../build/lib.linux*`
|
||||||
export PYTHONPATH=`find %{_builddir} -name lib.linux*`
|
%{__python2} make.py html
|
||||||
# This really does need to be ran twice
|
popd
|
||||||
%{__python} make.py --small html && %{__python} make.py --small html
|
%endif
|
||||||
rm -f build/html/.buildinfo
|
# Ensure all example files are non-executable so that the -doc
|
||||||
chmod -x build/html/pyplots/make.py
|
# package doesn't drag in dependencies
|
||||||
sed -i 's/\r//' build/html/_sources/devel/add_new_projection.txt
|
find examples -name '*.py' -exec chmod a-x '{}' \;
|
||||||
sed -i 's/\r//' build/html/examples/api/font_family_rc.py
|
|
||||||
|
%if %{with_python3}
|
||||||
|
pushd %{py3dir}
|
||||||
|
%{__python3} setup.py build
|
||||||
|
# documentation cannot be built with python3 due to syntax errors
|
||||||
|
# and building with python 2 exits with cryptic error messages
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT
|
%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT
|
||||||
chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py
|
chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py
|
||||||
rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts
|
rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts
|
||||||
|
|
||||||
%clean
|
%if %{with_python3}
|
||||||
rm -rf $RPM_BUILD_ROOT
|
pushd %{py3dir}
|
||||||
|
%{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT
|
||||||
|
chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts
|
||||||
|
rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%doc README.txt
|
||||||
%doc README.txt license/LICENSE license/LICENSE_enthought.txt
|
%doc lib/dateutil_py2/LICENSE
|
||||||
%doc license/LICENSE_PAINT license/LICENSE_PIL
|
%doc lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX
|
||||||
%doc CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS
|
%doc lib/pytz/LICENSE.txt
|
||||||
%doc PKG-INFO TODO
|
%doc CHANGELOG
|
||||||
%if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
|
%doc CXX
|
||||||
|
%doc INSTALL
|
||||||
|
%doc PKG-INFO
|
||||||
|
%doc TODO
|
||||||
%{python_sitearch}/*egg-info
|
%{python_sitearch}/*egg-info
|
||||||
%endif
|
|
||||||
%{python_sitearch}/matplotlib/
|
%{python_sitearch}/matplotlib/
|
||||||
%{python_sitearch}/mpl_toolkits/
|
%{python_sitearch}/mpl_toolkits/
|
||||||
%{python_sitearch}/pylab.py*
|
%{python_sitearch}/pylab.py*
|
||||||
@ -201,30 +195,86 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.*
|
%exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.*
|
||||||
|
|
||||||
%files tk
|
%files tk
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{python_sitearch}/matplotlib/backends/backend_tkagg.py*
|
%{python_sitearch}/matplotlib/backends/backend_tkagg.py*
|
||||||
%{python_sitearch}/matplotlib/backends/tkagg.py*
|
%{python_sitearch}/matplotlib/backends/tkagg.py*
|
||||||
%{python_sitearch}/matplotlib/backends/_tkagg.so
|
%{python_sitearch}/matplotlib/backends/_tkagg.so
|
||||||
|
|
||||||
%if 0%{with_wx}
|
|
||||||
%files wx
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{python_sitearch}/matplotlib/backends/backend_wx.py*
|
|
||||||
%{python_sitearch}/matplotlib/backends/backend_wxagg.py*
|
|
||||||
%endif # if 0%{with_wx}
|
|
||||||
|
|
||||||
|
|
||||||
%files doc
|
%files doc
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%doc examples
|
%doc examples
|
||||||
%if %{withhtmldocs}
|
%if %{with_html}
|
||||||
%doc doc/build/html
|
%doc doc/build/html/*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_python3}
|
||||||
|
%files -n python3-matplotlib
|
||||||
|
%doc %{basepy3dir}/README.txt
|
||||||
|
%doc %{basepy3dir}/lib/dateutil_py3/LICENSE
|
||||||
|
%doc %{basepy3dir}/lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX
|
||||||
|
%doc %{basepy3dir}/lib/pytz/LICENSE.txt
|
||||||
|
%doc %{basepy3dir}/CHANGELOG
|
||||||
|
%doc %{basepy3dir}/CXX
|
||||||
|
%doc %{basepy3dir}/INSTALL
|
||||||
|
%doc %{basepy3dir}/PKG-INFO
|
||||||
|
%doc %{basepy3dir}/TODO
|
||||||
|
%{python3_sitearch}/*egg-info
|
||||||
|
%{python3_sitearch}/matplotlib/
|
||||||
|
%{python3_sitearch}/mpl_toolkits/
|
||||||
|
%{python3_sitearch}/pylab.py*
|
||||||
|
%{python3_sitearch}/__pycache__/*
|
||||||
|
%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.*
|
||||||
|
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.*
|
||||||
|
%exclude %{python3_sitearch}/matplotlib/backends/_tkagg.*
|
||||||
|
|
||||||
|
%files -n python3-matplotlib-tk
|
||||||
|
%{python3_sitearch}/matplotlib/backends/backend_tkagg.py*
|
||||||
|
%{python3_sitearch}/matplotlib/backends/tkagg.*
|
||||||
|
%{python3_sitearch}/matplotlib/backends/_tkagg.*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
* 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
|
- 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
|
* Wed Apr 18 2012 David Malcolm <dmalcolm@redhat.com> - 1.0.1-20
|
||||||
- remove wx support for rhel >= 7
|
- remove wx support for rhel >= 7
|
||||||
|
|
||||||
@ -345,7 +395,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
* Wed Aug 6 2008 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.3-1
|
* Wed Aug 6 2008 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.3-1
|
||||||
- Latest upstream release
|
- 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
|
- Latest upstream release
|
||||||
|
|
||||||
* Fri Mar 21 2008 Jef Spaleta <jspaleta[AT]fedoraproject org> - 0.91.2-2
|
* Fri Mar 21 2008 Jef Spaleta <jspaleta[AT]fedoraproject org> - 0.91.2-2
|
||||||
@ -384,7 +434,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
* Fri Feb 09 2007 Orion Poplawski <orion@cora.nwra.com> 0.90.0-1
|
* Fri Feb 09 2007 Orion Poplawski <orion@cora.nwra.com> 0.90.0-1
|
||||||
- Update to 0.90.0
|
- 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
|
- Add examples to %%docs
|
||||||
|
|
||||||
* Mon Dec 11 2006 Jef Spaleta <jspaleta@gmail.com> 0.87.7-3
|
* Mon Dec 11 2006 Jef Spaleta <jspaleta@gmail.com> 0.87.7-3
|
||||||
|
81
setup.cfg
81
setup.cfg
@ -1,81 +0,0 @@
|
|||||||
# 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
|
|
@ -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(
|
|
Loading…
Reference in New Issue
Block a user