diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2023-05-12 21:54:01 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2023-05-12 21:54:01 +0200 |
commit | 0e20ed322d5f0f2b8e50d31c7ec44b45be392e52 (patch) | |
tree | 3e123a26af82259e8ee883d10829e05e5265397c /gnu/packages | |
parent | 8ba3bf6564fb95e7bbaf0d32ebb5af7deb5ec365 (diff) | |
download | guix-0e20ed322d5f0f2b8e50d31c7ec44b45be392e52.tar guix-0e20ed322d5f0f2b8e50d31c7ec44b45be392e52.tar.gz |
gnu: sra-tools: Do link with libxml2.
* gnu/packages/bioinformatics.scm (sra-tools)[arguments]: Use G-expression for
clarity; drop trailing #T from build phases; modify 'configure phase to
dynamically link with libxml2.
[inputs]: Drop package labels; add libxml2.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/bioinformatics.scm | 156 |
1 files changed, 79 insertions, 77 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d1a2816466..d1de973274 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8013,86 +8013,88 @@ unique transcripts.") "1cr2mijkfs5sm35ffjs6861qsd1qkgnhnbavdv65zg5d655abbjf")))) (build-system gnu-build-system) (arguments - `(#:parallel-build? #f ; not supported - #:tests? #f ; no "check" target - #:make-flags - ,#~(list (string-append "DEFAULT_CRT=" - #$(this-package-input "ncbi-vdb") - "/kfg/certs.kfg") - (string-append "DEFAULT_KFG=" - #$(this-package-input "ncbi-vdb") - "/kfg/default.kfg") - (string-append "VDB_LIBDIR=" - #$(this-package-input "ncbi-vdb") - #$(if (string-prefix? "x86_64" - (or (%current-target-system) - (%current-system))) - "/lib64" - "/lib32"))) + (list + #:parallel-build? #f ; not supported + #:tests? #f ; no "check" target + #:make-flags + #~(list (string-append "DEFAULT_CRT=" + #$(this-package-input "ncbi-vdb") + "/kfg/certs.kfg") + (string-append "DEFAULT_KFG=" + #$(this-package-input "ncbi-vdb") + "/kfg/default.kfg") + (string-append "VDB_LIBDIR=" + #$(this-package-input "ncbi-vdb") + #$(if (string-prefix? "x86_64" + (or (%current-target-system) + (%current-system))) + "/lib64" + "/lib32"))) #:phases - (modify-phases %standard-phases - (add-before 'configure 'set-perl-search-path - (lambda _ - ;; Work around "dotless @INC" build failure. - (setenv "PERL5LIB" - (string-append (getcwd) "/setup:" - (getenv "PERL5LIB"))) - #t)) - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; The build system expects a directory containing the sources and - ;; raw build output of ncbi-vdb, including files that are not - ;; installed. Since we are building against an installed version of - ;; ncbi-vdb, the following modifications are needed. - (substitute* "setup/konfigure.perl" - ;; Make the configure script look for the "ilib" directory of - ;; "ncbi-vdb" without first checking for the existence of a - ;; matching library in its "lib" directory. - (("^ my \\$f = File::Spec->catdir\\(\\$libdir, \\$lib\\);") - "my $f = File::Spec->catdir($ilibdir, $ilib);") - ;; Look for interface libraries in ncbi-vdb's "ilib" directory. - (("my \\$ilibdir = File::Spec->catdir\\(\\$builddir, 'ilib'\\);") - "my $ilibdir = File::Spec->catdir($dir, 'ilib');")) - - ;; Dynamic linking - (substitute* "tools/copycat/Makefile" - (("smagic-static") "lmagic")) - (substitute* "tools/driver-tool/utf8proc/Makefile" - (("CC\\?=gcc") "myCC=gcc") - (("\\(CC\\)") "(myCC)")) - - ;; The 'configure' script doesn't recognize things like - ;; '--enable-fast-install'. - (invoke "./configure" - (string-append "--build-prefix=" (getcwd) "/build") - (string-append "--prefix=" (assoc-ref outputs "out")) - (string-append "--debug") - (string-append "--with-fuse-prefix=" - (assoc-ref inputs "fuse")) - (string-append "--with-magic-prefix=" - (assoc-ref inputs "libmagic")) - ;; TODO: building with libxml2 fails with linker errors - #; - (string-append "--with-xml2-prefix=" - (assoc-ref inputs "libxml2")) - (string-append "--with-ncbi-vdb-sources=" - (assoc-ref inputs "ncbi-vdb")) - (string-append "--with-ncbi-vdb-build=" - (assoc-ref inputs "ncbi-vdb")) - (string-append "--with-ngs-sdk-prefix=" - (assoc-ref inputs "ngs-sdk")) - (string-append "--with-hdf5-prefix=" - (assoc-ref inputs "hdf5"))) - #t))))) + #~(modify-phases %standard-phases + (add-before 'configure 'set-perl-search-path + (lambda _ + ;; Work around "dotless @INC" build failure. + (setenv "PERL5LIB" + (string-append (getcwd) "/setup:" + (getenv "PERL5LIB"))))) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; The build system expects a directory containing the sources and + ;; raw build output of ncbi-vdb, including files that are not + ;; installed. Since we are building against an installed version of + ;; ncbi-vdb, the following modifications are needed. + (substitute* "setup/konfigure.perl" + ;; Make the configure script look for the "ilib" directory of + ;; "ncbi-vdb" without first checking for the existence of a + ;; matching library in its "lib" directory. + (("^ my \\$f = File::Spec->catdir\\(\\$libdir, \\$lib\\);") + "my $f = File::Spec->catdir($ilibdir, $ilib);") + ;; Look for interface libraries in ncbi-vdb's "ilib" directory. + (("my \\$ilibdir = File::Spec->catdir\\(\\$builddir, 'ilib'\\);") + "my $ilibdir = File::Spec->catdir($dir, 'ilib');")) + + ;; Dynamic linking + (substitute* "tools/copycat/Makefile" + (("smagic-static") "lmagic")) + (substitute* "tools/driver-tool/utf8proc/Makefile" + (("CC\\?=gcc") "myCC=gcc") + (("\\(CC\\)") "(myCC)")) + + ;; Don't link libxml2 statically + (substitute* "build/ld.linux.exe.sh" + (("grep -q 'OS_DISTRIBUTOR = Ubuntu.*") "true\n")) + + ;; The 'configure' script doesn't recognize things like + ;; '--enable-fast-install'. + (invoke "./configure" + (string-append "--build-prefix=" (getcwd) "/build") + (string-append "--prefix=" #$output) + (string-append "--debug") + (string-append "--with-fuse-prefix=" + #$(this-package-input "fuse")) + (string-append "--with-magic-prefix=" + #$(this-package-input "file")) + (string-append "--with-xml2-prefix=" + #$(this-package-input "libxml2")) + (string-append "--with-ncbi-vdb-sources=" + #$(this-package-input "ncbi-vdb")) + (string-append "--with-ncbi-vdb-build=" + #$(this-package-input "ncbi-vdb")) + (string-append "--with-ngs-sdk-prefix=" + #$(this-package-input "ngs-sdk")) + (string-append "--with-hdf5-prefix=" + #$(this-package-input "hdf5")))))))) (native-inputs (list perl)) (inputs - `(("ngs-sdk" ,ngs-sdk) - ("ncbi-vdb" ,ncbi-vdb) - ("libmagic" ,file) - ("fuse" ,fuse) - ("hdf5" ,hdf5-1.10) - ("zlib" ,zlib) - ("python" ,python-wrapper))) + (list ngs-sdk + ncbi-vdb + file + fuse + hdf5-1.10 + libxml2 + zlib + python-wrapper)) (home-page "https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software") (synopsis "Tools and libraries for reading and writing sequencing data") |