gnu: Add ruby-rbnacl.

* gnu/packages/ruby.scm (ruby-rbnacl): New variable.
This commit is contained in:
Christopher Baines 2019-02-17 17:10:55 +00:00
parent dbbe88d383
commit 2a9ce5cb3e
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -35,6 +35,7 @@ (define-module (gnu packages ruby)
#: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 @@ (define-public ruby-lumberjack
(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")