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.
This commit is contained in:
Marius Bakke 2017-03-06 21:58:19 +01:00
parent 7ccb71e0ea
commit 550bd98b41
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
3 changed files with 60 additions and 0 deletions

View File

@ -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 \

View File

@ -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()

View File

@ -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.2s API.")
(license license:psfl)))
(define-public python2-futures
(package
(name "python2-futures")