Hello Ricardo, Thank you for your review. Ricardo Wurmus writes: > Roel Janssen writes: >> From dfc9b373bbce0f36882407cec47440a0a44c78d1 Mon Sep 17 00:00:00 2001 >> From: Roel Janssen >> Date: Tue, 22 Mar 2016 14:59:05 +0100 >> Subject: [PATCH 1/8] gnu: Add tabixpp. > >> * gnu/packages/bioinformatics.scm (tabixpp): New variable. >> --- >> gnu/packages/bioinformatics.scm | 39 +++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 39 insertions(+) > >> diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm >> index 281bd1f..6792be9 100644 >> --- a/gnu/packages/bioinformatics.scm >> +++ b/gnu/packages/bioinformatics.scm >> @@ -4791,3 +4791,42 @@ negative binomial distribution to model the read counts among the samples in >> the same group, and look for consistent differences between ChIP and control >> group or two ChIP groups run under different conditions.") >> (license license:gpl3+))) >> + >> +(define-public tabixpp >> + (package >> + (name "tabixpp") >> + (version "1.0.0") >> + (source (origin >> + (method url-fetch) >> + (uri (string-append "https://github.com/ekg/tabixpp/archive/v" >> + version ".tar.gz")) >> + (file-name (string-append name "-" version ".tar.gz")) >> + (sha256 >> + (base32 "1s0lgks7qlvlhvcjhi2wm18nnza1bwcnic44ij7z8wfg88h4ivwn")))) >> + (build-system gnu-build-system) >> + (inputs >> + `(("htslib" ,htslib) >> + ("zlib" ,zlib))) >> + (arguments >> + `(#:tests? #f ; There are no tests to run. >> + #:phases >> + (modify-phases %standard-phases >> + (delete 'configure) ; There is no configure phase. >> + ;; Modify the build phase to use the separately packaged htslib. >> + (replace 'build >> + (lambda* (#:key inputs #:allow-other-keys) >> + (let ((htslib-ref (assoc-ref inputs "htslib"))) >> + (zero? >> + (system* "make" >> + (string-append "HTS_LIB=" htslib-ref "/lib/libhts.a") >> + "HTS_HEADERS=" ; Do not check for local htslib headers. >> + (string-append "LIBPATH=-L. -L" htslib-ref >> "/include")))))) > > Is this really necessary or could you use make-flags instead? That > would be the preferred way of doing this rather than replacing the build > phase. So I had tried, but my Scheme skills failed there. In the new patch I used make-flags instead. I hope the (let ...) is appropriate there. I like it because it allows me to stay within 80 columns, and avoid repetitive (assoc-ref %build-inputs "htslib"). >> + (replace 'install >> + (lambda* (#:key outputs #:allow-other-keys) >> + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) >> + (install-file "tabix++" bin))))))) >> + (home-page "https://github.com/ekg/tabixpp") >> + (synopsis "C++ wrapper around tabix project") > > “tabix” or “Tabix”? Tabix I suppose. >> + (description "This is a C++ wrapper around the Tabix project which abstracts >> +some of the details of opening and jumping in tabix-indexed files.") >> + (license license:expat))) > > “tabix” or “Tabix”? Right. I changed both occurrences to “Tabix”. > Could you please send an updated patch? Here it is. Thanks again for your valuable time. Kind regards, Roel Janssen