gnu: Add ruby-hamster.

* gnu/packages/ruby.scm (ruby-hamster): New variable.
This commit is contained in:
Christopher Baines 2019-02-17 17:10:12 +00:00
parent 433e315430
commit 353b7eb8c5
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
1 changed files with 46 additions and 0 deletions

View File

@ -1562,6 +1562,52 @@ failure.")
(home-page "https://github.com/thekompanee/fuubar") (home-page "https://github.com/thekompanee/fuubar")
(license license:expat))) (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 (define-public ruby-hashdiff
(package (package
(name "ruby-hashdiff") (name "ruby-hashdiff")