Compare commits

..

2 Commits
f26 ... f19

Author SHA1 Message Date
Thomas Spura
9f31e58569 Also bump the release 2014-01-25 17:22:02 +01:00
Thomas Spura
109cf25bcd Use GTKAgg backend and correct requires
- use GTKAgg backend (#982793)
- R python3-matplotlib not python-matplotlib (#988412)
2014-01-25 17:20:39 +01:00
17 changed files with 332 additions and 1052 deletions

11
.gitignore vendored
View File

@@ -2,14 +2,3 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-1.0.1-without-gpc.tar.gz
/mpl_sampledata-1.0.1.tar.gz
/matplotlib-1.2.0-without-gpc.tar.gz
/matplotlib-1.3.0-without-gpc.tar.xz
/matplotlib-1.3.1-without-gpc.tar.xz
/matplotlib-1.4.3-without-gpc.tar.xz
/matplotlib-1.4.3-without-extern.tar.xz
/matplotlib-1.5.1-without-extern.tar.xz
/matplotlib-1.5.1.tar.gz
/matplotlib-1.5.2rc2.tar.gz
/matplotlib-2.0.0b4.tar.gz
/matplotlib-2.0.0rc2.tar.gz
/matplotlib-2.0.0.tar.gz
/matplotlib-2.0.0-without-copyrighted.tar.xz

View File

@@ -1,24 +0,0 @@
--- a/lib/matplotlib/__init__.py 2016-04-04 12:54:26.427194940 +0200
+++ b/lib/matplotlib/__init__.py 2016-04-04 12:56:12.662590255 +0200
@@ -682,9 +682,12 @@
_file = _decode_filesystem_path(__file__)
path = os.sep.join([os.path.dirname(_file), 'mpl-data'])
+ path = '/usr/share/matplotlib/mpl-data'
if os.path.isdir(path):
return path
+ raise RuntimeError('Could not find the matplotlib data files')
+
# setuptools' namespace_packages may highjack this init file
# so need to try something known to be in matplotlib, not basemap
import matplotlib.afm
@@ -812,7 +815,7 @@
home, '.matplotlib', 'matplotlibrc')
return fname
- path = get_data_path() # guaranteed to exist or raise
+ path = '/etc' # guaranteed to exist or raise
fname = os.path.join(path, 'matplotlibrc')
if not os.path.exists(fname):
warnings.warn('Could not find matplotlibrc; using defaults')

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,32 +0,0 @@
diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_image.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_image.py
--- matplotlib-1.5.1/lib/matplotlib/tests/test_image.py.tests 2016-05-23 14:04:41.000000000 +0200
+++ matplotlib-1.5.1/lib/matplotlib/tests/test_image.py 2016-06-02 00:28:37.076703843 +0200
@@ -186,7 +186,8 @@ def test_cursor_data():
event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp)
z = im.get_cursor_data(event)
- assert z is None, "Did not get None, got %d" % z
+ #0 instead of None on armv7hl
+ #assert z is None, "Did not get None, got %d" % z
# Hmm, something is wrong here... I get 0, not None...
# But, this works further down in the tests with extents flipped
@@ -224,14 +225,16 @@ def test_cursor_data():
event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp)
z = im.get_cursor_data(event)
- assert z is None, "Did not get None, got %d" % z
+ #0 instead of None on armv7hl
+ #assert z is None, "Did not get None, got %d" % z
x, y = 0.01, -0.01
xdisp, ydisp = ax.transData.transform_point([x, y])
event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp)
z = im.get_cursor_data(event)
- assert z is None, "Did not get None, got %d" % z
+ #0 instead of None on armv7hl
+ #assert z is None, "Did not get None, got %d" % z
@image_comparison(baseline_images=['image_clip'])

View File

@@ -1,20 +0,0 @@
diff -up matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py
--- matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests 2016-07-17 01:04:11.000000000 +0200
+++ matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py 2016-08-29 13:41:47.661198880 +0200
@@ -1,6 +1,7 @@
""" Tests for tinypages build using sphinx extensions """
import shutil
+import sys
import tempfile
from os.path import (join as pjoin, dirname, isdir)
@@ -16,6 +17,8 @@ TINY_PAGES = pjoin(HERE, 'tinypages')
def setup():
# Check we have the sphinx-build command
+ if sys.version_info[0] >= 3:
+ raise SkipTest('sphinx-build works only with python 2.x')
try:
ret = call(['sphinx-build', '--help'], stdout=PIPE, stderr=PIPE)
except OSError:

View File

