Subject: [bug#71184] [PATCH] gnu: Add ruby-appraisal.

From: Adam Quandour <[email-masked]>
Date: Sat, 25 May 2024 00:38:07 +0300

* gnu/packages/ruby.scm (ruby-appraisal): New variable.
---
 gnu/packages/ruby.scm | 50 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5c1e666..53b411b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1495,6 +1495,33 @@ (define-public ruby-atoulme-saikuro
     ;; of the Expat license.
     (license license:bsd-3)))
 
+(define-public ruby-appraisal
+  (package
+    (name "ruby-appraisal")
+    (version "2.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "appraisal" version))
+       (sha256
+        (base32
+         "1knkxrjagaqf418lkgd7xvfb5rh143d19ld8vfq16y8jpqhr561n"))))
+    (build-system ruby-build-system)
+    ;; tests need Internet access.
+    (arguments '(#:tests? #f))
+    (native-inputs
+     (list ruby-activesupport
+           ruby-rspec
+           ruby-thor-0.14.6))
+    (synopsis "A Ruby library for testing your library against different versions of dependencies")
+    (description "Appraisal integrates with bundler and rake to test
+your library against different versions of dependencies in repeatable
+scenarios called \"appraisals\".  Appraisal is designed to make it
+easy to check for regressions in your library without interfering
+ with day-to-day development using Bundler.")
+    (home-page "https://github.com/thoughtbot/appraisal")
+    (license license:expat)))
+
 (define-public ruby-awesome-print
   (package
     (name "ruby-awesome-print")
@@ -3383,6 +3410,29 @@ (define-public ruby-thor
     (home-page "http://whatisthor.com/")
     (license license:expat)))
 
+(define-public ruby-thor-0.14.6
+  ;; needed for ruby-appraisal
+  (package
+    (name "ruby-thor")
+    (version "0.14.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "thor" version))
+       (sha256
+        (base32
+         "18qmgv38gfw9clhq6szyw5kcxkkk8xr7c0klp3pk3cyznzbapif7"))))
+    (build-system ruby-build-system)
+    ;; couldn't run tests
+    ;; "No Rakefile found"
+    (arguments `(#:tests? #f))
+    (native-inputs (list ruby-rspec ruby-simplecov ruby-webmock))
+    (synopsis "Ruby toolkit for building command-line interfaces")
+    (description "Thor is a toolkit for building powerful command-line
+interfaces.")
+    (home-page "http://whatisthor.com/")
+    (license license:expat)))
+
 (define-public ruby-lumberjack
   (package
     (name "ruby-lumberjack")
-- 
2.41.0