~ruther/guix-local

accd5f996e2cfda656dee3cba97de5fd3cec3ad9 — Ricardo Wurmus 9 years ago 8ceebf8
gnu: python-ipython: Update to 4.0.0.

* gnu/packages/python.scm (python-ipython): Update to 4.0.0.
[inputs]: Keep only "readline" and "which"; move the remaining inputs
to propagated-inputs, except for "python-requests" and "python-nose"
which are moved to native-inputs.
[propagated-inputs]: Add "python-pexpect", "python-pickleshare",
"python-simplegeneric", "python-traitlets", "python-ipykernel".
[native-inputs]: Add "python-testpath".
[arguments]: Enable building of HTML documentation.
[source]: Remove patch.
* gnu/packages/patches/python-ipython-inputhook-ctype.patch: Remove
patch.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 21 insertions(+), 58 deletions(-)

M gnu/local.mk
D gnu/packages/patches/python-ipython-inputhook-ctype.patch
M gnu/packages/python.scm
M gnu/local.mk => gnu/local.mk +1 -1
@@ 6,6 6,7 @@
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
#
# This file is part of GNU Guix.
#


@@ 807,7 808,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/python-dendropy-exclude-failing-tests.patch \
  %D%/packages/patches/python-disable-ssl-test.patch		\
  %D%/packages/patches/python-fix-tests.patch			\
  %D%/packages/patches/python-ipython-inputhook-ctype.patch	\
  %D%/packages/patches/python-rarfile-fix-tests.patch		\
  %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch	\
  %D%/packages/patches/python-statsmodels-fix-tests.patch	\

D gnu/packages/patches/python-ipython-inputhook-ctype.patch => gnu/packages/patches/python-ipython-inputhook-ctype.patch +0 -41
@@ 1,41 0,0 @@
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
 

M gnu/packages/python.scm => gnu/packages/python.scm +20 -16
@@ 4627,34 4627,38 @@ tools for mocking system commands and recording calls to those.")
(define-public python-ipython
  (package
    (name "python-ipython")
    (version "3.2.1")
    (version "4.0.0")
    (source
     (origin
       (method url-fetch)
       (patches (search-patches "python-ipython-inputhook-ctype.patch"))
       (uri (string-append "https://pypi.python.org/packages/source/i/"
                           "ipython/ipython-" version ".tar.gz"))
       (uri (pypi-uri "ipython" version ".tar.gz"))
       (sha256
        (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"))))
        (base32 "1npl8g6bfsff9j938ypx0q5fyzy2l8lp0jl8skjjj2zv0z27dlig"))))
    (build-system python-build-system)
    (outputs '("out" "doc"))
    (propagated-inputs
     `(("python-pyzmq" ,python-pyzmq)
       ("python-terminado" ,python-terminado)))
    (inputs
     `(("readline" ,readline)
       ("which" ,which)
       ("python-terminado" ,python-terminado)
       ("python-matplotlib" ,python-matplotlib)
       ("python-numpy" ,python-numpy)
       ("python-numpydoc" ,python-numpydoc)
       ("python-jinja2" ,python-jinja2)
       ("python-mistune" ,python-mistune)
       ("python-pexpect" ,python-pexpect)
       ("python-pickleshare" ,python-pickleshare)
       ("python-simplegeneric" ,python-simplegeneric)
       ("python-jsonschema" ,python-jsonschema)
       ("python-pygments" ,python-pygments)
       ("python-requests" ,python-requests) ;; for tests
       ("python-nose" ,python-nose)))
       ("python-traitlets" ,python-traitlets)
       ("python-ipykernel" ,python-ipykernel)
       ("python-pygments" ,python-pygments)))
    (inputs
     `(("readline" ,readline)
       ("which" ,which)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("python-requests" ,python-requests) ;; for tests
       ("python-testpath" ,python-testpath)
       ("python-nose" ,python-nose)
       ("python-sphinx" ,python-sphinx)
       ("texlive" ,texlive)
       ("texinfo" ,texinfo)


@@ 4673,13 4677,13 @@ tools for mocking system commands and recording calls to those.")
                   (examples (string-append doc "/examples")))
              (setenv "LANG" "en_US.utf8")
              (with-directory-excursion "docs"
                ;; FIXME: html and pdf fail to build
                ;; (system* "make" "html")
                ;; (system* "make" "pdf" "PAPER=a4")
                ;; FIXME: pdf fails to build
                ;;(system* "make" "pdf" "PAPER=a4")
                (system* "make" "html")
                (system* "make" "info"))
              (copy-recursively "docs/man" man1)
              (copy-recursively "examples" examples)
              ;; (copy-recursively "docs/build/html" html)
              (copy-recursively "docs/build/html" html)
              ;; (copy-file "docs/build/latex/ipython.pdf"
              ;;            (string-append doc "/ipython.pdf"))
              (mkdir-p info)