Compare commits

...

28 Commits

Author SHA1 Message Date
Dan Horák
5446c87d15 fix build with new Tkinter which doesn't return an expected value in __version__ 2011-10-31 15:24:03 +01:00
Jef Spaleta
15f4723084 apply upstream bugfix for timezone formatting (Bug 735677) 2011-09-15 14:48:08 -08:00
Jef Spaleta
aacc15245c apply upstream bugfix for timezone formatting (Bug 735677) 2011-09-15 14:47:56 -08:00
Orion Poplawski
e461fe631e Add Requires dvipng (Bug 684836)
Build against system agg (Bug 612807)
Use system pyparsing (Bug 702160)
2011-05-20 16:44:50 -06:00
Jonathan G. Underwood
43d2ec145e Set PYTHONPATH during html doc building using find to prevent broken builds 2011-02-26 20:26:27 +00:00
Jonathan G. Underwood
664c62f2ee Spec file cleanups for readability 2011-02-26 15:58:18 +00:00
Jonathan G. Underwood
c7aa1a060f Bump and rebuild 2011-02-26 15:21:11 +00:00
Jonathan G. Underwood
51417023ef Fix spec file typos so package builds 2011-02-26 12:12:37 +00:00
Jonathan G. Underwood
0e79a43bbf Remove a debugging echo statement from the spec file
Fix some line endings and permissions in -doc sub-package
2011-02-25 17:07:26 +00:00
Jonathan G. Underwood
680c73ce28 Spec file cleanups to silence some rpmlint warnings 2011-02-25 15:24:34 +00:00
Jonathan G. Underwood
06e45f0087 Add arch specific Requires for tk, wx and doc sub-packages 2011-02-22 11:30:27 +00:00
Jonathan G. Underwood
ab4076906b No longer designate -doc subpackage as noarch 2011-02-22 11:25:49 +00:00
Jonathan G. Underwood
a48cf833ac Add default attr to doc sub-package file list 2011-02-22 11:24:05 +00:00
Jonathan G. Underwood
f26192de70 Make -doc sub-package noarch 2011-02-22 00:50:28 +00:00
Jonathan G. Underwood
fa5fd50bfc Enable wxPython backend 2011-02-22 00:49:54 +00:00
Jonathan G. Underwood
fd9734a7cb Remove unused patches 2011-02-21 23:08:32 +00:00
Jonathan G. Underwood
f48deece5c Build docs with low res images. Requires matplotlib-1.0.1-plot_directive.patch 2011-02-21 23:07:53 +00:00
Jonathan G. Underwood
a706a1d6d8 Add conditional for optionally building doc sub-package 2011-02-21 22:11:02 +00:00
Jonathan G. Underwood
838673b84e Build and package html docs in -doc subpackage. Move examples to -doc subpackage. 2011-02-21 18:30:38 +00:00
Thomas Spura
eb0ae8e8e8 - update to new version
- filter private *.so files
2011-02-18 11:09:44 +01:00
Dennis Gilmore
7d37cb09bb - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 23:04:15 -06:00
Fedora Release Engineering
22c9c0ba19 dist-git conversion 2010-07-29 10:30:00 +00:00
dmalcolm
3d8aca5cf3 - Rebuilt for
https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
2010-07-22 04:41:43 +00:00
Jef Spaleta
e8b7d4f3da - New upstream release
- Remove undistributable file from bundled agg library
2010-07-11 01:24:21 +00:00
Jef Spaleta
8ff61b63f9 - New upstream release 2010-07-02 00:05:06 +00:00
Jef Spaleta
8e35b281db - Upstream patch to fix deprecated gtk tooltip warning. 2010-05-27 17:54:31 +00:00
Jef Spaleta
75838bcea2 - Bump to rebuild against numpy 1.3 2010-04-13 04:51:58 +00:00
Jef Spaleta
5fb5eb7257 - Bump to rebuild against numpy 1.4.0 2010-04-01 22:39:55 +00:00
14 changed files with 531 additions and 172 deletions

View File

@@ -1 +0,0 @@
matplotlib-0.99.1.2.tar.gz

3
.gitignore vendored Normal file
View 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

View 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

View File

@@ -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 $$d/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
View 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

View File

@@ -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()

View File

