Compare commits
54 Commits
python-mat
...
f16
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5446c87d15 | ||
|
|
15f4723084 | ||
|
|
aacc15245c | ||
|
|
e461fe631e | ||
|
|
43d2ec145e | ||
|
|
664c62f2ee | ||
|
|
c7aa1a060f | ||
|
|
51417023ef | ||
|
|
0e79a43bbf | ||
|
|
680c73ce28 | ||
|
|
06e45f0087 | ||
|
|
ab4076906b | ||
|
|
a48cf833ac | ||
|
|
f26192de70 | ||
|
|
fa5fd50bfc | ||
|
|
fd9734a7cb | ||
|
|
f48deece5c | ||
|
|
a706a1d6d8 | ||
|
|
838673b84e | ||
|
|
eb0ae8e8e8 | ||
|
|
7d37cb09bb | ||
|
|
22c9c0ba19 | ||
|
|
3d8aca5cf3 | ||
|
|
e8b7d4f3da | ||
|
|
8ff61b63f9 | ||
|
|
8e35b281db | ||
|
|
75838bcea2 | ||
|
|
5fb5eb7257 | ||
|
|
18886006d6 | ||
|
|
25dcdf9304 | ||
|
|
8e942f943d | ||
|
|
7cfd478d83 | ||
|
|
81520ceee1 | ||
|
|
3566db3f26 | ||
|
|
0ec477d6d6 | ||
|
|
9009b116df | ||
|
|
e9f8234a67 | ||
|
|
36a86160e0 | ||
|
|
61aa382649 | ||
|
|
1f8c99bdef | ||
|
|
1437e01b55 | ||
|
|
4b93d98283 | ||
|
|
1ba7111ea4 | ||
|
|
d1a8b707e3 | ||
|
|
96119e78b7 | ||
|
|
d53984287e | ||
|
|
bb617decf4 | ||
|
|
32df714ed8 | ||
|
|
0346b9d0bb | ||
|
|
5550f6f7b0 | ||
|
|
a019183ab9 | ||
|
|
f319b1c04c | ||
|
|
5ca800e2a0 | ||
|
|
1887561de2 |
@@ -1 +0,0 @@
|
||||
matplotlib-0.87.7.tar.gz
|
||||
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
matplotlib-1.0.0-without-gpc.tar.gz
|
||||
/matplotlib-1.0.1-without-gpc.tar.gz
|
||||
/mpl_sampledata-1.0.1.tar.gz
|
||||
188
0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch
Normal file
188
0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch
Normal file
@@ -0,0 +1,188 @@
|
||||
--- 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
|
||||
|
||||
21
Makefile
21
Makefile
@@ -1,21 +0,0 @@
|
||||
# Makefile for source rpm: python-matplotlib
|
||||
# $Id$
|
||||
NAME := python-matplotlib
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
19
generate-tarball.sh
Executable file
19
generate-tarball.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#! /bin/sh
|
||||
|
||||
version=$1
|
||||
|
||||
[ -z $version ] && exit 1
|
||||
|
||||
dir=matplotlib-${version}
|
||||
file=matplotlib-${version}.tar.gz
|
||||
result=matplotlib-${version}-without-gpc.tar.gz
|
||||
|
||||
wget -vc http://downloads.sourceforge.net/matplotlib/$file
|
||||
|
||||
rm -rf matplotlib-${version}
|
||||
tar xzf $file
|
||||
|
||||
rm matplotlib-${version}/agg24/include/agg_conv_gpc.h
|
||||
|
||||
rm -f $result
|
||||
tar czf $result $dir
|
||||
@@ -1,13 +0,0 @@
|
||||
--- matplotlib-0.87/setup.py.orig 2006-02-14 11:11:32.000000000 -0700
|
||||
+++ matplotlib-0.87/setup.py 2006-02-27 15:19:28.000000000 -0700
|
||||
@@ -258,8 +258,8 @@
|
||||
|
||||
# packagers: set rc['numerix'] and rc['backend'] here to override the auto
|
||||
# defaults, eg
|
||||
-#rc['numerix'] = numpy
|
||||
-#rc['backend'] = GTKAgg
|
||||
+rc['numerix'] = 'numpy'
|
||||
+rc['backend'] = 'GTKAgg'
|
||||
if sys.platform=='win32':
|
||||
rc = dict(backend='TkAgg', numerix='Numeric')
|
||||
template = file('matplotlibrc.template').read()
|
||||
@@ -1,22 +0,0 @@
|
||||
--- matplotlib-0.87.7/setup.py.fix 2006-11-20 19:49:56.000000000 -0900
|
||||
+++ matplotlib-0.87.7/setup.py 2006-11-20 19:51:03.000000000 -0900
|
||||
@@ -251,16 +251,9 @@
|
||||
print 'Tkinter present but import failed'
|
||||
BUILD_TKAGG = 0
|
||||
else:
|
||||
- try:
|
||||
- tk = Tkinter.Tk()
|
||||
- tk.withdraw()
|
||||
- except Tkinter.TclError:
|
||||
- print 'Tkinter present, but window failed to open'
|
||||
- BUILD_TKAGG = 0
|
||||
- else:
|
||||
- BUILD_AGG = 1
|
||||
- build_tkagg(ext_modules, packages, NUMERIX)
|
||||
- rc['backend'] = 'TkAgg'
|
||||
+ BUILD_AGG = 1
|
||||
+ build_tkagg(ext_modules, packages, NUMERIX)
|
||||
+ rc['backend'] = 'TkAgg'
|
||||
|
||||
if BUILD_WXAGG:
|
||||
try:
|
||||
82
matplotlib-1.0.1-noagg.patch
Normal file
82
matplotlib-1.0.1-noagg.patch
Normal file
@@ -0,0 +1,82 @@
|
||||
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'))
|
||||
|
||||
12
matplotlib-1.0.1-plot_directive.patch
Normal file
12
matplotlib-1.0.1-plot_directive.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
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)
|
||||
12
matplotlib-1.0.1-tkinter.patch
Normal file
12
matplotlib-1.0.1-tkinter.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
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,79 +1,352 @@
|
||||
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
||||
%if ! (0%{?rhel} > 5)
|
||||
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
||||
%endif
|
||||
|
||||
%{?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
|
||||
|
||||
Name: python-matplotlib
|
||||
Version: 0.87.7
|
||||
Release: 1%{?dist}
|
||||
Version: 1.0.1
|
||||
Release: 14%{?dist}
|
||||
Summary: Python plotting library
|
||||
|
||||
Group: Development/Libraries
|
||||
License: Python Software Foundation License
|
||||
License: Python
|
||||
URL: http://sourceforge.net/projects/matplotlib
|
||||
Source0: http://dl.sf.net/matplotlib/matplotlib-%{version}.tar.gz
|
||||
Patch0: matplotlib-0.87.7-matplotlibrc.patch
|
||||
Patch1: matplotlib-0.87.7-tkagg-check.patch
|
||||
#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
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel
|
||||
BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel
|
||||
BuildRequires: python-numeric, pytz, python-dateutil, numpy, python-numarray
|
||||
Requires: python-numeric, pytz, python-dateutil
|
||||
Requires: pycairo >= 1.0.2
|
||||
|
||||
BuildRequires: pygtk2-devel, gtk2-devel
|
||||
BuildRequires: pytz, python-dateutil, numpy
|
||||
BuildRequires: agg-devel
|
||||
BuildRequires: pyparsing
|
||||
Requires: numpy, pytz, python-dateutil
|
||||
Requires: pycairo >= 1.2.0
|
||||
Requires: dejavu-sans-fonts
|
||||
Requires: dvipng
|
||||
Requires: pyparsing
|
||||
|
||||
%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 Numeric for handling large data sets and supports a variety
|
||||
of output backends
|
||||
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.
|
||||
|
||||
|
||||
%package tk
|
||||
Summary: Tk backend for python-matplotlib
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
BuildRequires: tkinter, tk-devel
|
||||
Requires: tkinter
|
||||
|
||||
%description tk
|
||||
%{summary}
|
||||
|
||||
%package wx
|
||||
Summary: wxPython backend for python-matplotlib
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: wxPython
|
||||
BuildRequires: wxPython-devel
|
||||
|
||||
%description wx
|
||||
%{summary}
|
||||
|
||||
%package doc
|
||||
Summary: Documentation files for python-matplotlib
|
||||
Group: Documentation
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%if %{withhtmldocs}
|
||||
BuildRequires: python-sphinx
|
||||
BuildRequires: tex(latex)
|
||||
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
|
||||
|
||||
%description doc
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%if %{withhtmldocs}
|
||||
%setup -q -n matplotlib-%{version} -b1
|
||||
%else
|
||||
%setup -q -n matplotlib-%{version}
|
||||
%patch0 -p1 -b .matplotlibrc
|
||||
%patch1 -p1 -b setup.py
|
||||
chmod -x images/*.svg
|
||||
%endif
|
||||
%patch0 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1 -b .tkinter
|
||||
|
||||
# Remove bundled libraries
|
||||
rm -r agg24 lib/matplotlib//pyparsing.py
|
||||
|
||||
# Remove references to bundled libraries
|
||||
%patch1 -p1 -b .noagg
|
||||
sed -i -e s/matplotlib\.pyparsing/pyparsing/g lib/matplotlib/*.py
|
||||
|
||||
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}
|
||||
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
|
||||
popd
|
||||
%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
|
||||
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 license/LICENSE license/LICENSE_enthought.txt
|
||||
%doc README.txt license/LICENSE license/LICENSE_enthought.txt
|
||||
%doc license/LICENSE_PAINT license/LICENSE_PIL
|
||||
%doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS
|
||||
%doc NUMARRAY_ISSUES PKG-INFO TODO
|
||||
%doc CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS
|
||||
%doc PKG-INFO TODO
|
||||
%if 0%{?fedora} >= 9
|
||||
%{python_sitearch}/*egg-info
|
||||
%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
|
||||
|
||||
%files wx
|
||||
%defattr(-,root,root,-)
|
||||
%{python_sitearch}/matplotlib/backends/backend_wx.py*
|
||||
%{python_sitearch}/matplotlib/backends/backend_wxagg.py*
|
||||
|
||||
%files doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc examples
|
||||
%if %{withhtmldocs}
|
||||
%doc doc/build/html
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Nov 21 2006 Orion Poplawski <orion@cora.nwra.com> 0.87.7-1
|
||||
* Mon Oct 31 2011 Dan Horák <dan[at]danny.cz> - 1.0.1-14
|
||||
- fix build with new Tkinter which doesn't return an expected value in __version__
|
||||
|
||||
* Thu Sep 15 2011 Jef Spaleta <jspaleta@fedoraproject.org> - 1.0.1-13
|
||||
- apply upstream bugfix for timezone formatting (Bug 735677)
|
||||
|
||||
* Fri May 20 2011 Orion Poplawski <orion@cora.nwra.com> - 1.0.1-12
|
||||
- Add Requires dvipng (Bug 684836)
|
||||
- Build against system agg (Bug 612807)
|
||||
- Use system pyparsing (Bug 702160)
|
||||
|
||||
* Sat Feb 26 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-11
|
||||
- Set PYTHONPATH during html doc building using find to prevent broken builds
|
||||
|
||||
* Sat Feb 26 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-10
|
||||
- Spec file cleanups for readability
|
||||
|
||||
* Sat Feb 26 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-9
|
||||
- Bump and rebuild
|
||||
|
||||
* Sat Feb 26 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-8
|
||||
- Fix spec file typos so package builds
|
||||
|
||||
* Fri Feb 25 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-7
|
||||
- Remove a debugging echo statement from the spec file
|
||||
- Fix some line endings and permissions in -doc sub-package
|
||||
|
||||
* Fri Feb 25 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-6
|
||||
- Spec file cleanups to silence some rpmlint warnings
|
||||
|
||||
* Mon Feb 21 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-5
|
||||
- Add default attr to doc sub-package file list
|
||||
- No longer designate -doc subpackage as noarch
|
||||
- Add arch specific Requires for tk, wx and doc sub-packages
|
||||
|
||||
* Mon Feb 21 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-4
|
||||
- Enable wxPython backend
|
||||
- Make -doc sub-package noarch
|
||||
|
||||
* Mon Feb 21 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-3
|
||||
- Add conditional for optionally building doc sub-package
|
||||
- Add flag to build low res images for documentation
|
||||
- Add matplotlib-1.0.1-plot_directive.patch to fix build of low res images
|
||||
- Remove unused patches
|
||||
|
||||
* Sat Feb 19 2011 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1.0.1-2
|
||||
- Build and package HTML documentation in -doc sub-package
|
||||
- Move examples to -doc sub-package
|
||||
- Make examples non-executable
|
||||
|
||||
* Fri Feb 18 2011 Thomas Spura <tomspur@fedoraproject.org> - 1.0.1-1
|
||||
- update to new bugfix version (#678489)
|
||||
- set file attributes in tk subpackage
|
||||
- filter private *.so
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 1.0.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
||||
|
||||
* Thu Jul 8 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 1.0.0-1
|
||||
- New upstream release
|
||||
- Remove undistributable file from bundled agg library
|
||||
|
||||
* Thu Jul 1 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.3-1
|
||||
- New upstream release
|
||||
|
||||
* Thu May 27 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.1.2-4
|
||||
- Upstream patch to fix deprecated gtk tooltip warning.
|
||||
|
||||
* Mon Apr 12 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.1.2-2
|
||||
- Bump to rebuild against numpy 1.3
|
||||
|
||||
* Thu Apr 1 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.1.2-1
|
||||
- Bump to rebuild against numpy 1.4.0
|
||||
|
||||
* Fri Dec 11 2009 Jon Ciesla <limb@jcomserv.net> - 0.99.1.2
|
||||
- Update to 0.99.1.2
|
||||
|
||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.98.5.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Fri Mar 06 2009 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.5-4
|
||||
- Fixed font dep after font guideline change
|
||||
|
||||
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.98.5.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Tue Dec 23 2008 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.5-2
|
||||
- Add dep on DejaVu Sans font for default font support
|
||||
|
||||
* Mon Dec 22 2008 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.98.5-1
|
||||
- Latest upstream release
|
||||
- Strip out included fonts
|
||||
|
||||
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.98.3-2
|
||||
- Rebuild for Python 2.6
|
||||
|
||||
* 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
|
||||
- Latest upstream release
|
||||
|
||||
* Fri Mar 21 2008 Jef Spaleta <jspaleta[AT]fedoraproject org> - 0.91.2-2
|
||||
- gcc43 cleanups
|
||||
|
||||
* Fri Mar 21 2008 Jef Spaleta <jspaleta[AT]fedoraproject org> - 0.91.2-1
|
||||
- New upstream version
|
||||
- Adding Fedora specific setup.cfg from included template
|
||||
- removed numarry and numerics build requirements
|
||||
|
||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.90.1-6
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Fri Jan 4 2008 Alex Lancaster <alexlan[AT]fedoraproject org> - 0.90.1-5
|
||||
- Fixed typo in spec.
|
||||
|
||||
* Fri Jan 4 2008 Alex Lancaster <alexlan[AT]fedoraproject org> - 0.90.1-4
|
||||
- Support for Python Eggs for F9+
|
||||
|
||||
* Thu Jan 3 2008 Alex Lancaster <alexlan[AT]fedoraproject org> - 0.90.1-3
|
||||
- Rebuild for new Tcl 8.5
|
||||
|
||||
* Thu Aug 23 2007 Orion Poplawski <orion@cora.nwra.com> 0.90.1-2
|
||||
- Update license tag to Python
|
||||
- Rebuild for BuildID
|
||||
|
||||
* Mon Jun 04 2007 Orion Poplawski <orion@cora.nwra.com> 0.90.1-1
|
||||
- Update to 0.90.1
|
||||
|
||||
* Wed Feb 14 2007 Orion Poplawski <orion@cora.nwra.com> 0.90.0-2
|
||||
- Rebuild for Tcl/Tk downgrade
|
||||
|
||||
* Sat Feb 10 2007 Jef Spaleta <jspaleta@gmail.com> 0.90.0-2
|
||||
- Release bump for rebuild against new tk
|
||||
|
||||
* 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
|
||||
- Add examples to %%docs
|
||||
|
||||
* Mon Dec 11 2006 Jef Spaleta <jspaleta@gmail.com> 0.87.7-3
|
||||
- Release bump for rebuild against python 2.5 in devel tree
|
||||
|
||||
* Tue Dec 5 2006 Orion Poplawski <orion@cora.nwra.com> 0.87.7-2
|
||||
- Force build of gtk/gtkagg backends in mock (bug #218153)
|
||||
- Change Requires from python-numeric to numpy (bug #218154)
|
||||
|
||||
* Tue Nov 21 2006 Orion Poplawski <orion@cora.nwra.com> 0.87.7-1
|
||||
- Update to 0.87.7 and fix up the defaults to use numpy
|
||||
- Force build of tkagg backend without X server
|
||||
- Use src.rpm from Jef Spaleta, closes bug 216578
|
||||
@@ -145,7 +418,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||
* Thu Jun 30 2005 Orion Poplawski <orion@cora.nwra.com> 0.82-2
|
||||
- Rename to python-matplotlib
|
||||
- Remove unneeded Requires: python
|
||||
- Add private directories to %files
|
||||
- Add private directories to %%files
|
||||
|
||||
* Tue Jun 28 2005 Orion Poplawski <orion@cora.nwra.com> 0.82-1
|
||||
- Initial package for Fedora Extras
|
||||
|
||||
81
setup.cfg
Normal file
81
setup.cfg
Normal file
@@ -0,0 +1,81 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user