summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan Prior <rprior@protonmail.com>2021-01-01 21:19:29 +0000
committerLeo Famulari <leo@famulari.name>2021-01-03 21:06:26 -0500
commit4a829b2d55bc9b0ad5a335c8228a7d2371fa1d9a (patch)
tree0a347779b6659fb3cbf3465f06af3fe5f3245a07
parentad2469ec86357b1a46dd63dcd17d5831969d5270 (diff)
downloadguix-4a829b2d55bc9b0ad5a335c8228a7d2371fa1d9a.tar.gz
gnu: Add wyhash.
* gnu/packages/digest.scm (wyhash): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
-rw-r--r--gnu/packages/digest.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm
index a33e238362..986e335861 100644
--- a/gnu/packages/digest.scm
+++ b/gnu/packages/digest.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Ryan Prior <rprior@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,9 +22,44 @@
   #:use-module (guix packages)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial)
   #:use-module (guix utils)
   #:use-module (ice-9 match))
 
+(define-public wyhash
+  (package
+    (name "wyhash")
+    (version "5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/wangyi-fudan/wyhash")
+                    (commit (string-append "wyhash_v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32 "03ljs5iw9zrm3bydwggjvpwrcwmsd75h3dv1j4am4hw3h22cjdjc"))))
+    (build-system trivial-build-system) ;; source-only package
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let* ((out (string-append (assoc-ref %outputs "out")))
+                (include (string-append out "/include"))
+                (doc (string-append out "/share/doc/" ,name "-" ,version))
+                (source (assoc-ref %build-inputs "source")))
+           (with-directory-excursion source
+             (install-file "wyhash.h" include)
+             (install-file "LICENSE" doc)
+             (install-file "README.md" doc))
+           #t))))
+    (home-page "https://github.com/wangyi-fudan/wyhash")
+    (synopsis "Embeddable hash function and random number generator")
+    (description "This package provides a portable hash function and random
+number generator suitable for use in data structures.  Provided by default in
+Zig, V, and Nim programming language standard libraries.")
+    (license license:unlicense)))
+
 (define-public xxhash
   (package
     (name "xxhash")