diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/admin.scm | 21 | ||||
-rw-r--r-- | gnu/packages/bioinformatics.scm | 31 | ||||
-rw-r--r-- | gnu/packages/calendar.scm | 2 | ||||
-rw-r--r-- | gnu/packages/django.scm | 13 | ||||
-rw-r--r-- | gnu/packages/enlightenment.scm | 12 | ||||
-rw-r--r-- | gnu/packages/jrnl.scm | 2 | ||||
-rw-r--r-- | gnu/packages/music.scm | 2 | ||||
-rw-r--r-- | gnu/packages/openstack.scm | 42 | ||||
-rw-r--r-- | gnu/packages/patches/python-pyopenssl-skip-network-test.patch | 50 | ||||
-rw-r--r-- | gnu/packages/pdf.scm | 4 | ||||
-rw-r--r-- | gnu/packages/python.scm | 492 | ||||
-rw-r--r-- | gnu/packages/rdf.scm | 22 | ||||
-rw-r--r-- | gnu/packages/terminals.scm | 3 | ||||
-rw-r--r-- | gnu/packages/version-control.scm | 2 | ||||
-rw-r--r-- | gnu/packages/vpn.scm | 8 | ||||
-rw-r--r-- | guix/build/python-build-system.scm | 14 |
17 files changed, 560 insertions, 161 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 21580a3870..2f852b5da0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -845,6 +845,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-paste-remove-website-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ + %D%/packages/patches/python-pyopenssl-skip-network-test.patch \ %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 \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index def9a6fbf3..687cfad970 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1697,15 +1697,26 @@ throughput (in the same interval).") (base32 "04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp")))) (build-system python-build-system) - (inputs + (arguments + '(#:tests? #f)) + ;; FIXME: 10 test failures. Some require newer pytest (> 2.9.2). + ;; Others need more work. Un-comment the below to run the tests. + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; ;; Some tests need write access to $HOME. + ;; (setenv "HOME" "/tmp") + ;; (zero? (system* "py.test" "-v"))))))) + (propagated-inputs `(("python-colorama" ,python-colorama) ("python-decorator" ,python-decorator) ("python-psutil" ,python-psutil) ("python-six" ,python-six))) - (inputs - ;; Requires setuptools >= 17.1 due to some features used, while our - ;; python currently only includes 12.0. TODO: Remove this input. - `(("python-setuptools" ,python-setuptools))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-pytest-mock" ,python-pytest-mock))) (home-page "https://github.com/nvbn/thefuck") (synopsis "Correct mistyped console command") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d82b6c093c..c930099179 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -563,6 +563,8 @@ Python.") ("python-future" ,python-future) ("python-click" ,python-click) ("python-h5py" ,python-h5py))) + (native-inputs + `(("python-nose" ,python-nose))) (home-page "http://www.biom-format.org") (synopsis "Biological Observation Matrix (BIOM) format utilities") (description @@ -1561,6 +1563,7 @@ databases.") ("python-scipy" ,python2-scipy))) (native-inputs `(("python-mock" ,python2-mock) ; for tests + ("python-nose" ,python2-nose) ; for tests ("python-pytz" ,python2-pytz))) ; for tests (home-page "https://github.com/YeoLab/clipper") (synopsis "CLIP peak enrichment recognition") @@ -1989,6 +1992,7 @@ trees (phylogenies) and characters.") ("python-pybigwig" ,python2-pybigwig))) (native-inputs `(("python-mock" ,python2-mock) ;for tests + ("python-nose" ,python2-nose) ;for tests ("python-pytz" ,python2-pytz))) ;for tests (home-page "https://github.com/fidelram/deepTools") (synopsis "Tools for normalizing and visualizing deep-sequencing data") @@ -2865,28 +2869,10 @@ data. It also provides the bgzip, htsfile, and tabix utilities.") "1k3x44biak00aiv3hpm1yd6nn4hhp7n0qnbs3zh2q9sw7qr1qj5r")))) (build-system python-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after - 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (python-version (string-take (string-take-right - (assoc-ref inputs "python") 5) 3)) - (path (string-join - (map (lambda (name) - (string-append (assoc-ref inputs name) - "/lib/python" python-version - "/site-packages")) - '("python-scipy" - "python-numpy" - "python-matplotlib")) - ":"))) - (wrap-program (string-append out "/bin/idr") - `("PYTHONPATH" ":" prefix (,path)))) - #t))))) - (inputs + `(#:tests? #f)) ; FIXME: "ImportError: No module named 'utility'" + (propagated-inputs `(("python-scipy" ,python-scipy) + ("python-sympy" ,python-sympy) ("python-numpy" ,python-numpy) ("python-matplotlib" ,python-matplotlib))) (native-inputs @@ -3576,6 +3562,9 @@ the phenotype as it models the data.") (build-system python-build-system) (arguments `(#:python ,python-2 + ;; FIXME: Tests fail with "No such file or directory: + ;; pbtools/pbtranscript/modified_bx_intervals/intersection_unique.so" + #:tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-directory diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 70bf8f9573..a2ab5d299f 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -126,7 +126,7 @@ data units.") `(("sqlite" ,sqlite))) (propagated-inputs `(("python-configobj" ,python-configobj) - ("python-dateutil-2" ,python-dateutil-2) + ("python-dateutil" ,python-dateutil) ("python-icalendar" ,python-icalendar) ("python-tzlocal" ,python-tzlocal) ("python-urwid" ,python-urwid) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index bbb2d71db1..106d18a8d7 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -106,6 +106,10 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (base32 "0906hms6y6znjhpd0g4wmzv9vcla4brkdpsm4zha9zdj8g5vq2hd")))) (build-system python-build-system) + (arguments + ;; FIXME: Upstream uses a 'runtests.py' script that is not + ;; present in the pypi tarball. + '(#:tests? #f)) (propagated-inputs `(("python-django" ,python-django))) (home-page "https://github.com/alsoicode/django-simple-math-captcha") @@ -131,7 +135,8 @@ with arguments to the field constructor.") "1mmc7zsz3dlhs6sx4sppkj1vgshabi362r1a8b8wpj1qfximpqcb")))) (build-system python-build-system) (arguments - `(#:phases + `(#:tests? #f ; FIXME: How to run tests? + #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-setuppy (lambda _ @@ -163,6 +168,12 @@ useful tools for testing Django applications and projects.") (base32 "0f78hmk8c903zwfzlsiw7ivgag81ymmb5hi73rzxbhnlg2v0l3fx")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "runtests.py"))))))) (native-inputs `(("python-django" ,python-django) ("python-mock" ,python-mock))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index ca97104958..d60e97922c 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -253,7 +253,17 @@ embedded systems.") (lambda _ (setenv "CFLAGS" (string-append "-I" (assoc-ref %build-inputs "python-dbus") - "/include/dbus-1.0"))))))) + "/include/dbus-1.0")) + #t)) + (add-before 'check 'set-environment + (lambda _ + ;; Some tests require write access to HOME. + (setenv "HOME" "/tmp") + #t))) + ;; FIXME: Some tests require a running D-Bus server or a network + ;; connection and should be disabled. Other test failures looks + ;; legitimate. Disabled for now, needs work! + #:tests? #f)) (native-inputs `(("pkg-config" ,pkg-config) ("python-cython" ,python-cython))) diff --git a/gnu/packages/jrnl.scm b/gnu/packages/jrnl.scm index ef1f52956c..f26de0d4ab 100644 --- a/gnu/packages/jrnl.scm +++ b/gnu/packages/jrnl.scm @@ -48,7 +48,7 @@ ("python-pytz" ,python-pytz) ("python-tzlocal" ,python-tzlocal) ("python-six" ,python-six) - ("python-dateutil" , python-dateutil-2) + ("python-dateutil" ,python-dateutil) ("python-parsedatetime" ,python-parsedatetime))) (home-page "http://maebert.github.io/jrnl/") (synopsis "Personal journal application") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index f3e26cb920..f34abbce77 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2035,6 +2035,8 @@ detailed track info including timbre, pitch, rhythm and loudness information. (base32 "0bml11gfkxqd3i2jxkn5k2xllc4rvxjcyhs8an05gcyy1zp2bwvb")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires unpackaged python-flaky. (native-inputs `(("python-coverage" ,python-coverage) ("python-mock" ,python-mock) diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index e2672668d8..b3e3f08c23 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -81,6 +81,8 @@ all the files it generates a report.") (base32 "0g4dfskaiy47rhsh4gh66l5vmdsrgq0qk68pl3ix1cj3ffvfndzv")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ;FIXME: Requires packaging python-doc8. (propagated-inputs `(("python-six" ,python-six) ("python-wrapt" ,python-wrapt))) @@ -113,6 +115,9 @@ manner.") (base32 "1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap")))) (build-system python-build-system) + (arguments + ;; TODO: Requires unpackaged 'eventlet'. + '(#:tests? #f)) (propagated-inputs `(("python-flake8-2.2.4" ,python-flake8-2.2.4) ("python-mccabe-0.2.1" ,python-mccabe-0.2.1) @@ -146,9 +151,14 @@ guidelines}.") (base32 "0njmh40i1lg5mzn9hc2ax83adj6dli455j6xifilrw27c4wlkjzx")))) (build-system python-build-system) + (arguments + ;; TODO: Requires newer version of testtools (>=1.4.0). + '(#:tests? #f)) (native-inputs `(("python-fixtures" ,python-fixtures) + ("python-oslosphinx" ,python-oslosphinx) ("python-pbr" ,python-pbr) + ("python-sphinx" ,python-sphinx) ("python-testtools" ,python-testtools))) (home-page "http://www.openstack.org/") (synopsis "Mock object framework for Python") @@ -282,10 +292,13 @@ portions of your testing code.") (native-inputs `(("python-pbr" ,python-pbr) ;; Tests + ("python-discover" ,python-discover) ("python-docutils" ,python-docutils) ("python-mock" ,python-mock) + ("python-oslosphinx" ,python-oslosphinx) ("python-oslotest" ,python-oslotest) - ("python-sphinx" ,python-sphinx))) + ("python-sphinx" ,python-sphinx) + ("python-testrepository" ,python-testrepository))) (home-page "https://github.com/dreamhost/stevedore") (synopsis "Manage dynamic plugins for Python applications") (description @@ -315,7 +328,8 @@ extensions.") "1cpp2vwmawpd29hjsklsps181lq2ah91cl412qvpnz228nf9sqn5")))) (build-system python-build-system) (arguments - `(#:phases + `(#:tests? #f ; FIXME: Requires oslo.log >= 1.14.0. + #:phases (modify-phases %standard-phases (add-before 'check 'pre-check @@ -362,6 +376,8 @@ common features used in Tempest.") (base32 "13r778jfb0fhna37c2pd1f2xipnsbd7zli7qhn96acrzymrwj5k1")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires packaging python-argparse. (propagated-inputs `(("python-netaddr" ,python-netaddr) ("python-six" ,python-six) @@ -395,11 +411,19 @@ common features used in Tempest.") (base32 "0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires python-mock >= 1.2. (native-inputs `(("python-babel" ,python-babel) ("python-pbr" ,python-pbr) ;; Tests. - ("python-oslotest" ,python-oslotest))) + ("python-coverage" ,python-coverage) + ("python-hacking" ,python-hacking) + ("python-mock" ,python-mock) + ("python-os-client-config" ,python-os-client-config) + ("python-oslotest" ,python-oslotest) + ("python-oslosphinx" ,python-oslosphinx) + ("python-sphinx" ,python-sphinx))) (home-page "http://launchpad.net/oslo") (synopsis "Oslo context library") (description @@ -423,6 +447,8 @@ pipeline and used by various modules such as logging.") (base32 "0bpb1c20sm8my650gl824nzaip83bfn8hr91s65k5ncmyh8hb6pl")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Circular dependency on python-oslo.config. (propagated-inputs `(("python-babel" ,python-babel) ("python-six" ,python-six))) @@ -459,6 +485,8 @@ in an application or library.") (base32 "1fhy6yvbd565nv4x4i3ppyrlbmz3yy9d0xsvw5nkqsa7g43nmf8z")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires oslo.utils >= 3.2.0. (propagated-inputs `(("python-debtcollector" ,python-debtcollector) ("python-oslo.config" ,python-oslo.config) @@ -496,6 +524,8 @@ handlers and support for context specific logging (like resource id’s etc).") (base32 "00s03krhf833gs76aw5ns32w9m1i4hx6x6d9g82m0j5wyqk0sci4")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires python-oslo.utils >= 3.2.0. (propagated-inputs `(("python-iso8601" ,python-iso8601) ("python-netaddr" ,python-netaddr) @@ -603,6 +633,8 @@ and better support for mocking results.") ;; phase. (delete-file "oslo_utils/tests/test_netutils.py"))))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires oslo.config >= 2.7.0. (propagated-inputs `(("python-debtcollector" ,python-debtcollector) ("python-oslo.i18n" ,python-oslo.i18n) @@ -616,6 +648,8 @@ and better support for mocking results.") `(("python-babel" ,python-babel) ("python-pbr" ,python-pbr) ;; Tests. + ("python-bandit" ,python-bandit) + ("python-oslo.config" ,python-oslo.config) ("python-oslotest" ,python-oslotest) ("python-mock" ,python-mock) ("python-mox3" ,python-mox3) @@ -643,6 +677,8 @@ handling.") (base32 "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Many tests are failing. (native-inputs `(("python-sphinx" ,python-sphinx) ;; and some packages for the tests diff --git a/gnu/packages/patches/python-pyopenssl-skip-network-test.patch b/gnu/packages/patches/python-pyopenssl-skip-network-test.patch new file mode 100644 index 0000000000..a24eaf69a0 --- /dev/null +++ b/gnu/packages/patches/python-pyopenssl-skip-network-test.patch @@ -0,0 +1,50 @@ +This test tries connecting to an external server which is not supported +in the build environment. See discussion at: + +https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00650.html + +diff --git a/tests/test_ssl.py b/tests/test_ssl.py +index ee849fd..60048b8 100644 +--- a/tests/test_ssl.py ++++ b/tests/test_ssl.py +@@ -1180,40 +1180,6 @@ class ContextTests(TestCase, _LoopbackMixin): + TypeError, context.load_verify_locations, None, None, None + ) + +- @pytest.mark.skipif( +- platform == "win32", +- reason="set_default_verify_paths appears not to work on Windows. " +- "See LP#404343 and LP#404344." +- ) +- def test_set_default_verify_paths(self): +- """ +- :py:obj:`Context.set_default_verify_paths` causes the +- platform-specific CA certificate locations to be used for +- verification purposes. +- """ +- # Testing this requires a server with a certificate signed by one +- # of the CAs in the platform CA location. Getting one of those +- # costs money. Fortunately (or unfortunately, depending on your +- # perspective), it's easy to think of a public server on the +- # internet which has such a certificate. Connecting to the network +- # in a unit test is bad, but it's the only way I can think of to +- # really test this. -exarkun +- +- # Arg, verisign.com doesn't speak anything newer than TLS 1.0 +- context = Context(SSLv23_METHOD) +- context.set_default_verify_paths() +- context.set_verify( +- VERIFY_PEER, +- lambda conn, cert, errno, depth, preverify_ok: preverify_ok) +- +- client = socket() +- client.connect(("encrypted.google.com", 443)) +- clientSSL = Connection(context, client) +- clientSSL.set_connect_state() +- clientSSL.do_handshake() +- clientSSL.send(b"GET / HTTP/1.0\r\n\r\n") +- self.assertTrue(clientSSL.recv(1024)) +- + def test_set_default_verify_paths_signature(self): + """ + :py:obj:`Context.set_default_verify_paths` takes no arguments and diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 9b3571e67b..b86647d4ee 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -629,6 +629,10 @@ using a stylus.") (base32 "0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl")))) (build-system python-build-system) + (arguments + '(;; FIXME: There is one test failure, but it does not cause the + ;; build to fail. No time to investigate right now. + #:test-target "tests")) (propagated-inputs `(("python-pillow" ,python-pillow))) (home-page "http://www.reportlab.com") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 727e1bff26..bfd003ba3e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -75,6 +75,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) @@ -87,6 +88,7 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages readline) #:use-module (gnu packages sdl) + #:use-module (gnu packages shells) #:use-module (gnu packages statistics) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) @@ -438,6 +440,9 @@ instead of @command{python3}."))) (base32 "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6")))) (build-system python-build-system) + (arguments + ;; FIXME: some tests does not return and times out. + '(#:tests? #f)) (home-page "https://www.github.com/giampaolo/psutil") (synopsis "Library for retrieving information on running processes") (description @@ -538,6 +543,14 @@ John the Ripper).") (base32 "14k8z7ndc3zk5xivnm4d8lncchx475ll5izpf8vmfbq7rp9yp5rj")))) (build-system python-build-system) + (arguments + '(;; FIXME: One test fails with "EOFError not raised by connect". + #:tests? #f)) + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; (zero? (system* "python" "test.py"))))))) (propagated-inputs `(("python-pycrypto" ,python-pycrypto) ("python-ecdsa" ,python-ecdsa))) @@ -1046,6 +1059,9 @@ password storage.") (base32 "0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh")))) (build-system python-build-system) + (native-inputs + `(("python-py" ,python-py) + ("python-pytest" ,python-pytest))) (home-page "http://pypi.python.org/pypi/six/") (synopsis "Python 2 and 3 compatibility utilities") (description @@ -1059,7 +1075,7 @@ Python file, so it can be easily copied into your project.") (define-public python2-six (package-with-python2 python-six)) -(define-public python-dateutil-2 +(define-public python-dateutil (package (name "python-dateutil") (version "2.5.2") @@ -1080,29 +1096,6 @@ Python file, so it can be easily copied into your project.") datetime module, available in Python 2.3+.") (license license:bsd-3))) -(define-public python2-dateutil-2 - (package-with-python2 python-dateutil-2)) - -(define-public python-dateutil - (package - (name "python-dateutil") - (version "1.5") ; last version for python < 3 - (source - (origin - (method url-fetch) - (uri (string-append "http://labix.org/download/python-dateutil/" - "python-dateutil-" version ".tar.gz")) - (sha256 - (base32 - "0fqfglhy5khbvsipr3x7m6bcaqljh8xl5cw33vbfxy7qhmywm2n0")))) - (build-system python-build-system) - (home-page "https://dateutil.readthedocs.io/en/stable/") - (synopsis "Extensions to the standard datetime module") - (description - "The dateutil module provides powerful extensions to the standard -datetime module, available in Python 2.3+.") - (license license:psfl))) - (define-public python2-dateutil (package-with-python2 python-dateutil)) @@ -1148,7 +1141,7 @@ datetime module, available in Python 2.3+.") (propagated-inputs `(("python-numpy" ,python-numpy) ("python-pytz" ,python-pytz) - ("python-dateutil" ,python-dateutil-2))) + ("python-dateutil" ,python-dateutil))) (native-inputs `(("python-nose" ,python-nose) ("python-cython" ,python-cython))) @@ -1724,6 +1717,12 @@ standard library.") (base32 "0561gz2w3i825gyl42mcq14y3dcgkapfiv5zv9a2bz15qxiijl56")))) (build-system python-build-system) + (arguments + ;; FIXME: "ImportError: 'test' module incorrectly imported from + ;; '/gnu/store/...-python-pytest-mimimal-3.0.5/lib/python3.5/site-packages'. + ;; Expected '/tmp/guix-build-python-py-1.4.31.drv-0/py-1.4.31/py'. + ;; Is this module globally installed?" + '(#:tests? #f)) (home-page "http://pylib.readthedocs.org/") (synopsis "Python library for parsing, I/O, instrospection, and logging") (description @@ -1922,6 +1921,15 @@ same arguments.") (for-each delete-file (find-files "." "\\.pyc$")) #t)))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ;FIXME: Some tests are failing. + ;; #:phases + ;; (modify-phases %standard-phases + ;; (delete 'check) + ;; (add-after 'install 'check + ;; (lambda* (#:key inputs outputs #:allow-other-keys) + ;; (add-installed-pythonpath inputs outputs) + ;; (zero? (system* "py.test" "-v"))))) (native-inputs `(("unzip" ,unzip) ("python-setuptools-scm" ,python-setuptools-scm))) @@ -2155,10 +2163,18 @@ from git information. (base32 "0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "-m" "testtools.run" + "fixtures.test_suite"))))))) (propagated-inputs `(("python-six" ,python-six))) (native-inputs - `(("python-pbr-minimal" ,python-pbr-minimal) + `(("python-mock" ,python-mock) + ("python-pbr-minimal" ,python-pbr-minimal) ("python-testtools" ,python-testtools))) (home-page "https://launchpad.net/python-fixtures") (synopsis "Python test fixture library") @@ -2184,6 +2200,9 @@ Python tests.") (base32 "1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m")))) (build-system python-build-system) + (arguments + ;; FIXME: Many tests are failing. + '(#:tests? #f)) (propagated-inputs `(("python-fixtures" ,python-fixtures) ("python-subunit" ,python-subunit) @@ -2213,6 +2232,9 @@ have failed since the last commit or what tests are currently failing.") (base32 "01rbr4br4lsk0lwn8fb96zwd2xr4f0mg1w7iq3j11i8f5ig2nqs1")))) (build-system python-build-system) + (arguments + ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors. + '(#:tests? #f)) (home-page "http://nedbatchelder.com/code/coverage") (synopsis "Code coverage measurement for Python") (description @@ -2388,7 +2410,12 @@ is used by the Requests library to verify HTTPS requests.") (substitute* "click/_unicodefun.py" (("'locale'") (string-append "'" glibc "/bin/locale'")))) - #t))))) + #t)) + (replace 'check + (lambda _ + (zero? (system* "make" "test"))))))) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "http://click.pocoo.org") (synopsis "Command line library for Python") (description @@ -2447,12 +2474,11 @@ installed with a newer @code{pip} or with wheel's own command line utility.") (sha256 (base32 "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5")))) + ;; TODO: unbundle urllib3 and chardet. (build-system python-build-system) - (native-inputs - `(("python-py" ,python-py) - ("python-pytest" ,python-pytest) - ("python-pytest-cov" ,python-pytest-cov) - ("python-wheel" ,python-wheel))) + (arguments + ;; FIXME: Some tests require network access. + '(#:tests? #f)) (home-page "http://python-requests.org/") (synopsis "Python HTTP library") (description @@ -2625,6 +2651,7 @@ somewhat intelligeble.") (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose) + ("python-mock" ,python-mock) ("python-cryptography" ,python-cryptography) ("python-pyjwt" ,python-pyjwt) ("python-blinker" ,python-blinker))) @@ -2641,7 +2668,6 @@ OAuth request-signing logic.") (package (inherit base) (native-inputs `(("python2-unittest2" ,python2-unittest2) - ("python2-mock" ,python2-mock) ,@(package-native-inputs base)))))) (define-public python-itsdangerous @@ -2788,15 +2814,26 @@ written in pure Python.") (base32 "0nmqsfmiw4arjxqkmf9z66ml950pcdjk6aq4gin4sywmzdjw5fzp")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Python 3 tests are failing. (home-page "http://defunkt.io/pystache/") (synopsis "Python logic-less template engine") (description "Pystache is a Python implementation of the framework agnostic, logic-free templating system Mustache.") - (license license:expat))) + (license license:expat) + (properties `((python2-variant . ,(delay python2-pystache)))))) (define-public python2-pystache - (package-with-python2 python-pystache)) + (package (inherit (package-with-python2 + (strip-python2-variant python-pystache))) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "test_pystache.py"))))))))) (define-public python-joblib (package @@ -2893,6 +2930,9 @@ reStructuredText.") (base32 "10axnp2wpjnq9g8wg53fx0c70dfxqrz498jyz8mrdx9a3flwir48")))) (build-system python-build-system) + (arguments + ;; FIXME: Tests require sphinx, which depends on this. + '(#:tests? #f)) (home-page "http://pygments.org/") (synopsis "Syntax highlighting") (description @@ -2916,6 +2956,9 @@ reStructuredText.") (base32 "011xizm3jnmf4cvs5i6kgf6c5nn046h79i8j0vd0f27yw9j3p4wl")))) (build-system python-build-system) + (arguments + ;; FIXME: Missing dependencies. + '(#:tests? #f)) (propagated-inputs `(("python-jinja2" ,python-jinja2) ("python-docutils" ,python-docutils) @@ -2944,6 +2987,8 @@ sources.") (base32 "19nw3rn7awplcdrz63kg1njqwkbymfg9lwn7l2grhdyhyr2gaa8g")))) (build-system python-build-system) + (propagated-inputs + `(("python-sphinx" ,python-sphinx))) (home-page "https://github.com/snide/sphinx_rtd_theme/") (synopsis "ReadTheDocs.org theme for Sphinx") (description "A theme for Sphinx used by ReadTheDocs.org.") @@ -2965,7 +3010,7 @@ sources.") "0bh4lnj2p1nh0wf5pgxgfbrp27xhb1rinahkb5j7s3qprq6qn0sr")))) (build-system python-build-system) (propagated-inputs - `(("python-dateutil" ,python-dateutil-2) + `(("python-dateutil" ,python-dateutil) ("python-six" ,python-six))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) @@ -3059,7 +3104,7 @@ interested parties to subscribe to events, or \"signals\".") ("python-blinker" ,python-blinker) ("python-unidecode" ,python-unidecode) ("python-six" ,python-six) - ("python-dateutil-2" ,python-dateutil-2))) + ("python-dateutil" ,python-dateutil))) (home-page "http://getpelican.com/") (arguments `(;; XXX Requires a lot more packages to do unit tests :P @@ -3136,6 +3181,9 @@ mining and data analysis.") (sha256 (base32 "0jz416fqvpahqyffw8plmszzfj669w8wvf3y9clnr5lr6a7md3kn")))) (build-system python-build-system) + (arguments + ;; TODO: Some tests require running X11 server. Disable them? + '(#:tests? #f)) ;; See DEPENDS.txt for the list of build and run time requiremnts (propagated-inputs `(("python-matplotlib" ,python-matplotlib) @@ -3387,7 +3435,8 @@ objects.") (native-inputs `(("unzip" ,unzip) ("python2-cython" ,python2-cython) - ("python2-mock" ,python2-mock))) + ("python2-mock" ,python2-mock) + ("python2-nose" ,python2-nose))) (home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/") (synopsis "Perform genome-wide association studies on large data sets") (description @@ -3622,7 +3671,7 @@ transcendental functions).") ("python-pygobject" ,python-pygobject) ("gobject-introspection" ,gobject-introspection) ("python-tkinter" ,python "tk") - ("python-dateutil" ,python-dateutil-2) + ("python-dateutil" ,python-dateutil) ("python-numpy" ,python-numpy-bootstrap) ("python-pillow" ,python-pillow) ("python-pytz" ,python-pytz) @@ -3786,6 +3835,16 @@ operators such as union, intersection, and difference.") (base32 "0nhan2qvrw7b7gg5zddwa22kybdv3x1g26vkd7q8lvnkgzrs4dga")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; It's easier to run tests after install. + ;; Make installed package available for running the tests + (add-installed-pythonpath inputs outputs) + (zero? (system* "python" "-m" "rpy2.tests" "-v"))))))) (propagated-inputs `(("python-six" ,python-six))) (inputs @@ -4100,11 +4159,22 @@ both of which are installed automatically if you install this library.") (base32 "1wghyvk73cmq3iqyg3fczw128fv2pan2v76m0xg1bw05h8fhvnk3")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Many tests require a running database server. + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; (zero? (system* "py.test" "sqlalchemy_utils" "tests"))))) (propagated-inputs `(("python-six" ,python-six) ("python-sqlalchemy" ,python-sqlalchemy))) (native-inputs - `(("python-pytest" ,python-pytest))) + `(("python-dateutil" ,python-dateutil) + ("python-flexmock" ,python-flexmock) + ("python-psycopg2" ,python-psycopg2) + ("python-pytest" ,python-pytest) + ("python-pytz" ,python-pytz))) (home-page "https://github.com/kvesteri/sqlalchemy-utils") (synopsis "Various utility functions for SQLAlchemy") (description @@ -4367,16 +4437,18 @@ a front-end for C compilers or analysis tools.") `(("python-cffi" ,python-cffi) ; used at run time ("python-six" ,python-six))) (arguments - `(#:phases - (alist-cons-after - 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let ((doc (string-append (assoc-ref outputs "out") "/share" - "/doc/" ,name "-" ,version))) - (mkdir-p doc) - (copy-file "README.md" - (string-append doc "/README.md")))) - %standard-phases))) + `(;; FIXME: Tests cannot load libxcb.so.1 + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") "/share" + "/doc/" ,name "-" ,version))) + (mkdir-p doc) + (copy-file "README.md" + (string-append doc "/README.md")) + #t)))))) (home-page "https://github.com/tych0/xcffib") (synopsis "XCB Python bindings") (description @@ -4413,25 +4485,27 @@ support for Python 3 and PyPy. It is based on cffi.") (propagated-inputs `(("python-xcffib" ,python-xcffib))) ; used at run time (arguments - `(#:phases - (alist-cons-after - 'install 'install-doc - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((data (string-append (assoc-ref outputs "doc") "/share")) - (doc (string-append data "/doc/" ,name "-" ,version)) - (html (string-append doc "/html"))) - (setenv "LD_LIBRARY_PATH" - (string-append (assoc-ref inputs "cairo") "/lib" ":" - (assoc-ref inputs "gdk-pixbuf") "/lib")) - (setenv "LANG" "en_US.UTF-8") - (mkdir-p html) - (for-each (lambda (file) - (copy-file (string-append "." file) - (string-append doc file))) - '("/README.rst" "/CHANGES" "/LICENSE")) - (system* "python" "setup.py" "build_sphinx") - (copy-recursively "docs/_build/html" html))) - %standard-phases))) + `(;; FIXME: Tests cannot find 'libcairo.so.2'. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + (doc (string-append data "/doc/" ,name "-" ,version)) + (html (string-append doc "/html"))) + (setenv "LD_LIBRARY_PATH" + (string-append (assoc-ref inputs "cairo") "/lib" ":" + (assoc-ref inputs "gdk-pixbuf") "/lib")) + (setenv "LANG" "en_US.UTF-8") + (mkdir-p html) + (for-each (lambda (file) + (copy-file (string-append "." file) + (string-append doc file))) + '("/README.rst" "/CHANGES" "/LICENSE")) + (system* "python" "setup.py" "build_sphinx") + (copy-recursively "docs/_build/html" html) + #t)))))) (home-page "https://github.com/SimonSapin/cairocffi") (synopsis "Python bindings and object-oriented API for Cairo") (description @@ -4512,6 +4586,8 @@ Python language binding specification.") (sha256 (base32 "1gzjg2k6f14i1msm2b0ax8d9ds1hvk6qd5nlaivg8m4cxqp4cp1x")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires python-cherrypy. (propagated-inputs `(("python-psutil" ,python-psutil) ("python-drmaa" ,python-drmaa) @@ -4530,21 +4606,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 @@ -5242,13 +5336,12 @@ implementation of D-Bus.") `(("sqlite" ,sqlite))) (arguments `(#:phases - ;; swap check and install phases - (alist-cons-after - 'install 'check - (assoc-ref %standard-phases 'check) - (alist-delete - 'check - %standard-phases)))) + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (zero? (system* "python" "setup.py" "test"))))))) (home-page "https://github.com/rogerbinns/apsw/") (synopsis "Another Python SQLite Wrapper") (description "APSW is a Python wrapper for the SQLite @@ -5320,7 +5413,8 @@ screen-scraping projects. It offers Pythonic idioms for navigating, searching, and modifying a parse tree, providing a toolkit for dissecting a document and extracting what you need. It automatically converts incoming documents to Unicode and outgoing documents to UTF-8.") - (license license:expat))) + (license license:expat) + (properties `((python2-variant . ,(delay python2-beautifulsoup4)))))) (define-public python2-beautifulsoup4 (package @@ -5484,17 +5578,18 @@ of the structure, dynamics, and functions of complex networks.") (define-public snakemake (package (name "snakemake") - (version "3.2.1") + (version "3.9.0") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/s/snakemake/snakemake-" - version ".tar.gz")) + (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "0fi4b63sj60hvi7rfydvmz2icl4wj74djw5sn2gl8hxd02qw4b91")))) + (base32 "1d48ql0010v9ls6mac7fz6j391gm4h74a64hqgw89s0vfqgdyzdl")))) (build-system python-build-system) - (home-page "https://bitbucket.org/johanneskoester/snakemake") + (arguments + ;; TODO: Package missing test dependencies. + '(#:tests? #f)) + (home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home") (synopsis "Python-based execution environment for make-like workflows") (description "Snakemake aims to reduce the complexity of creating workflows by @@ -5513,6 +5608,8 @@ Python style, together with a fast and comfortable execution environment.") (sha256 (base32 "0ibi3xsfm2kysph61mnfy0pf8d5rkgxgrdb0z9nbizgcgdsb5a0m")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; Tests requires a running X11 server. (propagated-inputs `(("python-pandas" ,python-pandas) ("python-matplotlib" ,python-matplotlib) @@ -5534,10 +5631,40 @@ and statistical routines from scipy and statsmodels.") (propagated-inputs `(("python2-pytz" ,python2-pytz) ,@(package-propagated-inputs base)))))) +(define-public python-mpmath + (package + (name "python-mpmath") + (version "0.19") + (source (origin + (method url-fetch) + (uri (string-append "http://mpmath.org/files/mpmath-" + version ".tar.gz")) + (sha256 + (base32 + "08ijsr4ifrqv3cjc26mkw0dbvyygsa99in376hr4b96ddm1gdpb8")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? + (system* "python" "mpmath/tests/runtests.py" "-local"))))))) + (home-page "http://mpmath.org") + (synopsis "Arbitrary-precision floating-point arithmetic in python") + (description + "@code{mpmath} can be used as an arbitrary-precision substitute for +Python's float/complex types and math/cmath modules, but also does much +more advanced mathematics.") + (license license:bsd-3))) + +(define-public python2-mpmath + (package-with-python2 python-mpmath)) + (define-public python-sympy (package (name "python-sympy") - (version "0.7.6") + (version "1.0") (source (origin (method url-fetch) @@ -5545,8 +5672,10 @@ and statistical routines from scipy and statsmodels.") "https://github.com/sympy/sympy/releases/download/sympy-" version "/sympy-" version ".tar.gz")) (sha256 - (base32 "19yp0gy4i7p4g6l3b8vaqkj9qj7yqb5kqy0qgbdagpzgkdz958yz")))) + (base32 "1bpzjwr9hrr7w88v4vgnj9lr6vxcldc94si13n8xpr1rv08d5b1y")))) (build-system python-build-system) + (propagated-inputs + `(("python-mpmath" ,python-mpmath))) (home-page "http://www.sympy.org/") (synopsis "Python library for symbolic mathematics") (description @@ -5664,6 +5793,17 @@ It is written entirely in Python.") (sha256 (base32 "1gzgwayl6hmc9jfcl88bni4jcsk2jcca9dn1rvrfsvnijcjx7hn9")))) (build-system python-build-system) + (arguments + '(;; FIXME: Two tests error out with: + ;; AssertionError: b'Error in atexit._run_exitfuncs:\nFileNotF[44 chars]ry\n' != b'' + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; ;; 'setup.py test' hits an AssertionError on BSD-specific + ;; ;; "tornado/platform/kqueue.py". This is the supported method: + ;; (zero? (system* "python" "-m" "tornado.test"))))) + #:tests? #f)) (native-inputs `(("python-certifi" ,python-certifi))) (propagated-inputs @@ -5873,7 +6013,10 @@ complexity of Python source code.") ".tar.gz")) (sha256 (base32 - "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m")))))) + "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m")))) + (arguments + ;; XXX Tests not compatible with Python 3.5. + '(#:tests? #f)))) (define-public python2-pep8-1.5.7 (package-with-python2 python-pep8-1.5.7)) @@ -5892,7 +6035,10 @@ complexity of Python source code.") ".tar.gz")) (sha256 (base32 - "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z")))))) + "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z")))) + (arguments + ;; XXX Tests not compatible with Python 3.5. + '(#:tests? #f)))) (define-public python2-pyflakes-0.8.1 (package-with-python2 python-pyflakes-0.8.1)) @@ -5960,7 +6106,10 @@ complexity of Python source code.") (for-each delete-file-recursively (find-files "." "__pycache__" #:directories? #t)) (for-each delete-file (find-files "." "\\.pyc$")) - #t)))))) + #t)))) + (arguments + ;; XXX Fails with Python 3.5. + '(#:tests? #f)))) (define-public python2-flake8-2.2.4 (package-with-python2 python-flake8-2.2.4)) @@ -6171,6 +6320,9 @@ from an XML-based format.") (base32 "0g6n288l83sfwavxh1aryi0aqvsr3sp7v6f903mckwqa4scpky62")))) (build-system python-build-system) + (arguments + ;; FIXME: Some tests need network access. + '(#:tests? #f)) (synopsis "Tool and library for manipulating LilyPond files") (description "This package provides a Python library to parse, manipulate or create documents in LilyPond format. A command line program ly is also @@ -6339,6 +6491,8 @@ and MAC network addresses.") (base32 "0c7gh3lsdjds262h0v1sqc66l7hqgfwbakn96qrhdbl0i3vm5yz8")))) (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://bitbucket.org/micktwomey/pyiso8601") (synopsis "Module to parse ISO 8601 dates") (description @@ -6751,13 +6905,25 @@ message digests and key derivation functions.") (uri (pypi-uri "pyOpenSSL" version)) (sha256 (base32 - "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp")))) + "0vji4yrfshs15xpczbhzhasnjrwcarsqg87n98ixnyafnyxs6ybp")) + (patches + (search-patches "python-pyopenssl-skip-network-test.patch")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (zero? (system* "py.test" "-v"))))))) (propagated-inputs `(("python-cryptography" ,python-cryptography) ("python-six" ,python-six))) (inputs `(("openssl" ,openssl))) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://github.com/pyca/pyopenssl") (synopsis "Python wrapper module around the OpenSSL library") (description @@ -7074,9 +7240,19 @@ functions to find and load entry points.") (base32 "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp")))) (build-system python-build-system) - ;; The "bdist_egg" target is disabled by default, causing the installation - ;; to fail. - (arguments `(#:configure-flags (list "bdist_egg"))) + (arguments + `(;; The "bdist_egg" target is disabled by default, causing the installation + ;; to fail. + #:configure-flags (list "bdist_egg") + ;; FIXME: 5 failures, 40 errors. + #:tests? #f)) + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; (zero? (system* "py.test" "-v"))))) + (native-inputs + `(("python-pytest" ,python-pytest))) (propagated-inputs `(("python-bleach" ,python-bleach) ("python-entrypoints" ,python-entrypoints) @@ -7177,7 +7353,8 @@ interactive computing.") (propagated-inputs `(("python-notebook" ,python-notebook))) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-certifi" ,python-certifi) + ("python-nose" ,python-nose))) (home-page "http://ipython.org") (synopsis "IPython HTML widgets for Jupyter") (description "This package provides interactive HTML widgets for Jupyter @@ -7458,6 +7635,8 @@ forms, HTTP servers, regular expressions, and more.") (base32 "1r7iqknhh55y45f64mz5hghgvzx34h1i11k350s0avx6q8gznja1")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Tests can't find zope.interface. (native-inputs `(("python-six" ,python-six) ;("python-zope-interface" ,python-zope-interface) @@ -7518,8 +7697,11 @@ internationalized messages within program source text.") (base32 "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Tests can't find zope.event. (propagated-inputs `(("python-zope-event" ,python-zope-event) + ("python-zope-exceptions", python-zope-exceptions) ("python-zope-interface" ,python-zope-interface))) (native-inputs `(("python-zope-testing" ,python-zope-testing) @@ -7547,6 +7729,8 @@ defining data schemas.") (base32 "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Tests can't find zope.interface. (propagated-inputs `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid) ("python-zope-schema" ,python-zope-schema))) @@ -7572,6 +7756,8 @@ Markup Language.") (base32 "0pqwwmvm1prhwv1ziv9lp8iirz7xkwb6n2kyj36p2h0ppyyhjnm4")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Tests can't find zope.interface. (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) (home-page "http://pypi.python.org/pypi/zope.proxy") @@ -7599,6 +7785,8 @@ brokering, etc.) for which the proxy is responsible.") (base32 "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Tests can't find zope.interface. (propagated-inputs `(("python-zope-proxy" ,python-zope-proxy) ("python-zope-schema" ,python-zope-schema))) @@ -7624,12 +7812,15 @@ Zope3, which are are special objects that have a structural location.") (base32 "14zmf684amc0x32kq05yxnhfqd1cmyhafkw05gn81rn90zjv6ssy")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Tests can't find zope.testrunner. (propagated-inputs `(("python-zope-i18nmessageid" ,python-zope-i18nmessageid) ("python-zope-proxy" ,python-zope-proxy) ("python-zope-schema" ,python-zope-schema))) - (native-inputs - `(("python-zope-component" ,python-zope-component) + (native-inputs + `(("python-six" ,python-six) + ("python-zope-component" ,python-zope-component) ("python-zope-configuration" ,python-zope-configuration) ("python-zope-location" ,python-zope-location) ("python-zope-testrunner" ,python-zope-testrunner) @@ -8233,7 +8424,7 @@ processes across test runs.") "1bvi7rzh7scl4nmgj2n2cy7k0v3p29y15cqy2hcdnfq9mnhdr63y")))) (build-system python-build-system) (propagated-inputs - `(("python-dateutil-2" ,python-dateutil-2) + `(("python-dateutil" ,python-dateutil) ("python-pytz" ,python-pytz))) (synopsis "Python library for parsing iCalendar files") (description "The icalendar package is a parser/generator of iCalendar @@ -8291,6 +8482,14 @@ Blog, News or Announcements section to a Sphinx website.") (base32 "1an5lkkqk1zha47198p42ji3m94xmzx1a03dn7866m87n4r4q8h5")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "py.test" "-v"))))))) + (native-inputs + `(("python-pytest" ,python-pytest))) (propagated-inputs `(("python-args" ,python-args))) (home-page "https://github.com/kennethreitz/clint") @@ -8360,6 +8559,17 @@ with a new public API, and RPython support.") (base32 "1msqv747iz12r73mz4qvsmlwkddwjvrahlrk7ysrcz07h7dsscxs")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Tests require write access to HOME. + (setenv "HOME" "/tmp") + (zero? (system* "nosetests"))))))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) (propagated-inputs `(("python-astor" ,python-astor) ("python-clint" ,python-clint) @@ -8634,6 +8844,8 @@ servers.") (base32 "0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8")))) (build-system python-build-system) + (native-inputs + `(("python-nose" ,python-nose))) (synopsis "JSON Matching Expressions") (description "JMESPath (pronounced “james path”) is a Python library that allows one to declaratively specify how to extract elements from a JSON @@ -8656,8 +8868,11 @@ document.") (base32 "1zxczlwqy9bl27d9bc5x99mb5mcsxm350240lp5nx7014xb311lj")))) (build-system python-build-system) + (arguments + ;; FIXME: Many tests are failing. + '(#:tests? #f)) (propagated-inputs - `(("python-dateutil" ,python-dateutil-2) + `(("python-dateutil" ,python-dateutil) ("python-docutils" ,python-docutils) ("python-jmespath" ,python-jmespath))) (native-inputs @@ -8716,7 +8931,7 @@ Amazon Web Services (AWS) API.") (base32 "0qyqq9akm4vshhn8cngjc1qykcvsn7cz6dlm6njfsgpbraqrmbbw")))) (build-system python-build-system) - (propagated-inputs + (native-inputs `(("python-flake8" ,python-flake8) ("python-pytest" ,python-pytest))) (synopsis "Library for property based testing") @@ -8733,7 +8948,8 @@ seamlessly into your existing Python unit testing work flow.") (strip-python2-variant python-hypothesis)))) (package (inherit hypothesis) (native-inputs - `(("python2-enum34" ,python2-enum34)))))) + `(("python2-enum34" ,python2-enum34) + ,@(package-native-inputs hypothesis)))))) (define-public python-pytest-subtesthack (package @@ -9199,6 +9415,10 @@ RabbitMQ messaging server is the most popular implementation.") (strip-python2-variant python-kombu)))) (package (inherit kombu) + (arguments `(;; FIXME: 'TestTransport.test_del_sync' fails on python2. + ;; It works fine on the python3 variant. + #:tests? #f + ,@(package-arguments kombu))) (native-inputs `(("python2-unittest2" ,python2-unittest2) ,@(package-native-inputs kombu)))))) @@ -9422,7 +9642,7 @@ introspection of @code{zope.interface} instances in code.") '(;; The test suite relies on some non-portable Windows interfaces. #:tests? #f)) (propagated-inputs - `(("python-dateutil-2" ,python-dateutil-2) + `(("python-dateutil" ,python-dateutil) ("python-pyicu" ,python-pyicu))) (synopsis "Parse and generate vCard and vCalendar files") (description "Vobject is intended to be a full featured Python package for @@ -10108,6 +10328,8 @@ to occurences in strings and comments.") (base32 "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; TODO: Requires many libraries not in Guix. (home-page "https://github.com/ultrabug/py3status") (synopsis "Extensible i3status wrapper written in Python") (description "py3status is an i3status wrapper which extends i3status @@ -10262,6 +10484,13 @@ to provide a high-level synchronous API on top of the libev event loop.") (base32 "0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Some tests are failing. + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; (zero? (system* "./bin/trial" "twisted"))))) (propagated-inputs `(("python-zope-interface" ,python-zope-interface))) (home-page "https://twistedmatrix.com/") @@ -10500,7 +10729,7 @@ objects, patterned after the Mocha library for Ruby.") ("python-chai" ,python-chai) ("python-simplejson" ,python-simplejson))) (propagated-inputs - `(("python-dateutil" ,python-dateutil-2))) + `(("python-dateutil" ,python-dateutil))) (home-page "https://github.com/crsmithdev/arrow/") (synopsis "Dates and times for Python") (description @@ -10523,6 +10752,8 @@ datetime type.") (base32 "1jhnxgnw8y3mbzjssixh6qkc7a3afc4fygajhqrqalnilyvpzshq")))) (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "http://github.com/jpvanhal/inflection") (synopsis "Python string transformation library") (description @@ -10691,13 +10922,19 @@ parsing UK postcodes.") (base32 "0vs0dkmg0dlaxf8w6q2i3k0i03gmp56ablldv7ci9x3nbadkn71g")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "-m" "unittest" "-v" "faker.tests"))))))) (native-inputs `(;; For testing ("python-email-validator" ,python-email-validator) ("python-mock" ,python-mock) ("python-ukpostcodeparser" ,python-ukpostcodeparser))) (propagated-inputs - `(("python-dateutil" ,python-dateutil-2) + `(("python-dateutil" ,python-dateutil) ("python-six" ,python-six))) (home-page "https://github.com/joke2k/faker") (synopsis "Python package that generates fake data") @@ -10727,6 +10964,8 @@ addresses, and phone numbers.") (base32 "1f5m28vkh4ksq3d80d8mmd2z8wxvc3mgy2pmrv2751dm2xgznm4w")))) (build-system python-build-system) + (native-inputs + `(("python-unidecode" ,python-unidecode))) (propagated-inputs `(("python-pyyaml" ,python-pyyaml))) (home-page "https://github.com/mk-fg/pretty-yaml") @@ -10841,6 +11080,11 @@ characters, mouse support, and auto suggestions.") (base32 "0c8x962ynpx001fdvp07m2q5jk4igkxbj3rmnydavphvlgxijk1v")))) (build-system python-build-system) + (arguments + ;; FIXME: One test fails (use "py.test" instead of 'setup.py test'). + '(#:tests? #f)) + (native-inputs + `(("python-pytest" ,python-pytest))) (home-page "https://github.com/davidhalter/jedi") (synopsis "Autocompletion for Python that can be used for text editors") @@ -10862,6 +11106,8 @@ characters, mouse support, and auto suggestions.") (base32 "1mmbiyzf0n8hm7z2a562x7w5cbl6jc0zsk6vp40q1z4cyblv1k13")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: No tests in pypi tarball. (propagated-inputs `(("python-docopt" ,python-docopt) ("python-jedi" ,python-jedi) @@ -10967,6 +11213,13 @@ relays publish about themselves.") (base32 "0k1nfdrxxkdlv4zgaqsdv8li0pj3gbh2pyxw8q2bsg6f9490amyn")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: 3/49 tests are failing. + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; (zero? (system* "python" "test/run_all_tests.py" "loop://"))))))) (home-page "https://github.com/pyserial/pyserial") (synopsis "Python Serial Port Bindings") @@ -11286,7 +11539,7 @@ List. Forked from and using the same API as the publicsuffix package.") ("python-coverage" ,python-coverage))) (propagated-inputs `(("python-six" ,python-six) - ("python-dateutil-2" ,python-dateutil-2))) + ("python-dateutil" ,python-dateutil))) (arguments `(#:phases (modify-phases %standard-phases ;; The tests are normally executed via `make test`, but the PyPi @@ -11937,7 +12190,7 @@ useful as a validator for JSON data.") "1k5mjg9iqbjfslb5prrsfz7dhlvi6s35p1jxq8dm87w1b7dn5i2g")))) (build-system python-build-system) (propagated-inputs - `(("python-dateutil-2" ,python-dateutil-2))) + `(("python-dateutil" ,python-dateutil))) (home-page "https://bitbucket.org/nielsenb/aniso8601") (synopsis @@ -12134,10 +12387,7 @@ python-axolotl.") (lambda _ (for-each delete-file-recursively '("axolotl/tests" "build/lib/axolotl/tests")) - #t))) - ;; Prevent creation of the egg. This works around - ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 - #:configure-flags '("--root=/"))) + #t))))) (propagated-inputs `(("python-axolotl-curve25519" ,python-axolotl-curve25519) ("python-dateutil" ,python-dateutil) @@ -12165,6 +12415,12 @@ asynchronous messaging environments.") (base32 "17wzkkcqy5zc0g68xlad3kcv66iw14d2pwqc0h9420gak0vbhx7g")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (zero? (system* "python" "test3.py"))))))) (home-page "http://github.com/gfxmonk/termstyle") (synopsis "Console text coloring for Python") (description "This package provides console text coloring for Python.") @@ -12215,6 +12471,13 @@ asynchronous messaging environments.") (base32 "11his6ii5brpkhld0d5bwzjjw4q3vmplpd6fmgzjrvvklsbk0cf4")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: 35/882 tests failing. + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; (zero? (system* "nosetests"))))))) (propagated-inputs `(("python-aniso8601" ,python-aniso8601) ("python-flask" ,python-flask) @@ -12295,6 +12558,9 @@ specs from your Flask-Restful projects.") (base32 "11bwiw6j0nilgz81xnw6f1npyga3prp8asjqrm87cdr3ria5l03x")))) (build-system python-build-system) + (native-inputs + `(("python-pexpect" ,python-pexpect) + ("tcsh" ,tcsh))) (home-page "https://github.com/kislyuk/argcomplete") (synopsis "Shell tab completion for Python argparse") (description "argcomplete provides extensible command line tab completion diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 1dd23c28e3..97e6b881cc 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -315,6 +315,18 @@ ideal (e.g. in LV2 implementations or embedded applications).") (base32 "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w")))) (build-system python-build-system) + (arguments + '(;; FIXME: Three test failures. Try uncommenting the below next update. + #:tests? #f)) + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda _ + ;; ;; Run tests from the build directory so python3 only + ;; ;; sees the installed 2to3 version. + ;; (zero? (system* "nosetests" "--where=./build/src"))))) + (native-inputs + `(("python-nose" ,python-nose))) (propagated-inputs `(("python-html5lib" ,python-html5lib) ("python-isodate" ,python-isodate) @@ -329,12 +341,4 @@ powerful language for representing information.") "See LICENSE in the distribution.")))) (define-public python2-rdflib - (let ((base (package-with-python2 python-rdflib))) - (package - (inherit base) - (inputs - (append (package-inputs base) - `(("python2-nose" ,python2-nose)))) - (arguments - `(#:python ,python-2 - #:tests? #f))))) ; 3 tests fail, also outside Guix + (package-with-python2 python-rdflib)) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 20897860d2..8e648c4031 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -165,6 +165,9 @@ insert mode and command mode where keybindings have different functions.") (string-append "'" ncurses "/bin/tput'")))) #t))))) (inputs `(("ncurses" ,ncurses))) + (native-inputs + ;; For tests. + `(("python-requests" ,python-requests))) (home-page "https://asciinema.org") (synopsis "Terminal session recorder") (description diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index fdd75a4ecd..8833b17e42 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1172,7 +1172,7 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.") `(;; for the tests ("python2-six" ,python2-six))) (propagated-inputs - `(("python2-dateutil" ,python2-dateutil-2) + `(("python2-dateutil" ,python2-dateutil) ("python2-futures" ,python2-futures) ("python2-rauth" ,python2-rauth) ("python2-swiftclient" ,python2-swiftclient))) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 0ce51aaf88..6b13cf169b 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -247,6 +247,14 @@ DNS domain name queries.") (base32 "0a92lk8790dpp9j64vb6p4sazax0x3nby01lnfll7mxs1hx6n27q")))) (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + (substitute* "sshoot/tests/test_manager.py" + (("/bin/sh") (which "sh"))) + #t))))) (inputs `(("python-argcomplete" ,python-argcomplete) ("python-prettytable" ,python-prettytable) diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index 3f280b0ac0..dd07986b94 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -137,11 +137,15 @@ ;; (given with `package_dir`). This will by copied to the output, too, ;; so we need to remove. (let ((before (find-files "build" "\\.egg-info$" #:directories? #t))) - (call-setuppy test-target '() use-setuptools?) - (let* ((after (find-files "build" "\\.egg-info$" #:directories? #t)) - (inter (lset-difference eqv? after before))) - (for-each delete-file-recursively inter))) - #t)) + (if (call-setuppy test-target '() use-setuptools?) + (let* ((after (find-files "build" "\\.egg-info$" #:directories? #t)) + (inter (lset-difference eqv? after before))) + (for-each delete-file-recursively inter) + #t) + #f)) + (begin + (format #t "test suite not run~%") + #t))) (define (get-python-version python) (let* ((version (last (string-split python #\-))) |