From 0bf3c9abaa1d069421575b5af6a49dae950736bf Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 9 Dec 2021 11:48:15 +0100 Subject: [PATCH] gnu: metabat: Update to 2.15. * gnu/packages/bioinformatics.scm (metabat): Update to 2.15. [source]: Remove patch. [build-system]: Use cmake-build-system. [arguments]: Adjust to new build system. * gnu/packages/patches/metabat-fix-compilation.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/bioinformatics.scm | 59 ++++++++----------- .../patches/metabat-fix-compilation.patch | 39 ------------ 3 files changed, 23 insertions(+), 76 deletions(-) delete mode 100644 gnu/packages/patches/metabat-fix-compilation.patch diff --git a/gnu/local.mk b/gnu/local.mk index 621daced2b..c55966762b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1457,7 +1457,6 @@ dist_patch_DATA = \ %D%/packages/patches/mesa-skip-tests.patch \ %D%/packages/patches/mescc-tools-boot.patch \ %D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \ - %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch \ %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 0030969d8d..6d83a4ad68 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -60,7 +60,6 @@ (define-module (gnu packages bioinformatics) #:use-module (guix build-system qt) #:use-module (guix build-system r) #:use-module (guix build-system ruby) - #:use-module (guix build-system scons) #:use-module (guix build-system trivial) #:use-module (guix deprecation) #:use-module (gnu packages) @@ -5401,7 +5400,7 @@ (define-public mash (define-public metabat (package (name "metabat") - (version "2.12.1") + (version "2.15") (source (origin (method git-fetch) @@ -5411,44 +5410,32 @@ (define-public metabat (file-name (git-file-name name version)) (sha256 (base32 - "0hyg2smw1nz69mfvjpk45xyyychmda92c80a0cv7baji84ri4iyn")) - (patches (search-patches "metabat-fix-compilation.patch")))) - (build-system scons-build-system) + "0v3gsps0ypani14102z2y1a2wignhpf7s1h45mxmj5f783rkhqd9")))) + (build-system cmake-build-system) (arguments - `(#:scons ,scons-python2 - #:scons-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "BOOST_ROOT=" (assoc-ref %build-inputs "boost"))) - #:tests? #f ;; Tests are run during the build phase. + `(#:configure-flags + ,#~(list (string-append "-Dzlib_LIB=" #$(this-package-input "zlib") + "/lib/libz.so") + (string-append "-Dhtslib_LIB=" #$(this-package-input "htslib") + "/lib/libhts.so") + (string-append "-DBOOST_ROOT=" #$(this-package-input "boost"))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-includes + (add-after 'unpack 'configure-version-file (lambda _ - (substitute* "src/BamUtils.h" - (("^#include \"bam/bam\\.h\"") - "#include \"samtools/bam.h\"") - (("^#include \"bam/sam\\.h\"") - "#include \"samtools/sam.h\"")) - (substitute* "src/KseqReader.h" - (("^#include \"bam/kseq\\.h\"") - "#include \"htslib/kseq.h\"")))) - (add-after 'unpack 'fix-scons - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "SConstruct" - (("^htslib_dir += 'samtools'") - (string-append "htslib_dir = '" - (assoc-ref inputs "htslib") - "'")) - (("^samtools_dir = 'samtools'") - (string-append "samtools_dir = '" - (assoc-ref inputs "samtools") - "'")) - (("^findStaticOrShared\\('bam', hts_lib") - (string-append "findStaticOrShared('bam', '" - (assoc-ref inputs "samtools") - "/lib'")) - ;; Do not distribute README. - (("^env\\.Install\\(idir_prefix, 'README\\.md'\\)") ""))))))) + (copy-file "metabat_version.h.in" "metabat_version.h") + (substitute* "metabat_version.h" + (("@_time_stamp@") "19700101") + (("@GIT_IS_DIRTY@") "0") + (("@GIT_RETRIEVED_STATE@") "0") + (("@GIT_HEAD_SHA1@") (string-append "v" ,version))))) + (add-after 'unpack 'do-not-use-bundled-libraries + (lambda _ + (substitute* "CMakeLists.txt" + (("include\\(cmake.*") "")) + (substitute* "src/CMakeLists.txt" + (("set\\(Boost.*") "") + (("add_dependencies.*") ""))))))) (inputs `(("zlib" ,zlib) ("perl" ,perl) diff --git a/gnu/packages/patches/metabat-fix-compilation.patch b/gnu/packages/patches/metabat-fix-compilation.patch deleted file mode 100644 index 7086a96e86..0000000000 --- a/gnu/packages/patches/metabat-fix-compilation.patch +++ /dev/null @@ -1,39 +0,0 @@ -This patch changes metabat so that (1) it is not build statically, (2) it uses -shared libraries rather than static libraries where possible. - -diff --git a/SConstruct b/SConstruct -index 69cdc0a..ac99bcb 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -26,8 +26,6 @@ debug = ARGUMENTS.get('DEBUG', None) - build_flags = ['-Wall', '-g', '-std=c++11', '-fopenmp'] - link_flags = ['-lstdc++', '-lm', '-fopenmp'] - --if platform.platform(True, True).find('Darwin') == -1: -- link_flags.extend(['-static', '-static-libgcc', '-static-libstdc++']) - - if debug is None: - build_flags.extend(['-O3', '-DNDEBUG', '-Wno-unknown-pragmas', '-Wno-deprecated-declarations', '-Wno-overflow', '-Wno-unused-variable']) -@@ -110,17 +108,17 @@ def findStaticOrShared( lib, testPaths, static_source_list, link_flag_list, stat - for path in testPaths: - if not os.path.isdir(path): - continue -+ for testfile in ('%s/lib%s.so' % (path, lib), '%s/lib%s.dylib' % (path, lib)): -+ if os.path.isfile(testfile): -+ print "Found shared library %s as %s" % (lib, testfile) -+ link_flag_list.extend( ["-L%s" % (path), "-l%s" % (lib) ] ) -+ return - for suffix in staticSuffixes: - testfile = '%s/lib%s%s' % (path, lib, suffix) - if os.path.isfile(testfile): - static_source_list.append(testfile) - print "Found static library %s as %s" % (lib, testfile) - return -- for testfile in ('%s/lib%s.so' % (path, lib), '%s/lib%s.dylib' % (path, lib)): -- if os.path.isfile(testfile): -- print "Found shared library %s as %s" % (lib, testfile) -- link_flag_list.extend( ["-L%s" % (path), "-l%s" % (lib) ] ) -- return - print "Could not find library for %s!!! Looked in %s" % (lib, testPaths) - return -