Subject: [bug#64965] [PATCH 1/8] gnu: Add ghc-curve25519.

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Sun, 30 Jul 2023 01:59:53 +0200

* gnu/packages/haskell-crypto.scm (ghc-curve25519): New public variable.
---
 gnu/packages/haskell-crypto.scm | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

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 <[email-masked]>
 ;;; Copyright © 2016 Nikita <[email-masked]>
 ;;; Copyright © 2017 rsiddharth <[email-masked]>
-;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2017, 2019, 2023 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2020 Giacomo Leidi <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -290,6 +290,37 @@ (define-public ghc-cryptonite
 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")

base-commit: 4a276d627bf83c4f6b080b169b6220d88fa10ddf
prerequisite-patch-id: c4e28901b4995430a553284d4a8889172203ae65
prerequisite-patch-id: 5777f58093a15b55627389d2fc150df112aef771
prerequisite-patch-id: c04ee7e58fdfd57ec20dd6810a52f7650948a579
prerequisite-patch-id: e94ecd3c107e4c63c658a5fe56015b8bf3176c27
prerequisite-patch-id: 7e6e4ab87b52996e9bb6cd8595889f21ba87e9fe
prerequisite-patch-id: 6f86f2a54f77c0e8841b6f22953c2f748e358107
prerequisite-patch-id: 7c88071ffd6af8c9de9a44ef2e745e3b111d28e7
prerequisite-patch-id: dacf336396c4f629906e4689dc2868d437179a37
prerequisite-patch-id: 35641348fcba881313d08cb85da3722ba0891264
prerequisite-patch-id: ea98f949fde81f63a309e36405b87463dc07ac50
prerequisite-patch-id: a299994eb9a52db942a5cc3a038b8bc34529c799
prerequisite-patch-id: 9ffc6d3a9be37af59ec29bfce0543cf8371edacb
prerequisite-patch-id: c489fbc8af7d431f9372d0b8bc9e4c609703680e
prerequisite-patch-id: 471c932817cc1044fd03f56e1a1f84e4ce4029a9
prerequisite-patch-id: 88f3a5981ea62ce654a48c258df09315f24ba73e
prerequisite-patch-id: 62b7b8d8b26d642f524d45e910f7685a57345d76
prerequisite-patch-id: 6ad7cb518d3f48614c97e7ef851289a8f4375306
prerequisite-patch-id: b6630bfc6abc407afac53074820b61aa676c6f0a
-- 
2.41.0