diff mbox series

[bug#45601,1/6] gnu: Add wyhash.

Message ID 20210101192713.23655-1-rprior@protonmail.com
State Under Review
Headers show
Series vlang 0.2 update | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Ryan Prior Jan. 1, 2021, 7:27 p.m. UTC
* gnu/packages/datastructures.scm (wyhash): New variable.
---
 gnu/packages/datastructures.scm | 34 ++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

Comments

Leo Famulari Jan. 1, 2021, 8:46 p.m. UTC | #1
On Fri, Jan 01, 2021 at 07:27:19PM +0000, Ryan Prior via Guix-patches via wrote:
> * gnu/packages/datastructures.scm (wyhash): New variable.

Thanks!

Can you move it to digest.scm and make it install the license file in
"$out/share/doc/wyhash-5"?

You can construct that path like this:

(let* ((out ...)
       (doc (string-append out "/share/doc/" ,name "-" ,version))))

> +    (arguments
> +     '(#:modules ((guix build utils))

The body of arguments will have to be quasiquoted for this to work. That
is, ` instead of '
diff mbox series

Patch

diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 2911a0c550..49e363d09e 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -5,6 +5,7 @@ 
 ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,7 +34,38 @@ 
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
-  #:use-module (guix build-system meson))
+  #:use-module (guix build-system meson)
+  #:use-module (guix build-system trivial))
+
+(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 ((dest (string-append (assoc-ref %outputs "out") "/include")))
+           (mkdir-p dest)
+           (chdir (assoc-ref %build-inputs "source"))
+           (install-file "wyhash.h" dest))
+         #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 gdsl
   (package