[Python-modules-commits] r29716 - in packages/matplotlib/trunk/debian (5 files)
yoh at users.alioth.debian.org
yoh at users.alioth.debian.org
Fri Jul 11 03:29:58 UTC 2014
Date: Friday, July 11, 2014 @ 03:29:57
Author: yoh
Revision: 29716
ENH: added gtk3agg_check_no-multiprocessing.patch and unified extension for the fix_infinite_recursion patch
Added:
packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.patch
(from rev 29715, packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.diff)
packages/matplotlib/trunk/debian/patches/gtk3agg_check_no-multiprocessing.patch
Modified:
packages/matplotlib/trunk/debian/changelog
packages/matplotlib/trunk/debian/patches/series
Deleted:
packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.diff
Modified: packages/matplotlib/trunk/debian/changelog
===================================================================
--- packages/matplotlib/trunk/debian/changelog 2014-07-11 03:28:41 UTC (rev 29715)
+++ packages/matplotlib/trunk/debian/changelog 2014-07-11 03:29:57 UTC (rev 29716)
@@ -10,9 +10,14 @@
- removed, no longer needed
[ Julian Taylor ]
- * debian/patches/fix_infinite_recursion.diff
+ * debian/patches/fix_infinite_recursion.patch
- fix infinite recursion in units.py with ndarray subclasses
(Closes: #729590)
+ * debian/patches/gtk3agg_check_no-multiprocessing.patch
+ - fix infinite recursion in units.py with ndarray subclasses
+ (Closes: #729590)
+ - do not use backend_gtk3agg_internal_check with multiprocessing.
+ Workaround to resolve the deadlock in setup.py
* debian/patches/multiarch-tktcl.patch
- fixed missing tkagg due to absent path to multiarch tktcl
(Closes: #750630)
Deleted: packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.diff
===================================================================
--- packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.diff 2014-07-11 03:28:41 UTC (rev 29715)
+++ packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.diff 2014-07-11 03:29:57 UTC (rev 29716)
@@ -1,22 +0,0 @@
-Description: fix infinite recursion in units with ndarray subclasses
-Origin: upstream, https://github.com/matplotlib/matplotlib/commit/21fd7c03ba1444
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=729590
-Last-Update: 2013-12-24
-
---- a/lib/matplotlib/units.py
-+++ b/lib/matplotlib/units.py
-@@ -145,7 +145,13 @@
- return converter
- except AttributeError:
- # not a masked_array
-- converter = self.get_converter(xravel[0])
-+ # Make sure we don't recurse forever -- it's possible for
-+ # ndarray subclasses to continue to return subclasses and
-+ # not ever return a non-subclass for a single element.
-+ next_item = xravel[0]
-+ if (not isinstance(next_item, np.ndarray) or
-+ next_item.shape != x.shape):
-+ converter = self.get_converter(next_item)
- return converter
-
- if converter is None and iterable(x):
Copied: packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.patch (from rev 29715, packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.diff)
===================================================================
--- packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.patch (rev 0)
+++ packages/matplotlib/trunk/debian/patches/fix_infinite_recursion.patch 2014-07-11 03:29:57 UTC (rev 29716)
@@ -0,0 +1,22 @@
+Description: fix infinite recursion in units with ndarray subclasses
+Origin: upstream, https://github.com/matplotlib/matplotlib/commit/21fd7c03ba1444
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=729590
+Last-Update: 2013-12-24
+
+--- a/lib/matplotlib/units.py
++++ b/lib/matplotlib/units.py
+@@ -145,7 +145,13 @@
+ return converter
+ except AttributeError:
+ # not a masked_array
+- converter = self.get_converter(xravel[0])
++ # Make sure we don't recurse forever -- it's possible for
++ # ndarray subclasses to continue to return subclasses and
++ # not ever return a non-subclass for a single element.
++ next_item = xravel[0]
++ if (not isinstance(next_item, np.ndarray) or
++ next_item.shape != x.shape):
++ converter = self.get_converter(next_item)
+ return converter
+
+ if converter is None and iterable(x):
Added: packages/matplotlib/trunk/debian/patches/gtk3agg_check_no-multiprocessing.patch
===================================================================
--- packages/matplotlib/trunk/debian/patches/gtk3agg_check_no-multiprocessing.patch (rev 0)
+++ packages/matplotlib/trunk/debian/patches/gtk3agg_check_no-multiprocessing.patch 2014-07-11 03:29:57 UTC (rev 29716)
@@ -0,0 +1,39 @@
+Author: Julian Taylor <jtaylor.debian at googlemail.com>
+Subject: Avoid using multiprocessing to figure out if Agg backend should be used
+
+ Seems to cause a dead-lock on many Debian systems.
+ We have all necessary dependencies to support Agg so enable the backend
+ unconditionally.
+
+Origin: Ubuntu
+Last-Update: 2014-07-10
+
+--- a/setupext.py
++++ b/setupext.py
+@@ -1587,24 +1587,9 @@ class BackendGtk3Agg(OptionalBackendPack
+ # This check needs to be performed out-of-process, because
+ # importing gi and then importing regular old pygtk afterward
+ # segfaults the interpreter.
+- try:
+- p = multiprocessing.Pool()
+- except:
+- return "unknown (can not use multiprocessing to determine)"
+- try:
+- success, msg = p.map(backend_gtk3agg_internal_check, [0])[0]
+- except:
+- success = False
+- msg = "Could not determine"
+- finally:
+- p.close()
+- p.join()
+- if success:
+- BackendAgg.force = True
++ BackendAgg.force = True
+
+- return msg
+- else:
+- raise CheckFailed(msg)
++ return "ok"
+
+ def get_package_data(self):
+ return {'matplotlib': ['mpl-data/*.glade']}
Modified: packages/matplotlib/trunk/debian/patches/series
===================================================================
--- packages/matplotlib/trunk/debian/patches/series 2014-07-11 03:28:41 UTC (rev 29715)
+++ packages/matplotlib/trunk/debian/patches/series 2014-07-11 03:29:57 UTC (rev 29716)
@@ -5,4 +5,5 @@
60_deal_with_no_writable_dirs.patch
70_bts720549_try_StayPuft_for_xkcd.patch
multiarch-tktcl.patch
-fix_infinite_recursion.diff
+fix_infinite_recursion.patch
+gtk3agg_check_no-multiprocessing.patch
More information about the Python-modules-commits
mailing list