summaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorYovan Naumovski via Guix-patches via <guix-patches@gnu.org>2023-05-11 23:29:53 +0300
committerChristopher Baines <mail@cbaines.net>2023-07-10 12:39:35 +0100
commit8509e977b472fe18bbb82c57aab6c026740a4a78 (patch)
tree77a447f8863e5d947f32cf6a852150e624715f78 /gnu/packages/ruby.scm
parent79bbf07ecc123a6bee8e91944d41c99b30c099d8 (diff)
gnu: Add ruby-immutable-struct.
* gnu/packages/ruby.scm (ruby-immutable-struct): New variable.
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2d428796f4..f8b68ada89 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7636,6 +7636,39 @@ of terminal output.")
;; There is no mention of the "or later" clause.
(license license:gpl2)))
+(define-public ruby-immutable-struct
+ (package
+ (name "ruby-immutable-struct")
+ (version "2.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stitchfix/immutable-struct")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17hlmy9jfwn3i5h2rwv832ycwcdqwxq7dkkd2yly28klwj0l52rq"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ ;; Issues with the lack of Set in Ruby 3
+ #:ruby ruby-2.7
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ruby" (which "rspec"))))))))
+ (native-inputs
+ (list ruby-rspec))
+ (synopsis "Ruby library for creating immutable struct classes")
+ (description
+ "Easily create value objects without the pain of Ruby's Struct (or its setters)")
+ (home-page "https://stitchfix.github.io/immutable-struct/")
+ (license license:expat)))
+
(define-public ruby-terraform
(package
(name "ruby-terraform")