@@ -1,53 +0,0 @@
--- matplotlib-0.90.1/setup.py.tkagg 2007-06-04 10:34:46.000000000 -0600
+++ matplotlib-0.90.1/setup.py 2007-06-04 10:54:44.000000000 -0600
@@ -28,13 +28,13 @@
# it. It makes very nice antialiased output and also supports alpha
# blending
BUILD_AGG = 1
-BUILD_GTKAGG = 'auto'
-BUILD_GTK = 'auto'
+BUILD_GTKAGG = 1
+BUILD_GTK = 1
# build TK GUI with Agg renderer ; requires Tkinter Python extension
# and Tk includes
# Use False or 0 if you don't want to build
-BUILD_TKAGG = 'auto'
+BUILD_TKAGG = 1
# build wxPython extension code to efficiently blit agg into wx. Only
# needed for wxpython <2.8 if you plan on doing animations
@@ -226,11 +226,11 @@
havegtk.gotit = None
-if BUILD_GTK and havegtk():
+if BUILD_GTK:
build_gdk(ext_modules, packages, NUMERIX)
rc['backend'] = 'GTK'
-if BUILD_GTKAGG and havegtk():
+if BUILD_GTKAGG:
BUILD_AGG = 1
build_gtkagg(ext_modules, packages, NUMERIX)
rc['backend'] = 'GTKAgg'
@@ -245,16 +245,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:

View 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'))

View 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)

View 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:

View File

@@ -1,63 +0,0 @@
diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv.h matplotlib-0.91.2/ttconv/pprdrv.h
--- matplotlib-0.91.2-old/ttconv/pprdrv.h 2007-11-29 17:36:53.000000000 -0900
+++ matplotlib-0.91.2/ttconv/pprdrv.h 2008-03-21 13:58:01.000000000 -0800
@@ -20,7 +20,7 @@
*/
#include <vector>
-#include <assert.h>
+#include <cassert>
/*
* Encapsulates all of the output to write to an arbitrary output
diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv_tt2.cpp matplotlib-0.91.2/ttconv/pprdrv_tt2.cpp
--- matplotlib-0.91.2-old/ttconv/pprdrv_tt2.cpp 2007-11-29 17:36:53.000000000 -0900
+++ matplotlib-0.91.2/ttconv/pprdrv_tt2.cpp 2008-03-21 16:04:49.000000000 -0800
@@ -31,10 +31,11 @@
*/
#include "global_defines.h"
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
-#include <memory.h>
+#include <cmath>
+#include <cstdlib>
+#include <cstdio>
+#include <cstring>
+#include <memory>
#include "pprdrv.h"
#include "truetype.h"
#include <algorithm>
diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv_tt.cpp matplotlib-0.91.2/ttconv/pprdrv_tt.cpp
--- matplotlib-0.91.2-old/ttconv/pprdrv_tt.cpp 2007-11-29 17:36:53.000000000 -0900
+++ matplotlib-0.91.2/ttconv/pprdrv_tt.cpp 2008-03-21 15:57:42.000000000 -0800
@@ -23,9 +23,9 @@
*/
#include "global_defines.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
#include "pprdrv.h"
#include "truetype.h"
#include <sstream>
diff -u -r matplotlib-0.91.2-old/ttconv/ttutil.cpp matplotlib-0.91.2/ttconv/ttutil.cpp
--- matplotlib-0.91.2-old/ttconv/ttutil.cpp 2007-11-29 17:36:53.000000000 -0900
+++ matplotlib-0.91.2/ttconv/ttutil.cpp 2008-03-24 11:25:06.000000000 -0800
@@ -8,9 +8,9 @@
/* (c) Frank Siegert 1996 */
#include "global_defines.h"
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
+#include <cstdio>
+#include <cstdarg>
+#include <cstdlib>
#include "pprdrv.h"
#if DEBUG_TRUETYPE

View File

@@ -1,52 +1,154 @@
%{!?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.99.1.2
Release: 1%{?dist}
Version: 1.0.1
Release: 14%{?dist}
Summary: Python plotting library
Group: Development/Libraries
License: Python
URL: http://sourceforge.net/projects/matplotlib
Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz
Source1: setup.cfg
Patch0: matplotlib-gcc43.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: 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
#%setup -q -n matplotlib-%{version}
%setup -q -n matplotlib-0.99.1.1
#%patch0 -p1
%if %{withhtmldocs}
%setup -q -n matplotlib-%{version} -b1
%else
%setup -q -n matplotlib-%{version}
%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
cp %{SOURCE1} ./setup.cfg
%{__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
@@ -61,7 +163,7 @@ rm -rf $RPM_BUILD_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 examples
%doc PKG-INFO TODO
%if 0%{?fedora} >= 9
%{python_sitearch}/*egg-info
%endif
@@ -71,14 +173,105 @@ rm -rf $RPM_BUILD_ROOT
%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
* 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
@@ -144,7 +337,7 @@ rm -rf $RPM_BUILD_ROOT
- Update to 0.90.0
* Tue 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
- Release bump for rebuild against python 2.5 in devel tree
@@ -225,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

View File

@@ -57,7 +57,7 @@ configobj = False
gtk = True
gtkagg = True
tkagg = True
wxagg = False
wxagg = True
[rc_options]
# User-configurable options

View File

@@ -1 +1,2 @@
952e2c992e4a762b8538171f51c9140a matplotlib-0.99.1.2.tar.gz
b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz
24ee8b490f707a60ed5aaf7259f6bc40 mpl_sampledata-1.0.1.tar.gz