;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools) ;for meson-0.55
#:use-module (gnu packages perl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson))
(define-public gdsl
(package
(name "gdsl")
(version "1.8")
(source (origin
- (method url-fetch)
- (uri (string-append "http://download.gna.org/gdsl/"
- "gdsl-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://example.org") ;only hosted on Software Heritage
+ (commit "6adb53be8b8f9f2e4bbfc92d357eedeefb4c7430")))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1v64jvlnj8jfpphphgjgb36p0kv50kwfyqncf0y12f16v8ydyiaw"))))
+ "0a52g12d9sf9hhcyvwfd7xdazj2a9i9jh97cnlqf2ymvwnvjk1g0"))))
(build-system gnu-build-system)
- (home-page "http://home.gna.org/gdsl/")
+ (home-page "https://web.archive.org/web/20170502005430/http://home.gna.org/gdsl/")
(synopsis "Generic data structures library")
(description "The Generic Data Structures Library (GDSL) is a collection
of routines for generic data structures manipulation. It is a re-entrant
(define-public sparsehash
(package
(name "sparsehash")
- (version "2.0.3")
+ (version "2.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na"))))
+ "1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7"))))
(build-system gnu-build-system)
(synopsis "Memory-efficient hashtable implementations")
(description
(define-public liburcu
(package
(name "liburcu")
- (version "0.12.1")
+ (version "0.12.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.lttng.org/files/urcu/"
"userspace-rcu-" version ".tar.bz2"))
(sha256
(base32
- "03nd1gy2c3fdb6xwdrd5lr1jcjxbzffqh3z91mzbjhjn6k8fmymv"))))
+ "0yx69kbx9zd6ayjzvwvglilhdnirq4f1x1sdv33jy8bc9wgc3vsf"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl))) ; for tests
"0m542xpys54bni29zibgrfpgpd0zgyny4h131virxsanixsbz52z")))))))
(build-system cmake-build-system)
(arguments
- '(#:phases
+ `(#: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)))))
+ #t))
+ (add-after 'install 'install-pkgconfig-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (mkdir-p (string-append lib "/pkgconfig"))
+ (with-output-to-file (string-append lib "/pkgconfig/sdsl-lite.pc")
+ (lambda _
+ (format #t "prefix=~a~@
+ exec_prefix=${prefix}~@
+ libdir=${exec_prefix}/lib~@
+ includedir=${prefix}/include~@
+ ~@
+ ~@
+ Name: sdsl~@
+ Version: ~a~@
+ Description: SDSL: Succinct Data Structure Library~@
+ Libs: -L${libdir} -lsdsl -ldivsufsort -ldivsufsort64~@
+ Cflags: -I${includedir}~%"
+ out ,version)))
+ #t))))))
(native-inputs
`(("libdivsufsort" ,libdivsufsort)))
(home-page "https://github.com/simongog/sdsl-lite")
equivalent succinct data structure are (most of the time) identical.")
(license license:gpl3+)))
+(define-public tllist
+ (package
+ (name "tllist")
+ (version "1.0.5")
+ (home-page "https://codeberg.org/dnkl/tllist")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "061mkg6hc9x89zya3bw18ymxlzd8fbhjipxpva8x01lh2vp1d4f0"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:meson ,meson-0.55))
+ (synopsis "Typed link list for C")
+ (description
+ "@code{tllist} is a @dfn{typed linked list} C header file only library
+implemented using pre-processor macros. It supports primitive data types as
+well as aggregated ones such as structs, enums and unions.")
+ (license license:expat)))
+
(define-public libdivsufsort
(package
(name "libdivsufsort")