From fea30e12f7b0810c90b278127a7d3c75ef59cec7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 24 Nov 2019 19:16:50 +0200 Subject: gnu: sparsehash: Don't use unstable tarball. * gnu/packages/datastructures.scm (sparsehash)[source]: Download using git-fetch. --- gnu/packages/datastructures.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gnu/packages/datastructures.scm') diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index dabb1f421e..7eab65fd5f 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2016, 2019 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Meiyo Peng +;;; Copyright © 2019 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,12 +81,14 @@ library.") (name "sparsehash") (version "2.0.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/sparsehash/sparsehash/" - "archive/sparsehash-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sparsehash/sparsehash.git") + (commit (string-append name "-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "133szz0ldwch0kd91l0sa57qsnl020njn622szd9cxrjqyjqds85")))) + "0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na")))) (build-system gnu-build-system) (synopsis "Memory-efficient hashtable implementations") (description -- cgit v1.2.3 From 3546771cc8e5a24de89965e69f74c1d20027fefd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 25 Nov 2019 10:55:01 +0200 Subject: gnu: libdivsufsort: Move to datastructures.scm. * gnu/packages/bioinformatics.scm (libdivsufsort): Move to ... * gnu/packages/datastructures.scm: ... here. --- gnu/packages/bioinformatics.scm | 29 ----------------------------- gnu/packages/datastructures.scm | 31 ++++++++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 30 deletions(-) (limited to 'gnu/packages/datastructures.scm') diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index beb442ebe0..616fcedc35 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11572,35 +11572,6 @@ provide this functionality without the necessity of drawing in a heavy-weight dependency like SeqAn.") (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt")))) -(define-public libdivsufsort - (package - (name "libdivsufsort") - (version "2.0.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/y-256/libdivsufsort.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2")))) - (build-system cmake-build-system) - (arguments - '(#:tests? #f ; there are no tests - #:configure-flags - ;; Needed for rapmap and sailfish. - '("-DBUILD_DIVSUFSORT64=ON"))) - (home-page "https://github.com/y-256/libdivsufsort") - (synopsis "Lightweight suffix-sorting library") - (description "libdivsufsort is a software library that implements a -lightweight suffix array construction algorithm. This library provides a -simple and an efficient C API to construct a suffix array and a -Burrows-Wheeler transformed string from a given string over a constant-size -alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1) -bytes of memory space, where n is the length of the string.") - (license license:expat))) - (define-public sailfish (package (name "sailfish") diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 7eab65fd5f..3ead3ac2c4 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2019 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Meiyo Peng ;;; Copyright © 2019 Efraim Flashner @@ -229,3 +229,32 @@ operations of the original object efficiently. The theoretical time complexity of an operation performed on the classical data structure and the equivalent succinct data structure are (most of the time) identical.") (license license:gpl3+))) + +(define-public libdivsufsort + (package + (name "libdivsufsort") + (version "2.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/y-256/libdivsufsort.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; there are no tests + #:configure-flags + ;; Needed for rapmap and sailfish. + '("-DBUILD_DIVSUFSORT64=ON"))) + (home-page "https://github.com/y-256/libdivsufsort") + (synopsis "Lightweight suffix-sorting library") + (description "libdivsufsort is a software library that implements a +lightweight suffix array construction algorithm. This library provides a +simple and an efficient C API to construct a suffix array and a +Burrows-Wheeler transformed string from a given string over a constant-size +alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1) +bytes of memory space, where n is the length of the string.") + (license license:expat))) -- cgit v1.2.3 From 2b04bb3b4ede92907228a2d5940e63b6684aff45 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 25 Nov 2019 09:59:38 +0200 Subject: gnu: sdsl-lite: Remove unused inputs. Documentation also wants graphviz, which drastically increases 'guiz size sdsl-lite'. * gnu/packages/datastructures.scm (sdsl-lite)[native-inputs]: Remove doxygen. --- gnu/packages/datastructures.scm | 3 --- 1 file changed, 3 deletions(-) (limited to 'gnu/packages/datastructures.scm') diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 3ead3ac2c4..36a135c606 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -21,7 +21,6 @@ (define-module (gnu packages datastructures) #:use-module (gnu packages) - #:use-module (gnu packages documentation) #:use-module (gnu packages perl) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -216,8 +215,6 @@ to the structure and choosing one or more fields to act as the key.") (base32 "1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g")))) (build-system cmake-build-system) - (native-inputs - `(("doxygen" ,doxygen))) (home-page "https://github.com/simongog/sdsl-lite") (synopsis "Succinct data structure library") (description "The Succinct Data Structure Library (SDSL) is a powerful and -- cgit v1.2.3 From aca2bf51b767bfdc152896430f83b7c1124c346d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 25 Nov 2019 09:58:15 +0200 Subject: gnu: sdsl-lite: Don't use bundled libraries. * gnu/packages/datastructures.scm (sdsl-lite)[source]: Remove bundled libraries in a snippet. Add patch to link to external libraries. [arguments]: Add phase to install static library. [native-inputs]: Add libdivsufsort. --- gnu/packages/datastructures.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'gnu/packages/datastructures.scm') diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 36a135c606..e7833b8e70 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -213,8 +213,31 @@ to the structure and choosing one or more fields to act as the key.") ".tar.gz.offline.install.gz")) (sha256 (base32 - "1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g")))) + "1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "external") #t)) + (patches + (list (origin + (method url-fetch) + (uri "https://salsa.debian.org/science-team/libsdsl/raw/debian/2.1.1+dfsg-2/debian/patches/0001-Patch-cmake-files.patch") + (file-name "sdsl-lite-dont-use-bundled-libraries.patch") + (sha256 + (base32 + "0m542xpys54bni29zibgrfpgpd0zgyny4h131virxsanixsbz52z"))))))) (build-system cmake-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-static-library + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (copy-file "lib/libsdsl_static.a" + (string-append out "/lib/libsdsl.a"))) + #t))))) + (native-inputs + `(("libdivsufsort" ,libdivsufsort))) (home-page "https://github.com/simongog/sdsl-lite") (synopsis "Succinct data structure library") (description "The Succinct Data Structure Library (SDSL) is a powerful and -- cgit v1.2.3