aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2016-09-22 14:11:59 +0100
committerBen Woodcroft <donttrustben@gmail.com>2016-09-27 20:06:00 +1000
commitf536dce522e08315c468f60448507af2cac619ac (patch)
treed000d68fae39779035c8ba2016b237753be4077a
parentdff26b2363c1735e3d84e0dbd2b958760b08f848 (diff)
downloadpatches-f536dce522e08315c468f60448507af2cac619ac.tar
patches-f536dce522e08315c468f60448507af2cac619ac.tar.gz
gnu: python-pysam: Enable tests.
* gnu/packages/bioinformatics.scm (python-pysam)[source]: Change from PyPi to source archive due to missing test data. [arguments]: Add check phase after install. [native-inputs]: Add python-nose, samtools and bcftools.
-rw-r--r--gnu/packages/bioinformatics.scm36
1 files changed, 30 insertions, 6 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 3ca6fd6c34..078b0a69e0 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1351,18 +1351,21 @@ multiple sequence alignments.")
(version "0.9.1.4")
(source (origin
(method url-fetch)
- (uri (pypi-uri "pysam" version))
+ ;; Test data is missing on PyPi.
+ (uri (string-append
+ "https://github.com/pysam-developers/pysam/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1i1djacqbr88y7w18b4aa78zxnsyr4sz7yqdq2spi7gs0y6pzvjn"))
+ "0y41ssbg6nvn2jgcbnrvkzblpjcwszaiv1rgyd8dwzjkrbfsgsmc"))
(modules '((guix build utils)))
(snippet
;; Drop bundled htslib. TODO: Also remove samtools and bcftools.
'(delete-file-recursively "htslib"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ; tests are excluded in the manifest
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-flags
(lambda* (#:key inputs #:allow-other-keys)
@@ -1373,7 +1376,24 @@ multiple sequence alignments.")
(string-append (assoc-ref inputs "htslib") "/include"))
(setenv "LDFLAGS" "-lncurses")
(setenv "CFLAGS" "-D_CURSES_LIB=1")
- #t)))))
+ #t))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append
+ (getenv "PYTHONPATH")
+ ":" (assoc-ref outputs "out")
+ "/lib/python"
+ (string-take (string-take-right
+ (assoc-ref inputs "python") 5) 3)
+ "/site-packages"))
+ ;; Step out of source dir so python does not import from CWD.
+ (chdir "tests")
+ (setenv "HOME" "/tmp")
+ (and (zero? (system* "make" "-C" "pysam_data"))
+ (zero? (system* "make" "-C" "cbcf_data"))
+ (zero? (system* "nosetests" "-v"))))))))
(propagated-inputs
`(("htslib" ,htslib))) ; Included from installed header files.
(inputs
@@ -1381,7 +1401,11 @@ multiple sequence alignments.")
("zlib" ,zlib)))
(native-inputs
`(("python-cython" ,python-cython)
- ("python-setuptools" ,python-setuptools)))
+ ("python-setuptools" ,python-setuptools)
+ ;; Dependencies below are are for tests only.
+ ("samtools" ,samtools)
+ ("bcftools" ,bcftools)
+ ("python-nose" ,python-nose)))
(home-page "https://github.com/pysam-developers/pysam")
(synopsis "Python bindings to the SAMtools C API")
(description