From ed11804309a1fba077ae44bde83bc84c5f2b1b12 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 16 Dec 2016 02:10:58 +0100 Subject: [PATCH] gnu: python-pexpect: Update to 4.2.1. * gnu/packages/python.scm (python-pexpect, python2-pexpect): Update to 4.2.1. [source]: Use 'pypi-uri'. [arguments]: Add 'prepare-tests' phase to patch paths and delete network test. [native-inputs]: Add python-pytest, man-db and which. [propagated-inputs]: Add python-ptyprocess. --- gnu/packages/python.scm | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 326f5ee1b3..52f242df33 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -74,6 +74,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages networking) @@ -4444,21 +4445,39 @@ cluster without needing to write any wrapper code yourself.") (define-public python-pexpect (package (name "python-pexpect") - (version "3.3") + (version "4.2.1") (source (origin (method url-fetch) - (uri (string-append "https://pypi.python.org/packages/source/p/" - "pexpect/pexpect-" version ".tar.gz")) + (uri (pypi-uri "pexpect" version)) (sha256 - (base32 "1fp5gm976z7ghm8jw57463rj19cv06c8zw842prgyg788f6n3snz")))) + (base32 "14ls7k99pwvl21zqv65kzrhccv50j89m5ij1hf0slmsvlxjj84rx")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-before 'check 'prepare-tests + (lambda _ + (substitute* (find-files "tests") + (("/bin/ls") (which "ls")) + (("/bin/echo") (which "echo")) + (("/bin/which") (which "which")) + ;; Many tests try to use the /bin directory which + ;; is not present in the build environment. + ;; Use one that's non-empty and unlikely to change. + (("/bin'") "/dev'")) + ;; XXX: Socket connection test gets "Connection reset by peer". + ;; Why does it not work? Delete for now. + (delete-file "tests/test_socket.py") + #t)) (replace 'check (lambda _ (zero? (system* "nosetests"))))))) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-nose" ,python-nose) + ("python-pytest" ,python-pytest) + ("man-db" ,man-db) + ("which" ,which))) + (propagated-inputs + `(("python-ptyprocess" ,python-ptyprocess))) (home-page "http://pexpect.readthedocs.org/") (synopsis "Controlling interactive console applications") (description