~ruther/guix-local

052fab5f0ba3d1b714783fdee36517d28c9c9f49 — Trevor Arjeski 8 months ago 8c7d8cb
gnu: mash: Update to 2.3 and fix build with gcc-14.

* gnu/packages/bioinformatics.scm (mash): Update to 2.3.
[arguments]<#:phases>{fix-includes}: Add file to substitutions.
* gnu/packages/patches/mash-add-missing-headers.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register new file.

Fixes: guix/guix#2986
Change-Id: I6a37a6b65b0abe9b72663bcafbc034dac0cff0c0
Signed-off-by: Andreas Enge <andreas@enge.fr>
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1829,6 1829,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/make-impure-dirs.patch			\
  %D%/packages/patches/makem-replace-git.patch			\
  %D%/packages/patches/marisa-fix-MARISA_WORD_SIZE.patch	\
  %D%/packages/patches/mash-add-missing-headers.patch           \
  %D%/packages/patches/mathjax-disable-webpack.patch			\
  %D%/packages/patches/mathjax-no-a11y.patch			\
  %D%/packages/patches/mathjax-3.1.2-no-a11y.patch		\

M gnu/packages/bioinformatics.scm => gnu/packages/bioinformatics.scm +6 -4
@@ 10463,7 10463,7 @@ technology.  Its features include:
(define-public mash
  (package
    (name "mash")
    (version "2.1")
    (version "2.3")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 10472,12 10472,13 @@ technology.  Its features include:
              (file-name (git-file-name name version))
              (sha256
               (base32
                "049hwcc059p2fd9vwndn63laifvvsi0wmv84i6y1fr79k15dxwy6"))
                "00x4pvxwp3isf0qign1qmxwxc9rwzn5b3igjw9hyn3vx17bsx92q"))
              (modules '((guix build utils)))
              (snippet
               ;; Delete bundled kseq.
               ;; TODO: Also delete bundled murmurhash and open bloom filter.
               '(delete-file "src/mash/kseq.h"))))
               '(delete-file "src/mash/kseq.h"))
              (patches (search-patches "mash-add-missing-headers.patch"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f ; No tests.


@@ 10496,7 10497,8 @@ technology.  Its features include:
           (lambda _
             (substitute* '("src/mash/Sketch.cpp"
                            "src/mash/CommandFind.cpp"
                            "src/mash/CommandScreen.cpp")
                            "src/mash/CommandScreen.cpp"
                            "src/mash/CommandTaxScreen.cpp")
               (("^#include \"kseq\\.h\"")
                "#include \"htslib/kseq.h\""))))
         (add-after 'fix-includes 'use-c++14

A gnu/packages/patches/mash-add-missing-headers.patch => gnu/packages/patches/mash-add-missing-headers.patch +26 -0
@@ 0,0 1,26 @@
https://patch-diff.githubusercontent.com/raw/marbl/Mash/pull/181.diff

Add missing includes to support newer compilers.
---
diff --git a/src/mash/robin_hood.h b/src/mash/robin_hood.h
index 573607f..9141848 100644
--- a/src/mash/robin_hood.h
+++ b/src/mash/robin_hood.h
@@ -42,6 +42,7 @@
 #include <cstdlib>
 #include <cstring>
 #include <functional>
+#include <limits>
 #include <memory> // only to support hash of smart pointers
 #include <stdexcept>
 #include <string>
--- a/src/mash/Command.cpp
+++ b/src/mash/Command.cpp
@@ -8,6 +8,7 @@
 #include <sys/ioctl.h>
 #include <sstream>
 #include <fstream>
+#include <cstdint>

 #include "Command.h"
 #include "version.h"
\ No newline at end of file