@@ -0,0 +1,64 @@
diff -ur matplotlib-1.2.0.orig/lib/matplotlib/font_manager.py matplotlib-1.2.0/lib/matplotlib/font_manager.py
--- matplotlib-1.2.0.orig/lib/matplotlib/font_manager.py 2012-10-31 01:11:14.000000000 +0100
+++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-04-03 01:50:34.433802284 +0200
@@ -62,7 +62,7 @@
except ImportError:
import pickle
-USE_FONTCONFIG = False
+USE_FONTCONFIG = True
verbose = matplotlib.verbose
@@ -771,7 +771,7 @@
return float(self._size)
except ValueError:
pass
- default_size = fontManager.get_default_size()
+ default_size = FontManager.get_default_size()
return default_size * font_scalings.get(self._size)
def get_file(self):
@@ -991,7 +991,10 @@
self.afmfiles = findSystemFonts(paths, fontext='afm') + \
findSystemFonts(fontext='afm')
self.afmlist = createFontList(self.afmfiles, fontext='afm')
- self.defaultFont['afm'] = self.afmfiles[0]
+ try:
+ self.defaultFont['afm'] = self.afmfiles[0]
+ except IndexError:
+ self.defaultFont['afm'] = None
self.ttf_lookup_cache = {}
self.afm_lookup_cache = {}
@@ -1002,7 +1005,8 @@
"""
return self.__default_weight
- def get_default_size(self):
+ @staticmethod
+ def get_default_size():
"""
Return the default font size.
"""
@@ -1276,7 +1280,7 @@
except OSError:
return None
if pipe.returncode == 0:
- for match in _fc_match_regex.finditer(output):
+ for match in _fc_match_regex.finditer(output.decode("utf-8")):
file = match.group(1)
if os.path.splitext(file)[1][1:] in fontexts:
return file
diff -ur matplotlib-1.2.0.orig/lib/matplotlib/mpl-data/matplotlibrc matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc
--- matplotlib-1.2.0.orig/lib/matplotlib/mpl-data/matplotlibrc 2012-11-08 17:39:20.000000000 +0100
+++ matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc 2013-04-03 01:50:03.693755542 +0200
@@ -198,7 +198,7 @@
#mathtext.it : serif:italic
#mathtext.bf : serif:bold
#mathtext.sf : sans
-#mathtext.fontset : cm # Should be 'cm' (Computer Modern), 'stix',
+mathtext.fontset : stix # Should be 'cm' (Computer Modern), 'stix',
# 'stixsans' or 'custom'
#mathtext.fallback_to_cm : True # When True, use symbols from the Computer Modern
# fonts when a symbol can not be found in one of

View File

@@ -1,126 +0,0 @@
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:28:07.736224906 -0800
@@ -1285,7 +1285,7 @@
cbar.add_lines(cs2, erase=False)
-@image_comparison(baseline_images=['hist2d', 'hist2d'])
+@image_comparison(baseline_images=['hist2d', 'hist2d'], tol=10.677)
def test_hist2d():
np.random.seed(0)
# make it not symetric in case we switch x and y axis
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py.new 2017-01-07 21:29:53.441682625 -0800
@@ -135,7 +135,7 @@
ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W')
-@image_comparison(baseline_images=['barbs_test_image'],
+@image_comparison(baseline_images=['barbs_test_image'], tol=0.8,
extensions=['png'], remove_text=True)
def test_barbs():
x = np.linspace(-5, 5, 5)
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800
@@ -82,7 +82,7 @@
@image_comparison(baseline_images=['pre_transform_data'],
- tol=0.08)
+ tol=0.9)
def test_pre_transform_plotting():
# a catch-all for as many as possible plot layouts which handle
# pre-transforming the data NOTE: The axis range is important in this
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py.new 2017-01-07 21:30:47.502916717 -0800
@@ -2279,90 +2279,6 @@
iscomplex=True, sides='default', nsides=2)
-class spectral_testcase_Fs4_real_onesided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4],
- iscomplex=False, sides='onesided', nsides=1)
-
-
-class spectral_testcase_Fs4_real_twosided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4],
- iscomplex=False, sides='twosided', nsides=2)
-
-
-class spectral_testcase_Fs4_real_defaultsided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4],
- iscomplex=False, sides='default', nsides=1)
-
-
-class spectral_testcase_Fs4_complex_onesided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4],
- iscomplex=True, sides='onesided', nsides=1)
-
-
-class spectral_testcase_Fs4_complex_twosided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4],
- iscomplex=True, sides='twosided', nsides=2)
-
-
-class spectral_testcase_Fs4_complex_defaultsided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4],
- iscomplex=True, sides='default', nsides=2)
-
-
-class spectral_testcase_FsAll_real_onesided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4, 5, 10],
- iscomplex=False, sides='onesided', nsides=1)
-
-
-class spectral_testcase_FsAll_real_twosided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4, 5, 10],
- iscomplex=False, sides='twosided', nsides=2)
-
-
-class spectral_testcase_FsAll_real_defaultsided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4, 5, 10],
- iscomplex=False, sides='default', nsides=1)
-
-
-class spectral_testcase_FsAll_complex_onesided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4, 5, 10],
- iscomplex=True, sides='onesided', nsides=1)
-
-
-class spectral_testcase_FsAll_complex_twosided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4, 5, 10],
- iscomplex=True, sides='twosided', nsides=2)
-
-
-class spectral_testcase_FsAll_complex_defaultsided(
- spectral_testcase_nosig_real_onesided):
- def setUp(self):
- self.createStim(fstims=[4, 5, 10],
- iscomplex=True, sides='default', nsides=2)
-
-
class spectral_testcase_nosig_real_onesided_noNFFT(
spectral_testcase_nosig_real_onesided):
def setUp(self):

View File

@@ -1,65 +0,0 @@
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:35:06.874039829 -0800
@@ -361,7 +361,7 @@
plt.plot('b','b', 'o', data=data)
-@image_comparison(baseline_images=['single_date'])
+@image_comparison(baseline_images=['single_date'], tol=1.97)
def test_single_date():
time1 = [721964.0]
data1 = [-65.54]
@@ -4696,7 +4696,7 @@
@image_comparison(baseline_images=['date_timezone_x_and_y'],
- extensions=['png'])
+ extensions=['png'], tol=3.042)
def test_date_timezone_x_and_y():
# Tests issue 5575
time_index = [pytz.timezone('UTC').localize(datetime.datetime(
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py.new 2017-01-07 21:35:52.016235301 -0800
@@ -489,7 +489,7 @@
ax.autoscale_view()
-@image_comparison(baseline_images=['polycollection_close'],
+@image_comparison(baseline_images=['polycollection_close'], tol=0.446,
extensions=['png'], remove_text=True)
def test_polycollection_close():
from mpl_toolkits.mplot3d import Axes3D
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py.new 2017-01-07 21:36:29.283396673 -0800
@@ -233,7 +233,7 @@
label.set_rotation(30)
-@image_comparison(baseline_images=['contour_test_label_transforms'],
+@image_comparison(baseline_images=['contour_test_label_transforms'], tol=0.731,
extensions=['png'], remove_text=True)
def test_labels():
# Adapted from pylab_examples example code: contour_demo.py
--- matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py.new 2017-01-07 21:37:04.144547626 -0800
@@ -171,7 +171,7 @@
ax.set_zlabel('Z axis')
-@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.03)
+@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.081)
def test_trisurf3d():
n_angles = 36
n_radii = 8
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800
@@ -82,7 +82,7 @@
@image_comparison(baseline_images=['pre_transform_data'],
- tol=0.08)
+ tol=0.15)
def test_pre_transform_plotting():
# a catch-all for as many as possible plot layouts which handle
# pre-transforming the data NOTE: The axis range is important in this

View File

@@ -1,55 +0,0 @@
--- matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py.new 2017-01-07 21:19:51.078081193 -0800
@@ -266,7 +266,7 @@
yield do_test, fignum, actual_fname, expected_fname
-def image_comparison(baseline_images=None, extensions=None, tol=0,
+def image_comparison(baseline_images=None, extensions=None, tol=0.306,
freetype_version=None, remove_text=False,
savefig_kwarg=None, style='classic'):
"""
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py.new 2017-01-07 21:20:22.388215456 -0800
@@ -17,7 +17,7 @@
@image_comparison(baseline_images=['pngsuite'], extensions=['png'],
- tol=0.01 if on_win else 0)
+ tol=0.014)
def test_pngsuite():
dirname = os.path.join(
os.path.dirname(__file__),
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py.new 2017-01-07 21:20:42.180300328 -0800
@@ -18,7 +18,7 @@
@image_comparison(baseline_images=['streamplot_colormap'],
- tol=0.002)
+ tol=0.009)
def test_colormap():
X, Y, U, V = velocity_field()
plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py.new 2017-01-07 21:21:08.014411109 -0800
@@ -110,7 +110,7 @@
assert_equal(pe._offset, (4, 5))
-@image_comparison(baseline_images=['collection'], tol=0.015)
+@image_comparison(baseline_images=['collection'], tol=0.083)
def test_collection():
x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100))
data = np.sin(x) + np.cos(y)
--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py 2016-12-18 11:40:53.000000000 -0800
+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py.new 2017-01-07 22:02:42.396426402 -0800
@@ -158,7 +158,7 @@
def make_set(basename, fontset, tests, extensions=None):
def make_test(filename, test):
- @image_comparison(baseline_images=[filename], extensions=extensions)
+ @image_comparison(baseline_images=[filename], extensions=extensions, tol=0.310)
def single_test():
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))

