From 052fab5f0ba3d1b714783fdee36517d28c9c9f49 Mon Sep 17 00:00:00 2001 From: Trevor Arjeski Date: Tue, 23 Sep 2025 12:26:36 +0300 Subject: [PATCH] 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 --- gnu/local.mk | 1 + gnu/packages/bioinformatics.scm | 10 ++++--- .../patches/mash-add-missing-headers.patch | 26 +++++++++++++++++++ 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/mash-add-missing-headers.patch diff --git a/gnu/local.mk b/gnu/local.mk index af814b82ca..f02a5277bc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 3607878714..6ef2baee79 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -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 diff --git a/gnu/packages/patches/mash-add-missing-headers.patch b/gnu/packages/patches/mash-add-missing-headers.patch new file mode 100644 index 0000000000..d4eca2a5b4 --- /dev/null +++ b/gnu/packages/patches/mash-add-missing-headers.patch @@ -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 + #include + #include ++#include + #include // only to support hash of smart pointers + #include + #include +--- a/src/mash/Command.cpp ++++ b/src/mash/Command.cpp +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + + #include "Command.h" + #include "version.h" \ No newline at end of file