diff options
author | Christopher Baines <mail@cbaines.net> | 2019-02-17 17:10:55 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-03-04 20:33:20 +0000 |
commit | 2a9ce5cb3eaf4c8b86e99653adb35105065896cc (patch) | |
tree | 0e72a319c21a59a1c8b11c9ffff176fc823f2efc | |
parent | dbbe88d383d6f17084e3ff5b4ffd82b18654a8be (diff) | |
download | guix-2a9ce5cb3eaf4c8b86e99653adb35105065896cc.tar.gz |
gnu: Add ruby-rbnacl.
* gnu/packages/ruby.scm (ruby-rbnacl): New variable.
-rw-r--r-- | gnu/packages/ruby.scm | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 847f499b45..73130b67ec 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages dbm) #:use-module (gnu packages rails) @@ -1413,6 +1414,63 @@ same log file.") (home-page "https://github.com/bdurand/lumberjack") (license license:expat))) +(define-public ruby-rbnacl + (package + (name "ruby-rbnacl") + (version "6.0.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rbnacl" version)) + (sha256 + (base32 + "0ajxy5kj2jw09wdsla3jmha8w07vj5l14288xr9djpl327g3lzhn")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + ;; Coveralls relates to a network service, and Rubocop to code + ;; linting and both are unnecessary to run the tests + (substitute* "Gemfile" + ((".*rubocop.*") "\n") + ((".*guard-rspec.*") "\n") + ((".*coveralls.*") "\n")) + (substitute* "spec/spec_helper.rb" + (("require \"coveralls\"") "") + (("Coveralls.wear!") "")) + #t)) + (add-after 'unpack 'use-libsodium-from-store + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("lib/rbnacl/init.rb" + "lib/rbnacl/sodium.rb") + (("ffi_lib \\[.+\\]") + (string-append "ffi_lib [\"" + (assoc-ref inputs "libsodium") "/lib/libsodium.so" + "\"]"))) + #t)) + ;; Run Rspec directly to avoid the Rubocop dependency in the Rakefile + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec")) + #t))))) + (propagated-inputs + `(("ruby-ffi" ,ruby-ffi))) + (inputs + `(("libsodium" ,libsodium))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (synopsis "Ruby FFI binding to libsodium") + (description + "This package provides Ruby FFI bindings to the Networking and +Cryptography (NaCl) library, also known as libsodium. This provides a +high-level toolkit for building cryptographic systems and protocols.") + (home-page "https://github.com/crypto-rb/rbnacl") + (license license:expat))) + (define-public ruby-nenv (package (name "ruby-nenv") |