Compare commits
4 Commits
f16
...
python-mat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e77417f331 | ||
|
|
4006838b91 | ||
|
|
edfabceb98 | ||
|
|
2bed5b16eb |
1
.cvsignore
Normal file
1
.cvsignore
Normal file
@@ -0,0 +1 @@
|
||||
matplotlib-0.99.1.2.tar.gz
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +0,0 @@
|
||||
matplotlib-1.0.0-without-gpc.tar.gz
|
||||
/matplotlib-1.0.1-without-gpc.tar.gz
|
||||
/mpl_sampledata-1.0.1.tar.gz
|
||||
@@ -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
|
||||
|
||||
21
Makefile
Normal file
21
Makefile
Normal file
@@ -0,0 +1,21 @@
|
||||
# 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)
|
||||
@@ -1,19 +0,0 @@
|
||||
#! /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
|
||||
13
matplotlib-0.87.7-matplotlibrc.patch
Normal file
13
matplotlib-0.87.7-matplotlibrc.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- 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()
|
||||
53
matplotlib-0.90.1-setup.patch
Normal file
53
matplotlib-0.90.1-setup.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
--- 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:
|
||||
@@ -1,82 +0,0 @@
|
||||
diff -up matplotlib-1.0.1/MANIFEST.in.noagg matplotlib-1.0.1/MANIFEST.in
|
||||
--- matplotlib-1.0.1/MANIFEST.in.noagg 2010-07-06 19:41:55.000000000 -0600
|
||||
+++ matplotlib-1.0.1/MANIFEST.in 2011-05-20 15:45:38.337580769 -0600
|
||||
@@ -18,6 +18,5 @@ recursive-include examples *
|
||||
recursive-include doc *
|
||||
recursive-include src *.cpp *.c *.h *.m
|
||||
recursive-include CXX *.cxx *.hxx *.c *.h
|
||||
-recursive-include agg24 *
|
||||
recursive-include lib *
|
||||
recursive-include ttconv *.cpp *.h
|
||||
diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py
|
||||
--- matplotlib-1.0.1/setupext.py.noagg 2010-07-06 19:41:55.000000000 -0600
|
||||
+++ matplotlib-1.0.1/setupext.py 2011-05-20 16:11:56.977764688 -0600
|
||||
@@ -104,7 +104,6 @@ BUILT_GDK = False
|
||||
BUILT_PATH = False
|
||||
BUILT_TRI = False
|
||||
|
||||
-AGG_VERSION = 'agg24'
|
||||
TCL_TK_CACHE = None
|
||||
|
||||
# for nonstandard installation/build with --prefix variable
|
||||
@@ -551,7 +550,8 @@ def add_agg_flags(module):
|
||||
# before adding the freetype flags since -z comes later
|
||||
add_base_flags(module)
|
||||
add_numpy_flags(module)
|
||||
- module.include_dirs.extend(['src', '%s/include'%AGG_VERSION, '.'])
|
||||
+ module.include_dirs.extend(['src', '/usr/include/agg2', '.'])
|
||||
+ module.libraries.append('agg')
|
||||
|
||||
# put these later for correct link order
|
||||
module.libraries.extend(std_libs)
|
||||
@@ -1251,17 +1251,7 @@ def build_agg(ext_modules, packages):
|
||||
global BUILT_AGG
|
||||
if BUILT_AGG: return # only build it if you you haven't already
|
||||
|
||||
- agg = (
|
||||
- 'agg_trans_affine.cpp',
|
||||
- 'agg_bezier_arc.cpp',
|
||||
- 'agg_curves.cpp',
|
||||
- 'agg_vcgen_dash.cpp',
|
||||
- 'agg_vcgen_stroke.cpp',
|
||||
- 'agg_image_filters.cpp',
|
||||
- )
|
||||
-
|
||||
- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg]
|
||||
- deps.extend(['src/mplutils.cpp', 'src/agg_py_transforms.cpp'])
|
||||
+ deps = ['src/mplutils.cpp', 'src/agg_py_transforms.cpp']
|
||||
deps.extend(glob.glob('CXX/*.cxx'))
|
||||
deps.extend(glob.glob('CXX/*.c'))
|
||||
temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp')
|
||||
@@ -1284,15 +1274,7 @@ def build_path(ext_modules, packages):
|
||||
global BUILT_PATH
|
||||
if BUILT_PATH: return # only build it if you you haven't already
|
||||
|
||||
- agg = (
|
||||
- 'agg_curves.cpp',
|
||||
- 'agg_bezier_arc.cpp',
|
||||
- 'agg_trans_affine.cpp',
|
||||
- 'agg_vcgen_stroke.cpp',
|
||||
- )
|
||||
-
|
||||
- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg]
|
||||
- deps.extend(glob.glob('CXX/*.cxx'))
|
||||
+ deps = glob.glob('CXX/*.cxx')
|
||||
deps.extend(glob.glob('CXX/*.c'))
|
||||
|
||||
temp_copy('src/_path.cpp', 'src/path.cpp')
|
||||
@@ -1317,14 +1299,8 @@ def build_image(ext_modules, packages):
|
||||
global BUILT_IMAGE
|
||||
if BUILT_IMAGE: return # only build it if you you haven't already
|
||||
|
||||
- agg = ('agg_trans_affine.cpp',
|
||||
- 'agg_image_filters.cpp',
|
||||
- 'agg_bezier_arc.cpp',
|
||||
- )
|
||||
-
|
||||
temp_copy('src/_image.cpp', 'src/image.cpp')
|
||||
deps = ['src/image.cpp', 'src/mplutils.cpp']
|
||||
- deps.extend(['%s/src/%s'%(AGG_VERSION,name) for name in agg])
|
||||
deps.extend(glob.glob('CXX/*.cxx'))
|
||||
deps.extend(glob.glob('CXX/*.c'))
|
||||
|
||||
@@ -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:
|
||||
63
matplotlib-gcc43.patch
Normal file
63
matplotlib-gcc43.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
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
|
||||
81
matplotlib_gtk_tooltip.patch
Normal file
81
matplotlib_gtk_tooltip.patch
Normal file
@@ -0,0 +1,81 @@
|
||||
--- lib/matplotlib/backends/backend_gtk.py 2010/02/18 14:54:30 8141
|
||||
+++ lib/matplotlib/backends/backend_gtk.py 2010/03/20 22:49:25 8203
|
||||
@@ -17,6 +17,8 @@
|
||||
% (gtk.pygtk_version + pygtk_version_required))
|
||||
del pygtk_version_required
|
||||
|
||||
+_new_tooltip_api = (gtk.pygtk_version[1] >= 12)
|
||||
+
|
||||
import matplotlib
|
||||
from matplotlib import verbose
|
||||
from matplotlib._pylab_helpers import Gcf
|
||||
@@ -448,7 +450,7 @@
|
||||
# diong a blanket catch here, but an not sure what a
|
||||
# better way is - JDH
|
||||
verbose.report('Could not load matplotlib icon: %s' % sys.exc_info()[1])
|
||||
-
|
||||
+
|
||||
self.vbox = gtk.VBox()
|
||||
self.window.add(self.vbox)
|
||||
self.vbox.show()
|
||||
@@ -618,7 +620,8 @@
|
||||
|
||||
def _init_toolbar2_4(self):
|
||||
basedir = os.path.join(matplotlib.rcParams['datapath'],'images')
|
||||
- self.tooltips = gtk.Tooltips()
|
||||
+ if not _new_tooltip_api:
|
||||
+ self.tooltips = gtk.Tooltips()
|
||||
|
||||
for text, tooltip_text, image_file, callback in self.toolitems:
|
||||
if text is None:
|
||||
@@ -630,7 +633,10 @@
|
||||
tbutton = gtk.ToolButton(image, text)
|
||||
self.insert(tbutton, -1)
|
||||
tbutton.connect('clicked', getattr(self, callback))
|
||||
- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
|
||||
+ if _new_tooltip_api:
|
||||
+ tbutton.set_tooltip_text(tooltip_text)
|
||||
+ else:
|
||||
+ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
|
||||
|
||||
toolitem = gtk.SeparatorToolItem()
|
||||
self.insert(toolitem, -1)
|
||||
@@ -760,7 +766,8 @@
|
||||
def _create_toolitems_2_4(self):
|
||||
# use the GTK+ 2.4 GtkToolbar API
|
||||
iconSize = gtk.ICON_SIZE_SMALL_TOOLBAR
|
||||
- self.tooltips = gtk.Tooltips()
|
||||
+ if not _new_tooltip_api:
|
||||
+ self.tooltips = gtk.Tooltips()
|
||||
|
||||
for text, tooltip_text, image_num, callback, callback_arg, scroll \
|
||||
in self.toolitems:
|
||||
@@ -778,15 +785,22 @@
|
||||
tbutton.connect('clicked', getattr(self, callback))
|
||||
if scroll:
|
||||
tbutton.connect('scroll_event', getattr(self, callback))
|
||||
- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
|
||||
+ if _new_tooltip_api:
|
||||
+ tbutton.set_tooltip_text(tooltip_text)
|
||||
+ else:
|
||||
+ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private')
|
||||
|
||||
# Axes toolitem, is empty at start, update() adds a menu if >=2 axes
|
||||
self.axes_toolitem = gtk.ToolItem()
|
||||
self.insert(self.axes_toolitem, 0)
|
||||
- self.axes_toolitem.set_tooltip (
|
||||
- self.tooltips,
|
||||
- tip_text='Select axes that controls affect',
|
||||
- tip_private = 'Private')
|
||||
+ if _new_tooltip_api:
|
||||
+ self.axes_toolitem.set_tooltip_text(
|
||||
+ 'Select axes that controls affect')
|
||||
+ else:
|
||||
+ self.axes_toolitem.set_tooltip (
|
||||
+ self.tooltips,
|
||||
+ tip_text='Select axes that controls affect',
|
||||
+ tip_private = 'Private')
|
||||
|
||||
align = gtk.Alignment (xalign=0.5, yalign=0.5, xscale=0.0, yscale=0.0)
|
||||
self.axes_toolitem.add(align)
|
||||
|
||||
@@ -1,154 +1,54 @@
|
||||
%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
|
||||
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
||||
|
||||
Name: python-matplotlib
|
||||
Version: 1.0.1
|
||||
Release: 14%{?dist}
|
||||
Version: 0.99.1.2
|
||||
Release: 4%{?dist}
|
||||
Summary: Python plotting library
|
||||
|
||||
Group: Development/Libraries
|
||||
License: Python
|
||||
URL: http://sourceforge.net/projects/matplotlib
|
||||
#Modified Sources to remove the one undistributable file
|
||||
#See generate-tarball.sh in fedora cvs repository for logic
|
||||
#sha1sum matplotlib-1.0.1-without-gpc.tar.gz
|
||||
#a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz
|
||||
Source0: matplotlib-%{version}-without-gpc.tar.gz
|
||||
%if %{withhtmldocs}
|
||||
Source1: http://downloads.sourceforge.net/matplotlib/mpl_sampledata-%{version}.tar.gz
|
||||
%endif
|
||||
Source2: setup.cfg
|
||||
# This patch taken from upstream SVN and will not be needed for releases later than 1.0.1
|
||||
Patch0: matplotlib-1.0.1-plot_directive.patch
|
||||
Patch1: matplotlib-1.0.1-noagg.patch
|
||||
Patch2: 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch
|
||||
# fix build when Tkinter doesn't return an expected value in __version__ (FTBFS)
|
||||
Patch3: matplotlib-1.0.1-tkinter.patch
|
||||
Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz
|
||||
Source1: setup.cfg
|
||||
Patch0: matplotlib-gcc43.patch
|
||||
Patch1: matplotlib_gtk_tooltip.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: pygtk2-devel, gtk2-devel, tkinter, tk-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 numpy for handling large data sets and supports a variety
|
||||
of output back-ends.
|
||||
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
|
||||
|
||||
|
||||
%package tk
|
||||
Summary: Tk backend for python-matplotlib
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
BuildRequires: tkinter, tk-devel
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
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}
|
||||
%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
|
||||
|
||||
#%setup -q -n matplotlib-%{version}
|
||||
%setup -q -n matplotlib-0.99.1.1
|
||||
#%patch0 -p1
|
||||
%patch1 -p0
|
||||
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
|
||||
@@ -163,7 +63,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
|
||||
%doc PKG-INFO TODO examples
|
||||
%if 0%{?fedora} >= 9
|
||||
%{python_sitearch}/*egg-info
|
||||
%endif
|
||||
@@ -173,96 +73,14 @@ 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.
|
||||
|
||||
@@ -337,7 +155,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
|
||||
@@ -418,7 +236,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
|
||||
|
||||
@@ -57,7 +57,7 @@ configobj = False
|
||||
gtk = True
|
||||
gtkagg = True
|
||||
tkagg = True
|
||||
wxagg = True
|
||||
wxagg = False
|
||||
|
||||
[rc_options]
|
||||
# User-configurable options
|
||||
|
||||
Reference in New Issue
Block a user