>From 98ed1adae91aca2c118779f5333dc21446f1c720 Mon Sep 17 00:00:00 2001
From: Roel Janssen <r...@gnu.org>
Date: Tue, 26 Apr 2016 19:48:31 +0200
Subject: [PATCH] gnu: Add intervaltree.

* gnu/packages/bioinformatics.scm (intervaltree): New variable.
---
 gnu/packages/bioinformatics.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 620439f..9ad6c38 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -885,6 +885,38 @@ well as many of the command line options.")
 multiple sequence alignments.")
     (license license:expat)))
 
+(define-public intervaltree
+  (let ((commit "dbb4c513d1ad3baac516fc1484c995daf9b42838"))
+    (package
+      (name "intervaltree")
+      (version (string-append "0-1." (string-take commit 7)))
+      (source (origin
+        (method url-fetch)
+        (uri (string-append "https://github.com/ekg/intervaltree/archive/";
+                            commit ".tar.gz"))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure) ; There is no configure phase.
+           (replace 'check
+             (lambda _
+               (zero? (system* "./interval_tree_test"))))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((include (string-append (assoc-ref outputs "out")
+                                             "/include/intervaltree")))
+                 (install-file "IntervalTree.h" include)))))))
+      (home-page "https://github.com/ekg/intervaltree/";)
+      (synopsis "Minimal C++ interval tree implementation")
+      (description "This library provides a basic implementation of an interval
+tree using C++ templates, allowing the insertion of arbitrary types into the
+tree.")
+      (license license:expat))))
+
 (define-public python-pysam
   (package
     (name "python-pysam")
-- 
2.7.4

This time, it is attached :).

Roel Janssen writes:

> Ricardo Wurmus writes:
>
>> Roel Janssen <r...@gnu.org> writes:
>>> From 3ed14719121a952fca48a8ad3426588ebb58a130 Mon Sep 17 00:00:00 2001
>>> From: Roel Janssen <r...@gnu.org>
>>> Date: Tue, 22 Mar 2016 15:57:33 +0100
>>> Subject: [PATCH 7/8] gnu: Add intervaltree.
>>
>>> * gnu/packages/bioinformatics.scm (intervaltree): New variable.
>>> ---
>>>  gnu/packages/bioinformatics.scm | 32 ++++++++++++++++++++++++++++++++
>>>  1 file changed, 32 insertions(+)
>>
>>> diff --git a/gnu/packages/bioinformatics.scm 
>>> b/gnu/packages/bioinformatics.scm
>>> index 9cbde46..5a0eb16 100644
>>> --- a/gnu/packages/bioinformatics.scm
>>> +++ b/gnu/packages/bioinformatics.scm
>>> @@ -4985,3 +4985,35 @@ automatically handles index file generation and 
>>> use.")
>>>        ;; this program is a submodule, is licensed MIT, which is the same as
>>>        ;; the Expat license.
>>>        (license (list license:gpl2 license:expat)))))
>>> +
>>> +(define-public intervaltree
>>> +  (let ((commit "dbb4c513d1ad3baac516fc1484c995daf9b42838"))
>>> +    (package
>>> +      (name "intervaltree")
>>> +      (version (string-append "0-1." (string-take commit 7)))
>>> +      (source (origin
>>> +        (method url-fetch)
>>> +        (uri (string-append
>>> +              "https://github.com/ekg/intervaltree/archive/"; commit 
>>> ".tar.gz"))
>>> +        (file-name (string-append name "-" version ".tar.gz"))
>>> +        (sha256
>>> +         (base32 "19prwpn2wxsrijp5svfqvfcxl5nj7zdhm3jycd5kqhl9nifpmcks"))))
>>> +      (build-system gnu-build-system)
>>> +      (arguments
>>> +       `(#:phases
>>> +         (modify-phases %standard-phases
>>> +           (delete 'configure) ; There is no configure phase.
>>> +           (replace 'check
>>> +             (lambda _
>>> +                (zero? (system* "./interval_tree_test"))))
>>
>> The indentation looks wrong here.  Could you please double-check that
>> you’re not using tabs?
>
> I don't know what went wrong there, sorry.  Attached a new patch that
> should be better.
>
>>> +           (replace 'install
>>> +             (lambda* (#:key outputs #:allow-other-keys)
>>> +               (let ((include (string-append (assoc-ref outputs "out")
>>> +                                             "/include/intervaltree")))
>>> +                 (install-file "IntervalTree.h" include)))))))
>>> +      (home-page "https://github.com/ekg/intervaltree/";)
>>> +      (synopsis "Minimal C++ interval tree implementation")
>>> +      (description "This library provides a basic implementation of an 
>>> interval
>>> +tree using C++ templates, allowing the insertion of arbitrary types into 
>>> the
>>> +tree.")
>>> +      (license license:expat))))
>>
>> The rest looks good to me.
>
> Thanks a lot for reviewing my patches!
>
> Kind regards,
> Roel Janssen

Reply via email to