guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/05: gnu: Add python2-subprocess32.


From: Marius Bakke
Subject: 02/05: gnu: Add python2-subprocess32.
Date: Mon, 6 Mar 2017 17:26:47 -0500 (EST)

mbakke pushed a commit to branch master
in repository guix.

commit 550bd98b41c2bf3bfdcf3da29a41f0933b102266
Author: Marius Bakke <address@hidden>
Date:   Mon Mar 6 21:58:19 2017 +0100

    gnu: Add python2-subprocess32.
    
    * gnu/packages/python.scm (python2-subprocess32): New variable.
    * gnu/packages/patches/python2-subprocess32-disable-input-test.patch: New 
file.
    * gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                       |  1 +
 .../python2-subprocess32-disable-input-test.patch  | 18 ++++++++++
 gnu/packages/python.scm                            | 41 ++++++++++++++++++++++
 3 files changed, 60 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 9f83c2b..5fd7c77 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -871,6 +871,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch     \
   %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
   %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
+  %D%/packages/patches/python2-subprocess32-disable-input-test.patch   \
   %D%/packages/patches/qemu-CVE-2016-10155.patch                       \
   %D%/packages/patches/qemu-CVE-2017-2615.patch                        \
   %D%/packages/patches/qemu-CVE-2017-5525.patch                        \
diff --git a/gnu/packages/patches/python2-subprocess32-disable-input-test.patch 
b/gnu/packages/patches/python2-subprocess32-disable-input-test.patch
new file mode 100644
index 0000000..05b4eef
--- /dev/null
+++ b/gnu/packages/patches/python2-subprocess32-disable-input-test.patch
@@ -0,0 +1,18 @@
+This test tries to send a KeyboardInterrupt, which does
+not work in the build environment.
+
+--- a/test_subprocess32.py     2017-03-06 22:21:49.334045485 +0100
++++ b/test_subprocess32.py     2017-03-06 22:22:02.490439949 +0100
+@@ -1299,12 +1299,6 @@
+         getattr(p, method)(*args)
+         return p
+ 
+-    def test_send_signal(self):
+-        p = self._kill_process('send_signal', signal.SIGINT)
+-        _, stderr = p.communicate()
+-        self.assertIn('KeyboardInterrupt', stderr)
+-        self.assertNotEqual(p.wait(), 0)
+-
+     def test_kill(self):
+         p = self._kill_process('kill')
+         _, stderr = p.communicate()
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index f2c16c2..56c16fd 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -9044,6 +9044,47 @@ authenticated session objects providing things like 
keep-alive.")
 3.2.3 for use with older versions of Python and PyPy.")
     (license license:expat)))
 
+(define-public python2-subprocess32
+  (package
+    (name "python2-subprocess32")
+    (version "3.2.7")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "subprocess32" version))
+              (sha256
+               (base32
+                "14350dhhlhyz5gqzi3lihn9m6lvskx5mcb20srx1kgsk9i50li8y"))
+              (patches
+               (search-patches 
"python2-subprocess32-disable-input-test.patch"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-/bin/sh
+           (lambda _
+             (substitute* '("subprocess32.py"
+                            "test_subprocess32.py")
+               (("/bin/sh") (which "sh")))
+             #t))
+         (delete 'check)
+         (add-after 'install 'check
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; For some reason this package fails to import
+             ;; _posixsubprocess.so when PYTHONPATH is set to the build
+             ;; directory. Running tests after install is easier.
+             (add-installed-pythonpath inputs outputs)
+             (zero? (system* "python" "test_subprocess32.py")))))))
+    (home-page "https://github.com/google/python-subprocess32";)
+    (synopsis "Backport of the subprocess module from Python 3.2")
+    (description
+     "This is a backport of the @code{subprocess} standard library module
+from Python 3.2 and 3.3 for use on Python 2.  It includes bugfixes and some
+new features.  On POSIX systems it is guaranteed to be reliable when used
+in threaded applications.  It includes timeout support from Python 3.3 but
+otherwise matches 3.2’s API.")
+    (license license:psfl)))
+
 (define-public python2-futures
   (package
     (name "python2-futures")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]