diff options
author | Christopher Baines <mail@cbaines.net> | 2019-02-17 17:10:12 +0000 |
---|---|---|
committer | Christopher Baines <christopher.baines@digital.cabinet-office.gov.uk> | 2019-02-24 16:28:09 +0000 |
commit | 38922c29531e05336bd40f244aa4b6cb7606debf (patch) | |
tree | 43af8fce161cfb1f17f125c9138c6d96c00dd6f2 | |
parent | 69ffa303453b080614ec35f1054828af3deb16b3 (diff) | |
download | gnu-guix-38922c29531e05336bd40f244aa4b6cb7606debf.tar gnu-guix-38922c29531e05336bd40f244aa4b6cb7606debf.tar.gz |
gnu: Add ruby-hamster.
* gnu/packages/ruby.scm (ruby-hamster): New variable.
-rw-r--r-- | gnu/packages/ruby.scm | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 528d584502..c348ca6a21 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1561,6 +1561,52 @@ failure.") (home-page "https://github.com/thekompanee/fuubar") (license license:expat))) +(define-public ruby-hamster + (package + (name "ruby-hamster") + (version "3.0.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "hamster" version)) + (sha256 + (base32 + "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + ;; pry is a debugging tool, and is unnecessary when running the + ;; tests + (substitute* "spec/lib/hamster/vector/insert_spec.rb" + (("require 'pry'") "")) + (substitute* "spec/spec_helper.rb" + (("require \"pry\"") "") + ;; CodeClimate is an online service, and is unnecessary for + ;; running the tests + (("require \"codeclimate-test-reporter\"") "") + (("CodeClimate.*\n") "")) + #t)) + ;; No Rakefile is included, so run rspec directly. + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec")) + #t))))) + (propagated-inputs + `(("ruby-concurrent" ,ruby-concurrent))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec))) + (synopsis "Efficient, immutable, thread-safe collection classes for Ruby") + (description + "Hamster provides 6 persistent data structures: @code{Hash}, @code{Vector}, +@code{Set}, @code{SortedSet}, @code{List}, and @code{Deque} (which works as an +immutable queue or stack).") + (home-page "https://github.com/hamstergem/hamster") + (license license:expat))) + (define-public ruby-hashdiff (package (name "ruby-hashdiff") |