summary refs log tree commit diff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorgemmaro <gemmaro.dev@gmail.com>2023-07-09 14:57:21 +0900
committerChristopher Baines <mail@cbaines.net>2023-07-10 12:39:34 +0100
commit5a59f77e76f937ac5272c342ada53f577e0d66c5 (patch)
tree57503797a73560c3af71ea3aa35b38f126f526ac /gnu/packages/ruby.scm
parentf6e6d5981fdd38fab8cedea6f2d8460f7a0488bd (diff)
downloadguix-5a59f77e76f937ac5272c342ada53f577e0d66c5.tar.gz
gnu: Add ruby-x25519.
* gnu/packages/ruby.scm (ruby-x25519): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e47e3a01c9..0d4efc8402 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3133,6 +3133,47 @@ error streams.")
     (home-page "https://github.com/tobyclemson/lino")
     (license license:expat)))
 
+(define-public ruby-x25519
+  (package
+    (name "ruby-x25519")
+    (version "1.0.10")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/RubyCrypto/x25519")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1g0311ly32f6hfn4q5fvkbjbl2bhv1l9fx6s0kglxfsrwq51926y"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'remove-unnecessary-dependencies
+                          (lambda _
+                            (substitute* "Gemfile"
+                              ((".*rubocop.*")
+                               ""))
+                            (substitute* "Rakefile"
+                              (("require \"rubocop/rake_task\"")
+                               "")
+                              (("RuboCop::RakeTask.new")
+                               ""))))
+                        (add-before 'build 'compile
+                          (lambda _
+                            (invoke "rake" "compile"))))))
+    (native-inputs (list ruby-rake-compiler ruby-rspec))
+    (synopsis "Cryptography library for Ruby providing the X25519
+Diffie-Hellman function")
+    (description
+     "The x25519 gem is an efficient public key cryptography library for
+Ruby providing key exchange/agreement via the X25519 (as known as
+Curve25519) Elliptic Curve Diffie-Hellman function as described in
+@url{https://www.ietf.org/rfc/rfc7748.txt, RFC 7748}.")
+    (home-page "https://github.com/RubyCrypto/x25519")
+    (license license:bsd-3)))
+
 (define-public ruby-xml-simple
   (package
     (name "ruby-xml-simple")