Roel Janssen <r...@gnu.org> writes: > Hello Ricardo, > > Thank you for your review. > > Ricardo Wurmus writes: > >> Roel Janssen <r...@gnu.org> writes: >>> From dfc9b373bbce0f36882407cec47440a0a44c78d1 Mon Sep 17 00:00:00 2001 >>> From: Roel Janssen <r...@gnu.org> >>> 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, looks good, except for having the inputs before the arguments. I tried to apply the patch to master but it failed. Could you please rebase it onto master and resend? ~~ Ricardo