From 6eecbfb9ac63f0d0fcb31ec5e92f3aad357fe5a5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 7 Dec 2021 19:40:28 +0100 Subject: [PATCH] gnu: clipper: Update to 2.0.1. * gnu/packages/bioinformatics.scm (clipper): Update to 2.0.1. [source]: Add snippet to remove pre-compiled files. [arguments]: Disable tests, delete 'sanity-check phase, and add 'use-python3-for-cython phase. --- gnu/packages/bioinformatics.scm | 36 ++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c7413bd6e8..b6970eb5e9 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2628,7 +2628,7 @@ (define-public cd-hit (define-public clipper (package (name "clipper") - (version "2.0") + (version "2.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -2637,10 +2637,16 @@ (define-public clipper (file-name (git-file-name name version)) (sha256 (base32 - "1bcag4lb5bkzsj2vg7lrq24aw6yfgq275ifrbhd82l7kqgbbjbkv")))) + "0508rgnfjk5ar5d1mjbjyrnarv4kw9ksq0m3jw2bmgabmb5v6ikk")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete pre-compiled files. + (delete-file "clipper/src/peaks.so"))))) (build-system python-build-system) (arguments - `(#:phases + `(#:tests? #false + #:phases (modify-phases %standard-phases (add-before 'reset-gzip-timestamps 'make-files-writable (lambda* (#:key outputs #:allow-other-keys) @@ -2648,14 +2654,30 @@ (define-public clipper ;; 'reset-gzip-timestamps' phase can do its work. (let ((out (assoc-ref outputs "out"))) (for-each make-file-writable - (find-files out "\\.gz$")) - #t))) + (find-files out "\\.gz$"))))) + (add-after 'unpack 'use-python3-for-cython + (lambda _ + (substitute* "setup.py" + (("^setup") + "\ +peaks.cython_directives = {'language_level': '3'} +readsToWiggle.cython_directives = {'language_level': '3'} +setup")))) (add-after 'unpack 'disable-nondeterministic-test (lambda _ ;; This test fails/succeeds non-deterministically. (substitute* "clipper/test/test_call_peak.py" - (("test_get_FDR_cutoff_mean") "_test_get_FDR_cutoff_mean")) - #t))))) + (("test_get_FDR_cutoff_mean") "_test_get_FDR_cutoff_mean")))) + ;; This doesn't work because "usage" is executed, and that calls + ;; exit(8). + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (with-directory-excursion "clipper/test" + (invoke "python" "-m" "unittest"))))) + ;; This is not a library + (delete 'sanity-check)))) (inputs `(("htseq" ,htseq) ("python-pybedtools" ,python-pybedtools)