View File

@@ -1,33 +1,73 @@
--- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200
+++ setupext.py 2013-08-02 09:40:14.785304342 +0200
@@ -914,28 +914,13 @@ class LibAgg(SetupPackage):
self.__class__.found_external = True
try:
return self._check_for_pkg_config(
- 'libagg', 'agg2/agg_basics.h', min_version='PATCH')
+ 'libagg', 'agg2/agg_basics.h', min_version='2.5.0')
except CheckFailed as e:
self.__class__.found_external = False
return str(e) + ' Using local copy.'
diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py
--- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:49:21.295712608 -0200
+++ matplotlib-1.2.0/setupext.py 2012-11-23 14:49:31.508712999 -0200
@@ -96,7 +96,6 @@ BUILT_GDK = False
BUILT_PATH = False
BUILT_TRI = False
def add_flags(self, ext):
- if self.found_external:
- pkg_config.setup_extension(ext, 'libagg')
- else:
- ext.include_dirs.append('extern/agg24/include')
- agg_sources = [
- 'agg_bezier_arc.cpp',
- 'agg_curves.cpp',
- 'agg_image_filters.cpp',
- 'agg_trans_affine.cpp',
- 'agg_vcgen_contour.cpp',
- 'agg_vcgen_dash.cpp',
- 'agg_vcgen_stroke.cpp',
- 'agg_vpgen_segmentator.cpp'
- ]
- ext.sources.extend(
- os.path.join('extern', 'agg24', 'src', x) for x in agg_sources)
+ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
-AGG_VERSION = 'agg24'
TCL_TK_CACHE = None
# for nonstandard installation/build with --prefix variable
@@ -621,7 +620,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)
@@ -1220,17 +1220,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')
@@ -1253,16 +1243,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_vcgen_contour.cpp',
- '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')
@@ -1287,14 +1268,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'))
class FreeType(SetupPackage):

View File

@@ -1,24 +0,0 @@
diff -up matplotlib-1.5.2rc2/setupext.py.qh matplotlib-1.5.2rc2/setupext.py
--- matplotlib-1.5.2rc2/setupext.py.qh 2016-06-04 00:09:22.605827942 +0200
+++ matplotlib-1.5.2rc2/setupext.py 2016-06-04 00:09:22.611827972 +0200
@@ -1018,7 +1018,7 @@ class Qhull(SetupPackage):
# present on this system, so check if the header files can be
# found.
include_dirs = [
- os.path.join(x, 'qhull') for x in get_include_dirs()]
+ os.path.join(x, 'libqhull') for x in get_include_dirs()]
if has_include_file(include_dirs, 'qhull_a.h'):
return 'Using system Qhull (version unknown, no pkg-config info)'
else:
diff -up matplotlib-1.5.2rc2/src/qhull_wrap.c.qh matplotlib-1.5.2rc2/src/qhull_wrap.c
--- matplotlib-1.5.2rc2/src/qhull_wrap.c.qh 2016-05-27 04:19:34.000000000 +0200
+++ matplotlib-1.5.2rc2/src/qhull_wrap.c 2016-06-04 00:09:22.608827957 +0200
@@ -7,7 +7,7 @@
*/
#include "Python.h"
#include "numpy/noprefix.h"
-#include "qhull/qhull_a.h"
+#include <libqhull/qhull_a.h>
#include <stdio.h>

View File

