[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#34514] [PATCH 01/34] gnu: Add ruby-hamster.
From: |
Christopher Baines |
Subject: |
[bug#34514] [PATCH 01/34] gnu: Add ruby-hamster. |
Date: |
Sun, 17 Feb 2019 19:22:41 +0000 |
* gnu/packages/ruby.scm (ruby-hamster): New variable.
---
gnu/packages/ruby.scm | 46 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a34fb84ae7..a0b7ea86ad 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1484,6 +1484,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},
address@hidden, @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")
--
2.20.1