summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2023-07-23 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2023-07-23 02:00:00 +0200
commit9080bfc15fc945b4a10437b2fdd0e5535603d931 (patch)
tree1d84e3ce0b7c33ec9348b6dd229b2edde67c0e4d /gnu/packages
parentc963ba2ebb8097c475ba6e2b5a31be6678f2e74b (diff)
downloadguix-9080bfc15fc945b4a10437b2fdd0e5535603d931.tar.gz
gnu: Add ghc-curve25519.
* gnu/packages/haskell-crypto.scm (ghc-curve25519): New public variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/haskell-crypto.scm33
1 files changed, 32 insertions, 1 deletions
diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm
index 42e2a15709..4314ad4937 100644
--- a/gnu/packages/haskell-crypto.scm
+++ b/gnu/packages/haskell-crypto.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Nikita <nikita@n0.is>
 ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
-;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2019, 2023 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -290,6 +290,37 @@ public key algorithms, key derivation numbers, cryptographic random number
 generators, and more.")
     (license license:bsd-3)))
 
+(define-public ghc-curve25519
+  (package
+  (name "ghc-curve25519")
+  (version "0.2.7")
+  (source
+   (origin
+     (method url-fetch)
+     (uri (hackage-uri "curve25519" version))
+     (sha256
+      (base32 "1p8b1lppkvc19974hr43lcqdi4nj55j2nf7gsnp8dn7gyf23aayq"))))
+  (build-system haskell-build-system)
+  (native-inputs
+   (list ghc-hunit
+         ghc-quickcheck
+         ghc-tagged
+         ghc-test-framework
+         ghc-test-framework-hunit
+         ghc-test-framework-quickcheck2))
+  (inputs
+   (list ghc-crypto-api))
+  (properties '((upstream-name . "curve25519")))
+  (home-page "https://github.com/acw/curve25519")
+  (synopsis "Fast implementations of the curve25519 elliptic curve primitives.")
+  (description
+   "This module provides Haskell bindings and extensions to the curve25519-donna
+codebase.  It's a pretty straightforward implementation of the basic
+cryptographic routines you'd want from a project that uses curve25519: key
+generation, and key agreement.  For further functionality, you'll want to look
+elsewhere.")
+  (license license:bsd-3)))
+
 (define-public ghc-digest
   (package
     (name "ghc-digest")