From 4732e6ee84fea4e58b8a62cad054b10966f4f6e6 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft <donttrustben@gmail.com>
Date: Mon, 3 Jul 2017 23:00:14 +1000
Subject: gnu: blast+: Update to 2.6.0.

* gnu/packages/bioinformatics.scm (blast+): Update to 2.6.0.
[origin]: Remove bundled pcre.  Add patch.
[arguments]: Replace paths in run_with_lock.c.  Configure with pcre.
[inputs]: Add pcre, perl, python.
* gnu/packages/patches/blast+-fix-makefile.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/packages/bioinformatics.scm                | 25 ++++++++++++++++---------
 gnu/packages/patches/blast+-fix-makefile.patch | 15 +++++++++++++++
 2 files changed, 31 insertions(+), 9 deletions(-)
 create mode 100644 gnu/packages/patches/blast+-fix-makefile.patch

(limited to 'gnu/packages')

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 1dc5ffac3c..55c2975a1e 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -956,7 +956,7 @@ package provides command line tools using the Bio++ library.")
 (define-public blast+
   (package
     (name "blast+")
-    (version "2.4.0")
+    (version "2.6.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -964,13 +964,15 @@ package provides command line tools using the Bio++ library.")
                     version "/ncbi-blast-" version "+-src.tar.gz"))
               (sha256
                (base32
-                "14n9jik6vhiwjd3m7bach4xj1pzfn0szbsbyfxybd9l9cc43b6mb"))
+                "15n937pw5aqmyfjb6l387d18grqbb96l63d5xj4l7yyh0zbf2405"))
+              (patches (search-patches "blast+-fix-makefile.patch"))
               (modules '((guix build utils)))
               (snippet
                '(begin
-                  ;; Remove bundled bzip2 and zlib
+                  ;; Remove bundled bzip2, zlib and pcre.
                   (delete-file-recursively "c++/src/util/compress/bzip2")
                   (delete-file-recursively "c++/src/util/compress/zlib")
+                  (delete-file-recursively "c++/src/util/regexp")
                   (substitute* "c++/src/util/compress/Makefile.in"
                     (("bzip2 zlib api") "api"))
                   ;; Remove useless msbuild directory
@@ -979,9 +981,8 @@ package provides command line tools using the Bio++ library.")
                   #t))))
     (build-system gnu-build-system)
     (arguments
-     `(;; There are three(!) tests for this massive library, and all fail with
+     `(;; There are two(!) tests for this massive library, and both fail with
        ;; "unparsable timing stats".
-       ;; ERR [127] --  [util/regexp] test_pcre.sh     (unparsable timing stats)
        ;; ERR [127] --  [serial/datatool] datatool.sh     (unparsable timing stats)
        ;; ERR [127] --  [serial/datatool] datatool_xml.sh     (unparsable timing stats)
        #:tests? #f
@@ -1014,6 +1015,7 @@ package provides command line tools using the Bio++ library.")
             ;; Rewrite hardcoded paths to various tools
             (substitute* (append '("src/build-system/configure.ac"
                                    "src/build-system/configure"
+                                   "src/build-system/helpers/run_with_lock.c"
                                    "scripts/common/impl/if_diff.sh"
                                    "scripts/common/impl/run_with_lock.sh"
                                    "src/build-system/Makefile.configurables.real"
@@ -1062,17 +1064,22 @@ package provides command line tools using the Bio++ library.")
                                              (assoc-ref inputs "bzip2"))
                               (string-append "--with-z="
                                              (assoc-ref inputs "zlib"))
+                              (string-append "--with-pcre="
+                                             (assoc-ref inputs "pcre"))
                               ;; Each library is built twice by default, once
                               ;; with "-static" in its name, and again
                               ;; without.
                               "--without-static"
                               "--with-dll"))))))))
-    (outputs '("out"       ;  19 MB
-               "lib"       ; 203 MB
-               "include")) ;  32 MB
+    (outputs '("out"       ;  21 MB
+               "lib"       ; 226 MB
+               "include")) ;  33 MB
     (inputs
      `(("bzip2" ,bzip2)
-       ("zlib" ,zlib)))
+       ("zlib" ,zlib)
+       ("pcre" ,pcre)
+       ("perl" ,perl)
+       ("python" ,python-wrapper)))
     (native-inputs
      `(("cpio" ,cpio)))
     (home-page "http://blast.ncbi.nlm.nih.gov")
diff --git a/gnu/packages/patches/blast+-fix-makefile.patch b/gnu/packages/patches/blast+-fix-makefile.patch
new file mode 100644
index 0000000000..bfa46a7e51
--- /dev/null
+++ b/gnu/packages/patches/blast+-fix-makefile.patch
@@ -0,0 +1,15 @@
+Without this patch, the 'make install' attempts to 'install' a directory, which causes an error.
+
+diff --git a/c++/src/build-system/Makefile.in.top b/c++/src/build-system/Makefile.in.top
+index 1abe44f..d6000b3 100644
+--- a/c++/src/build-system/Makefile.in.top
++++ b/c++/src/build-system/Makefile.in.top
+@@ -51,7 +51,7 @@ install-toolkit:
+ 	    done
+ 	cd $(includedir0) && find * -name CVS -prune -o -print |\
+             cpio -pd $(pincludedir)
+-	$(INSTALL) -m 644 $(incdir)/* $(pincludedir)
++	cp -R $(incdir)/* $(pincludedir)
+ ## set up appropriate build and status directories somewhere under $(libdir)?
+ 
+ install-gbench:
-- 
cgit v1.2.3