@@ -0,0 +1,35 @@
diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py
--- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:50:48.954715965 -0200
+++ matplotlib-1.2.0/setupext.py 2012-11-23 14:55:53.731727636 -0200
@@ -898,12 +898,12 @@ def parse_tcl_config(tcl_lib_dir, tk_lib
tcl_poss = [tcl_lib_dir,
os.path.normpath(os.path.join(tcl_lib_dir, '..')),
- "/usr/lib/tcl"+str(Tkinter.TclVersion),
- "/usr/lib"]
+ "@@libdir@@/tcl"+str(Tkinter.TclVersion),
+ "@@libdir@@"]
tk_poss = [tk_lib_dir,
os.path.normpath(os.path.join(tk_lib_dir, '..')),
- "/usr/lib/tk"+str(Tkinter.TkVersion),
- "/usr/lib"]
+ "@@libdir@@/tk"+str(Tkinter.TkVersion),
+ "@@libdir@@"]
for ptcl, ptk in zip(tcl_poss, tk_poss):
tcl_config = os.path.join(ptcl, "tclConfig.sh")
tk_config = os.path.join(ptk, "tkConfig.sh")
@@ -974,10 +974,10 @@ def guess_tcl_config(tcl_lib_dir, tk_lib
return tcl_lib, tcl_inc, 'tcl' + tk_ver, tk_lib, tk_inc, 'tk' + tk_ver
def hardcoded_tcl_config():
- tcl_inc = "/usr/local/include"
- tk_inc = "/usr/local/include"
- tcl_lib = "/usr/local/lib"
- tk_lib = "/usr/local/lib"
+ tcl_inc = "/usr/include"
+ tk_inc = "/usr/include"
+ tcl_lib = "@@libdir@@"
+ tk_lib = "@@libdir@@"
return tcl_lib, tcl_inc, 'tcl', tk_lib, tk_inc, 'tk'
def add_tk_flags(module):

View File

@@ -1,34 +0,0 @@
diff -up matplotlib-1.5.1/setupext.py.six matplotlib-1.5.1/setupext.py
--- matplotlib-1.5.1/setupext.py.six 2016-01-10 23:20:20.000000000 +0100
+++ matplotlib-1.5.1/setupext.py 2016-05-18 13:44:21.534494158 +0200
@@ -1026,6 +1026,18 @@ class Qhull(SetupPackage):
ext.sources.extend(glob.glob('extern/qhull/*.c'))
+class Six(SetupPackage):
+ name = "six"
+
+ def check(self):
+ try:
+ import six
+ except ImportError:
+ return 'not found. pip may install it below.'
+
+ return 'version %s' % six.__version__
+
+
class TTConv(SetupPackage):
name = "ttconv"
diff -up matplotlib-1.5.1/setup.py.six matplotlib-1.5.1/setup.py
--- matplotlib-1.5.1/setup.py.six 2016-01-10 23:20:20.000000000 +0100
+++ matplotlib-1.5.1/setup.py 2016-05-18 13:44:21.528494040 +0200
@@ -84,7 +84,7 @@ mpl_packages = [
setupext.Delaunay(),
setupext.QhullWrap(),
setupext.Tri(),
- setupext.Externals(),
+ setupext.Six(),
'Optional subpackages',
setupext.SampleData(),
setupext.Toolkits(),

View File

@@ -1,19 +1,11 @@
%if 0%{?fedora}
%if 0%{?fedora} >= 18
%global with_python3 1
%global basepy3dir %(echo ../`basename %{py3dir}`)
%else
%global with_python3 0
%endif
%global __provides_exclude_from .*/site-packages/.*\\.so$
%global with_html 0
# It seems like there's some kind of weird occasional error where a
# build (often aarch64 or ppc64) will fail in one of the Stix font
# tests with a huge RMS difference, but if you run the same build again,
# you won't get the same error. Unless someone can figure out what's
# going on, we just have to keep re-running the build until it doesn't
# happen.
%global run_tests 1
%global __provides_exclude_from .*/site-packages/.*\\.so$
%global with_html 1
# On RHEL 7 onwards, don't build with wx:
%if 0%{?rhel} >= 7
@@ -22,67 +14,54 @@
%global with_wx 1
%endif
# On Fedora 21 onwards, enable Qt5 backend:
%if 0%{?fedora}
%global with_qt5 1
%else
%global with_qt5 0
%endif
# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
%global backend TkAgg
%if "%{backend}" == "TkAgg"
%global backend_subpackage tk
%else
% if "%{backend}" == "Qt4Agg"
%global backend_subpackage qt4
% else
% if "%{backend}" == "Qt5Agg"
%global backend_subpackage qt5
% endif
% endif
%endif
# https://fedorahosted.org/fpc/ticket/381
%global with_bundled_fonts 1
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
#global rctag rc2
Name: python-matplotlib
Version: 2.0.0
Release: 2%{?rctag:.%{rctag}}%{?dist}.2
Version: 1.2.0
Release: 15%{?dist}
Summary: Python 2D plotting library
Group: Development/Libraries
# qt4_editor backend is MIT
License: Python and MIT
License: Python
URL: http://matplotlib.org
#Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}.tar.gz#/matplotlib-%{version}%{?rctag}.tar.gz
Source0: matplotlib-%{version}-without-copyrighted.tar.xz
#Modified Sources to remove the one undistributable file
#See generate-tarball.sh in fedora cvs repository for logic
#sha1sum matplotlib-1.2.0-without-gpc.tar.gz
#92ada4ef4e7374d67e46e30bfb08c3fed068d680 matplotlib-1.2.0-without-gpc.tar.gz
Source0: matplotlib-%{version}-without-gpc.tar.gz
Source1: setup.cfg
Patch2: 20_matplotlibrc_path_search_fix.patch
# https://github.com/matplotlib/matplotlib/issues/6538
Patch8: python-matplotlib-disable-failing-tests-arm.patch
# https://github.com/matplotlib/matplotlib/issues/6791
Patch9: python-matplotlib-qhull.patch
# https://github.com/matplotlib/matplotlib/issues/7134
# https://github.com/matplotlib/matplotlib/issues/7158
# https://github.com/matplotlib/matplotlib/issues/7159
# https://github.com/matplotlib/matplotlib/issues/7797
Patch10: python-matplotlib-increase-tests-tolerance.patch
Patch11: python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch
Patch13: python-matplotlib-increase-tests-tolerance-i686.patch
Patch0: %{name}-noagg.patch
Patch1: %{name}-tk.patch
# http://sourceforge.net/mailarchive/message.php?msg_id=30202451
# https://github.com/matplotlib/matplotlib/pull/1666
# https://bugzilla.redhat.com/show_bug.cgi?id=896182
Patch2: %{name}-fontconfig.patch
BuildRequires: agg-devel
BuildRequires: freetype-devel
BuildRequires: gtk2-devel
BuildRequires: libpng-devel
BuildRequires: qhull-devel
BuildRequires: numpy
BuildRequires: pycairo-devel
BuildRequires: pygtk2-devel
BuildRequires: pyparsing
BuildRequires: python-dateutil
BuildRequires: python2-devel
BuildRequires: pytz
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: numpy
Requires: pycairo
Requires: pygtk2
Requires: pyparsing
Requires: python-dateutil
Requires: pytz
%if 0%{?fedora} >= 18
Requires: stix-math-fonts
%else
Requires: stix-fonts
%endif
%description
Matplotlib is a python 2D plotting library which produces publication
@@ -95,234 +74,75 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python2-matplotlib
Summary: Python 2D plotting library
BuildRequires: numpy
BuildRequires: pyparsing
BuildRequires: python-dateutil
BuildRequires: python-pycxx-devel
BuildRequires: python-pyside
BuildRequires: python-setuptools
BuildRequires: python-six
BuildRequires: python-subprocess32
BuildRequires: python2-devel
BuildRequires: python2-functools32
BuildRequires: python2-pillow
BuildRequires: pytz
%if %{with_html}
BuildRequires: %{_bindir}/pdftops
# circular dependency: python-basemap requires matplotlib
BuildRequires: python-basemap
BuildRequires: python-ipython-sphinx
BuildRequires: python-numpydoc
BuildRequires: python-scikit-image
BuildRequires: python2-colorspacious
BuildRequires: python2-cycler >= 0.10.0
%endif
%if %{run_tests}
BuildRequires: python-nose
BuildRequires: python2-cycler >= 0.10.0
BuildRequires: python2-mock
%endif
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: numpy
Requires: pyparsing
Requires: python2-cycler >= 0.10.0
Requires: python-dateutil
Requires: python2-functools32
Requires: python-matplotlib-data = %{version}-%{release}
%{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}}
Recommends: python2-pillow
Requires: python-six
Requires: python-subprocess32
Requires: pytz
%if !%{with_bundled_fonts}
%if 0%{?fedora}
Requires: stix-math-fonts
%else
Requires: stix-fonts
%endif
%else
Provides: bundled(stix-math-fonts)
%endif
%{?python_provide:%python_provide python2-matplotlib}
Provides: bundled(agg) = 2.4
Provides: bundled(ttconv)
Provides: bundled(js-jquery1) = 1.11.3
Provides: bundled(js-jquery1-ui) = 1.11.4
Provides: bundled(texlive-helvetic)
%description -n python2-matplotlib
Matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python2-matplotlib-qt4
%package qt4
Summary: Qt4 backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: PyQt4-devel
Requires: PyQt4
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: python2-matplotlib-qt5
%{?python_provide:%python_provide python2-matplotlib-qt4}
%description -n python2-matplotlib-qt4
%description qt4
%{summary}
%if %{with_qt5}
%package -n python2-matplotlib-qt5
Summary: Qt5 backend for python-matplotlib
Group: Development/Libraries
BuildRequires: python-qt5
Requires: python-qt5
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-qt5}
%description -n python2-matplotlib-qt5
%{summary}
%endif # with_qt5
%package -n python2-matplotlib-gtk
Summary: GTK backend for python-matplotlib
Group: Development/Libraries
BuildRequires: gtk2-devel
BuildRequires: pycairo-devel
BuildRequires: pygtk2-devel
Requires: pycairo
Requires: pygtk2
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-gtk}
%description -n python2-matplotlib-gtk
%{summary}
%package -n python2-matplotlib-gtk3
Summary: GTK3 backend for python-matplotlib
Group: Development/Libraries
# This should be converted to typelib(Gtk) when supported
BuildRequires: gtk3
BuildRequires: pygobject3-base
Requires: gtk3%{?_isa}
Requires: pygobject3-base%{?_isa}
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-gtk3}
%description -n python2-matplotlib-gtk3
%{summary}
%package -n python2-matplotlib-tk
%package tk
Summary: Tk backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: tcl-devel
BuildRequires: tkinter
BuildRequires: tk-devel
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: tkinter
%{?python_provide:%python_provide python2-matplotlib-tk}
%description -n python2-matplotlib-tk
%description tk
%{summary}
%if %{with_wx}
%package -n python2-matplotlib-wx
%package wx
Summary: wxPython backend for python-matplotlib
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: wxPython-devel
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: wxPython
%{?python_provide:%python_provide python2-matplotlib-wx}
%description -n python2-matplotlib-wx
%description wx
%{summary}
%endif # with_wx
%package -n python2-matplotlib-doc
%package doc
Summary: Documentation files for python-matplotlib
Group: Documentation
Requires: %{name}%{?_isa} = %{version}-%{release}
%if %{with_html}
BuildRequires: dvipng
BuildRequires: graphviz
BuildRequires: python-sphinx
BuildRequires: tex(latex)
BuildRequires: tex-preview
BuildRequires: dvipng
%endif
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-doc}
%description -n python2-matplotlib-doc
%description doc
%{summary}
%package -n python-matplotlib-data
Summary: Data used by python-matplotlib
BuildArch: noarch
%if %{with_bundled_fonts}
Requires: python-matplotlib-data-fonts = %{version}-%{release}
%endif
%{?python_provide:%python_provide python-matplotlib-data}
%description -n python-matplotlib-data
%{summary}
%if %{with_bundled_fonts}
%package -n python-matplotlib-data-fonts
Summary: Fonts used by python-matplotlib
BuildArch: noarch
Requires: python-matplotlib-data = %{version}-%{release}
%{?python_provide:%python_provide python-matplotlib-data-fonts}
%description -n python-matplotlib-data-fonts
%{summary}
%endif
%if %{with_python3}
%package -n python3-matplotlib
Summary: Python 2D plotting library
Group: Development/Libraries
BuildRequires: python3-cairo
BuildRequires: python3-cycler >= 0.10.0
BuildRequires: python3-dateutil
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-gobject
BuildRequires: python3-numpy
BuildRequires: python3-pillow
BuildRequires: python3-pycxx-devel
BuildRequires: python3-pyparsing
BuildRequires: python3-pytz
BuildRequires: python3-six
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: python-matplotlib-data = %{version}-%{release}
Requires: python3-cairo
Requires: python3-cycler >= 0.10.0
Requires: python3-dateutil
Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
%if %{run_tests}
BuildRequires: python3-mock
BuildRequires: python3-nose
%endif
Requires: python3-numpy
Recommends: python3-pillow
Requires: python3-cairo
Requires: python3-pyparsing
Requires: python3-dateutil
Requires: python3-pytz
Requires: python3-six
%if !%{with_bundled_fonts}
%if 0%{?fedora}
Requires: stix-math-fonts
%if 0%{?fedora} >= 18
Requires: stix-math-fonts
%else
Requires: stix-fonts
Requires: stix-fonts
%endif
%else
Provides: bundled(stix-math-fonts)
%endif
%{?python_provide:%python_provide python3-matplotlib}
%description -n python3-matplotlib
Matplotlib is a python 2D plotting library which produces publication
@@ -338,108 +158,58 @@ errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python3-matplotlib-qt4
Summary: Qt4 backend for python3-matplotlib
Group: Development/Libraries
BuildRequires: python3-PyQt4-devel
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-matplotlib-qt5
BuildRequires: python3-PyQt4-devel
Requires: python3-PyQt4
%{?python_provide:%python_provide python3-matplotlib-qt4}
%description -n python3-matplotlib-qt4
%{summary}
%if %{with_qt5}
%package -n python3-matplotlib-qt5
Summary: Qt5 backend for python3-matplotlib
Group: Development/Libraries
BuildRequires: python3-qt5
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-qt5
%{?python_provide:%python_provide python3-matplotlib-qt5}
%description -n python3-matplotlib-qt5
%{summary}
%endif # with_qt5
# gtk2 never worked in Python 3 afaict, so no need for -gtk subpackage
%package -n python3-matplotlib-gtk3
Summary: GTK3 backend for python3-matplotlib
Group: Development/Libraries
# This should be converted to typelib(Gtk) when supported
BuildRequires: gtk3
BuildRequires: python3-gobject
Requires: gtk3%{?_isa}
Requires: python3-gobject%{?_isa}
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-matplotlib-gtk3}
%description -n python3-matplotlib-gtk3
%{summary}
%package -n python3-matplotlib-tk
Summary: Tk backend for python3-matplotlib
Group: Development/Libraries
BuildRequires: python3-tkinter
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: python3-tkinter
Requires: python3-tkinter
%{?python_provide:%python_provide python3-matplotlib-tk}
%description -n python3-matplotlib-tk
%{summary}
%endif
%prep
%setup -q -n matplotlib-%{version}%{?rctag}
rm -r extern/qhull
%setup -q -n matplotlib-%{version}
# Copy setup.cfg to the builddir
sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1}
cp %{SOURCE1} .
# Keep this until next version, and increment if changing from
# USE_FONTCONFIG to False or True so that cache is regenerated
# if updated from a version enabling fontconfig to one not
# enabling it, or vice versa
if [ %{version} = 1.4.3 ]; then
sed -i 's/\(__version__ = 200\)/\1.1/' lib/matplotlib/font_manager.py
fi
# Remove bundled libraries
rm -r agg24 lib/matplotlib/pyparsing_py?.py
# Remove references to bundled libraries
%patch0 -p1 -b .noagg
sed -i -e s/matplotlib\.pyparsing_py./pyparsing/g lib/matplotlib/*.py
# Correct tcl/tk detection
%patch1 -p1 -b .tk
sed -i -e 's|@@libdir@@|%{_libdir}|' setupext.py
%if !%{with_bundled_fonts}
# Use fontconfig by default
sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
%endif
%patch2 -p1
%ifarch armv7hl aarch64
%patch8 -p1 -b .tests-arm
%endif
%if 0%{?fedora} > 24
# Installation paths changed
%patch9 -p1 -b .qh
%endif
%patch10 -p1 -b .tests
%ifarch aarch64 %{power64} s390 s390x
%patch11 -p1 -b .tests-aarch64ppc64
%endif
%ifarch i686
%patch13 -p1 -b .tests-i686
%endif
%patch2 -p1 -b .fontconfig
chmod -x lib/matplotlib/mpl-data/images/*.svg
chmod -x lib/matplotlib/{dates,sankey}.py
chmod -x lib/mpl_toolkits/mplot3d/*.py
%if %{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
%build
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python2} setup.py build
xvfb-run %{__python2} setup.py build
%if %{with_html}
# Need to make built matplotlib libs available for the sphinx extensions:
pushd doc
MPLCONFIGDIR=$PWD/.. \
MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \
PYTHONPATH=`realpath ../build/lib.linux*` \
%{__python2} make.py html
export PYTHONPATH=`realpath ../build/lib.linux*`
%{__python2} make.py html
popd
%endif
# Ensure all example files are non-executable so that the -doc
@@ -447,121 +217,65 @@ popd
find examples -name '*.py' -exec chmod a-x '{}' \;
%if %{with_python3}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python3} setup.py build
# documentation cannot be built with python3 due to syntax errors
# https://github.com/matplotlib/matplotlib/issues/5805
pushd %{py3dir}
xvfb-run %{__python3} setup.py build
# documentation cannot be built with python3 due to syntax errors
# and building with python 2 exits with cryptic error messages
popd
%endif
%install
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \
%{buildroot}%{_sysconfdir}
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \
%{buildroot}%{_datadir}/matplotlib
%if !%{with_bundled_fonts}
rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
%endif
%{__python} 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
%if %{with_python3}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python3} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py
rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT
chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py
rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts
rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py
popd
%endif
%if %{run_tests}
%check
export http_proxy=http://127.0.0.1/
# This should match the default backend
echo "backend : %{backend}" > matplotlibrc
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python2_sitearch} \
xvfb-run -a %{__python2} tests.py --no-network --processes=$(getconf _NPROCESSORS_ONLN) --process-timeout=300
%if %{with_python3}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
xvfb-run -a %{__python3} tests.py --no-network --processes=$(getconf _NPROCESSORS_ONLN) --process-timeout=300
%endif
%endif # run_tests
%files -n python-matplotlib-data
%{_sysconfdir}/matplotlibrc
%{_datadir}/matplotlib/mpl-data/
%if %{with_bundled_fonts}
%exclude %{_datadir}/matplotlib/mpl-data/fonts/
%endif
%if %{with_bundled_fonts}
%files -n python-matplotlib-data-fonts
%{_datadir}/matplotlib/mpl-data/fonts/
%endif
%files -n python2-matplotlib
%license LICENSE/
%doc CONTRIBUTING.md
%files
%doc README.txt
%doc lib/dateutil_py2/LICENSE
%doc lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX
%doc lib/pytz/LICENSE.txt
%doc CHANGELOG
%doc README.rst
%{python2_sitearch}/*egg-info
%{python2_sitearch}/matplotlib-*-nspkg.pth
%{python2_sitearch}/matplotlib/
%exclude %{python2_sitearch}/matplotlib/tests/baseline_images/*
%{python2_sitearch}/mpl_toolkits/
%exclude %{python2_sitearch}/mpl_toolkits/tests/baseline_images/*
%{python2_sitearch}/pylab.py*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python2_sitearch}/matplotlib/backends/backend_gtk*
%exclude %{python2_sitearch}/matplotlib/backends/_gtkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/_tkagg.so
%exclude %{python2_sitearch}/matplotlib/backends/backend_wx.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%exclude %{_pkgdocdir}/*
%exclude %{_pkgdocdir}/*/*
%doc CXX
%doc INSTALL
%doc PKG-INFO
%doc TODO
%{python_sitearch}/*egg-info
%{python_sitearch}/matplotlib/
%{python_sitearch}/mpl_toolkits/
%{python_sitearch}/pylab.py*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt4.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt4agg.*
%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 -n python2-matplotlib-qt4
%{python2_sitearch}/matplotlib/backends/backend_qt4.*
%{python2_sitearch}/matplotlib/backends/backend_qt4agg.*
%files qt4
%{python_sitearch}/matplotlib/backends/backend_qt4.*
%{python_sitearch}/matplotlib/backends/backend_qt4agg.*
%if %{with_qt5}
%files -n python2-matplotlib-qt5
%{python2_sitearch}/matplotlib/backends/backend_qt5.*
%{python2_sitearch}/matplotlib/backends/backend_qt5agg.*
%endif # with_qt5
%files -n python2-matplotlib-gtk
%{python2_sitearch}/matplotlib/backends/backend_gtk.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkagg.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkcairo.py*
%{python2_sitearch}/matplotlib/backends/_gtkagg.so
%files -n python2-matplotlib-gtk3
%{python2_sitearch}/matplotlib/backends/backend_gtk3*.py*
%files -n python2-matplotlib-tk
%{python2_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python2_sitearch}/matplotlib/backends/tkagg.py*
%{python2_sitearch}/matplotlib/backends/_tkagg.so
%files tk
%{python_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python_sitearch}/matplotlib/backends/tkagg.py*
%{python_sitearch}/matplotlib/backends/_tkagg.so
%if %{with_wx}
%files -n python2-matplotlib-wx
%{python2_sitearch}/matplotlib/backends/backend_wx.*
%{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%files wx
%{python_sitearch}/matplotlib/backends/backend_wx.*
%{python_sitearch}/matplotlib/backends/backend_wxagg.*
%endif # with_wx
%files -n python2-matplotlib-doc
%files doc
%doc examples
%if %{with_html}
%doc doc/build/html/*
@@ -569,30 +283,30 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
%if %{with_python3}
%files -n python3-matplotlib
%license LICENSE/
%doc CONTRIBUTING.md
%doc CHANGELOG
%doc README.rst
%doc %{basepy3dir}/README.txt
%doc %{basepy3dir}/lib/dateutil_py3/LICENSE
%doc %{basepy3dir}/lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX
%doc %{basepy3dir}/lib/pytz/LICENSE.txt
%doc %{basepy3dir}/CHANGELOG
%doc %{basepy3dir}/CXX
%doc %{basepy3dir}/INSTALL
%doc %{basepy3dir}/PKG-INFO
%doc %{basepy3dir}/TODO
%{python3_sitearch}/*egg-info
%{python3_sitearch}/matplotlib-*-nspkg.pth
%{python3_sitearch}/matplotlib/
%exclude %{python3_sitearch}/matplotlib/tests/baseline_images/*
%{python3_sitearch}/mpl_toolkits/
%exclude %{python3_sitearch}/mpl_toolkits/tests/baseline_images/*
%{python3_sitearch}/pylab.py*
%{python3_sitearch}/__pycache__/*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4agg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/_tkagg.*
%exclude %{_pkgdocdir}/*/
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_tkagg.*
%files -n python3-matplotlib-qt4
%{python3_sitearch}/matplotlib/backends/backend_qt4.*
@@ -600,18 +314,6 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
%if %{with_qt5}
%files -n python3-matplotlib-qt5
%{python3_sitearch}/matplotlib/backends/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/backend_qt5agg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
%endif # with_qt5
%files -n python3-matplotlib-gtk3
%{python3_sitearch}/matplotlib/backends/backend_gtk*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%files -n python3-matplotlib-tk
%{python3_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
@@ -621,174 +323,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
%endif
%changelog
* Mon Mar 06 2017 Thomas Spura <tomspur@fedoraproject.org> - 2.0.0-2.2
- Remove copyrighted file from tarball (gh-8034)
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Jan 25 2017 Dan Horák <dan[at]danny.cz> - 2.0.0-2
- Apply the 'aarch64' test tolerance patch on s390(x) also
* Fri Jan 20 2017 Orion Poplawski <orion@cora.nwra.com> - 2.0.0-1
- Update to 2.0.0 final
* Tue Jan 10 2017 Adam Williamson <awilliam@redhat.com> - 2.0.0-0.7.rc2
- Update to 2.0.0rc2
- Fix more big-endian integer issues
- Apply the 'aarch64' test tolerance patch on ppc64 also (it's affected by same issues)
- Tweak the 'i686' test tolerance patch a bit (some errors are gone, some new ones)
- Re-enable test suite for all arches
- Note a remaining quasi-random test issue that causes build to fail sometimes
* Mon Jan 09 2017 Adam Williamson <awilliam@redhat.com> - 2.0.0-0.6.b4
- Fix another integer type issue which caused more issues on ppc64
* Sun Jan 08 2017 Adam Williamson <awilliam@redhat.com> - 2.0.0-0.5.b4
- Fix int type conversion error that broke text rendering on ppc64 (#1411070)
* Tue Dec 13 2016 Charalampos Stratakis <cstratak@redhat.com> - 2.0.0-0.4.b4
- Rebuild for Python 3.6
* Mon Oct 24 2016 Dan Horák <dan[at]danny.cz> - 2.0.0-0.3.b4
- disable tests on some alt-arches to unblock depending builds
* Mon Sep 26 2016 Dominik Mierzejewski <rpm@greysector.net> - 2.0.0-0.2.b4
- add missing runtime dependencies for python2 package
* Sat Sep 10 2016 Dominik Mierzejewski <rpm@greysector.net> - 2.0.0-0.1.b4
- Update to 2.0.0b4
- Drop upstreamed or obsolete patches
- python-cycler >= 0.10.0 is required
- move around Requires and BRs and sort more or less alphabetically
- don't ship baseline images for tests (like Debian)
- Require stix fonts only when they're not bundled
- disable HTML doc building for bootstrapping 2.0.x series
- relax image rendering tests tolerance due to freetype version differences
- disable some failing tests on aarch64 for now
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-0.2.rc2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Fri Jun 03 2016 Dominik Mierzejewski <rpm@greysector.net> - 1.5.1-7
- Update to 1.5.2rc2.
- Drop wrong hunk from use-system-six patch.
- Patch new qhull paths on F25+ instead of using sed.
- Rebase failing tests patch.
* Mon May 23 2016 Dominik Mierzejewski <rpm@greysector.net> - 1.5.1-6
- Upstream no longer ships non-free images, use pristine source.
* Wed May 18 2016 Dominik Mierzejewski <rpm@greysector.net> - 1.5.1-5
- Unbundle python-six (#1336740).
- Run tests (and temporarily disable failing ones).
- Use upstream-recommended way of running tests in parallel.
- python2-cycler and -mock are required for running tests.
* Sat Apr 30 2016 Ralf Corsépius <corsepiu@fedoraproject.org> - 1.5.1-4
- Rebuild for qhull-2015.2-1.
- Reflect qhull_a.h's location having changed.
* Wed Apr 6 2016 Orion Poplawski <orion@cora.nwra.com> - 1.5.1-3
- Add requires python-cycler
* Tue Apr 05 2016 Jon Ciesla <limburgher@gmail.com> - 1.5.1-2
- Drop agg-devel BR, fix sphinx build with python*cycler BR
* Mon Apr 04 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.5.1-1
- update to 1.5.1 (#1276806)
- Add missing requires of dvipng to python3-matplotlib (#1270202)
- use bundled agg (#1276806)
- Drop cxx patch (was dropped upstream)
- Regenerate search path patch2
* Mon Apr 04 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-13
- Require the qt5 subpackage from the qt4 subpackage (#1219556)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.3-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jan 12 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-11
- Fix another requires of the main package
* Thu Jan 07 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-10
- Fix requiring the correct backend from the main package
* Thu Jan 07 2016 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-9
- regenerate tarball to exclude lena image (#1295174)
* Sun Nov 15 2015 Thomas Spura <tomspur@fedoraproject.org> - 1.4.3-8
- Pick upstream patch for fixing the gdk backend #1231748
- Add python2 subpackages and use python_provide
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3-7
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.4.3-5
- Rebuilt for GCC 5 C++11 ABI change
* Wed Feb 25 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.3-4
- Split out python-matplotlib-gtk, python-matplotlib-gtk3,
python3-matplotlib-gtk3 subpackages (#1067373)
- Add missing requirements on gtk
* Tue Feb 24 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.4.3-3
- Use %%license, add skimage to build requirements
* Tue Feb 17 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.4.3-2
- Disable Qt5 backend on Fedora <21 and RHEL
* Tue Feb 17 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.4.3-1
- New upstream release (#1134007)
- Add Qt5 backend
* Tue Jan 13 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.4.2-1
- Bump to new upstream release
- Add qhull-devel to BR
- Add six to Requires
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 21 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 1.3.1-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Tue Feb 11 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.3.1-3
- Make TkAgg the default backend
- Remove python2 dependency from -data subpackage
* Mon Jan 27 2014 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 1.3.1-2
- Correct environment for and enable %%check
- Install system wide matplotlibrc under /etc
- Do not duplicate mpl-data for python2 and python3 packages
- Conditionally bundle data fonts (https://fedorahosted.org/fpc/ticket/381)
* Sat Jan 25 2014 Thomas Spura <tomspur@fedoraproject.org> - 1.3.1-1
- update to 1.3.1
- use GTKAgg as backend (#1030396, #982793, #1049624)
- use fontconfig
- add %%check for local testing (testing requires a display)
* Wed Aug 7 2013 Thomas Spura <tomspur@fedoraproject.org> - 1.3.0-1
- update to new version
- use xz to compress sources
- drop fontconfig patch (upstream)
- drop tk patch (upstream solved build issue differently)
- redo use system agg patch
- delete bundled python-pycxx headers
- fix requires of python3-matplotlib-qt (fixes #988412)
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Jan 25 2014 Thomas Spura <tomspur@fedoraproject.org> - 1.2.0-15
- use GTKAgg backend (#982793)
- R python3-matplotlib not python-matplotlib (#988412)
* Mon Jun 10 2013 Jon Ciesla <limburgher@gmail.com> - 1.2.0-14
- agg rebuild.

View File

@@ -1,21 +0,0 @@
#! /bin/sh
version=$1
[ -z $version ] && exit 1
dir=matplotlib-${version}
file=matplotlib-${version}.tar.gz
result=matplotlib-${version}-without-copyrighted.tar.xz
test -f $file || exit 1
rm -rf matplotlib-${version}
tar xzf $file
# https://github.com/matplotlib/matplotlib/issues/8034
rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/necked_tensile_specimen.png
rm -vr matplotlib-${version}/examples/images_contours_and_fields/interpolation_none_vs_nearest.py
rm -f $result
tar cJf $result $dir

View File

@@ -1,5 +1,2 @@
[packages]
tests = True
[rc_options]
backend = GTKAgg

View File

@@ -1 +1 @@
SHA512 (matplotlib-2.0.0-without-copyrighted.tar.xz) = 6413b0187b3d7ce5e4cbfaf7de4f42a747f1a415dbe3dca71c5f0ff0b8ac7139dc2807302bfbc67428281cfc7744cc23c6bbda041cd0568eff71801a740b862d
2add984c264ecdfc4a212f914736b78c matplotlib-1.2.0-without-gpc.tar.gz