me
/
guix
Archived
1
0
Fork 0

gnu: salmon: Update to 1.9.0.

* gnu/packages/bioinformatics.scm (salmon): Update to 1.9.0.
[arguments]: Remove -DTBB_LIBRARIES from configure flags; copy pufferfish
itlib headers.
[inputs]: Use new label-less list; move pufferfish origin from here...
[native-inputs]: ...to here.
master
Ricardo Wurmus 2022-09-30 22:43:21 +02:00
parent 729ce5fcf8
commit 1266b9ed11
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 99 additions and 97 deletions

View File

@ -10296,7 +10296,7 @@ The following file formats are supported:
(define-public salmon (define-public salmon
(package (package
(name "salmon") (name "salmon")
(version "1.6.0") (version "1.9.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -10305,104 +10305,112 @@ The following file formats are supported:
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1wb5wl0rc77svbwq6zvak5h7pf9acw3di0vz5i3gqyhg5l6qd736")) "1370ry3jpj05gplzyny44mqg77a29a6gp8ijmjz135d2igf956r8"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Delete bundled headers for eigen3. ;; Delete bundled headers for eigen3.
'(delete-file-recursively "include/eigen3/")))) '(delete-file-recursively "include/eigen3/"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list
,#~(list (string-append "-Dlibgff_DIR=" #:configure-flags
#$(this-package-input "libgff") "/lib") #~(list (string-append "-Dlibgff_DIR="
"-DCMAKE_CXX_FLAGS=\"-DHAVE_NUMERIC_LIMITS128=1\"" #$(this-package-input "libgff") "/lib")
"-Dlibgff_FOUND=TRUE" "-DCMAKE_CXX_FLAGS=\"-DHAVE_NUMERIC_LIMITS128=1\""
"-DTBB_FOUND=TRUE" "-Dlibgff_FOUND=TRUE"
#$(string-append "-DTBB_VERSION=" (package-version tbb-2020)) "-DTBB_FOUND=TRUE"
"-DTBB_LIBRARIES=tbb -ltbbmalloc" #$(string-append "-DTBB_VERSION=" (package-version tbb))
"-DFETCHED_PUFFERFISH=TRUE" "-DFETCHED_PUFFERFISH=TRUE"
"-DUSE_SHARED_LIBS=TRUE") "-DUSE_SHARED_LIBS=TRUE")
#:phases #:phases
(modify-phases %standard-phases '(modify-phases %standard-phases
(add-after 'unpack 'prepare-pufferfish (add-after 'unpack 'prepare-pufferfish
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "pufferfish") (copy-recursively (assoc-ref inputs "pufferfish")
"external/pufferfish") "external/pufferfish")
;; This test isn't working correctly, so compilation aborts. ;; This test isn't working correctly, so compilation aborts.
(substitute* "external/pufferfish/include/string_view.hpp" (substitute* "external/pufferfish/include/string_view.hpp"
(("#if __has_include\\(<string_view>\\)") (("#if __has_include\\(<string_view>\\)")
"#if 0")) "#if 0"))
(let ((headers "external/install/pufferfish/include/pufferfish") (let ((headers "external/install/pufferfish/include/pufferfish")
(source "external/install/src/pufferfish")) (source "external/install/src/pufferfish"))
(mkdir-p headers) (mkdir-p headers)
(mkdir-p source) (mkdir-p source)
(for-each (lambda (file) (for-each (lambda (file)
(install-file (string-append "external/pufferfish/include/" file) (install-file (string-append "external/pufferfish/include/" file)
headers)) headers))
(list "ProgOpts.hpp" "BooPHF.hpp" "SpinLock.hpp" (list "ProgOpts.hpp" "BooPHF.hpp" "SpinLock.hpp"
"Kmer.hpp" "CanonicalKmer.hpp" "string_view.hpp" "Kmer.hpp" "CanonicalKmer.hpp" "string_view.hpp"
"CanonicalKmerIterator.hpp" "CanonicalKmerIterator.hpp"
"PufferfishBaseIndex.hpp" "PufferfishBaseIndex.hpp"
"PufferfishIndex.hpp" "PufferfishIndex.hpp"
"PufferfishSparseIndex.hpp" "PufferfishSparseIndex.hpp"
"PufferfishLossyIndex.hpp" "PufferfishLossyIndex.hpp"
"PufferfishTypes.hpp" "PufferfishTypes.hpp"
"rank9b.hpp" "rank9sel.hpp" "macros.hpp" "rank9b.hpp" "rank9sel.hpp" "macros.hpp"
"select.hpp" "Util.hpp" "select.hpp" "Util.hpp"
"PairedAlignmentFormatter.hpp" "PairedAlignmentFormatter.hpp"
"SelectiveAlignmentUtils.hpp" "SelectiveAlignmentUtils.hpp"
"PuffAligner.hpp" "MemCollector.hpp" "PuffAligner.hpp" "MemCollector.hpp"
"MemChainer.hpp" "CommonTypes.hpp" "MemChainer.hpp" "CommonTypes.hpp"
"SAMWriter.hpp" "PufferfishConfig.hpp" "SAMWriter.hpp" "PufferfishConfig.hpp"
"BulkChunk.hpp" "BinWriter.hpp")) "BulkChunk.hpp" "BinWriter.hpp"))
(for-each (lambda (dir)
(copy-recursively
(string-append "external/pufferfish/include/" dir)
(string-append headers "/" dir)))
(list "libdivide"
"ksw2pp"
"compact_vector"
"metro"
"chobo"
"sparsepp"
"simde"
"tsl"))
(copy-recursively
(string-append "external/pufferfish/src/metro/")
(string-append source "/metro"))
(install-file
(string-append "external/pufferfish/src/rank9b.cpp")
source)
;; Do not complain about not having built libtbb (for-each (lambda (dir)
(substitute* "external/pufferfish/external/twopaco/CMakeLists.txt" (copy-recursively
(("add_dependencies.*") ""))))) (string-append "external/pufferfish/include/" dir)
(add-after 'unpack 'do-not-phone-home (string-append headers "/" dir)))
(lambda _ (list "libdivide"
(substitute* "src/Salmon.cpp" "ksw2pp"
(("getVersionMessage\\(\\)") "\"\"")))) "compact_vector"
(add-after 'unpack 'use-system-libraries "itlib"
(lambda* (#:key inputs #:allow-other-keys) "metro"
;; Ensure that all headers can be found "chobo"
(setenv "CPLUS_INCLUDE_PATH" "sparsepp"
(string-append (or (getenv "CPLUS_INCLUDE_PATH") "") "simde"
":" "tsl"))
(getcwd) "/external/install/pufferfish/include:" (copy-recursively
(assoc-ref inputs "eigen") (string-append "external/pufferfish/src/metro/")
"/include/eigen3")))) (string-append source "/metro"))
(add-after 'unpack 'fix-error-message-in-tests (install-file
(lambda _ (string-append "external/pufferfish/src/rank9b.cpp")
(substitute* "cmake/TestSalmonQuasi.cmake" source)
(("SALMON_QUASI_INDEX_COMMAND")
"SALMON_QUASI_INDEX_CMD"))))))) ;; Do not complain about not having built libtbb
(substitute* "external/pufferfish/external/twopaco/CMakeLists.txt"
(("add_dependencies.*") "")))))
(add-after 'unpack 'do-not-phone-home
(lambda _
(substitute* "src/Salmon.cpp"
(("getVersionMessage\\(\\)") "\"\""))))
(add-after 'unpack 'use-system-libraries
(lambda* (#:key inputs #:allow-other-keys)
;; Ensure that all headers can be found
(setenv "CPLUS_INCLUDE_PATH"
(string-append (or (getenv "CPLUS_INCLUDE_PATH") "")
":"
(getcwd) "/external/install/pufferfish/include:"
(assoc-ref inputs "eigen")
"/include/eigen3"))))
(add-after 'unpack 'fix-error-message-in-tests
(lambda _
(substitute* "cmake/TestSalmonQuasi.cmake"
(("SALMON_QUASI_INDEX_COMMAND")
"SALMON_QUASI_INDEX_CMD")))))))
(inputs (inputs
`(("boost" ,boost) (list boost
("bzip2" ,bzip2) bzip2
("cereal" ,cereal-1.3.0) cereal-1.3.0
("curl" ,curl) curl
("eigen" ,eigen) eigen
("jemalloc" ,jemalloc) jemalloc
("libgff" ,libgff) libgff
tbb
libstadenio-for-salmon
xz
zlib))
(native-inputs
`(("pkg-config" ,pkg-config)
("pufferfish" ,(origin ("pufferfish" ,(origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -10411,13 +10419,7 @@ The following file formats are supported:
(file-name (git-file-name "pufferfish" version)) (file-name (git-file-name "pufferfish" version))
(sha256 (sha256
(base32 (base32
"0jakgpbanl6cs23x3g26iab54p7zylcf9v8vc32ps57smp8wql52")))) "048a006mc2d0h78ym58mv67hl1pj480ilc5ifq0rlzfdyyfs1b8i"))))))
("tbb" ,tbb-2020)
("libstadenio-for-salmon" ,libstadenio-for-salmon)
("xz" ,xz)
("zlib" ,zlib)))
(native-inputs
(list pkg-config))
(home-page "https://github.com/COMBINE-lab/salmon") (home-page "https://github.com/COMBINE-lab/salmon")
(synopsis "Quantification from RNA-seq reads using lightweight alignments") (synopsis "Quantification from RNA-seq reads using lightweight alignments")
(description "Salmon is a program to produce highly-accurate, (description "Salmon is a program to produce highly-accurate,