summaryrefslogtreecommitdiff
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)
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")