You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

286 lines
12 KiB

gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
  3. ;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
  4. ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
  5. ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
  6. ;;;
  7. ;;; This file is part of GNU Guix.
  8. ;;;
  9. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  10. ;;; under the terms of the GNU General Public License as published by
  11. ;;; the Free Software Foundation; either version 3 of the License, or (at
  12. ;;; your option) any later version.
  13. ;;;
  14. ;;; GNU Guix is distributed in the hope that it will be useful, but
  15. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  16. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. ;;; GNU General Public License for more details.
  18. ;;;
  19. ;;; You should have received a copy of the GNU General Public License
  20. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  21. (define-module (gnu packages datastructures)
  22. #:use-module (gnu packages)
  23. #:use-module (gnu packages autotools)
  24. #:use-module (gnu packages perl)
  25. #:use-module ((guix licenses) #:prefix license:)
  26. #:use-module (guix packages)
  27. #:use-module (guix download)
  28. #:use-module (guix git-download)
  29. #:use-module (guix build-system cmake)
  30. #:use-module (guix build-system gnu))
  31. (define-public gdsl
  32. (package
  33. (name "gdsl")
  34. (version "1.8")
  35. (source (origin
  36. (method url-fetch)
  37. (uri (string-append "http://download.gna.org/gdsl/"
  38. "gdsl-" version ".tar.gz"))
  39. (sha256
  40. (base32
  41. "1v64jvlnj8jfpphphgjgb36p0kv50kwfyqncf0y12f16v8ydyiaw"))))
  42. (build-system gnu-build-system)
  43. (home-page "http://home.gna.org/gdsl/")
  44. (synopsis "Generic data structures library")
  45. (description "The Generic Data Structures Library (GDSL) is a collection
  46. of routines for generic data structures manipulation. It is a re-entrant
  47. library fully written from scratch in pure ANSI C. It is designed to offer
  48. for C programmers common data structures with powerful algorithms, and hidden
  49. implementation. Available structures are lists, queues, stacks, hash tables,
  50. binary trees, binary search trees, red-black trees, 2D arrays, permutations
  51. and heaps.")
  52. (license license:gpl2+)))
  53. (define-public marisa
  54. (package
  55. (name "marisa")
  56. (version "0.2.6")
  57. (source
  58. (origin
  59. (method url-fetch)
  60. (uri (string-append "https://github.com/s-yata/marisa-trie/files/"
  61. "4832504/marisa-" version ".tar.gz"))
  62. (sha256
  63. (base32 "1pk6wmi28pa8srb4szybrwfn71jldb61c5vgxsiayxcyg1ya4qqh"))))
  64. (build-system gnu-build-system)
  65. (native-inputs
  66. `(("autoconf" ,autoconf)
  67. ("automake" ,automake)
  68. ("libtool" ,libtool)))
  69. (home-page "https://github.com/s-yata/marisa-trie")
  70. (synopsis "Trie data structure C++ library")
  71. (description "@acronym{MARISA, Matching Algorithm with Recursively
  72. Implemented StorAge} is a static and space-efficient trie data structure C++
  73. library.")
  74. ;; Dual-licensed, according to docs/readme.en.html (source files lack
  75. ;; copyright/license headers.)
  76. (license (list license:bsd-2 license:lgpl2.1+))))
  77. (define-public sparsehash
  78. (package
  79. (name "sparsehash")
  80. (version "2.0.3")
  81. (source (origin
  82. (method git-fetch)
  83. (uri (git-reference
  84. (url "https://github.com/sparsehash/sparsehash")
  85. (commit (string-append name "-" version))))
  86. (file-name (git-file-name name version))
  87. (sha256
  88. (base32
  89. "0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na"))))
  90. (build-system gnu-build-system)
  91. (synopsis "Memory-efficient hashtable implementations")
  92. (description
  93. "This library contains several hash-map implementations, similar in API
  94. to SGI's @code{hash_map} class, but with different performance
  95. characteristics. @code{sparse_hash_map} uses very little space overhead, 1-2
  96. bits per entry. @code{dense_hash_map} is very fast, particularly on lookup.
  97. @code{sparse_hash_set} and @code{dense_hash_set} are the set versions of these
  98. routines. All these implementation use a hashtable with internal quadratic
  99. probing. This method is space-efficient -- there is no pointer overhead --
  100. and time-efficient for good hash functions.")
  101. (home-page "https://github.com/sparsehash/sparsehash")
  102. (license license:bsd-3)))
  103. (define-public ssdeep
  104. (package
  105. (name "ssdeep")
  106. (version "2.14.1")
  107. (source
  108. (origin
  109. (method url-fetch)
  110. (uri (string-append "https://github.com/ssdeep-project/ssdeep/"
  111. "releases/download/release-" version "/"
  112. "ssdeep-" version ".tar.gz"))
  113. (sha256
  114. (base32 "04qkjc6kksxkv7xbnk32rwmf3a8czdv2vvrdzfs0kw06h73snbpz"))))
  115. (build-system gnu-build-system)
  116. (arguments
  117. `(#:configure-flags
  118. (list "--disable-static")))
  119. (home-page "https://ssdeep-project.github.io")
  120. (synopsis "Context-triggered piecewise hashing algorithm")
  121. (description "ssdeep computes and matches context triggered piecewise
  122. hashes (CTPH), also called fuzzy checksums. It can identify similar files
  123. that have sequences of identical bytes in the same order, even though bytes
  124. in between these sequences may be different in both content and length.")
  125. (license license:gpl2+)))
  126. (define-public liburcu
  127. (package
  128. (name "liburcu")
  129. (version "0.12.1")
  130. (source (origin
  131. (method url-fetch)
  132. (uri (string-append "https://www.lttng.org/files/urcu/"
  133. "userspace-rcu-" version ".tar.bz2"))
  134. (sha256
  135. (base32
  136. "03nd1gy2c3fdb6xwdrd5lr1jcjxbzffqh3z91mzbjhjn6k8fmymv"))))
  137. (build-system gnu-build-system)
  138. (native-inputs
  139. `(("perl" ,perl))) ; for tests
  140. (home-page "https://liburcu.org/")
  141. (synopsis "User-space RCU data synchronisation library")
  142. (description "liburcu is a user-space @dfn{Read-Copy-Update} (RCU) data
  143. synchronisation library. It provides read-side access that scales linearly
  144. with the number of cores. liburcu-cds provides efficient data structures
  145. based on RCU and lock-free algorithms. These structures include hash tables,
  146. queues, stacks, and doubly-linked lists.")
  147. (license license:lgpl2.1+)))
  148. (define-public uthash
  149. (package
  150. (name "uthash")
  151. (version "2.1.0")
  152. (source
  153. (origin
  154. (method git-fetch)
  155. (uri (git-reference
  156. (url "https://github.com/troydhanson/uthash")
  157. (commit (string-append "v" version))))
  158. (file-name (git-file-name name version))
  159. (sha256
  160. (base32 "0k80bjbb6ss5wpmfmfji6xbyjm990hg9kcshwwnhdnh73vxkcd1m"))))
  161. (build-system gnu-build-system)
  162. (native-inputs
  163. `(("perl" ,perl)))
  164. (arguments
  165. `(#:make-flags
  166. (list "CC=gcc")
  167. #:phases
  168. (modify-phases %standard-phases
  169. (delete 'configure) ; nothing to configure
  170. (delete 'build) ; nothing to build
  171. (replace 'check
  172. (lambda* (#:key make-flags #:allow-other-keys)
  173. (with-directory-excursion "tests"
  174. (apply invoke "make" make-flags))))
  175. (replace 'install
  176. ;; There is no top-level Makefile to do this for us.
  177. (lambda* (#:key outputs #:allow-other-keys)
  178. (let* ((out (assoc-ref outputs "out"))
  179. (doc (string-append out "/share/doc/" ,name "-" ,version))
  180. (include (string-append out "/include")))
  181. ;; Don't install HTML files: they're just the below .txt files
  182. ;; dolled up, can be stale, and regeneration requires asciidoc.
  183. (for-each (λ (file) (install-file file doc))
  184. (find-files "doc" "\\.txt$"))
  185. (for-each (λ (file) (install-file file include))
  186. (find-files "src" "\\.h$"))
  187. #t))))))
  188. (home-page "https://troydhanson.github.io/uthash/")
  189. (synopsis
  190. "Hash tables, lists, and other data structures implemented as C macros")
  191. (description
  192. "uthash implements a hash table and a few other basic data structures
  193. as C preprocessor macros. It aims to be minimalistic and efficient: it's
  194. around 1,000 lines of code which, being macros, inline automatically.
  195. Unlike function calls with fixed prototypes, macros operate on untyped
  196. arguments. Thus, they are able to work with any type of structure and key.
  197. Any C structure can be stored in a hash table by adding @code{UT_hash_handle}
  198. to the structure and choosing one or more fields to act as the key.")
  199. (license license:bsd-2)))
  200. (define-public sdsl-lite
  201. (package
  202. (name "sdsl-lite")
  203. (version "2.1.1")
  204. (source (origin
  205. (method url-fetch)
  206. (uri (string-append "https://github.com/simongog/sdsl-lite/"
  207. "releases/download/v" version "/"
  208. "sdsl-lite-" version
  209. ".tar.gz.offline.install.gz"))
  210. (sha256
  211. (base32
  212. "1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))
  213. (modules '((guix build utils)))
  214. (snippet
  215. '(begin
  216. (delete-file-recursively "external") #t))
  217. (patches
  218. (list (origin
  219. (method url-fetch)
  220. (uri "https://salsa.debian.org/science-team/libsdsl/raw/debian/2.1.1+dfsg-2/debian/patches/0001-Patch-cmake-files.patch")
  221. (file-name "sdsl-lite-dont-use-bundled-libraries.patch")
  222. (sha256
  223. (base32
  224. "0m542xpys54bni29zibgrfpgpd0zgyny4h131virxsanixsbz52z")))))))
  225. (build-system cmake-build-system)
  226. (arguments
  227. '(#:phases
  228. (modify-phases %standard-phases
  229. (add-after 'install 'install-static-library
  230. (lambda* (#:key outputs #:allow-other-keys)
  231. (let ((out (assoc-ref outputs "out")))
  232. (copy-file "lib/libsdsl_static.a"
  233. (string-append out "/lib/libsdsl.a")))
  234. #t)))))
  235. (native-inputs
  236. `(("libdivsufsort" ,libdivsufsort)))
  237. (home-page "https://github.com/simongog/sdsl-lite")
  238. (synopsis "Succinct data structure library")
  239. (description "The Succinct Data Structure Library (SDSL) is a powerful and
  240. flexible C++11 library implementing succinct data structures. In total, the
  241. library contains the highlights of 40 research publications. Succinct data
  242. structures can represent an object (such as a bitvector or a tree) in space
  243. close to the information-theoretic lower bound of the object while supporting
  244. operations of the original object efficiently. The theoretical time
  245. complexity of an operation performed on the classical data structure and the
  246. equivalent succinct data structure are (most of the time) identical.")
  247. (license license:gpl3+)))
  248. (define-public libdivsufsort
  249. (package
  250. (name "libdivsufsort")
  251. (version "2.0.1")
  252. (source (origin
  253. (method git-fetch)
  254. (uri (git-reference
  255. (url "https://github.com/y-256/libdivsufsort")
  256. (commit version)))
  257. (file-name (git-file-name name version))
  258. (sha256
  259. (base32
  260. "0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2"))))
  261. (build-system cmake-build-system)
  262. (arguments
  263. '(#:tests? #f ; there are no tests
  264. #:configure-flags
  265. ;; Needed for rapmap and sailfish.
  266. '("-DBUILD_DIVSUFSORT64=ON")))
  267. (home-page "https://github.com/y-256/libdivsufsort")
  268. (synopsis "Lightweight suffix-sorting library")
  269. (description "libdivsufsort is a software library that implements a
  270. lightweight suffix array construction algorithm. This library provides a
  271. simple and an efficient C API to construct a suffix array and a
  272. Burrows-Wheeler transformed string from a given string over a constant-size
  273. alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1)
  274. bytes of memory space, where n is the length of the string.")
  275. (license license:expat)))