aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/patches/python-ipython-inputhook-ctype.patch41
-rw-r--r--gnu/packages/python.scm11
3 files changed, 48 insertions, 5 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 77a8b2e1c5..0039246e4d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -640,6 +640,7 @@ dist_patch_DATA = \
gnu/packages/patches/python-3-search-paths.patch \
gnu/packages/patches/python-disable-ssl-test.patch \
gnu/packages/patches/python-fix-tests.patch \
+ gnu/packages/patches/python-ipython-inputhook-ctype.patch \
gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
gnu/packages/patches/python-configobj-setuptools.patch \
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
diff --git a/gnu/packages/patches/python-ipython-inputhook-ctype.patch b/gnu/packages/patches/python-ipython-inputhook-ctype.patch
new file mode 100644
index 0000000000..c77e310542
--- /dev/null
+++ b/gnu/packages/patches/python-ipython-inputhook-ctype.patch
@@ -0,0 +1,41 @@
+From 04c5d358c7ab74d3ddab4f7662e539393d8604c6 Mon Sep 17 00:00:00 2001
+From: Lucretiel <Lucretiel@users.noreply.github.com>
+Date: Wed, 13 May 2015 13:12:43 -0400
+Subject: [PATCH] register now checks for missing ctypes
+
+If ctypes is None, then no input hooks may be registered; `InputHookManager.register` skips registration of input hook classes. Also updated `__init__` to no longer skip creating the instance attributes, to prevent AttributeError exceptions at load time.
+---
+ IPython/lib/inputhook.py | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/IPython/lib/inputhook.py b/IPython/lib/inputhook.py
+index 4ae2cb3..6578365 100644
+--- a/IPython/lib/inputhook.py
++++ b/IPython/lib/inputhook.py
+@@ -107,8 +107,8 @@ class InputHookManager(object):
+ def __init__(self):
+ if ctypes is None:
+ warn("IPython GUI event loop requires ctypes, %gui will not be available")
+- return
+- self.PYFUNC = ctypes.PYFUNCTYPE(ctypes.c_int)
++ else:
++ self.PYFUNC = ctypes.PYFUNCTYPE(ctypes.c_int)
+ self.guihooks = {}
+ self.aliases = {}
+ self.apps = {}
+@@ -197,10 +197,11 @@ def enable(self, app=None):
+ ...
+ """
+ def decorator(cls):
+- inst = cls(self)
+- self.guihooks[toolkitname] = inst
+- for a in aliases:
+- self.aliases[a] = toolkitname
++ if ctypes is not None:
++ inst = cls(self)
++ self.guihooks[toolkitname] = inst
++ for a in aliases:
++ self.aliases[a] = toolkitname
+ return cls
+ return decorator
+
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6a051014f9..95c24a6a43 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -4194,11 +4194,12 @@ without using the configuration machinery.")
(version "3.2.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/i/"
- "ipython/ipython-" version ".tar.gz"))
- (sha256
- (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"))))
+ (method url-fetch)
+ (patches (list (search-patch "python-ipython-inputhook-ctype.patch")))
+ (uri (string-append "https://pypi.python.org/packages/source/i/"
+ "ipython/ipython-" version ".tar.gz"))
+ (sha256
+ (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(propagated-inputs