From 22b9ac3f76a3d6970decbff29a999e118c4281b0 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 10 May 2022 06:39:55 -0400 Subject: gnu: Add ruby-value-semantics. * gnu/packages/ruby.scm (ruby-value-semantics): New variable. Signed-off-by: Raghav Gururajan --- gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 29f8456c7c..817f9f614b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12300,3 +12300,31 @@ fast and non-mission critical like logs, emails, etc.") more threads to wait until a set of operations being performed in other threads completes.") (license license:expat))) + +(define-public ruby-value-semantics + (package + (name "ruby-value-semantics") + (version "3.6.1") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "value_semantics" version)) + (sha256 + (base32 "1vdwai8wf6r1fkvdpyz1vzxm89q7ghjvb3pqpg2kvwibwzd99dnx")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs + (list + ruby-rspec)) + (home-page "https://github.com/tomdalling/value_semantics") + (synopsis "Ruby gem for making value classes") + (description "ValueSemantics generates modules that provide conventional +value semantics for a given set of attributes. The behaviour is similar to an +immutable Struct class, plus extensible, lightweight validation and coercion.") + (license license:expat))) -- cgit v1.2.3