GNU bug report logs - #62196
[PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Wed, 15 Mar 2023 03:01:02 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 62196 in the body.
You can then email your comments to 62196 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Wed, 15 Mar 2023 03:01:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 15 Mar 2023 03:01:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates
Date: Tue, 14 Mar 2023 22:59:46 -0400
Hello Guix,

This series contains various Ruby updates and new packages.  Some noteworthy
changes:

1. Update Rubocop & friends
2. Update Rails and partially enable its test suite
3. Add fpm
4. Various other updates and required packages additions.


Maxim Cournoyer (182):
  gnu: Add ruby-cabin.
  gnu: Add ruby-clamp.
  gnu: Add ruby-stud.
  gnu: Add ruby-insist.
  gnu: ruby-standard: Update to 1.24.3.
  gnu: ruby-oedipus-lex: Update to 2.6.0.
  gnu: ruby-oedipus-lex: Fix indentation.
  gnu: ruby-parser: Update to 3.2.1.1.
  gnu: ruby-rubocop-ast: Update to 1.27.0.
  gnu: Add ruby-rubocop-rake-minimal.
  gnu: ruby-unicode-display-width: Update to 2.4.2.
  gnu: Add ruby-rubocop-capybara-minimal.
  gnu: ruby-rspec: Update to 3.12.0.
  gnu: ruby-rspec-core: Update to 3.12.1.
  gnu: ruby-rspec-support: Update to 3.12.0.
  gnu: ruby-given-core: Update to 3.8.2.
  gnu: ruby-rspec-mocks: Update to 3.12.4.
  gnu: ruby-rspec-expectations: Update to 3.12.2.
  gnu: ruby-rspec-given: Update to 3.8.2.
  gnu: ruby-rubocop-performance: Update to 1.16.0.
  gnu: Add ruby-simplecov-json-formatter.
  gnu: ruby-simplecov-html: Update to 0.12.3.
  gnu: ruby-simplecov: Update to 0.22.0.
  gnu: Add ruby-rubocop-capybara.
  gnu: ruby-rubocop-rspec: Update to 2.19.0 and inverse inheritance
    relationship.
  gnu: Add ruby-rubocop-rake.
  gnu: ruby-rubocop: Update to 1.48.1
  gnu: ruby-thor: Update to 1.2.1.
  gnu: Add ruby-minitest-power-assert.
  gnu: Add ruby-m.
  gnu: Add ruby-language-server-protocol.
  gnu: ruby-standard: Enable test suite.
  gnu: ruby-standard: Relax requirements.
  gnu: Add ruby-dotenv.
  gnu: Add ruby-minitest-retry.
  gnu: Add ruby-dalli.
  gnu: redis: Update to 7.0.9.
  gnu: redis: Use gexps and streamline.
  gnu: hiredis: Update to 1.1.0.
  gnu: Add ruby-hiredis.
  gnu: ruby-minitest-5.14: Update to 5.15.0.
  gnu: ruby-rake: Update to 13.0.6.
  gnu: Add ruby-cucumber-compatibility-kit.
  gnu: ruby-cucumber-messages: Update to 21.0.1.
  gnu: Remove ruby-protobuf-cucumber.
  gnu: ruby-cucumber-tag-expressions: Update to 5.0.1, fixing build.
  gnu: ruby-cucumber-core: Update to 11.1.0.
  gnu: ruby-cucumber-wire: Update to 6.2.1.
  gnu: ruby-cucumber-html-formatter: Update to 20.2.1.
  gnu: Add ruby-cucumber-ci-environment.
  gnu: ruby-cucumber-expressions: Update to 16.1.2.
  gnu: ruby-gherkin: Update to 26.0.3, fixing build.
  gnu: ruby-gherkin: Rename to ruby-cucumber-gherkin.
  gnu: ruby-cucumber: Update to 8.0.0.
  gnu: Remove ruby-cucumber-create-meta.
  gnu: Add ruby-rake-manifest.
  gnu: ruby-aruba: Update to 2.1.0.
  gnu: ruby-activesupport: Update to 7.0.4.3.
  gnu: ruby-railties: Update to 7.0.4.3.
  gnu: Add ruby-bcrypt.
  gnu: ruby-activemodel: Update to 7.0.4.3 and enable tests.
  gnu: ruby-activerecord: Update to 7.0.4.3 and enable tests.
  gnu: Add ruby-simplecov-lcov.
  gnu: ruby-actionview: Update to 7.0.4.3.
  gnu: Add ruby-delayed-job.
  gnu: Add ruby-minitest-proveit.
  gnu: ruby-zeitwerk: Update to 2.6.7.
  gnu: Add ruby-queue-classic.
  gnu: ruby-activejob: Update to 7.0.4.3 and enable tests.
  gnu: Add ruby-xpath.
  gnu: ruby-addressable: Update to 2.8.1.
  gnu: Add ruby-launchy.
  gnu: Add ruby-websocket.
  gnu: Add ruby-selenium-webdriver.
  gnu: ruby-puma: Build with SSL support.
  gnu: Add ruby-minitest-stub-const.
  gnu: ruby-rack: Update to 2.2.6.3.
  gnu: ruby-rack: Update home page URL.
  gnu: Add ruby-rack-next.
  gnu: Add ruby-rack-cache.
  gnu: ruby-rack-test: Update to 2.1.0.
  gnu: ruby-rack-test: Update home page.
  gnu: ruby-rack-test: Honor #:tests? argument.
  gnu: ruby-sinatra: Update to 3.0.5.
  gnu: ruby-webrick: Update to 1.8.1.
  gnu: Add ruby-rackup.
  gnu: Add ruby-vcr-expat.
  gnu: Add ruby-prettier-print.
  gnu: Add ruby-syntax-tree.
  gnu: Add ruby-subprocess.
  gnu: Add ruby-rake-compiler-dock.
  gnu: Add ruby-concurrent-ruby.
  gnu: ruby-concurrent: Replace with ruby-concurrent-ruby.
  gnu: Add ruby-concurrent-ruby-ext.
  gnu: Add ruby-concurrent-ruby-edge.
  gnu: Add ruby-sorbet-runtime.
  gnu: Add ruby-rdiscount.
  gnu: Add ruby-ruby2-keywords.
  gnu: Add ruby-faraday-net-http.
  gnu: ruby-faraday: Update to 2.7.4 and enable test suite.
  gnu: ruby-octokit: Update to 6.1.0.
  gnu: ruby-faraday: Propagate ruby-faraday-net-http.
  gnu: ruby-sawyer: Update to 0.9.2.
  gnu: ruby-pry-byebug: Avoid depending on ruby-chandler.
  gnu: ruby-pry-byebug: Update to 3.10.1.
  gnu: ruby-byebug: Do not depend on ruby-chandler.
  gnu: Remove ruby-chandler.
  gnu: Add ruby-multipart-parser.
  gnu: Add ruby-faraday-multipart.
  gnu: ruby-maxitest: Update to 4.4.1.
  gnu: Add ruby-fileutils.
  gnu: ruby-faraday-middleware: Add a deprecation comment and re-indent.
  gnu: ruby-bandwidth-iris: Fix indentation.
  gnu: ruby-bandwidth-iris: Update to 7.0.0.
  gnu: ruby-octokit: Enable tests.
  gnu: Add ruby-mapping.
  gnu: Add ruby-fiber-local.
  gnu: Add ruby-console.
  gnu: Add ruby-ruby-memcheck.
  gnu: Add ruby-msgpack.
  gnu: Add ruby-covered.
  gnu: Add ruby-samovar.
  gnu: Add ruby-io-console.
  gnu: Add ruby-reline.
  gnu: Add ruby-irb.
  gnu: Add ruby-debug.
  gnu: Add ruby-rspec-debug.
  gnu: Add ruby-bake.
  gnu: Add ruby-bake-test.
  gnu: Add ruby-bake-test-external.
  gnu: Add ruby-sus.
  gnu: Add ruby-timers.
  gnu: Add ruby-localhost.
  gnu: bundler: Update to 2.4.8.
  gnu: ruby-puma: Update to 6.1.1 and enable test suite.
  gnu: Add ruby-capybara.
  gnu: Add ruby-rack-session.
  gnu: ruby-rubyzip: Update to 2.3.2.
  gnu: ruby-actionpack: Update to 7.0.4.3 and enable test suite.
  gnu: Add ruby-event-emitter.
  gnu: Add ruby-websocket-native.
  gnu: Add ruby-websocket-eventmachine-base.
  gnu: Add ruby-websocket-eventmachine-server.
  gnu: Add ruby-websocket-client-simple.
  gnu: ruby-actioncable: Update to 7.0.4.3 and enable tests.
  gnu: ruby-mini-mime: Update to 1.1.2.
  gnu: ruby-marcel: Update to 1.0.2.
  gnu: ruby-marcel: Relocate to (gnu packages rails).
  gnu: ruby-marcel: Enable tests.
  gnu: ruby-activestorage: Update to 7.0.4.3.
  gnu: ruby-actiontext: Update to 7.0.4.3.
  gnu: Add ruby-timeout.
  gnu: Add ruby-net-protocol.
  gnu: Add ruby-date.
  gnu: Add ruby-net-imap.
  gnu: Add ruby-net-pop.
  gnu: Add ruby-net-smtp.
  gnu: ruby-actionmailbox: Update to 7.0.4.3.
  gnu: ruby-actionmailer: Update to 7.0.4.3.
  gnu: ruby-sprockets: Update to 4.2.0.
  gnu: ruby-sprockets: Relocate to (gnu packages rails).
  gnu: ruby-sprockets-rails: Update to 3.4.2.
  gnu: Add ruby-bootsnap.
  gnu: ruby-globalid: Update to 1.1.0.
  gnu: ruby-globalid: Move to (gnu packages rails).
  gnu: Add ruby-importmap-rails.
  gnu: ruby-railties: Enable test suite.
  gnu: Add ruby-propshaft.
  gnu: Add ruby-stimulus-rails.
  gnu: Add ruby-turbo-rails.
  gnu: ruby-rails: Update to 7.0.4.3.
  gnu: ruby-spring: Update to 4.1.1.
  gnu: Add ruby-dotenv-rails.
  gnu: Add ruby-flores.
  gnu: Add ruby-pleaserun.
  gnu: Add ruby-arr-pm.
  gnu: Add perl-app-cpanminus.
  gnu: ruby-minitest: Update home page URL.
  gnu: ruby-minitest: Update to 5.18.0.
  gnu: ruby-cucumber-html-formatter: Honor #:tests? argument.
  gnu: ruby-rubocop-rspec-minimal: Update source and home page URL.
  gnu: Add fpm.

 gnu/local.mk                                  |    1 +
 gnu/packages/databases.scm                    |  128 +-
 gnu/packages/package-management.scm           |   80 +
 .../ruby-hiredis-use-system-hiredis.patch     |   52 +
 gnu/packages/perl.scm                         |   21 +
 gnu/packages/protobuf.scm                     |   18 +-
 gnu/packages/rails.scm                        | 1210 ++++--
 gnu/packages/ruby.scm                         | 3774 +++++++++++++----
 8 files changed, 4161 insertions(+), 1123 deletions(-)
 create mode 100644 gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch


base-commit: d37b467631d5b0e965ea933b8bda8448993580e9
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:01 GMT) Full text and rfc822 format available.

Message #8 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 002/223] gnu: Add ruby-clamp.
Date: Mon, 20 Mar 2023 13:12:54 -0400
* gnu/packages/ruby.scm (ruby-clamp): New variable.
---
 gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2fdac01841..b55e1c7b7a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2088,6 +2088,34 @@ (define-public ruby-crack
     (home-page "https://github.com/jnunemaker/crack")
     (license license:expat)))
 
+(define-public ruby-clamp
+  (package
+    (name "ruby-clamp")
+    (version "1.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "clamp" version))
+              (sha256
+               (base32
+                "08m0syh06bhx8dqn560ivjg96l5cs5s3l9jh2szsnlcdcyl9jsjg"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'do-not-require-rubocop
+                          (lambda _
+                            (substitute* "Rakefile"
+                              (("require \"rubocop/rake_task\"")
+                               "")
+                              (("RuboCop::RakeTask.new")
+                               "")))))))
+    (native-inputs (list ruby-rspec))
+    (synopsis "Command-line parsing library for Ruby")
+    (description "Clamp provides an object-model for command-line utilities.
+It handles parsing of command-line options, and generation of usage help.")
+    (home-page "https://github.com/mdub/clamp")
+    (license license:expat)))
+
 (define-public ruby-cliver
   (package
     (name "ruby-cliver")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:02 GMT) Full text and rfc822 format available.

Message #11 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 003/223] gnu: Add ruby-stud.
Date: Mon, 20 Mar 2023 13:12:55 -0400
* gnu/packages/ruby.scm (ruby-stud): New variable.
---
 gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b55e1c7b7a..84ecdf14db 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1690,6 +1690,43 @@ (define-public ruby-gimme
       (home-page "https://github.com/searls/gimme")
       (license license:expat))))
 
+(define-public ruby-stud
+  (package
+    (name "ruby-stud")
+    (version "0.0.23")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "stud" version))
+              (sha256
+               (base32
+                "0qpb57cbpm9rwgsygqxifca0zma87drnlacv49cqs2n5iyi6z8kb"))))
+    (build-system ruby-build-system)
+    (native-inputs (list ruby-rspec))
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        ;; No Rakefile is included, so run rspec directly.
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "rspec")))))))
+    (synopsis "Retries, worker supervision, resource pools and more for Ruby")
+    (description "The Stud Ruby library adds a few things missing from the
+standard Ruby library such as:
+@table @code
+@item {Stud::Try}
+Retry on failure, with back-off, where failure is any exception.
+@item {Stud::Pool}
+Generic resource pools.
+@item {Stud::Task}
+Tasks (threads that can return values, exceptions, etc.)
+@item {Stud.interval}
+Interval execution (do X every N seconds).
+@item {Stud::Buffer}
+Batch and flush behavior.
+@end itemize")
+    (home-page "https://github.com/jordansissel/ruby-stud")
+    (license license:asl2.0)))
+
 (define-public ruby-standard
   (package
     (name "ruby-standard")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:02 GMT) Full text and rfc822 format available.

Message #14 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 001/223] gnu: Add ruby-cabin.
Date: Mon, 20 Mar 2023 13:12:53 -0400
* gnu/packages/ruby.scm (ruby-cabin): New variable.
---
 gnu/packages/ruby.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 44e2c7c0ca..2fdac01841 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10685,6 +10685,25 @@ (define-public ruby-parallel
 suited for map-reduce or e.g. parallel downloads/uploads.")
     (license license:expat)))
 
+(define-public ruby-cabin
+  (package
+    (name "ruby-cabin")
+    (version "0.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "cabin" version))
+              (sha256
+               (base32
+                "0b3b8j3iqnagjfn1261b9ncaac9g44zrx1kcg81yg4z9i513kici"))))
+    (build-system ruby-build-system)
+    (arguments (list #:tests? #f))      ;no Rakefile in released gem
+    (synopsis "Structured and contextual logging experiments in Ruby")
+    (description "This Ruby library provides an experimental logging system
+that tries to make logging more flexible and more consumable than plain-text
+logging.")
+    (home-page "https://github.com/jordansissel/ruby-cabin")
+    (license license:asl2.0)))
+
 (define-public ruby-cane
   (package
     (name "ruby-cane")

base-commit: 45fd01ac5d561d9dbe4687a6e3e927508af47cb8
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:02 GMT) Full text and rfc822 format available.

Message #17 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 010/223] gnu: Add ruby-rubocop-rake-minimal.
Date: Mon, 20 Mar 2023 13:13:02 -0400
* gnu/packages/ruby.scm (ruby-rubocop-rake-minimal): New variable.
---
 gnu/packages/ruby.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0601c2bc11..5da56ec800 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1537,6 +1537,26 @@ (define-public ruby-typhoeus
     (home-page "https://github.com/typhoeus/typhoeus")
     (license license:expat)))
 
+(define ruby-rubocop-rake-minimal
+  (package
+    (name "ruby-rubocop-rake")
+    (version "0.6.0")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/rubocop/rubocop-rake")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1r53szwglikbir1fvpz4i51p915khrrkl6rp61zcx3dcrclkr3ld"))))
+    (build-system ruby-build-system)
+    (arguments (list #:tests? #f))      ;avoid extra dependencies
+    (synopsis "RuboCop plugin for Rake")
+    (description "This package provides a RuboCop plugin for Rake.")
+    (home-page "https://github.com/rubocop/rubocop-rake")
+    (license license:expat)))
+
 (define-public ruby-rubocop-rspec
   (package
     (name "ruby-rubocop-rspec")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:03 GMT) Full text and rfc822 format available.

Message #20 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 004/223] gnu: Add ruby-insist.
Date: Mon, 20 Mar 2023 13:12:56 -0400
* gnu/packages/ruby.scm (ruby-insist): New variable.
---
 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 84ecdf14db..4ed760cfd6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4102,6 +4102,29 @@ (define-public ruby-idn-ruby
     (home-page "https://github.com/deepfryed/idn-ruby")
     (license license:asl2.0)))
 
+(define-public ruby-insist
+  (package
+    (name "ruby-insist")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "insist" version))
+              (sha256
+               (base32
+                "0bw3bdwns14mapbgb8cbjmr0amvwz8y72gyclq04xp43wpp5jrvg"))))
+    (build-system ruby-build-system)
+    (arguments (list #:phases #~(modify-phases %standard-phases
+                                  (replace 'check
+                                    (lambda* (#:key tests? #:allow-other-keys)
+                                      (when tests?
+                                        (invoke "ruby" "test/testing.rb")))))))
+    (synopsis "Testing tool for Ruby")
+    (description "This package provides a simple block-driven assertion
+library for both testing and for production code that attempts to make test
+definitions more readable.")
+    (home-page "https://github.com/jordansissel/ruby-insist/")
+    (license license:asl2.0)))
+
 (define-public ruby-instantiator
   (package
     (name "ruby-instantiator")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:04 GMT) Full text and rfc822 format available.

Message #23 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 005/223] gnu: ruby-standard: Update to 1.25.2
Date: Mon, 20 Mar 2023 13:12:57 -0400
* gnu/packages/ruby.scm (ruby-standard): Update to 1.25.2.
[arguments]: Delete trailing #t.  Update comment.
---
 gnu/packages/ruby.scm | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4ed760cfd6..981a5912f2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1730,7 +1730,7 @@ (define-public ruby-stud
 (define-public ruby-standard
   (package
     (name "ruby-standard")
-    (version "0.4.7")
+    (version "1.25.2")
     (source
      (origin
        (method git-fetch)               ;no test suite in distributed gem
@@ -1740,22 +1740,20 @@ (define-public ruby-standard
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0ylx0lm2pbbgr5h7fban592w96bl3wxmvfcpcdfrhkxnpg5kiwgv"))))
+         "0c0lsrvdl224s8166xrk9ibm19wbzn5l9s27cm7bjn0jr81j6agk"))))
     (build-system ruby-build-system)
     (arguments
-     ;; TODO: the tests are currently broken due to using a newer Rubocop.
+     ;; TODO: the tests are currently broken due to using a different Rubocop
+     ;; version.
      `(#:tests? #f
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'relax-version-requiremens
            (lambda _
              (delete-file "Gemfile")
-             (delete-file "Gemfile.lock")
-             #t)))))
-    (native-inputs
-     (list ruby-gimme ruby-pry ruby-simplecov))
-    (propagated-inputs
-     (list ruby-rubocop ruby-rubocop-performance))
+             (delete-file "Gemfile.lock"))))))
+    (native-inputs (list ruby-gimme ruby-pry ruby-simplecov))
+    (propagated-inputs (list ruby-rubocop ruby-rubocop-performance))
     (synopsis "Ruby Style Guide, with linter & automatic code fixer")
     (description "Standard is a port of StandardJS.  Like StandardJS, it aims
 to save time in the following ways:
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:04 GMT) Full text and rfc822 format available.

Message #26 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 006/223] gnu: ruby-oedipus-lex: Update to 2.6.0.
Date: Mon, 20 Mar 2023 13:12:58 -0400
* gnu/packages/ruby.scm (ruby-oedipus-lex): Update to 2.6.0.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 981a5912f2..7125bfe4b3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5598,14 +5598,14 @@ (define-public ruby-single-cov
 (define-public ruby-oedipus-lex
   (package
     (name "ruby-oedipus-lex")
-    (version "2.5.2")
+    (version "2.6.0")
     (source
       (origin
         (method url-fetch)
         (uri (rubygems-uri "oedipus_lex" version))
         (sha256
          (base32
-          "1v1rk78khwq87ar300lwll570zxpkq9rjnpgc9mgsyd6mm9qjz4w"))))
+          "094nd7jd3klv45mvprfn2ivcgw8cckq3jhlly77j903vlamfi0df"))))
     (build-system ruby-build-system)
     (native-inputs
      (list ruby-hoe))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:17:05 GMT) Full text and rfc822 format available.

Message #29 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 007/223] gnu: ruby-oedipus-lex: Fix indentation.
Date: Mon, 20 Mar 2023 13:12:59 -0400
* gnu/packages/ruby.scm (ruby-oedipus-lex): Fix indentation.
---
 gnu/packages/ruby.scm | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7125bfe4b3..14499789b4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5600,23 +5600,22 @@ (define-public ruby-oedipus-lex
     (name "ruby-oedipus-lex")
     (version "2.6.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (rubygems-uri "oedipus_lex" version))
-        (sha256
-         (base32
-          "094nd7jd3klv45mvprfn2ivcgw8cckq3jhlly77j903vlamfi0df"))))
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "oedipus_lex" version))
+       (sha256
+        (base32
+         "094nd7jd3klv45mvprfn2ivcgw8cckq3jhlly77j903vlamfi0df"))))
     (build-system ruby-build-system)
-    (native-inputs
-     (list ruby-hoe))
+    (native-inputs (list ruby-hoe))
     (synopsis "Ruby lexer")
     (description
      "Oedipus Lex is a lexer generator in the same family as Rexical and Rex.
 It is based primarily on generating code much like you would a hand-written
 lexer.  It uses StrScanner within a multi-level case statement.  As such,
 Oedipus matches on the first match, not the longest.")
-      (home-page "https://github.com/seattlerb/oedipus_lex")
-      (license license:expat)))
+    (home-page "https://github.com/seattlerb/oedipus_lex")
+    (license license:expat)))
 
 (define-public ruby-guard
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:19:02 GMT) Full text and rfc822 format available.

Message #32 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 097/223] gnu: Add ruby-faraday-net-http.
Date: Mon, 20 Mar 2023 13:14:29 -0400
* gnu/packages/ruby.scm (ruby-faraday-net-http): New variable.
---
 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 960a75bf53..d05a1414ee 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12160,6 +12160,27 @@ (define-public ruby-jekyll-paginate-v2
 logic in Jekyll.  It calculates and generates the pagination pages.")
     (license license:expat)))
 
+(define-public ruby-faraday-net-http
+  (package
+    (name "ruby-faraday-net-http")
+    (version "3.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "faraday-net_http" version))
+              (sha256
+               (base32
+                "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"))))
+    (build-system ruby-build-system)
+    ;; Do not run the test suite here as it would introduce a dependency cycle
+    ;; with ruby-faraday, which uses it as part of its test suite.
+    (arguments (list #:tests? #f))
+    (synopsis "Faraday adapter for Net::HTTP")
+    (description "This gem is a Faraday adapter for the @code{Net::HTTP}
+library.  Faraday is an HTTP client library that provides a common interface
+over many adapters.")
+    (home-page "https://github.com/lostisland/faraday-net_http")
+    (license license:expat)))
+
 (define-public ruby-faraday
   (package
     (name "ruby-faraday")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:23:01 GMT) Full text and rfc822 format available.

Message #35 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 032/223] gnu: ruby-standard: Enable test suite.
Date: Mon, 20 Mar 2023 13:13:24 -0400
* gnu/packages/ruby.scm (ruby-standard) [arguments]: Delete #:tests? argument.
Delete relax-version-requiremens phase.  Add set-HOME and
delete-problematic-tests phases.
[propagated-inputs]: Add ruby-language-server-protocol.
---
 gnu/packages/ruby.scm | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 265dd6e50a..b06bdbcb6b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1816,17 +1816,28 @@ (define-public ruby-standard
          "0c0lsrvdl224s8166xrk9ibm19wbzn5l9s27cm7bjn0jr81j6agk"))))
     (build-system ruby-build-system)
     (arguments
-     ;; TODO: the tests are currently broken due to using a different Rubocop
-     ;; version.
-     `(#:tests? #f
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'relax-version-requiremens
+         (add-after 'unpack 'set-HOME
            (lambda _
-             (delete-file "Gemfile")
-             (delete-file "Gemfile.lock"))))))
-    (native-inputs (list ruby-gimme ruby-pry ruby-simplecov))
-    (propagated-inputs (list ruby-rubocop ruby-rubocop-performance))
+             ;; Some tests fail otherwise.
+             (setenv "HOME" "/tmp")))
+         (add-after 'unpack 'delete-problematic-tests
+           ;; These tests fail for unknown reasons (see:
+           ;; https://github.com/testdouble/standard/issues/532).
+           (lambda _
+             (for-each
+              delete-file
+              '("test/standard_test.rb"
+                "test/standard/cop/block_single_line_braces_test.rb")))))))
+    (native-inputs
+     (list ruby-gimme
+           ruby-pry
+           ruby-simplecov))
+    (propagated-inputs
+     (list ruby-language-server-protocol
+           ruby-rubocop
+           ruby-rubocop-performance))
     (synopsis "Ruby Style Guide, with linter & automatic code fixer")
     (description "Standard is a port of StandardJS.  Like StandardJS, it aims
 to save time in the following ways:
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:01 GMT) Full text and rfc822 format available.

Message #38 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 029/223] gnu: Add ruby-minitest-power-assert.
Date: Mon, 20 Mar 2023 13:13:21 -0400
* gnu/packages/ruby.scm (ruby-minitest-power-assert): New variable.
---
 gnu/packages/ruby.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cf270a0d34..ceeda5647d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4625,6 +4625,24 @@ (define-public ruby-minitest-focus
     (home-page "https://github.com/seattlerb/minitest-focus")
     (license license:expat)))
 
+(define-public ruby-minitest-power-assert
+  (package
+    (name "ruby-minitest-power-assert")
+    (version "0.3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "minitest-power_assert" version))
+              (sha256
+               (base32
+                "1dazl6nbxjvvmi5jamrsygkz396s29b7cd841ni6qy4izk8jd9b7"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-minitest ruby-power-assert))
+    (synopsis "Power Assert implementation for Minitest")
+    (description "This gem provides a Power Assert implementation for
+Minitest.  It is inspired by the @code{test-unit-power_assert} gem.")
+    (home-page "https://github.com/hsbt/minitest-power_assert")
+    (license license:bsd-2)))
+
 (define-public ruby-minitest-pretty-diff
   ;; Use git reference because gem is out of date and does not contain testing
   ;; script.  There are no releases on GitHub.
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:02 GMT) Full text and rfc822 format available.

Message #41 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 050/223] gnu: ruby-gherkin: Update to 26.0.3, fixing build.
Date: Mon, 20 Mar 2023 13:13:42 -0400
* gnu/packages/ruby.scm (ruby-gherkin): Update to 26.0.3.
[source]: Adjust URL.
[arguments]: Add a #:phases argument.
[home-page]: Adjust URL.
[native-inputs]: Move ruby-cucumber-messages to...
[propagated-inputs]: ... here.
---
 gnu/packages/ruby.scm | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4aa7b0da4c..8cc0acc26d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8025,26 +8025,29 @@ (define-public ruby-cucumber-messages
 (define-public ruby-gherkin
   (package
     (name "ruby-gherkin")
-    (version "14.0.1")
+    (version "26.0.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/cucumber/gherkin-ruby")
+                    (url "https://github.com/cucumber/gherkin")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1dwa8632nc6kijv8p257jl64rsjmc0fimlaqvxlkdi2h9n1nympb"))))
+                "0iyl20vngwy9qdnyzilzxcixd4y9sz913iczng9aly1vfdmyx055"))))
     (build-system ruby-build-system)
-    (native-inputs
-     (list ruby-cucumber-messages ruby-rspec))
-    (arguments
-     `(#:test-target "spec"))
+    (arguments (list #:test-target "spec"
+                     #:phases #~(modify-phases %standard-phases
+                                  (add-after 'unpack 'chdir
+                                    (lambda _
+                                      (chdir "ruby"))))))
+    (native-inputs (list ruby-rspec))
+    (propagated-inputs (list ruby-cucumber-messages))
     (synopsis "Gherkin parser for Ruby")
     (description "Gherkin is a parser and compiler for the Gherkin language.
 It is intended be used by all Cucumber implementations to parse
 @file{.feature} files.")
-    (home-page "https://github.com/cucumber/gherkin-ruby")
+    (home-page "https://github.com/cucumber/gherkin")
     (license license:expat)))
 
 (define-public ruby-gherkin-ruby
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:02 GMT) Full text and rfc822 format available.

Message #44 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 065/223] gnu: ruby-zeitwerk: Update to 2.6.7.
Date: Mon, 20 Mar 2023 13:13:57 -0400
* gnu/packages/ruby.scm (ruby-zeitwerk): Update to 2.6.7.
[native-inputs]: Add ruby-minitest-proveit.
---
 gnu/packages/ruby.scm | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b743d24021..01bc491918 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12564,21 +12564,23 @@ (define-public ruby-wayback-machine-downloader
 (define-public ruby-zeitwerk
   (package
     (name "ruby-zeitwerk")
-    (version "2.4.2")
+    (version "2.6.7")
     (source
       (origin
-        (method git-fetch)
+        (method git-fetch)              ;for tests
         (uri (git-reference
-               ;; No tests in the released gem.
                (url "https://github.com/fxn/zeitwerk")
                (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
          (base32
-          "119fgdyb57gmss2yvfwfr47wcy8nny38sai72446krpihyavpizw"))))
+          "10p1ycv72yas1fdqrmdyz1aiqf8axj6q1kyllni2wknhk059jvi0"))))
     (build-system ruby-build-system)
     (native-inputs
-     (list ruby-minitest ruby-minitest-focus ruby-minitest-reporters))
+     (list ruby-minitest
+           ruby-minitest-focus
+           ruby-minitest-proveit
+           ruby-minitest-reporters))
     (synopsis "Efficient and thread-safe code loader for Ruby")
     (description
      "Zeitwerk implements constant autoloading with Ruby semantics.  Each gem
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:03 GMT) Full text and rfc822 format available.

Message #47 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 069/223] gnu: ruby-addressable: Update to 2.8.1.
Date: Mon, 20 Mar 2023 13:14:01 -0400
* gnu/packages/ruby.scm (ruby-addressable): Update to 2.8.1.
[arguments]: Delete trailing #t.  Add disable-bundler phase.
[native-inputs]: Sort.
---
 gnu/packages/ruby.scm | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 159de488bc..a90ecc9f6c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10644,38 +10644,40 @@ (define-public ruby-public-suffix
 (define-public ruby-addressable
   (package
     (name "ruby-addressable")
-    (version "2.7.0")
+    (version "2.8.1")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "addressable" version))
               (sha256
                (base32
-                "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"))))
+                "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw"))))
     (build-system ruby-build-system)
     (arguments
      '(#:test-target "spec"
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'disable-bundler
+           (lambda _
+             (substitute* "spec/spec_helper.rb"
+               (("require 'bundler/setup'") ""))))
          (add-after 'unpack 'remove-unnecessary-dependencies-from-Gemfile
-          (lambda _
-            (substitute* "Gemfile"
-              (("git: 'https://github.com/sporkmonger/rack-mount.git',") "")
-              ((".*launchy.*") "")
-              ((".*rake.*") "gem 'rake'\n")
-              ((".*redcarpet.*") ""))
-            #t))
+           (lambda _
+             (substitute* "Gemfile"
+               (("git: 'https://github.com/sporkmonger/rack-mount.git',") "")
+               ((".*launchy.*") "")
+               ((".*rake.*") "gem 'rake'\n")
+               ((".*redcarpet.*") ""))))
          (add-before 'check 'delete-network-dependent-test
            (lambda _
-             (delete-file "spec/addressable/net_http_compat_spec.rb")
-             #t)))))
+             (delete-file "spec/addressable/net_http_compat_spec.rb"))))))
     (native-inputs
-     (list ruby-rspec
-           bundler
+     (list bundler
            ruby-idn-ruby
-           ruby-sporkmonger-rack-mount
+           ruby-rspec
            ruby-rspec-its-minimal
-           ruby-yard
-           ruby-simplecov))
+           ruby-simplecov
+           ruby-sporkmonger-rack-mount
+           ruby-yard))
     (propagated-inputs
      (list ruby-public-suffix))
     (home-page "https://github.com/sporkmonger/addressable")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:03 GMT) Full text and rfc822 format available.

Message #50 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 023/223] gnu: ruby-simplecov: Update to 0.22.0.
Date: Mon, 20 Mar 2023 13:13:15 -0400
* gnu/packages/ruby.scm (ruby-simplecov): Update to 0.22.0.
[native-inputs]: Delete field.
[propagated-inputs]: Add ruby-simplecov-json-formatter.
(ruby-rubycop-ast) [phases]: Add a relax-dependencies phase.
[home-page]: Update URL.
---
 gnu/packages/ruby.scm | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e6d80f8bbe..e7cb2900a1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3406,26 +3406,27 @@ (define-public ruby-simplecov-json-formatter
 (define-public ruby-simplecov
   (package
     (name "ruby-simplecov")
-    (version "0.17.1")
+    (version "0.22.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "simplecov" version))
               (sha256
                (base32
-                "1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw"))))
+                "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"))))
     (build-system ruby-build-system)
     ;; Simplecov depends on rubocop for code style checking at build time.
     ;; Rubocop needs simplecov at build time.
     (arguments `(#:tests? #f))
     (propagated-inputs
-     (list ruby-json ruby-docile ruby-simplecov-html))
-    (native-inputs
-     (list bundler))
+     (list ruby-json
+           ruby-docile
+           ruby-simplecov-html
+           ruby-simplecov-json-formatter))
     (synopsis "Code coverage framework for Ruby")
     (description "SimpleCov is a code coverage framework for Ruby with a
 powerful configuration library and automatic merging of coverage across test
 suites.")
-    (home-page "https://github.com/colszowka/simplecov")
+    (home-page "https://github.com/simplecov-ruby/simplecov")
     (license license:expat)))
 
 (define-public ruby-useragent
@@ -7134,6 +7135,11 @@ (define-public ruby-rubocop-ast
     (arguments
      `(#:test-target "spec"
        #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'relax-dependencies
+                    (lambda _
+                      (substitute* "Gemfile"
+                        (("gem 'simplecov', '~> 0.10', '< 0.18'")
+                         "gem 'simplecov', '~> 0.10'"))))
                   (add-before 'build 'generate-lexer
                     (lambda _
                       (setenv "RUBOCOP_VERSION" "none")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:04 GMT) Full text and rfc822 format available.

Message #53 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 088/223] gnu: Add ruby-subprocess.
Date: Mon, 20 Mar 2023 13:14:20 -0400
* gnu/packages/ruby.scm (ruby-subprocess): New variable.
---
 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 492468c296..279e9d8041 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12226,6 +12226,27 @@ (define-public ruby-language-server-protocol
     (home-page "https://github.com/mtsmfm/language_server-protocol-ruby")
     (license license:expat)))
 
+(define-public ruby-subprocess
+  (package
+    (name "ruby-subprocess")
+    (version "1.5.6")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "subprocess" version))
+              (sha256
+               (base32
+                "0v49ahfx9b75qg42sl8a3l367g2vihc16g8z5f2raxpxjl1wh2s2"))))
+    (build-system ruby-build-system)
+    ;; Do not run the test suite, as there its test dependency ruby-sord would
+    ;; introduce a cycle with ruby-sorbet-runtime.
+    (arguments (list #:tests? #f))
+    (native-inputs (list ruby-minitest ruby-pry))
+    (synopsis "Ruby library to control and communicate with spawned processes")
+    (description "This Ruby library is controlling and communicating with
+spawned processes.  It is designed after Python's @code{subprocess} module.")
+    (home-page "https://github.com/stripe/subprocess")
+    (license license:expat)))
+
 (define-public ruby-syntax-tree
   (package
     (name "ruby-syntax-tree")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:04 GMT) Full text and rfc822 format available.

Message #56 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 024/223] gnu: Add ruby-rubocop-capybara.
Date: Mon, 20 Mar 2023 13:13:16 -0400
* gnu/packages/ruby.scm (ruby-rubocop-capybara): New variable.
---
 gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e7cb2900a1..44ac7fb538 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1557,6 +1557,31 @@ (define ruby-rubocop-capybara-minimal
     (home-page "https://github.com/rubocop/rubocop-capybara")
     (license license:expat)))
 
+(define-public ruby-rubocop-capybara
+  (package
+    (inherit ruby-rubocop-capybara-minimal)
+    (arguments
+     (list #:tests? #t
+           #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'relax-requirements
+                          (lambda _
+                            (substitute* "Gemfile"
+                              (("gem 'rubocop-rspec', '~> 2.16.0'")
+                               "gem 'rubocop-rspec', '>= 2.16.0'")))))))
+    (native-inputs
+     (list ruby-bump
+           ruby-rack
+           ruby-rake
+           ruby-rspec
+           ruby-rubocop
+           ruby-rubocop-performance-minimal
+           ruby-rubocop-rake-minimal
+           ruby-rubocop-rspec-minimal
+           ruby-simplecov
+           ruby-yard))))
+
+;;; A minimal variant used to build ruby-rubocop itself.
 (define ruby-rubocop-rake-minimal
   (package
     (name "ruby-rubocop-rake")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:24:04 GMT) Full text and rfc822 format available.

Message #59 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on
 ruby-chandler.
Date: Mon, 20 Mar 2023 13:21:48 -0400
* gnu/packages/ruby.scm (ruby-pry-byebug) [phases]: Add sanitize-dependencies
phase.
[native-inputs]: Remove ruby-chandler, an unmaintained library.
---

 gnu/packages/ruby.scm | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 65d0274d99..b63b4d4d23 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7963,14 +7963,15 @@ (define-public ruby-pry-byebug
     (build-system ruby-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'sanitize-dependencies
+                    (lambda _
+                      (substitute* "Rakefile"
+                        ((".*chandler/tasks.*") ""))))
                   (add-before 'check 'set-home
                     (lambda _
-                      (setenv "HOME" (getcwd))
-                      #t)))))
-    (native-inputs
-     (list ruby-chandler ruby-rubocop ruby-simplecov))
-    (propagated-inputs
-     (list ruby-byebug ruby-pry))
+                      (setenv "HOME" (getcwd)))))))
+    (native-inputs (list ruby-rubocop ruby-simplecov))
+    (propagated-inputs (list ruby-byebug ruby-pry))
     (synopsis "Step-by-step debugging and stack navigation in Pry")
     (description "This package adds step-by-step debugging and stack
 navigation capabilities to @code{pry}, using @code{byebug}.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:03 GMT) Full text and rfc822 format available.

Message #62 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 063/223] gnu: Add ruby-delayed-job.
Date: Mon, 20 Mar 2023 13:13:55 -0400
* gnu/packages/ruby.scm (ruby-delayed-job): New variable.
---
 gnu/packages/ruby.scm | 47 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 57a4d52ce4..d0ea01aa76 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5022,6 +5022,53 @@ (define-public ruby-deep-merge
 you to merge elements inside a hash together recursively.")
     (license license:expat)))
 
+(define-public ruby-delayed-job
+  (package
+    (name "ruby-delayed-job")
+    (version "4.1.11")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "delayed_job" version))
+              (sha256
+               (base32
+                "0s2xg72ljg4cwmr05zi67vcyz8zib46gvvf7rmrdhsyq387m2qcq"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'disable-bundler
+                 (lambda _
+                   (substitute* "Rakefile"
+                     (("require 'bundler/setup'") "")
+                     (("Bundler::GemHelper\\.install_tasks") ""))))
+               (add-after 'unpack 'disable-rubocop
+                 (lambda _
+                   (substitute* "Rakefile"
+                     (("require 'rubocop/rake_task'") "")
+                     (("RuboCop::RakeTask.new") ""))))
+               (add-after 'extract-gemspec 'remove-dependency-on-actionmailer
+                 (lambda _
+                   (substitute* "spec/helper.rb"
+                     (("require 'action_mailer'") ""))
+                   (substitute* "delayed_job.gemspec"
+                     (("\"spec/performable_mailer_spec.rb\".freeze, ") ""))
+                   (delete-file "spec/performable_mailer_spec.rb"))))))
+    (native-inputs
+     (list ruby-activerecord
+           ruby-rspec
+           ruby-simplecov
+           ruby-simplecov-lcov
+           ruby-zeitwerk))
+    (propagated-inputs
+     (list ruby-activesupport))
+    (synopsis "Asynchronous background tasks execution library")
+    (description "Delayed_job (or DJ) encapsulates the common pattern of
+asynchronously executing longer tasks in the background.  It is a direct
+extraction from Shopify where the job table is responsible for a multitude of
+core tasks.")
+    (home-page "https://github.com/collectiveidea/delayed_job")
+    (license license:expat)))
+
 (define-public ruby-git
   (package
     (name "ruby-git")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:04 GMT) Full text and rfc822 format available.

Message #65 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 103/223] gnu: ruby-pry-byebug: Update to 3.10.1.
Date: Mon, 20 Mar 2023 13:21:49 -0400
* gnu/packages/ruby.scm (ruby-pry-byebug): Update to 3.10.1.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b63b4d4d23..7d0c029865 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7949,7 +7949,7 @@ (define-public ruby-chandler
 (define-public ruby-pry-byebug
   (package
     (name "ruby-pry-byebug")
-    (version "3.9.0")
+    (version "3.10.1")
     (source
      (origin
        (method git-fetch)
@@ -7959,7 +7959,7 @@ (define-public ruby-pry-byebug
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1kchrwccai92068p50zyd6mh524ywqnm0jw5g3lks7iwmf0xkmgc"))))
+         "0z8rhvmr9qmlbk8c8h6jbig5qd5xbdg9qihvx3g0cv1whqzbfikq"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:04 GMT) Full text and rfc822 format available.

Message #68 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 104/223] gnu: ruby-byebug: Do not depend on ruby-chandler.
Date: Mon, 20 Mar 2023 13:21:50 -0400
* gnu/packages/ruby.scm (ruby-byebug) [phases]
{sanitize-dependencies}: New phase.
[native-inputs]: Delete ruby-chandler.
---

 gnu/packages/ruby.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7d0c029865..8eed3b3e47 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6950,6 +6950,10 @@ (define-public ruby-byebug
     (arguments
      `(#:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'sanitize-dependencies
+           (lambda _
+             (substitute* "Rakefile"
+               ((".*chandler/tasks.*") ""))))
          (add-after 'unpack 'skip-tmp-path-sensitive-test
            (lambda _
              (substitute* "test/commands/where_test.rb"
@@ -6969,7 +6973,6 @@ (define-public ruby-byebug
              (setenv "HOME" (getcwd)))))))
     (native-inputs
      (list bundler
-           ruby-chandler
            ;; Using minitest 5.17 would cause 5 new bug failures.  This is
            ;; probably related to
            ;; https://github.com/deivid-rodriguez/byebug/pull/837.  Use
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:05 GMT) Full text and rfc822 format available.

Message #71 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 105/223] gnu: Remove ruby-chandler.
Date: Mon, 20 Mar 2023 13:21:51 -0400
* gnu/packages/ruby.scm (ruby-chandler): Delete variable.
---

 gnu/packages/ruby.scm | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8eed3b3e47..ad5cc1ebf8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7926,29 +7926,6 @@ (define-public ruby-octokit
     (home-page "https://github.com/octokit/octokit.rb")
     (license license:expat)))
 
-(define-public ruby-chandler
-  (package
-    (name "ruby-chandler")
-    (version "0.9.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "chandler" version))
-       (sha256
-        (base32
-         "1n8a4mr2jkcz5vaaps45g2rxa2pzy1wb7cylgw85xmmyyp14lnrr"))))
-    (build-system ruby-build-system)
-    (native-inputs
-     (list ruby-rubocop))
-    (propagated-inputs
-     (list ruby-netrc ruby-octokit))
-    (synopsis "Sync CHANGELOG entries to GitHub's release notes")
-    (description "Chandler syncs a project's CHANGELOG file entries to
-GitHub's release notes to remove the need of manually entering release
-notes.")
-    (home-page "https://github.com/mattbrictson/chandler")
-    (license license:expat)))
-
 (define-public ruby-pry-byebug
   (package
     (name "ruby-pry-byebug")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:05 GMT) Full text and rfc822 format available.

Message #74 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 112/223] gnu: ruby-bandwidth-iris: Update to 7.0.0.
Date: Mon, 20 Mar 2023 13:21:58 -0400
* gnu/packages/ruby.scm (ruby-bandwidth-iris): Update to 7.0.0.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a725a78767..536775cf74 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13885,13 +13885,13 @@ (define-public ruby-faraday-multipart
 (define-public ruby-bandwidth-iris
   (package
     (name "ruby-bandwidth-iris")
-    (version "5.1.0")
+    (version "7.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "ruby-bandwidth-iris" version))
        (sha256
-        (base32 "1hmrxs0dif6fw5npyzcshk4nq9qr2kbmnx7mdjr5v1nhzlfr0678"))))
+        (base32 "131c4jhyvnrwbhizkks17fi9g85cwsq5f1p8zi408zyf63n7230d"))))
     (build-system ruby-build-system)
     (arguments
      ;; XXX: Tests don't require helper for some reason, so all fail.
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:06 GMT) Full text and rfc822 format available.

Message #77 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 106/223] gnu: Add ruby-multipart-parser.
Date: Mon, 20 Mar 2023 13:21:52 -0400
* gnu/packages/ruby.scm (ruby-multipart-parser): New variable.
---

 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ad5cc1ebf8..e969107c1a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5271,6 +5271,41 @@ (define-public ruby-multi-xml
     (home-page "https://github.com/sferik/multi_xml")
     (license license:expat)))
 
+(define-public ruby-multipart-parser
+  (package
+    (name "ruby-multipart-parser")
+    (version "0.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "multipart-parser" version))
+              (sha256
+               (base32
+                "0xb4p475yrfm883h9kn80a021myn17dvs50wpa1djzcmlq7p0882"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'skip-failing-test
+                     ;; One test fails for unknown reasons (see:
+                     ;; https://github.com/danabr/multipart-parser/issues/7).
+                     (lambda _
+                       (substitute* "test/multipart_parser/reader_test.rb"
+                         (("def test_long" all)
+                          (string-append all "\n      return true"))))))))
+    (synopsis "Parser for multipart MIME messages")
+    (description "@code{multipart-parser} is a simple parser for multipart
+MIME messages, written in Ruby, based on felixge/node-formidable's parser.  It
+has the following characteristics:
+@itemize
+@item Pure Ruby
+@item Event-driven API
+@item Only supports one level of multipart parsing
+@item Does not perform I/O
+@item Does not depend on any other library.
+@end itemize")
+    (home-page "https://github.com/danabr/multipart-parser")
+    (license license:expat)))
+
 (define-public ruby-multipart-post
   (package
     (name "ruby-multipart-post")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:06 GMT) Full text and rfc822 format available.

Message #80 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 107/223] gnu: Add ruby-faraday-multipart.
Date: Mon, 20 Mar 2023 13:21:53 -0400
* gnu/packages/ruby.scm (ruby-faraday-multipart): New variable.
---

 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e969107c1a..0ed73e91d7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13828,6 +13828,29 @@ (define-public ruby-faraday-middleware
 Faraday-based API wrappers.")
     (license license:expat)))
 
+(define-public ruby-faraday-multipart
+  (package
+    (name "ruby-faraday-multipart")
+    (version "1.0.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lostisland/faraday-multipart")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ywxhff40a688n50lxrn4d8y096l8sbrwp1jfz4zd3kdiiygclka"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "spec"))
+    (native-inputs (list ruby-faraday ruby-multipart-parser ruby-rspec))
+    (propagated-inputs (list ruby-multipart-post))
+    (synopsis "Multipart-post requests extension for Faraday")
+    (description "This Ruby gem extends Faraday to perform multipart-post
+requests.")
+    (home-page "https://github.com/lostisland/faraday-multipart")
+    (license license:expat)))
+
 (define-public ruby-bandwidth-iris
   (package
     (name "ruby-bandwidth-iris")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:07 GMT) Full text and rfc822 format available.

Message #83 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 114/223] gnu: Add ruby-mapping.
Date: Mon, 20 Mar 2023 13:22:00 -0400
* gnu/packages/ruby.scm (ruby-mapping): New variable.
---

 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2345c344b9..6ac419edd6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3940,6 +3940,30 @@ (define-public ruby-test-unit
     (home-page "https://test-unit.github.io/")
     (license (list license:psfl license:ruby))))
 
+(define-public ruby-mapping
+  (package
+    (name "ruby-mapping")
+    (version "1.1.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ioquatix/mapping")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0yhmqp8mprjqf9m7wzc4hhi50qbfax86r89w852csns0ijaffjjs"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "spec"))
+    (native-inputs (list ruby-rspec))
+    (synopsis "Map model objects based on their class to a given output model")
+    (description "The @code{mapping} gem maps model objects based on their
+class to a given output model.  It is useful for versioning external
+interfaces (e.g. JSON APIs) or processing structured data from one format to
+another.")
+    (home-page "https://github.com/ioquatix/mapping")
+    (license license:expat)))
+
 (define-public ruby-markaby
   (package
     (name "ruby-markaby")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:25:07 GMT) Full text and rfc822 format available.

Message #86 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 108/223] gnu: ruby-maxitest: Update to 4.4.1.
Date: Mon, 20 Mar 2023 13:21:54 -0400
* gnu/packages/ruby.scm (ruby-maxitest): Update to 4.4.1.
[arguments]: Delete trailing #t.
[native-inputs]: Delete labels.
---

 gnu/packages/ruby.scm | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0ed73e91d7..b8a6b0c4f5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4416,7 +4416,7 @@ (define-public ruby-rerun
 (define-public ruby-maxitest
   (package
     (name "ruby-maxitest")
-    (version "3.6.0")
+    (version "4.4.1")
     (home-page "https://github.com/grosser/maxitest")
     (source (origin
               ;; Pull from git because the gem does not contain tests.
@@ -4427,7 +4427,7 @@ (define-public ruby-maxitest
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "07b3j0bv3dx5j42jlvpvl07aaxplyi6wq688y3jl8y528ww2hjz8"))))
+                "0l646lgrgsfgg9qh05b8a3jd43kgrmr6xzbdvyspmdlhchk1qszg"))))
     (build-system ruby-build-system)
     (arguments
      '(#:test-target "default"
@@ -4436,27 +4436,24 @@ (define-public ruby-maxitest
                     (lambda _
                       (substitute* "maxitest.gemspec"
                         (("`git ls-files lib/ bin/ MIT-LICENSE Readme.md`")
-                         "`find lib/ bin/ MIT-LICENSE Readme.md -type f | sort`"))
-                      #t))
+                         "`find lib/ bin/ MIT-LICENSE Readme.md -type f | sort`"))))
                   (add-before 'check 'remove-version-constraints
                     (lambda _
                       ;; Don't use specific versions of dependencies, instead
                       ;; take whatever is available in Guix.
-                      (delete-file "Gemfile.lock")
-                      #t))
+                      (delete-file "Gemfile.lock")))
                   (add-before 'check 'add-mtest-on-PATH
                     (lambda _
                       ;; Tests use 'mtest' which is not automatically added on
                       ;; PATH.
                       (setenv "PATH" (string-append (getcwd) "/bin:"
-                                                    (getenv "PATH")))
-                      #t)))))
+                                                    (getenv "PATH"))))))))
     (native-inputs
-     `(("ps" ,procps)
-       ("ruby-bump" ,ruby-bump)
-       ("ruby-byebug" ,ruby-byebug)
-       ("ruby-rspec" ,ruby-rspec)
-       ("ruby-wwtd" ,ruby-wwtd)))
+     (list procps
+           ruby-bump
+           ruby-byebug
+           ruby-rspec
+           ruby-wwtd))
     (propagated-inputs
      (list ruby-minitest))
     (synopsis "Minitest with extra features")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:02 GMT) Full text and rfc822 format available.

Message #89 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 046/223] gnu: ruby-cucumber-html-formatter: Update to 20.2.1.
Date: Mon, 20 Mar 2023 13:13:38 -0400
* gnu/packages/ruby.scm (ruby-cucumber-html-formatter): Update to 20.2.1.
[arguments]: Use gexps.  Add a relax-requirements phase.
[native-inputs]: Add ruby-cucumber-compatibility-kit.
[home-page]: Update URL.
---
 gnu/packages/ruby.scm | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c8029efa0b..b0e23a4116 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8204,31 +8204,32 @@ (define-public ruby-cucumber-create-meta
 (define-public ruby-cucumber-html-formatter
   (package
     (name "ruby-cucumber-html-formatter")
-    (version "7.0.0")
+    (version "20.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "cucumber-html-formatter" version))
        (sha256
         (base32
-         "0lshj4sw9jw7687wrhknyb9kffblai3l843zgrznyqij3ga0bc62"))))
+         "0c7r9mfmph4c6yzc7y3dkr92rhwvpyksr0mdhpqp67xmmr8z1br4"))))
     (build-system ruby-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (replace 'check
-                    (lambda _
-                      (invoke "rspec"))))))
-    (native-inputs
-     (list ruby-rspec))
-    (propagated-inputs
-     (list ruby-cucumber-messages))
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'extract-gemspec 'relax-requirements
+                          (lambda _
+                            (substitute* ".gemspec"
+                              (("~> 18.0") "~> 21.0")))) ;cucumber-messages
+                        (replace 'check
+                          (lambda _
+                            (invoke "rspec"))))))
+    (native-inputs (list ruby-cucumber-compatibility-kit ruby-rspec))
+    (propagated-inputs (list ruby-cucumber-messages))
     (synopsis "HTML formatter for Cucumber")
     (description "Cucumber HTML Formatter produces a HTML report for Cucumber
 runs.  It is built on top of cucumber-react and works with any Cucumber
 implementation with a protocol buffer formatter that outputs Cucumber
 messages.")
-    (home-page "https://github.com/cucumber/cucumber/tree/\
-master/html-formatter/ruby")
+    (home-page "https://github.com/cucumber/html-formatter")
     (license license:expat)))
 
 (define-public ruby-cucumber
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:03 GMT) Full text and rfc822 format available.

Message #92 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 051/223] gnu: ruby-gherkin: Rename to ruby-cucumber-gherkin.
Date: Mon, 20 Mar 2023 13:13:43 -0400
To reflect the same change upstream.

* gnu/packages/ruby.scm (ruby-gherkin): Rename to...
(ruby-cucumber-gherkin): ... this.
(ruby-cucumber) [propagated-inputs]: Adjust accordingly.
(ruby-cucumber-core): Likewise (and adjust indentation).
(ruby-gherkin): Define as a deprecated package.
---
 gnu/packages/ruby.scm | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8cc0acc26d..eb618d5c2d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -84,6 +84,7 @@ (define-module (gnu packages ruby)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages serialization)
   #:use-module (guix packages)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix gexp)
@@ -5391,7 +5392,7 @@ (define-public ruby-cuke-modeler
     (build-system ruby-build-system)
     (arguments `(#:tests? #f))          ;no test suite in gem
     (propagated-inputs
-     (list ruby-gherkin))
+     (list ruby-cucumber-gherkin))
     (synopsis "Gherkin test suite analysis tool")
     (description "CukeModeler facilitates modeling a test suite that is
 written in Gherkin (e.g.  Cucumber, SpecFlow, Lettuce, etc.).  It does this by
@@ -8022,9 +8023,9 @@ (define-public ruby-cucumber-messages
 Cucumber.")
     (license license:expat)))
 
-(define-public ruby-gherkin
+(define-public ruby-cucumber-gherkin
   (package
-    (name "ruby-gherkin")
+    (name "ruby-cucumber-gherkin")
     (version "26.0.3")
     (source (origin
               (method git-fetch)
@@ -8050,6 +8051,8 @@ (define-public ruby-gherkin
     (home-page "https://github.com/cucumber/gherkin")
     (license license:expat)))
 
+(define-deprecated ruby-gherkin ruby-cucumber-gherkin)
+
 (define-public ruby-gherkin-ruby
   (package
     (name "ruby-gherkin-ruby")
@@ -8300,11 +8303,11 @@ (define-public ruby-cucumber
      (list ruby-builder
            ruby-cucumber-core
            ruby-cucumber-create-meta
+           ruby-cucumber-gherkin
            ruby-cucumber-html-formatter
            ruby-cucumber-messages
            ruby-cucumber-wire
            ruby-diff-lcs
-           ruby-gherkin
            ruby-multi-json
            ruby-multi-test))
     (native-inputs
@@ -8407,10 +8410,14 @@ (define-public ruby-cucumber-core
                                (("'cucumber-tag-expressions',.*")
                                 "'cucumber-tag-expressions', '>=4.1.0'\n")))))))
     (native-inputs
-     (list ruby-rspec ruby-coveralls ruby-rubocop ruby-simplecov
+     (list ruby-rspec
+           ruby-coveralls
+           ruby-rubocop
+           ruby-simplecov
            ruby-unindent))
     (propagated-inputs
-     (list ruby-cucumber-messages ruby-gherkin
+     (list ruby-cucumber-gherkin
+           ruby-cucumber-messages
            ruby-cucumber-tag-expressions))
     (synopsis "Core library for the Cucumber BDD app")
     (description "Cucumber is a tool for running automated tests
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:04 GMT) Full text and rfc822 format available.

Message #95 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 045/223] gnu: ruby-cucumber-wire: Update to 6.2.1.
Date: Mon, 20 Mar 2023 13:13:37 -0400
* gnu/packages/ruby.scm (ruby-cucumber-wire): Update to 6.2.1.
[arguments]: Delete #:phases argument.
---
 gnu/packages/ruby.scm | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f8da5eb1c4..c8029efa0b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8422,24 +8422,17 @@ (define-public ruby-cucumber-expressions
 (define-public ruby-cucumber-wire
   (package
     (name "ruby-cucumber-wire")
-    (version "3.1.0")
+    (version "6.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "cucumber-wire" version))
        (sha256
         (base32
-         "0z1n13lqv70zb2lcrvs2263lm0gsb3gz8gbv890kxzwp8cvd433k"))))
+         "1pmydrh9lcckj7p0cn67jw7msxdkgr9zir86cs19h3mf2zlcv7b9"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:tests? #f                      ;tests use cucumber, causing a cycle
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'extract-gemspec 'relax-version-requirements
-           (lambda _
-             (substitute* ".gemspec"
-               ((" 10\\.1") " 10.2"))
-             #t)))))
+     (list #:tests? #f))                ;tests use cucumber, causing a cycle
     (propagated-inputs
      (list ruby-cucumber-core ruby-cucumber-expressions
            ruby-cucumber-messages))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:04 GMT) Full text and rfc822 format available.

Message #98 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 052/223] gnu: ruby-cucumber: Update to 8.0.0.
Date: Mon, 20 Mar 2023 13:13:44 -0400
* gnu/packages/ruby.scm (ruby-cucumber): Update to 8.0.0.
[arguments]: Delete trailing #t.  Adjust disable-rubocop phase.  Refine the
strip-version-requirements phase.  Set #:test-target to "spec".
[propagated-inputs]: Add ruby-cucumber-ci-environment, ruby-mime-types and
ruby-sys-uname.  Remove ruby-cucumber-create-meta and ruby-multi-json.
[native-inputs]: Remove ruby-aruba-without-tests and ruby-rubocop.
Add ruby-cucumber-compatibility-kit.
(ruby-aruba-without-tests): Delete variable.
---
 gnu/packages/ruby.scm | 77 +++++++++++++++++++------------------------
 1 file changed, 33 insertions(+), 44 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index eb618d5c2d..d7a5cd81a5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8139,18 +8139,6 @@ (define-public ruby-aruba
     (home-page "https://github.com/cucumber/aruba")
     (license license:expat)))
 
-;; A version of ruby-aruba without tests run so that circular dependencies can
-;; be avoided.
-(define ruby-aruba-without-tests
-  (package
-    (inherit ruby-aruba)
-    (arguments '(#:tests? #f))
-    (propagated-inputs
-     `(("ruby-cucumber" ,ruby-cucumber-without-tests)
-       ,@(alist-delete "ruby-cucumber"
-                       (package-propagated-inputs ruby-aruba))))
-    (native-inputs '())))
-
 (define-public ruby-sys-uname
   (package
   (name "ruby-sys-uname")
@@ -8265,7 +8253,7 @@ (define-public ruby-cucumber-ci-environment
 (define-public ruby-cucumber
   (package
     (name "ruby-cucumber")
-    (version "4.1.0")
+    (version "8.0.0")
     (source
      (origin
        (method git-fetch)
@@ -8275,49 +8263,50 @@ (define-public ruby-cucumber
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0g9rqfslbzkkrq2kvl14fgknrhfbji3bjjpjxff5nc9wzd3hd549"))))
+         "1dz880fdz6rfbh1nwwcq21v65byik46jnf9gppnrqf3p5k61i55r"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:test-target "default"
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'disable-rubocop
-           ;; Rubocop lint check fails with our more recent version.
-           (lambda _
-             (substitute* "Rakefile"
-               (("spec cucumber rubocop")
-                "spec cucumber"))
-             #t))
-         (add-after 'extract-gemspec 'strip-version-requirements
-           (lambda _
-             (delete-file "Gemfile")    ;do not use Bundler
-             (substitute* "cucumber.gemspec"
-               (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped)
-                (string-append stripped "\n")))
-             #t))
-         (add-before 'check 'set-home
-           (lambda _
-             (setenv "HOME" (getcwd))
-             #t)))))
+     (list #:test-target "spec"
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'disable-rubocop
+                 ;; Remove extraneous Lint checks.
+                 (lambda _
+                   (substitute* "Rakefile"
+                     (("require 'rubocop/rake_task'")
+                      "")
+                     (("RuboCop::RakeTask.new")
+                      ""))))
+               (add-after 'extract-gemspec 'strip-version-requirements
+                 (lambda _
+                   (delete-file "Gemfile") ;do not use Bundler
+                   (substitute* "cucumber.gemspec"
+                     ;; The dependency specifications are often trailing
+                     ;; behind and appear stricter than necessary, since the
+                     ;; test suite passes with the newer component versions.
+                     (("(.*add_.*dependency '[_A-Za-z0-9-]+')(.*)"
+                       _ stripped rest)
+                      (string-append stripped "   # " rest "\n")))))
+               (add-before 'check 'set-home
+                 (lambda _
+                   (setenv "HOME" (getcwd)))))))
     (propagated-inputs
      (list ruby-builder
+           ruby-cucumber-ci-environment
            ruby-cucumber-core
-           ruby-cucumber-create-meta
            ruby-cucumber-gherkin
            ruby-cucumber-html-formatter
            ruby-cucumber-messages
            ruby-cucumber-wire
            ruby-diff-lcs
-           ruby-multi-json
-           ruby-multi-test))
+           ruby-mime-types
+           ruby-multi-test
+           ruby-sys-uname))
     (native-inputs
-     (list ;; Use a untested version of aruba, to avoid a circular dependency, as
-           ;; ruby-aruba depends on ruby-cucumber.
-           ruby-aruba-without-tests
-           ruby-rspec
-           ruby-pry
+     (list ruby-cucumber-compatibility-kit
            ruby-nokogiri
-           ruby-rubocop))
+           ruby-pry
+           ruby-rspec))
     (synopsis "Describe automated tests in plain language")
     (description "Cucumber is a tool for running automated tests written in
 plain language.  It's designed to support a Behaviour Driven Development (BDD)
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:04 GMT) Full text and rfc822 format available.

Message #101 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 047/223] gnu: ruby-cucumber-html-formatter: Honor #:tests?
 argument.
Date: Mon, 20 Mar 2023 13:13:39 -0400
* gnu/packages/ruby.scm (ruby-cucumber-html-formatter)
[arguments]: Honor #:tests? in check phase override.
---
 gnu/packages/ruby.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b0e23a4116..403c3d0520 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8220,8 +8220,9 @@ (define-public ruby-cucumber-html-formatter
                             (substitute* ".gemspec"
                               (("~> 18.0") "~> 21.0")))) ;cucumber-messages
                         (replace 'check
-                          (lambda _
-                            (invoke "rspec"))))))
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "rspec")))))))
     (native-inputs (list ruby-cucumber-compatibility-kit ruby-rspec))
     (propagated-inputs (list ruby-cucumber-messages))
     (synopsis "HTML formatter for Cucumber")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:05 GMT) Full text and rfc822 format available.

Message #104 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 054/223] gnu: Add ruby-rake-manifest.
Date: Mon, 20 Mar 2023 13:13:46 -0400
* gnu/packages/ruby.scm (ruby-rake-manifest): New variable.
---
 gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ac8f30116a..fe5f4466f3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10413,6 +10413,40 @@ (define-public ruby-rake
     (home-page "https://github.com/ruby/rake")
     (license license:expat)))
 
+(define-public ruby-rake-manifest
+  (package
+    (name "ruby-rake-manifest")
+    (version "0.2.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mvz/rake-manifest")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "16k2yvg773c25kp2vhzhp01rhf53k0nhrcmpv34k1fridw90r2k8"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:test-target "default"
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'check)               ;moved after the install phase
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'set-GEM_PATH
+            (lambda _
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby")))))))
+    (native-inputs (list ruby-rspec ruby-simplecov))
+    (synopsis "Rake tasks to generate and check a manifest file")
+    (description "This package provides Rake tasks to generate and check a
+manifest file.")
+    (home-page "https://github.com/mvz/rake-manifest")
+    (license license:expat)))
+
 (define-public ruby-childprocess
   (package
     (name "ruby-childprocess")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:05 GMT) Full text and rfc822 format available.

Message #107 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 049/223] gnu: ruby-cucumber-expressions: Update to 16.1.2.
Date: Mon, 20 Mar 2023 13:13:41 -0400
* gnu/packages/ruby.scm (ruby-cucumber-expressions): Update to 16.1.2.
[source]: Update URL.
[arguments]: Add a #:phases argument.
[home-page]: Update URL.
---
 gnu/packages/ruby.scm | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d022151451..4aa7b0da4c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8421,27 +8421,30 @@ (define-public ruby-cucumber-core
 (define-public ruby-cucumber-expressions
   (package
     (name "ruby-cucumber-expressions")
-    (version "10.2.0")
+    (version "16.1.2")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/cucumber/cucumber-expressions-ruby")
+             (url "https://github.com/cucumber/cucumber-expressions")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1aivhcpjrmbvp9bg0y7g6zxh2swfvylvg0sapq5jc4i1y74k8npd"))))
+         "1dhq88k9x2x8svam5bc7rrcd166fqymda8wxryqkbkffhnzla0id"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:test-target "spec"))
-    (native-inputs
-     (list ruby-rspec ruby-simplecov))
+     (list #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'chdir
+                          (lambda _
+                            (chdir "ruby"))))))
+    (native-inputs (list ruby-rspec ruby-simplecov))
     (synopsis "Simpler alternative to Regular Expressions")
     (description "Cucumber Expressions offer similar functionality to Regular
 Expressions, with a syntax that is easier to read and write.  Cucumber
 Expressions are extensible with parameter types.")
-    (home-page "https://github.com/cucumber/cucumber-expressions-ruby")
+    (home-page "https://github.com/cucumber/cucumber-expressions/")
     (license license:expat)))
 
 (define-public ruby-cucumber-wire
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:06 GMT) Full text and rfc822 format available.

Message #110 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 058/223] gnu: Add ruby-bcrypt.
Date: Mon, 20 Mar 2023 13:13:50 -0400
* gnu/packages/ruby.scm (ruby-bcrypt): New variable.
---
 gnu/packages/ruby.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 92b384d646..efdb62e991 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9593,6 +9593,26 @@ (define-public ruby-systemu
     (home-page "https://github.com/ahoward/systemu")
     (license license:ruby)))
 
+(define-public ruby-bcrypt
+  (package
+    (name "ruby-bcrypt")
+    (version "3.1.18")
+    ;; FIXME: Unbundle the bcrypt library used.
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "bcrypt" version))
+              (sha256
+               (base32
+                "048z3fvcknqx7ikkhrcrykxlqmf9bzc7l0y5h1cnvrc9n2qf0k8m"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "default")) ;compile + spec
+    (native-inputs (list ruby-rake-compiler ruby-rspec))
+    (synopsis  "Ruby bcrypt wrapper")
+    (description "This Ruby library provides a simple wrapper to bcrypt, a
+secure hash algorithm for hashing passwords.")
+    (home-page "https://github.com/bcrypt-ruby/bcrypt-ruby")
+    (license license:expat)))
+
 (define-public ruby-bio-commandeer
   (package
     (name "ruby-bio-commandeer")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:06 GMT) Full text and rfc822 format available.

Message #113 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 056/223] gnu: ruby-activesupport: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:13:48 -0400
* gnu/packages/ruby.scm (ruby-activesupport): Move to...
* gnu/packages/rails.scm (ruby-activesupport): ... here.
(%ruby-rails-version, ruby-rails-monorepo): New variables.
(ruby-activesupport): Update to 7.0.4.3.
[arguments]: Use gexps.  Add the delete-gemfiles, chdir, check-setup and
delete-problematic-tests phases.  Delete check phase override.
[native-inputs]: New field.
[propagated-inputs]: Remove ruby-zeitwerk.  Replace ruby-minitest with
ruby-minitest-5.15.
[home-page]: Update URL.
---
 gnu/packages/protobuf.scm |  1 +
 gnu/packages/rails.scm    | 84 +++++++++++++++++++++++++++++++++++++++
 gnu/packages/ruby.scm     | 33 ---------------
 3 files changed, 85 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index 82c5b7b5f8..a746b7de9c 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -49,6 +49,7 @@ (define-module (gnu packages protobuf)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages rpc)
+  #:use-module (gnu packages rails)
   #:use-module (gnu packages ruby)
   #:use-module (srfi srfi-1))
 
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 8f5bda4638..3af90bc913 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops <at> yandex.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,10 +25,93 @@ (define-module (gnu packages rails)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages node)
   #:use-module (gnu packages ruby)
   #:use-module (guix build-system ruby))
 
+(define %ruby-rails-version "7.0.4.3")
+
+(define ruby-rails-monorepo
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/rails/rails")
+          (commit (string-append "v" %ruby-rails-version))))
+    (file-name (git-file-name "ruby-rails" %ruby-rails-version))
+    (sha256
+     (base32
+      "0f5f8r8wdmdmbyl07b0z555arai4ys2j8dj3fy0mq63y9bfhcqqk"))))
+
+(define-public ruby-activesupport
+  (package
+    (name "ruby-activesupport")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-gemfiles
+            (lambda _
+              (delete-file "Gemfile")
+              (delete-file "Gemfile.lock")))
+          (add-after 'delete-gemfiles 'chdir
+            (lambda _
+              (chdir "activesupport")))
+          (add-before 'check 'check-setup
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              ;; Multiple tests require to set the timezone.
+              (setenv "TZDIR" (search-input-directory (or native-inputs inputs)
+                                                      "share/zoneinfo"))
+              ;; The test suite requires a memcached and a redis server.
+              (invoke "memcached" "-d")
+              (invoke "redis-server" "--daemonize" "yes")))
+          (add-before 'check 'delete-problematic-tests
+            (lambda _
+              ;; These tests fail non-deterministically.
+              (substitute* "test/cache/behaviors.rb"
+                ((".*behaviors/cache_store_behavior.*")
+                 "")
+                ((".*behaviors/encoded_key_cache_behavior.*")
+                 ""))
+              (delete-file "test/evented_file_update_checker_test.rb")
+              ;; These tests require cache_store_behavior, disabled above.
+              (delete-file "test/cache/stores/file_store_test.rb")
+              (delete-file "test/cache/stores/mem_cache_store_test.rb")
+              (delete-file "test/cache/stores/memory_store_test.rb")
+              (delete-file "test/cache/stores/redis_cache_store_test.rb"))))))
+    (native-inputs
+     (list memcached
+           redis
+           ruby-builder
+           ruby-connection-pool
+           ruby-dalli
+           ruby-hiredis
+           ruby-libxml
+           ruby-listen
+           ruby-rack
+           ruby-redis
+           ruby-rexml
+           tzdata-for-tests))
+    (propagated-inputs
+     (list ruby-concurrent
+           ruby-i18n
+           ;; This is sub-optimal, but apparently necessary (see:
+           ;; https://github.com/rails/rails/commit/
+           ;; 9766eb4a833c26c64012230b96dd1157ebb8e8a2).
+           ruby-minitest-5.15
+           ruby-tzinfo
+           ruby-tzinfo-data))
+    (synopsis "Ruby on Rails utility library")
+    (description "ActiveSupport is a toolkit of support libraries and Ruby
+core extensions extracted from the Rails framework.  It includes support for
+multibyte strings, internationalization, time zones, and testing.")
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
+
 (define-public ruby-spring
   (package
     (name "ruby-spring")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 132a06bc57..92b384d646 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6547,39 +6547,6 @@ (define-public ruby-loofah
 documents and fragments.  It's built on top of Nokogiri and libxml2.")
     (license license:expat)))
 
-(define-public ruby-activesupport
-  (package
-    (name "ruby-activesupport")
-    (version "6.1.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "activesupport" version))
-       (sha256
-        (base32
-         "00a4db64g8w5yyk6hzak2nqrmdfvyh5zc9cvnm9gglwbi87ss28h"))))
-    (build-system ruby-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda _
-             ;; There are no tests, instead attempt to load the library.
-             (invoke "ruby" "-Ilib" "-r" "active_support"))))))
-    (propagated-inputs
-     (list ruby-concurrent
-           ruby-i18n
-           ruby-minitest
-           ruby-tzinfo
-           ruby-tzinfo-data
-           ruby-zeitwerk))
-    (synopsis "Ruby on Rails utility library")
-    (description "ActiveSupport is a toolkit of support libraries and Ruby
-core extensions extracted from the Rails framework.  It includes support for
-multibyte strings, internationalization, time zones, and testing.")
-    (home-page "https://www.rubyonrails.org")
-    (license license:expat)))
-
 (define-public ruby-crass
   (package
     (name "ruby-crass")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:06 GMT) Full text and rfc822 format available.

Message #116 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 059/223] gnu: ruby-activemodel: Update to 7.0.4.3 and enable
 tests.
Date: Mon, 20 Mar 2023 13:13:51 -0400
* gnu/packages/rails.scm (ruby-activemodel): Update to 7.0.4.3.  Fix
indentation.
[source]: Use ruby-rails-monorepo.
[arguments]: Remove #:tests? argument.  Add #:phases argument.
[native-inputs]: New field.
---
 gnu/packages/rails.scm | 42 ++++++++++++++++++++++--------------------
 1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 9fa0f23ad8..329bacdaef 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -260,28 +260,30 @@ (define-public ruby-autoprefixer-rails
 
 (define-public ruby-activemodel
   (package
-   (name "ruby-activemodel")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "activemodel" version))
-     (sha256
-      (base32
-       "07m85r00cd1dzxg65zr9wjrdqppw51b5ka9c5mrz92vnw18kfb70"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-activesupport))
-   (synopsis "Toolkit for building modeling frameworks like Active Record")
-   (description
-    "This package provides a toolkit for building modeling frameworks like
+    (name "ruby-activemodel")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "activemodel")))
+          (add-after 'chdir 'delete-problematic-tests
+            (lambda _
+              ;; We do not want to depend on ruby-railties at this stage.
+              (delete-file "test/cases/railtie_test.rb"))))))
+    (native-inputs (list ruby-bcrypt))
+    (propagated-inputs (list ruby-activesupport))
+    (synopsis "Toolkit for building modeling frameworks like Active Record")
+    (description
+     "This package provides a toolkit for building modeling frameworks like
 Active Record.  ActiveSupport handles attributes, callbacks, validations,
 serialization, internationalization, and testing.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
 
 (define-public ruby-activerecord
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:07 GMT) Full text and rfc822 format available.

Message #119 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 060/223] gnu: ruby-activerecord: Update to 7.0.4.3 and enable
 tests.
Date: Mon, 20 Mar 2023 13:13:52 -0400
* gnu/packages/rails.scm (ruby-activerecord): Update to 7.0.4.3.
[source]: Use ruby-rails-monorepo.
[arguments]: Remove #:tests? argument.  Add #:phases argument.
[native-inputs]: New field.
[propagated-inputs]: Remove ruby-arel.  Add ruby-sqlite3.
---
 gnu/packages/rails.scm | 55 +++++++++++++++++++++++++++---------------
 1 file changed, 35 insertions(+), 20 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 329bacdaef..4dc9392201 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -287,27 +287,42 @@ (define-public ruby-activemodel
 
 (define-public ruby-activerecord
   (package
-   (name "ruby-activerecord")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "activerecord" version))
-     (sha256
-      (base32
-       "03kr6vslwd9iw89jidjpjlp7prr2rf7kpsfa4fz03g9by0kliivs"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-activemodel ruby-activesupport ruby-arel))
-   (synopsis "Ruby library to connect to relational databases")
-   (description
-    "Active Record connects classes to relational database table to establish
+    (name "ruby-activerecord")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "activerecord")))
+          (delete 'check)
+          (add-after 'install 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                ;; Avoid running the database tests, which require railties
+                ;; and/or database servers.
+                (invoke "ruby" "-Itest" "test/cases/base_test.rb"))))
+          (add-before 'check 'set-GEM_PATH
+            (lambda _
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))))
+          (add-before 'check 'check-setup
+            (lambda* (#:key native-inputs inputs #:allow-other-keys)
+              ;; A few tests require to set the timezone.
+              (setenv "TZDIR" (search-input-directory (or native-inputs inputs)
+                                                      "share/zoneinfo")))))))
+    (native-inputs (list tzdata-for-tests))
+    (propagated-inputs (list ruby-activemodel ruby-activesupport ruby-sqlite3))
+    (synopsis "Ruby library to connect to relational databases")
+    (description
+     "Active Record connects classes to relational database table to establish
 an almost zero-configuration persistence layer for applications.")
-   (home-page "https://rubyonrails.org")
-   (license license:expat)))
+    (home-page "https://rubyonrails.org")
+    (license license:expat)))
 
 (define-public ruby-rspec-rails
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:07 GMT) Full text and rfc822 format available.

Message #122 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 066/223] gnu: Add ruby-queue-classic.
Date: Mon, 20 Mar 2023 13:13:58 -0400
* gnu/packages/ruby.scm (ruby-queue-classic): New variable.
---
 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 01bc491918..9b680f4ac5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9853,6 +9853,28 @@ (define-public ruby-que
     (home-page "https://github.com/chanks/que")
     (license license:expat)))
 
+(define-public ruby-queue-classic
+  (package
+    (name "ruby-queue-classic")
+    (version "4.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "queue_classic" version))
+              (sha256
+               (base32
+                "0npyhajf2fc80apkw9s2kj0n254w5lcl4xpjidg5d5w1fb19abh6"))))
+    (build-system ruby-build-system)
+    (arguments (list #:tests? #f))      ;tests require a postgresql server
+    (native-inputs (list ruby-activerecord ruby-minitest-reporters))
+    (propagated-inputs (list ruby-pg))
+    (synopsis "Queuing library for Ruby")
+    (description "@code{queue_classic} is a queuing library for Ruby
+applications (Rails, Sinatra, etc.)  @code{queue_classic} features
+asynchronous job polling, database maintained locks and has a single
+dependency, @code{pg}.")
+    (home-page "https://github.com/QueueClassic/queue_classic")
+    (license license:expat)))
+
 (define-public ruby-ae
   (package
     (name "ruby-ae")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:08 GMT) Full text and rfc822 format available.

Message #125 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 061/223] gnu: Add ruby-simplecov-lcov.
Date: Mon, 20 Mar 2023 13:13:53 -0400
* gnu/packages/ruby.scm (ruby-simplecov-lcov): New variable.
---
 gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index efdb62e991..57a4d52ce4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3459,6 +3459,33 @@ (define-public ruby-simplecov
     (home-page "https://github.com/simplecov-ruby/simplecov")
     (license license:expat)))
 
+(define-public ruby-simplecov-lcov
+  (package
+    (name "ruby-simplecov-lcov")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "simplecov-lcov" version))
+              (sha256
+               (base32
+                "1h8kswnshgb9zidvc88f4zjy4gflgz3854sx9wrw8ppgnwfg6581"))))
+    (build-system ruby-build-system)
+    ;; The test suite fails half of its tests; it seems to rely on older
+    ;; versions of simplecov, rspec, possibly others (see:
+    ;; https://github.com/fortissimo1997/simplecov-lcov/issues/29).
+    (arguments (list #:tests? #f
+                     #:test-target "spec"))
+    (native-inputs
+     (list ruby-activesupport
+           ruby-coveralls
+           ruby-rspec
+           ruby-simplecov))
+    (synopsis "SimpleCov formatter to generate a lcov style coverage")
+    (description "This package provides a SimpleCov formatter to generate a
+lcov-style coverage report.")
+    (home-page "https://github.com/fortissimo1997/simplecov-lcov")
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:08 GMT) Full text and rfc822 format available.

Message #128 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 068/223] gnu: Add ruby-xpath.
Date: Mon, 20 Mar 2023 13:14:00 -0400
* gnu/packages/ruby.scm (ruby-xpath): New variable.
---
 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9b680f4ac5..159de488bc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2753,6 +2753,30 @@ (define-public ruby-xml-simple
     (home-page "https://github.com/maik/xml-simple")
     (license license:ruby)))
 
+(define-public ruby-xpath
+  (package
+    (name "ruby-xpath")
+    (version "3.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "xpath" version))
+              (sha256
+               (base32
+                "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"))))
+    (build-system ruby-build-system)
+    (arguments (list #:phases #~(modify-phases %standard-phases
+                                  (replace 'check
+                                    (lambda* (#:key tests? #:allow-other-keys)
+                                      (when tests?
+                                        (invoke "rspec" "spec" )))))))
+    (native-inputs (list ruby-pry ruby-rspec))
+    (propagated-inputs (list ruby-nokogiri))
+    (synopsis "Ruby DSL for generating XPath expressions")
+    (description "XPath is a Ruby domain-specific language (DSL) for
+generating XPath expressions.")
+    (home-page "https://github.com/teamcapybara/xpath")
+    (license license:expat)))
+
 (define-public ruby-thor
   (package
     (name "ruby-thor")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:09 GMT) Full text and rfc822 format available.

Message #131 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 070/223] gnu: Add ruby-launchy.
Date: Mon, 20 Mar 2023 13:14:02 -0400
* gnu/packages/ruby.scm (ruby-launchy): New variable.
---
 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a90ecc9f6c..b094e0146e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -82,6 +82,7 @@ (define-module (gnu packages ruby)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages web-browsers)
   #:use-module (gnu packages serialization)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
@@ -11778,6 +11779,27 @@ (define-public ruby-mercenary
 command-line apps in Ruby.")
     (license license:expat)))
 
+(define-public ruby-launchy
+  (package
+    (name "ruby-launchy")
+    (version "2.5.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "launchy" version))
+              (sha256
+               (base32
+                "06r43899384das2bkbrpsdxsafyyqa94il7111053idfalb4984a"))))
+    (build-system ruby-build-system)
+    (native-inputs (list curl links ruby-simplecov))
+    (propagated-inputs (list ruby-addressable))
+    (synopsis "Ruby helper class for launching applications")
+    (description
+     "Launchy is helper class for launching applications in a fire and forget
+manner.  The aim of Launchy is to provide a common approach to launching
+external applications from within Ruby programs.")
+    (home-page "https://github.com/copiousfreetime/launchy")
+    (license license:isc)))
+
 (define-public ruby-liquid
   (package
     (name "ruby-liquid")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:09 GMT) Full text and rfc822 format available.

Message #134 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 064/223] gnu: Add ruby-minitest-proveit.
Date: Mon, 20 Mar 2023 13:13:56 -0400
* gnu/packages/ruby.scm (ruby-minitest-proveit): New variable.
---
 gnu/packages/ruby.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d0ea01aa76..b743d24021 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4740,6 +4740,26 @@ (define-public ruby-minitest-pretty-diff
       (home-page "https://github.com/adammck/minitest-pretty_diff")
       (license license:expat))))
 
+(define-public ruby-minitest-proveit
+  (package
+    (name "ruby-minitest-proveit")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "minitest-proveit" version))
+              (sha256
+               (base32
+                "0k1hpr8lgkgygfivgcsnnib7xjlf9ribgpn7yidvb4q0l0q2yfmr"))))
+    (build-system ruby-build-system)
+    (native-inputs (list ruby-hoe))
+    (propagated-inputs (list ruby-minitest))
+    (synopsis "Assertion-based tests extension for MiniTest")
+    (description "The @code{minitest-proveit} MiniTest extension ensures all
+tests to prove success (via at least one assertion) rather than rely on the
+absence of failure.")
+    (home-page "https://github.com/seattlerb/minitest-proveit")
+    (license license:expat)))
+
 (define-public ruby-minitest-moar
   (package
     (name "ruby-minitest-moar")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:09 GMT) Full text and rfc822 format available.

Message #137 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 072/223] gnu: Add ruby-selenium-webdriver.
Date: Mon, 20 Mar 2023 13:14:04 -0400
* gnu/packages/ruby.scm (ruby-selenium-webdriver): New variable.
---
 gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 241f78c684..48defe1dae 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13492,6 +13492,31 @@ (define-public ruby-bandwidth-iris
 Dashboard.  It is a Ruby Client library for IRIS / BBS API.")
     (license license:expat)))
 
+(define-public ruby-selenium-webdriver
+  (package
+    (name "ruby-selenium-webdriver")
+    (version "4.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "selenium-webdriver" version))
+              (sha256
+               (base32
+                "00nn3k3vk3lpf9691xlij66xdmhydw5df2i8bywiwqzjd52zav9i"))))
+    (build-system ruby-build-system)
+    ;; FIXME: The gem release lacks test files, and the git checkout lacks
+    ;; JavaScript source that is generated using Bazel, which isn't available
+    ;; in Guix yet, so disable the test suite for now.
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list ruby-rexml ruby-rubyzip ruby-websocket))
+    (synopsis "Selenium browser automation bindings for Ruby")
+    (description "Selenium implements the W3C WebDriver protocol to automate
+popular browsers.  It aims to mimic the behaviour of a real user as it
+interacts with the application's HTML.  It's primarily intended for web
+application testing, but any web-based task can be automated.  This package
+provides the Ruby bindings of Selenium.")
+    (home-page "https://www.selenium.dev/")
+    (license license:asl2.0)))
+
 (define-public ruby-sentry-core
   (package
     (name "ruby-sentry-core")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:10 GMT) Full text and rfc822 format available.

Message #140 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 074/223] gnu: Add ruby-minitest-stub-const.
Date: Mon, 20 Mar 2023 13:14:06 -0400
* gnu/packages/ruby.scm (ruby-minitest-stub-const): New variable.
---
 gnu/packages/ruby.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6858f0f5b0..7cf4d34ebf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4667,6 +4667,26 @@ (define-public ruby-minitest-sprint
     (home-page "https://github.com/seattlerb/minitest-sprint")
     (license license:expat)))
 
+(define-public ruby-minitest-stub-const
+  (package
+    (name "ruby-minitest-stub-const")
+    (version "0.6")                     ;for Rakefile
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/adammck/minitest-stub-const")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0cz4r9fxplx94c7wakx0998n2gv7l21prn8pfpw6z2c33k3g2xar"))))
+    (build-system ruby-build-system)
+    (synopsis "Stub constants for the duration of a block in MiniTest")
+    (description "This package provides a MiniTest extension to stub constants
+for the duration of a block in MiniTest.")
+    (home-page "https://github.com/adammck/minitest-stub-const")
+    (license license:expat)))
+
 (define-public ruby-minitest-bacon
   (package
     (name "ruby-minitest-bacon")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:10 GMT) Full text and rfc822 format available.

Message #143 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 075/223] gnu: ruby-rack: Update to 2.2.6.3.
Date: Mon, 20 Mar 2023 13:14:07 -0400
* gnu/packages/ruby.scm (ruby-rack): Update to 2.2.6.3.
[source]: Move snippet to...
[arguments]: ... the fix-test phase.  Use gexps and delete trailing #t.
---
 gnu/packages/ruby.scm | 68 ++++++++++++++++++++-----------------------
 1 file changed, 32 insertions(+), 36 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7cf4d34ebf..29c4ae8bf8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7115,50 +7115,46 @@ (define-public ruby-racc
 (define-public ruby-rack
   (package
     (name "ruby-rack")
-    (version "2.2.3")
+    ;; Do not upgrade to version 3, as Rails doesn't support it yet.
+    (version "2.2.6.3")
     (source
      (origin
-       (method git-fetch)
-       ;; Download from GitHub so that the snippet can be applied and tests run.
+       (method git-fetch)               ;for tests
        (uri (git-reference
-              (url "https://github.com/rack/rack")
-              (commit version)))
+             (url "https://github.com/rack/rack")
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1qrm5z5v586738bnkr9188dvz0s25nryw6sgvx18jjlkizayw1g4"))
-       ;; Ignore test which fails inside the build environment but works
-       ;; outside.
-       (modules '((guix build utils)))
-       (snippet
-        '(begin (substitute* "test/spec_files.rb"
-                  (("res.body.must_equal expected_body") ""))
-                #t))))
+         "19n33q0v15qjh7kbp2painyzyqg16kkf0mp68vcnlswghmmjcyzq"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'fix-tests
-           (lambda _
-             ;; A few of the tests use the length of a file on disk for
-             ;; Content-Length and Content-Range headers.  However, this file
-             ;; has a shebang in it which an earlier phase patches, growing
-             ;; the file size from 193 to 239 bytes when the store prefix is
-             ;; "/gnu/store".
-             (let ((size-diff (- (string-length (which "ruby"))
-                                 (string-length "/usr/bin/env ruby"))))
-               (substitute* '("test/spec_files.rb")
-                 (("208" bytes)
-                  (number->string (+ (string->number bytes) size-diff)))
-                 (("bytes(.)22-33" all delimiter)
-                  (string-append "bytes"
-                                 delimiter
-                                 (number->string (+ 22 size-diff))
-                                 "-"
-                                 (number->string (+ 33 size-diff))))))
-             #t)))))
-    (native-inputs
-     (list ruby-minitest ruby-minitest-global-expectations))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'fix-tests
+            (lambda _
+              ;; This test fails in the build environment (and passes outside
+              ;; of it).
+              (substitute* "test/spec_files.rb"
+                (("res.body.must_equal expected_body") ""))
+              ;; A few of the tests use the length of a file on disk for
+              ;; Content-Length and Content-Range headers.  However, this file
+              ;; has a shebang in it which an earlier phase patches, growing
+              ;; the file size from 193 to 239 bytes when the store prefix is
+              ;; "/gnu/store".
+              (let ((size-diff (- (string-length (which "ruby"))
+                                  (string-length "/usr/bin/env ruby"))))
+                (substitute* '("test/spec_files.rb")
+                  (("208" bytes)
+                   (number->string (+ (string->number bytes) size-diff)))
+                  (("bytes(.)22-33" all delimiter)
+                   (string-append "bytes"
+                                  delimiter
+                                  (number->string (+ 22 size-diff))
+                                  "-"
+                                  (number->string (+ 33 size-diff)))))))))))
+    (native-inputs (list ruby-minitest ruby-minitest-global-expectations))
     (synopsis "Unified web application interface for Ruby")
     (description "Rack provides a minimal, modular and adaptable interface for
 developing web applications in Ruby.  By wrapping HTTP requests and responses,
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:11 GMT) Full text and rfc822 format available.

Message #146 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 071/223] gnu: Add ruby-websocket.
Date: Mon, 20 Mar 2023 13:14:03 -0400
* gnu/packages/ruby.scm (ruby-websocket): New variable.
---
 gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b094e0146e..241f78c684 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13556,6 +13556,31 @@ (define-public ruby-webrick
 HTTPS server, a proxy server, and a virtual-host server.")
     (license license:bsd-2)))
 
+(define-public ruby-websocket
+  (package
+    (name "ruby-websocket")
+    (version "1.2.9")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "websocket" version))
+              (sha256
+               (base32
+                "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "spec"
+                     #:phases #~(modify-phases %standard-phases
+                                  (add-after 'unpack 'disable-rubocop
+                                    (lambda _
+                                      (substitute* "Rakefile"
+                                        (("require 'rubocop/rake_task'") "")
+                                        (("RuboCop::RakeTask.new") "")))))))
+    (native-inputs (list ruby-rspec))
+    (synopsis "WebSocket protocol Ruby library")
+    (description "This package provides a Ruby library to handle the WebSocket
+protocol.")
+    (home-page "https://github.com/imanel/websocket-ruby")
+    (license license:expat)))
+
 (define-public ruby-interception
   (package
     (name "ruby-interception")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:12 GMT) Full text and rfc822 format available.

Message #149 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 079/223] gnu: ruby-rack-test: Update to 2.1.0.
Date: Mon, 20 Mar 2023 13:14:11 -0400
* gnu/packages/ruby.scm (ruby-rack-test): Update to 2.1.0.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bda6e3f363..dbe9a5ff97 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7206,14 +7206,14 @@ (define-public ruby-rack-cache
 (define-public ruby-rack-test
   (package
     (name "ruby-rack-test")
-    (version "0.8.3")
+    (version "2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "rack-test" version))
        (sha256
         (base32
-         "14ij39zywvr1i9f6jsixfg4zxi2q1m1n1nydvf47f0b6sfc9mv1g"))))
+         "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c"))))
     (build-system ruby-build-system)
     (arguments
      ;; Disable tests because of circular dependencies: requires sinatra,
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:12 GMT) Full text and rfc822 format available.

Message #152 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 120/223] gnu: Add ruby-samovar.
Date: Mon, 20 Mar 2023 13:22:06 -0400
* gnu/packages/ruby.scm (ruby-samovar): New variable.
---

 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a9922e1f3c..1db758ea97 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6881,6 +6881,30 @@ (define-public ruby-crass
 (define-public ruby-nokogumbo
   (deprecated-package "ruby-nokogumbo" ruby-nokogiri))
 
+(define-public ruby-samovar
+  (package
+    (name "ruby-samovar")
+    (version "2.1.4")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ioquatix/samovar")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05pc5xlbv44anx0sfqssh0xhxg297bvl5slsl7k1vnka4k5fhax6"))))
+    (build-system ruby-build-system)
+    (native-inputs (list ruby-covered ruby-rspec))
+    (propagated-inputs (list ruby-console ruby-mapping))
+    (synopsis "Flexible option parser for Ruby")
+    (description "Samovar is a modern framework for building command-line
+tools and applications.  It provides a declarative class-based DSL for
+building command-line parsers that include automatic documentation generation.
+It helps you keep your functionality clean and isolated where possible.")
+    (home-page "https://github.com/ioquatix/samovar")
+    (license license:expat)))
+
 (define-public ruby-sanitize
   (package
     (name "ruby-sanitize")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:13 GMT) Full text and rfc822 format available.

Message #155 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 115/223] gnu: Add ruby-fiber-local.
Date: Mon, 20 Mar 2023 13:22:01 -0400
* gnu/packages/ruby.scm (ruby-fiber-local): New variable.
---

 gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6ac419edd6..abb3947c6e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3718,6 +3718,43 @@ (define-public ruby-fast-gettext
     ;; Some parts are covered by the Ruby license, see file headers.
     (license (list license:expat license:ruby))))
 
+(define-public ruby-fiber-local
+  (package
+    (name "ruby-fiber-local")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/socketry/fiber-local")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0pp5b81h0lysdnphgprkixh1az0fkrgir5sbcp0mm8arxf3f8m90"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'sanitize-dependencies
+                 (lambda _
+                   ;; This pulls in extraneous maintenance dependencies.
+                   (delete-file "gems.rb")
+                   ;; Depending on ruby-covered would introduce a dependency
+                   ;; cycle with it.
+                   (substitute* '("fiber-local.gemspec" "spec/spec_helper.rb")
+                     ((".*covered.*") ""))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "rspec")))))))
+    (native-inputs (list ruby-rspec))
+    (synopsis "Ruby module to simplify fiber-local state management")
+    (description "This package provides a class-level mixin to make managing
+fiber-local state easy.  It provides easy access to a fiber-local state from a
+fiber, and defaults to a shared thread-local state.")
+    (home-page "https://github.com/socketry/fiber-local")
+    (license license:expat)))
+
 (define-public ruby-net-http-persistent
   (package
     (name "ruby-net-http-persistent")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:13 GMT) Full text and rfc822 format available.

Message #158 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 121/223] gnu: Add ruby-io-console.
Date: Mon, 20 Mar 2023 13:22:07 -0400
* gnu/packages/ruby.scm (ruby-io-console): New variable.
---

 gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1db758ea97..ee39e509ec 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -513,6 +513,33 @@ (define-public ruby-i18n
     (home-page "https://github.com/ruby-i18n/i18n")
     (license license:expat)))
 
+(define-public ruby-io-console
+  (package
+    (name "ruby-io-console")
+    (version "0.6.0")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby/io-console/")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gwxrp29b6awkid1sf85sbh529mnq6hb86m8c2443cm6nc4vr8qb"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'delete-rakelib-files
+                          (lambda _
+                            ;; These depend on git and other extraneous
+                            ;; dependencies, and are loaded by rake.
+                            (delete-file-recursively "rakelib"))))))
+    (native-inputs (list ruby-rake-compiler))
+    (synopsis "Console capabilities library for IO instances")
+    (description "IO.console adds console capabilities to Ruby IO instances.")
+    (home-page "https://github.com/ruby/io-console")
+    (license license:bsd-2)))
+
 (define-public ruby-iruby
   (package
     (name "ruby-iruby")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:14 GMT) Full text and rfc822 format available.

Message #161 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 116/223] gnu: Add ruby-console.
Date: Mon, 20 Mar 2023 13:22:02 -0400
* gnu/packages/ruby.scm (ruby-console): New variable.
---

 gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index abb3947c6e..d2377a8d2c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2173,6 +2173,34 @@ (define-public ruby-ci-reporter
     (home-page "https://github.com/nicksieger/ci_reporter")
     (license license:expat)))
 
+(define-public ruby-console
+  (package
+    (name "ruby-console")
+    (version "1.16.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "console" version))
+              (sha256
+               (base32
+                "0y1bv3kd1l9p0k5n3anvvjxdrcq113pyngz2g29i9mvdgbbx7kq2"))))
+    (build-system ruby-build-system)
+    ;; XXX: Disable test suite to avoid dependency cycles with ruby-samovar.
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list ruby-fiber-local))
+    (synopsis "Console logging library for Ruby")
+    (description "This gem provides beautiful console logging for Ruby
+applications.  It implements fast, buffered log output and has the following
+features:
+@itemize
+@item Thread safe global logger with per-fiber context
+@item Carry along context with nested loggers
+@item Enable/disable log levels per class
+@item Detailed logging of exceptions
+@item Beautiful logging to the terminal or structured logging using JSON.
+@end itemize")
+    (home-page "https://github.com/socketry/console")
+    (license license:expat)))
+
 (define-public ruby-contracts
   (package
     (name "ruby-contracts")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:14 GMT) Full text and rfc822 format available.

Message #164 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 123/223] gnu: Add ruby-irb.
Date: Mon, 20 Mar 2023 13:22:09 -0400
* gnu/packages/ruby.scm (ruby-irb): New variable.
---

 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b3196781d0..29bdd367c5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -540,6 +540,27 @@ (define-public ruby-io-console
     (home-page "https://github.com/ruby/io-console")
     (license license:bsd-2)))
 
+(define-public ruby-irb
+  (package
+    (name "ruby-irb")
+    (version "1.6.3")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "irb" version))
+              (sha256
+               (base32
+                "1h9s07n5v3z029v18924ws9vdkdc80n6llp9ccx77yg1krv2g0f3"))))
+    (build-system ruby-build-system)
+    ;; XXX: Disable the test suite, as it requires debug, which requires this
+    ;; package (dependency cycle).
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list ruby-reline))
+    (synopsis "Ruby command-line tool for REPL (Read Eval Print Loop)")
+    (description "IRB is an interactive Ruby command-line tool for REPL (Read
+Eval Print Loop).")
+    (home-page "https://github.com/ruby/irb")
+    (license license:bsd-2)))
+
 (define-public ruby-iruby
   (package
     (name "ruby-iruby")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:14 GMT) Full text and rfc822 format available.

Message #167 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 117/223] gnu: Add ruby-ruby-memcheck.
Date: Mon, 20 Mar 2023 13:22:03 -0400
* gnu/packages/ruby.scm (ruby-ruby-memcheck): New variable.
---

 gnu/packages/ruby.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d2377a8d2c..18e1ee36bb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -82,6 +82,7 @@ (define-module (gnu packages ruby)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages valgrind)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages web-browsers)
   #:use-module (gnu packages serialization)
@@ -8268,6 +8269,46 @@ (define-public ruby-ruby-prof
     (home-page "https://github.com/ruby-prof/ruby-prof")
     (license license:bsd-2)))
 
+(define-public ruby-ruby-memcheck
+  (package
+    (name "ruby-ruby-memcheck")
+    (version "1.2.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Shopify/ruby_memcheck")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1sx8nhx7w4z5s5vj6kq6caqsfznswqzwca372j82cd80hf9iznra"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-valgrind-path
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "lib/ruby_memcheck/configuration.rb"
+                (("DEFAULT_VALGRIND = \"valgrind\"")
+                 (format #f "DEFAULT_VALGRIND = ~s"
+                         (search-input-file inputs "bin/valgrind"))))))
+          (add-before 'replace-git-ls-files 'standardize-git-ls-files
+            (lambda _
+              (substitute* "ruby_memcheck.gemspec"
+                (("%x\\(git ls-files -z)")
+                 "`git ls-files -z`")))))))
+    (native-inputs (list ruby-rake-compiler ruby-rspec))
+    (inputs (list valgrind/interactive))
+    (propagated-inputs (list ruby-nokogiri))
+    (synopsis "Valgrind memcheck tool for Ruby")
+    (description "The @code{ruby_memcheck} gem provides a sane way to use
+Valgrind's memcheck on your native extension gem, that filters out all the
+false positives caused by Ruby not freeing all of the memory it allocates
+during shutdown.")
+    (home-page "https://github.com/Shopify/ruby_memcheck")
+    (license license:expat)))
+
 (define-public ruby-memory-profiler
   (package
     (name "ruby-memory-profiler")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:15 GMT) Full text and rfc822 format available.

Message #170 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 118/223] gnu: Add ruby-msgpack.
Date: Mon, 20 Mar 2023 13:22:04 -0400
* gnu/packages/ruby.scm (ruby-msgpack): New variable.
---

 gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 18e1ee36bb..db4e88ca05 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4153,6 +4153,33 @@ (define-public ruby-mkmf-lite
     (home-page "https://github.com/djberg96/mkmf-lite")
     (license license:asl2.0)))
 
+(define-public ruby-msgpack
+  (package
+    (name "ruby-msgpack")
+    (version "1.6.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/msgpack/msgpack-ruby")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "08wi853nv02clrdwx8s6dg9lmcyzq5fk84l4rb94pglps76rlvz7"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "spec"))
+    (native-inputs
+     (list ruby-rake-compiler
+           ruby-ruby-memcheck
+           ruby-rspec
+           ruby-yard))
+    (synopsis "Efficient object serialization library for Ruby")
+    (description "MessagePack is a binary-based efficient object serialization
+library.  It enables to exchange structured objects between many languages
+like JSON.  Unlike JSON, it is very fast and small.")
+    (home-page "https://msgpack.org/")
+    (license license:asl2.0)))
+
 (define-public ruby-mspec
   (package
     (name "ruby-mspec")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:15 GMT) Full text and rfc822 format available.

Message #173 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 122/223] gnu: Add ruby-reline.
Date: Mon, 20 Mar 2023 13:22:08 -0400
* gnu/packages/ruby.scm (ruby-reline): New variable.
---

 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ee39e509ec..b3196781d0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4533,6 +4533,27 @@ (define-public ruby-redcarpet
     (home-page "https://github.com/vmg/redcarpet")
     (license license:expat)))
 
+(define-public ruby-reline
+  (package
+    (name "ruby-reline")
+    (version "0.3.2")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby/reline")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "103rz95gnra846r9118k5bfascv00ywfjnhbmw1k42jpp6jpszqn"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-io-console))
+    (synopsis "GNU Readline or Editline implementation in Ruby")
+    (description "Reline is a pure Ruby alternative GNU Readline or Editline
+implementation.")
+    (home-page "https://github.com/ruby/reline")
+    (license (list license:bsd-2 license:ruby)))) ;dual license
+
 (define-public ruby-rerun
   (package
   (name "ruby-rerun")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:16 GMT) Full text and rfc822 format available.

Message #176 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 129/223] gnu: Add ruby-sus.
Date: Mon, 20 Mar 2023 13:22:15 -0400
* gnu/packages/ruby.scm (ruby-sus): New variable.
---

 gnu/packages/ruby.scm | 51 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 51d35868c2..d63afbad2c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12858,6 +12858,57 @@ (define-public ruby-subprocess
     (home-page "https://github.com/stripe/subprocess")
     (license license:expat)))
 
+(define-public ruby-sus
+  (package
+    (name "ruby-sus")
+    (version "0.20.3")
+    (source (origin
+              (method git-fetch)        ;for gems.rb
+              (uri (git-reference
+                    (url "https://github.com/ioquatix/sus")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0j4rkh9li79674h3lfkxlcdygscmb22l77i7hwhxl3gw103gkpdr"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'build 'prune-gems.rb
+                 (lambda _
+                   (substitute* "gems.rb"
+                     (("gem \"bake-modernize\"") "")
+                     (("gem \"bake-gem\"") "")
+                     (("gem \"utopia-project\"") ""))))
+               (add-before 'build 'remove-missing-signing-key
+                 (lambda _
+                   ;; Otherwise, the build fails with ENOENT.
+                   (substitute* "sus.gemspec"
+                     ((".*spec.signing_key.*") ""))))
+               (delete 'check)          ;moved after install
+               (add-after 'install 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (setenv "CONSOLE_LEVEL" "debug")
+                     (setenv "HOME" "/tmp")
+                     ;; 'bundle exec' must be used to workaround a problem
+                     ;; when using bake test and GEM_PATH (see:
+                     ;; https://github.com/ioquatix/bake/issues/11).
+                     (invoke "bundle" "exec" "bake" "test"))))
+               (add-before 'check 'set-paths
+                 (lambda _
+                   (setenv "PATH" (string-append (getenv "PATH") ":"
+                                                 #$output "/bin"))
+                   (setenv "GEM_PATH" (string-append
+                                       (getenv "GEM_PATH") ":"
+                                       #$output "/lib/ruby/vendor_ruby")))))))
+    (native-inputs (list ruby-bake-test ruby-bake-test-external ruby-covered))
+    (synopsis "Fast and scalable test runner for Ruby")
+    (description "This package provides a fast and scalable test runner for Ruby.")
+    (home-page "https://github.com/ioquatix/sus")
+    (license license:expat)))
+
 (define-public ruby-syntax-tree
   (package
     (name "ruby-syntax-tree")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:16 GMT) Full text and rfc822 format available.

Message #179 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 130/223] gnu: Add ruby-timers.
Date: Mon, 20 Mar 2023 13:22:16 -0400
* gnu/packages/ruby.scm (ruby-timers): 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 d63afbad2c..7fa86de56b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6370,6 +6370,52 @@ (define-public ruby-spinach
 define executable specifications of your code.")
     (license license:expat)))
 
+(define-public ruby-timers
+  (package
+    (name "ruby-timers")
+    (version "4.3.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/socketry/timers")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vvahlhk6i1xks1bsha6s64pjjxhagmzvvf1q9h6z3lpcba43rpx"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'build 'prune-gems.rb
+                 (lambda _
+                   (substitute* "gems.rb"
+                     ;; These are only required for maintenance.
+                     ((".*gem \"bake-modernize\".*") "")
+                     ((".*gem \"bake-gem\".*") "")
+                     ;; Not actually required by the tests.
+                     ((".*gem 'benchmark-ips'.*") "")
+                     ((".*gem \"ruby-prof\".*") ""))))
+               (add-before 'build 'remove-missing-signing-key
+                 (lambda _
+                   ;; Otherwise, the build fails with ENOENT.
+                   (substitute* "timers.gemspec"
+                     ((".*spec.signing_key.*") ""))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "bake" "test")))))))
+    (native-inputs
+     (list ruby-covered
+           ruby-bake-test
+           ruby-bake-test-external
+           ruby-sus))
+    (synopsis "Collection of Ruby timer classes")
+    (description "Timers offers a collections of one-shot and periodic timers,
+intended for use with event loops such as async.")
+    (home-page "https://github.com/socketry/timers")
+    (license license:expat)))
+
 (define-public ruby-tilt
   (package
     (name "ruby-tilt")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:16 GMT) Full text and rfc822 format available.

Message #182 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 078/223] gnu: Add ruby-rack-cache.
Date: Mon, 20 Mar 2023 13:14:10 -0400
* gnu/packages/ruby.scm (ruby-rack-cache): New variable.
---
 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 77cae8d78a..bda6e3f363 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7179,6 +7179,30 @@ (define-public ruby-rack-next
                 "0msf14655nfcq1kgmib6932lgzm9nw3nb0m3c7nh6nj4sx30yxfr"))))
     (arguments '())))
 
+(define-public ruby-rack-cache
+  (package
+    (name "ruby-rack-cache")
+    (version "1.13.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "rack-cache" version))
+              (sha256
+               (base32
+                "1cqpax628h2mhnsjfg91c3klxwx2pkvaj061cisb0saqa99b0jgm"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      ;; The test suite depends on ruby-memcached, which is not available in
+      ;; Guix and bundles a very dated copy of memcached (undesirable).
+      #:tests? #f))
+    (propagated-inputs (list ruby-rack))
+    (synopsis "Component to enable HTTP caching for Rack-based applications")
+    (description "Rack::Cache is suitable as a drop-in component to enable
+HTTP caching for Rack-based applications that produce freshness (Expires,
+Cache-Control) and/or validation (Last-Modified, ETag) information.")
+    (home-page "https://github.com/rtomayko/rack-cache")
+    (license license:expat)))
+
 (define-public ruby-rack-test
   (package
     (name "ruby-rack-test")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:17 GMT) Full text and rfc822 format available.

Message #185 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 127/223] gnu: Add ruby-bake-test.
Date: Mon, 20 Mar 2023 13:22:13 -0400
* gnu/packages/ruby.scm (ruby-bake-test): New variable.
---

 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4e687e7c20..30b117c77f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3792,6 +3792,28 @@ (define-public ruby-bake
     (home-page "https://github.com/ioquatix/bake")
     (license license:expat)))
 
+(define-public ruby-bake-test
+  (package
+    (name "ruby-bake-test")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "bake-test" version))
+              (sha256
+               (base32
+                "1p6kfpncj0s4zyynrrq6c735jvh0dnwyv7kfqym4rpyka4f85qdp"))))
+    (build-system ruby-build-system)
+    ;; XXX: Disable the test suite to avoid a circular dependency with
+    ;; ruby-sus.
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list ruby-bake))
+    (synopsis "Test suite automatic runner for Ruby")
+    (description "@command{bake-test} automatically discovers how to run local
+test suites for Ruby projects.  It supports @command{rspec}, @command{sus}, as
+well as @samp{rake}.")
+    (home-page "https://github.com/ioquatix/bake-test")
+    (license license:expat)))
+
 (define-public ruby-connection-pool
   (package
     (name "ruby-connection-pool")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:17 GMT) Full text and rfc822 format available.

Message #188 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 134/223] gnu: Add ruby-capybara.
Date: Mon, 20 Mar 2023 13:22:20 -0400
* gnu/packages/ruby.scm (ruby-capybara): New variable.
---

 gnu/packages/ruby.scm | 48 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 46 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 13d299fd3c..97ed984811 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1664,8 +1664,7 @@ (define-public ruby-rubocop-capybara
   (package
     (inherit ruby-rubocop-capybara-minimal)
     (arguments
-     (list #:tests? #t
-           #:test-target "spec"
+     (list #:test-target "spec"
            #:phases #~(modify-phases %standard-phases
                         (add-after 'unpack 'relax-requirements
                           (lambda _
@@ -11997,6 +11996,51 @@ (define-public ruby-cabin
     (home-page "https://github.com/jordansissel/ruby-cabin")
     (license license:asl2.0)))
 
+(define-public ruby-capybara
+  (package
+    (name "ruby-capybara")
+    (version "3.38.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "capybara" version))
+              (sha256
+               (base32
+                "123198zk2ak8mziwa5jc3ckgpmsg08zn064n3aywnqm9s1bwjv3v"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:tests? #f                ;sinatra is currently broken with rack 3
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'remove-extraneous-requirements
+                 (lambda _
+                   (substitute* "spec/spec_helper.rb"
+                     ((".*require 'selenium_statistics'.*") "")
+                     ((".*SeleniumStatistics.print_results.*") ""))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "rspec" "spec")))))))
+    (native-inputs
+     (list ruby-puma
+           ruby-rspec
+           ruby-selenium-webdriver
+           ruby-sinatra))
+    (propagated-inputs
+     (list ruby-addressable
+           ruby-launchy
+           ruby-matrix
+           ruby-mini-mime
+           ruby-nokogiri
+           ruby-rack
+           ruby-rack-test
+           ruby-regexp-parser
+           ruby-xpath))
+    (synopsis "Integration testing tool for rack-based web applications")
+    (description "Capybara is an integration testing tool for rack based web
+applications.  It simulates how a user would interact with a website.")
+    (home-page "https://github.com/teamcapybara/capybara")
+    (license license:expat)))
+
 (define-public ruby-cane
   (package
     (name "ruby-cane")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:17 GMT) Full text and rfc822 format available.

Message #191 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 135/223] gnu: Add ruby-rack-session.
Date: Mon, 20 Mar 2023 13:22:21 -0400
* gnu/packages/ruby.scm (ruby-rack-session): New variable.
---

 gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 97ed984811..965980a783 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7708,6 +7708,33 @@ (define-public ruby-rack-test
     (home-page "https://github.com/rack/rack-test")
     (license license:expat)))
 
+(define-public ruby-rack-session
+  (package
+    (name "ruby-rack-session")
+    ;; Stay on version 1 until all the rack users such as Rails can use rack 3
+    ;; (rack-session 2 requires rack 3).
+    (version "1.0.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/rack/rack-session")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0rv955wd7ckp5jgy5c229wmajh48jpcy8s0iv5i8ma61wf7qw0i1"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     (list ruby-minitest-global-expectations
+           ruby-minitest-sprint))
+    (propagated-inputs
+     (list ruby-rack))
+    (synopsis "Session management for Rack")
+    (description "This package provides a session management implementation
+for Rack.")
+    (home-page "https://github.com/rack/rack-session")
+    (license license:expat)))
+
 (define-public ruby-rack-protection
   (package
     (name "ruby-rack-protection")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:18 GMT) Full text and rfc822 format available.

Message #194 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 136/223] gnu: ruby-rubyzip: Update to 2.3.2.
Date: Mon, 20 Mar 2023 13:22:22 -0400
* gnu/packages/ruby.scm (ruby-rubyzip): Update to 2.3.2.
[arguments]: Streamline patch-tests phase.  Add disable-rubocop and
disable-problematic-tests phases.
---

 gnu/packages/ruby.scm | 82 ++++++++++++++++++++++++++++---------------
 1 file changed, 53 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 965980a783..0e1fc0d3d5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3515,35 +3515,59 @@ (define-public ruby-rubygems-tasks
 
 (define-public ruby-rubyzip
   (package
-  (name "ruby-rubyzip")
-  (version "1.2.1")
-  (source
-    (origin
-      (method url-fetch)
-      (uri (rubygems-uri "rubyzip" version))
-      (sha256
-        (base32
-          "06js4gznzgh8ac2ldvmjcmg9v1vg9llm357yckkpylaj6z456zqz"))))
-  (build-system ruby-build-system)
-  (arguments
-   '(#:phases
-     (modify-phases %standard-phases
-       (add-before 'check 'patch-tests
-         (lambda* (#:key inputs #:allow-other-keys)
-           (substitute* "test/gentestfiles.rb"
-             (("/usr/bin/zip")
-              (string-append
-               (assoc-ref inputs "zip") "/bin/zip")))
-           (substitute* "test/input_stream_test.rb"
-             (("/usr/bin/env ruby") (which "ruby")))
-           #t)))))
-  (native-inputs
-   (list bundler ruby-simplecov zip unzip))
-  (synopsis "Ruby module is for reading and writing zip files")
-  (description
-    "The rubyzip module provides ways to read from and create zip files.")
-  (home-page "https://github.com/rubyzip/rubyzip")
-  (license license:bsd-2)))
+    (name "ruby-rubyzip")
+    (version "2.3.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rubyzip/rubyzip")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "03p8c990n6c1r4g64w0vv7z2iaswisl07l2f1lbh1s78cvmlmfxx"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-rubocop
+           (lambda _
+             (substitute* "Rakefile"
+               (("require 'rubocop/rake_task'") "")
+               (("RuboCop::RakeTask.new") ""))))
+         (add-before 'check 'patch-tests
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "test/gentestfiles.rb"
+               (("/usr/bin/zip") (which "zip")))
+             (substitute* "test/input_stream_test.rb"
+               (("/usr/bin/env ruby") (which "ruby")))))
+         (add-before 'check 'disable-problematic-tests
+           (lambda _
+             (let-syntax ((skip-tests
+                           (syntax-rules ()
+                             ((_ file test ...)
+                              (substitute* file
+                                (((string-append "def " test ".*") all)
+                                 (string-append
+                                  all "    skip('fails on guix')\n")) ...)))))
+               ;; The test failures were reported here:
+               ;; https://github.com/rubyzip/rubyzip/issues/552.
+               (skip-tests "test/stored_support_test.rb"
+                           "test_read")
+               (skip-tests "test/stored_support_test.rb"
+                           "test_encrypted_read")
+               (skip-tests "test/output_stream_test.rb"
+                           "test_put_next_entry_using_zip_entry_creates_\
+entries_with_correct_timestamps")
+               (skip-tests "test/file_options_test.rb"
+                           "test_restore_times_true")))))))
+    (native-inputs
+     (list bundler ruby-simplecov zip unzip))
+    (synopsis "Ruby module is for reading and writing zip files")
+    (description
+     "The rubyzip module provides ways to read from and create zip files.")
+    (home-page "https://github.com/rubyzip/rubyzip")
+    (license license:bsd-2)))
 
 (define-public ruby-simplecov-html
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:18 GMT) Full text and rfc822 format available.

Message #197 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 138/223] gnu: Add ruby-event-emitter.
Date: Mon, 20 Mar 2023 13:22:24 -0400
* gnu/packages/ruby.scm (ruby-event-emitter): New variable.
---

 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0e1fc0d3d5..612dc452eb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9552,6 +9552,29 @@ (define-public ruby-pygmentize
     (home-page "https://github.com/djanowski/pygmentize")
     (license license:expat)))
 
+(define-public ruby-event-emitter
+  (package
+    (name "ruby-event-emitter")
+    (version "0.2.6")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "event_emitter" version))
+              (sha256
+               (base32
+                "148k9qv8102l3m6klc24dwip79f9y4bjr5z19dckd7ffbjyrf9n7"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'extract-gemspec 'relax-requirements
+                          (lambda _
+                            (substitute* "event_emitter.gemspec"
+                              (("~> 1.15") ">= 1.15")))))))
+    (synopsis "Ruby port of EventEmitter from Node.js")
+    (description
+     "This package provides a Ruby port of EventEmitter from Node.js.")
+    (home-page "https://shokai.github.io/event_emitter/")
+    (license license:expat)))
+
 (define-public ruby-eventmachine
   (package
     (name "ruby-eventmachine")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:19 GMT) Full text and rfc822 format available.

Message #200 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 137/223] gnu: ruby-actionpack: Update to 7.0.4.3 and enable
 test suite.
Date: Mon, 20 Mar 2023 13:22:23 -0400
* gnu/packages/rails.scm (ruby-actionpack): Update to 7.0.4.3.
[source]: Use ruby-rails-monorepo.
[arguments]: Delete #:tests? argument.  Add #:phases argument.
[native-inputs]: New field.
[propagated-inputs]: Add ruby-rack-cache and ruby-rack-session.
---

 gnu/packages/rails.scm | 106 +++++++++++++++++++++++++++++++----------
 1 file changed, 81 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index bff4e09264..d3712a93c9 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -468,32 +468,88 @@ (define-public ruby-actionview
 
 (define-public ruby-actionpack
   (package
-   (name "ruby-actionpack")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "actionpack" version))
-     (sha256
-      (base32
-       "030yyaskzlic5cp4d9zbwwr3rhf4k6hsls44a7ihsfd6r8mlivq5"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-actionview
-          ruby-activesupport
-          ruby-rack
-          ruby-rack-test
-          ruby-rails-dom-testing
-          ruby-rails-html-sanitizer))
-   (synopsis "Conventions for building and testing MVC web applications")
-   (description
-    "ActionPack provides conventions for building and testing MVC web
+    (name "ruby-actionpack")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "actionpack")))
+          (add-before 'check 'delete-problematic-tests
+            (lambda _
+              (let-syntax ((skip-tests
+                            (syntax-rules ()
+                              ((_ file test ...)
+                               (substitute* file
+                                 ;; ActiveSupport test case.
+                                 (((string-append "test \"" test "\".*") all)
+                                  (string-append
+                                   all "    skip    'fails on guix'\n")) ...
+                                 ;; MiniTest test case.
+                                 (((string-append "def " test ".*") all)
+                                  (string-append
+                                   all "    skip('fails on guix')\n")) ...)))))
+
+                (with-directory-excursion "test"
+                  (for-each delete-file
+                            ;; These tests depend on rails, which depends on
+                            ;; this package.
+                            '("dispatch/mount_test.rb"
+                              "dispatch/prefix_generation_test.rb"
+                              "dispatch/routing_assertions_test.rb"
+                              "dispatch/routing/inspector_test.rb"
+                              "controller/live_stream_test.rb"
+                              "controller/integration_test.rb"
+                              "controller/test_case_test.rb"))
+
+                  ;; The following test failures have been reported upstream
+                  ;; (see: https://github.com/rails/rails/issues/47615).
+                  (skip-tests "controller/new_base/render_streaming_test.rb"
+                              ;; These tests fail due to white space
+                              ;; characters in the compared strings.
+                              "rendering with streaming no layout"
+                              "rendering with streaming enabled at the \
+class level"
+                              "rendering with streaming given to render"
+                              "rendering with layout exception"
+                              "rendering with template exception"
+                              "rendering with streaming do not override \
+explicit cache control given to render")
+
+                  (skip-tests "dispatch/system_testing/driver_test.rb"
+                              ;; These tests require Firefox.
+                              "define extra capabilities using headless_firefox"
+                              "define extra capabilities using firefox")
+
+                  (skip-tests "dispatch/session/cache_store_test.rb"
+                              ;; This test fails with: "NoMethodError:
+                              ;; undefined method `hash_for' for
+                              ;; #<Rack::Test::CookieJar:0x0000000003572170>".
+                              "test_getting_session_value_after_session_reset"))))))))
+    (native-inputs
+     (list ruby-activemodel
+           ruby-capybara
+           ruby-selenium-webdriver
+           ruby-zeitwerk))
+    (propagated-inputs
+     (list ruby-actionview
+           ruby-activesupport
+           ruby-rack
+           ruby-rack-cache
+           ruby-rack-session
+           ruby-rack-test
+           ruby-rails-dom-testing
+           ruby-rails-html-sanitizer))
+    (synopsis "Conventions for building and testing MVC web applications")
+    (description
+     "ActionPack provides conventions for building and testing MVC web
 applications.  These work with any Rack-compatible server.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
 
 (define-public ruby-actioncable
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:19 GMT) Full text and rfc822 format available.

Message #203 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 139/223] gnu: Add ruby-websocket-native.
Date: Mon, 20 Mar 2023 13:22:25 -0400
* gnu/packages/ruby.scm (ruby-websocket-native): New variable.
---

 gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 612dc452eb..a78c7462a1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10169,6 +10169,35 @@ (define-public ruby_version
     (home-page "https://github.com/janlelis/ruby_version")
     (license license:expat)))
 
+(define-public ruby-websocket-native
+  (package
+    (name "ruby-websocket-native")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "websocket-native" version))
+              (sha256
+               (base32
+                "1kgvd3gyzh7hk0ddzn85jrs4csxm54qnvla95ldyn6rzgfbjchdn"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-before 'check 'disable-problematic-tests
+                          (lambda _
+                            (substitute* "spec/websocket_spec.rb"
+                              (("it \"should have mask_native defined\"" all)
+                               (string-append "x" all)))))
+                        (add-after 'build 'compile
+                          (lambda _
+                            (invoke "rake" "compile"))))))
+    (native-inputs (list ruby-rake-compiler ruby-rspec))
+    (synopsis "Native Ruby extension for the WebSocket gem")
+    (description "This package provides a native extension that can increase
+performance by about 25% compared to the pure Ruby WebSocket implementation.")
+    (home-page "https://github.com/imanel/websocket-ruby-native")
+    (license license:expat)))
+
 (define-public ruby-websocket-driver
   (package
    (name "ruby-websocket-driver")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:20 GMT) Full text and rfc822 format available.

Message #206 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 140/223] gnu: Add ruby-websocket-eventmachine-base.
Date: Mon, 20 Mar 2023 13:22:26 -0400
* gnu/packages/ruby.scm (ruby-websocket-eventmachine-base): New variable.
---

 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a78c7462a1..83176a134e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10169,6 +10169,27 @@ (define-public ruby_version
     (home-page "https://github.com/janlelis/ruby_version")
     (license license:expat)))
 
+(define-public ruby-websocket-eventmachine-base
+  (package
+    (name "ruby-websocket-eventmachine-base")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "websocket-eventmachine-base" version))
+              (sha256
+               (base32
+                "0wiz61mcwgs3k21cdr5l9b4jpg29gl6mflfampww2v525yc3hr1r"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:tests? #f)) ;no test suite
+    (propagated-inputs (list ruby-eventmachine ruby-websocket
+                             ruby-websocket-native))
+    (synopsis "WebSocket base for Ruby client and server")
+    (description "This package provides a WebSocket base for a Ruby client and
+server.")
+    (home-page "https://github.com/imanel/websocket-eventmachine-base")
+    (license license:expat)))
+
 (define-public ruby-websocket-native
   (package
     (name "ruby-websocket-native")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:20 GMT) Full text and rfc822 format available.

Message #209 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 141/223] gnu: Add ruby-websocket-eventmachine-server.
Date: Mon, 20 Mar 2023 13:22:27 -0400
* gnu/packages/ruby.scm (ruby-websocket-eventmachine-server): New variable.
---

 gnu/packages/ruby.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 83176a134e..aa1b5a22c0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10190,6 +10190,25 @@ (define-public ruby-websocket-eventmachine-base
     (home-page "https://github.com/imanel/websocket-eventmachine-base")
     (license license:expat)))
 
+(define-public ruby-websocket-eventmachine-server
+  (package
+    (name "ruby-websocket-eventmachine-server")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "websocket-eventmachine-server" version))
+              (sha256
+               (base32
+                "0iqpzc8s028nck1flqaj784gvyn64wy1h3svpa4y2847wklg8sms"))))
+    (build-system ruby-build-system)
+    ;; TODO: The test suite requires Autobahn, not yet packaged in Guix.
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list ruby-websocket-eventmachine-base))
+    (synopsis "WebSocket server for Ruby")
+    (description "This package provides a WebSocket server for Ruby.")
+    (home-page "https://github.com/imanel/websocket-eventmachine-server")
+    (license license:expat)))
+
 (define-public ruby-websocket-native
   (package
     (name "ruby-websocket-native")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:20 GMT) Full text and rfc822 format available.

Message #212 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 142/223] gnu: Add ruby-websocket-client-simple.
Date: Mon, 20 Mar 2023 13:22:28 -0400
* gnu/packages/ruby.scm (ruby-websocket-client-simple): New variable.
---

 gnu/packages/ruby.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index aa1b5a22c0..2ce20d24d2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10169,6 +10169,25 @@ (define-public ruby_version
     (home-page "https://github.com/janlelis/ruby_version")
     (license license:expat)))
 
+(define-public ruby-websocket-client-simple
+  (package
+    (name "ruby-websocket-client-simple")
+    (version "0.6.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "websocket-client-simple" version))
+              (sha256
+               (base32
+                "1ypl4xvlh5c99zbn20sifv7gv04zi20ly464vsgikfrpn5f37bid"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "default"))
+    (native-inputs (list ruby-eventmachine ruby-websocket-eventmachine-server))
+    (propagated-inputs (list ruby-event-emitter ruby-websocket))
+    (synopsis "Simple WebSocket client for Ruby")
+    (description "This package provides a simple WebSocket client for Ruby.")
+    (home-page "https://github.com/ruby-jp/websocket-client-simple")
+    (license license:expat)))
+
 (define-public ruby-websocket-eventmachine-base
   (package
     (name "ruby-websocket-eventmachine-base")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:21 GMT) Full text and rfc822 format available.

Message #215 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 147/223] gnu: ruby-marcel: Enable tests.
Date: Mon, 20 Mar 2023 13:22:33 -0400
* gnu/packages/rails.scm (ruby-marcel) [source]: Fetch from git.
[arguments]: Drop #:tests?. Add #:phases.
[native-inputs]: New field.
---

 gnu/packages/rails.scm | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 9638aee3ae..540c69ec2f 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -730,19 +730,30 @@ (define-public ruby-marcel
   (package
     (name "ruby-marcel")
     (version "1.0.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "marcel" version))
-       (sha256
-        (base32
-         "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0"))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rails/marcel")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1i1x24afmn09n48fj4yz2pdm6vlfnq14gism0cgxsyqmlrvsxajn"))))
     (build-system ruby-build-system)
     (arguments
-     '(;; No included tests
-       #:tests? #f))
-    (propagated-inputs
-     (list ruby-mimemagic))
+     (list #:test-target "default"
+           #:phases #~(modify-phases %standard-phases
+                        (add-before 'check 'disable-problematic-tests
+                          (lambda _
+                            (substitute* "test/mime_type_test.rb"
+                              ;; One test fails because of the newer rack
+                              ;; version used (see:
+                              ;; https://github.com/rails/marcel/issues/91).
+                              (("test \"gets content type.*" all)
+                               (string-append
+                                all "    skip('fails on guix')\n"))))))))
+    (native-inputs (list ruby-byebug ruby-nokogiri ruby-rack))
+    (propagated-inputs (list ruby-mimemagic))
     (synopsis "MIME type detection using magic numbers, filenames and extensions")
     (description
      "@code{marcel} provides @acronym{MIME, Multipurpose Internet Mail
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:21 GMT) Full text and rfc822 format available.

Message #218 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 048/223] gnu: Add ruby-cucumber-ci-environment.
Date: Mon, 20 Mar 2023 13:13:40 -0400
* gnu/packages/ruby.scm (ruby-cucumber-ci-environment): New variable.
---
 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 403c3d0520..d022151451 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8233,6 +8233,29 @@ (define-public ruby-cucumber-html-formatter
     (home-page "https://github.com/cucumber/html-formatter")
     (license license:expat)))
 
+(define-public ruby-cucumber-ci-environment
+  (package
+    (name "ruby-cucumber-ci-environment")
+    (version "9.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "cucumber-ci-environment" version))
+              (sha256
+               (base32
+                "1nmn2hfrjlbazgcryr3hwvsa5v4csfbjqxb4q7wbjhaxl9xxn0k7"))))
+    (build-system ruby-build-system)
+    (arguments (list #:phases #~(modify-phases %standard-phases
+                                  (replace 'check
+                                    (lambda* (#:key tests? #:allow-other-keys)
+                                      (when tests?
+                                        (invoke "rspec")))))))
+    (native-inputs (list ruby-rspec))
+    (synopsis "Detect CI Environment from environment variables")
+    (description "This is a Ruby utility library for Cucumber that detects a
+CI environment from environment variables.")
+    (home-page "https://github.com/cucumber/ci-environment")
+    (license license:expat)))
+
 (define-public ruby-cucumber
   (package
     (name "ruby-cucumber")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:22 GMT) Full text and rfc822 format available.

Message #221 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 150/223] gnu: Add ruby-timeout.
Date: Mon, 20 Mar 2023 13:22:36 -0400
* gnu/packages/ruby.scm (ruby-timeout): New variable.
---

 gnu/packages/ruby.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index df42b713b8..38248841eb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13518,6 +13518,26 @@ (define-public ruby-sinatra
     (home-page "https://sinatrarb.com/")
     (license license:expat)))
 
+(define-public ruby-timeout
+  (package
+    (name "ruby-timeout")
+    (version "0.3.2")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby/timeout")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0lzhs2c4znzg781w146dhvczhbx7h3wkb90i4v6h68zvm2zfylgj"))))
+    (build-system ruby-build-system)
+    (synopsis "Timeout library for Ruby")
+    (description "Timeout provides a way to auto-terminate a potentially
+long-running operation if it hasn't finished in a fixed amount of time.")
+    (home-page "https://github.com/ruby/timeout")
+    (license (list license:bsd-2))))
+
 (define-public ruby-thin
   (package
     (name "ruby-thin")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:22 GMT) Full text and rfc822 format available.

Message #224 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 152/223] gnu: Add ruby-date.
Date: Mon, 20 Mar 2023 13:22:38 -0400
* gnu/packages/ruby.scm (ruby-date): New variable.
---

 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dc23a52f6c..b309c30d0b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -670,6 +670,28 @@ (define-public ruby-rspec-core-2
                 "0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc"))))
     (propagated-inputs `())))
 
+(define-public ruby-date
+  (package
+    (name "ruby-date")
+    (version "3.3.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ruby/date")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jiqjnaap1jk1r8z37iicnzqha1rhc713qmcir17f4vnz8ac8v75"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "default"))
+    (native-inputs (list ruby-rake-compiler))
+    (synopsis "Ruby @code{Object} subclass with date comparison capability")
+    (description "This package provides a subclass of @code{Object} that
+includes the @code{Comparable} module for handling dates.")
+    (home-page "https://github.com/ruby/date")
+    (license license:bsd-2)))
+
 (define-public ruby-diff-lcs
   (package
     (name "ruby-diff-lcs")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:23 GMT) Full text and rfc822 format available.

Message #227 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 090/223] gnu: Add ruby-concurrent-ruby.
Date: Mon, 20 Mar 2023 13:14:22 -0400
* gnu/packages/ruby.scm (ruby-concurrent-ruby): New variable.
---
 gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2a1fb7a1f5..a1a4521805 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10474,6 +10474,44 @@ (define-public ruby-concurrent
     (home-page "http://www.concurrent-ruby.com")
     (license license:expat)))
 
+(define-public ruby-concurrent-ruby
+  (package
+    (name "ruby-concurrent-ruby")
+    (version "1.2.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference       ;for tests
+                    (url "https://github.com/ruby-concurrency/concurrent-ruby")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vz4rl0nplq14dk9nx45g59i1sk2h53w1mjlrdiyjf780q4a1i38"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:tests? #f  ;the test suite is run in ruby-concurrent-ruby-edge
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'delete-unwanted-gemspecs
+                     (lambda _
+                       (for-each delete-file
+                                 '("concurrent-ruby-ext.gemspec"
+                                   "concurrent-ruby-edge.gemspec"))))
+                   (add-after 'unpack 'do-not-install-concurrent_ruby.jar
+                     (lambda _
+                       ;; This file is only built when building the Java
+                       ;; extension.
+                       (substitute* "concurrent-ruby.gemspec"
+                         (("'lib/concurrent-ruby/concurrent/concurrent_ruby.jar'")
+                          "")))))))
+    (synopsis "Concurrency library for Ruby")
+    (description "Concurrent Ruby includes concurrency tools such as agents,
+futures, promises, thread pools, actors, supervisors, and more.  It is
+inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency
+patterns.")
+    (home-page "https://github.com/ruby-concurrency/concurrent-ruby")
+    (license license:expat)))
+
 (define-public ruby-pkg-config
   (package
     (name "ruby-pkg-config")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:23 GMT) Full text and rfc822 format available.

Message #230 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 149/223] gnu: ruby-actiontext: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:22:35 -0400
* gnu/packages/rails.scm (ruby-actiontext): Update to 7.0.4.3.
[source]: Use ruby-rail-monorepo.
[arguments]: Add #:phases argument.
---

 gnu/packages/rails.scm | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 6c41466ac3..6e26c8966a 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -415,21 +415,23 @@ (define-public ruby-rails-dom-testing
 (define-public ruby-actiontext
   (package
     (name "ruby-actiontext")
-    (version "6.1.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (rubygems-uri "actiontext" version))
-        (sha256
-         (base32
-          "04k4z4xj40sbzbgx0x9m6i8k0nc22jb6dkrlslj16p2z2dfnwhqg"))))
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
     (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
+    (arguments
+     (list
+      #:tests? #f                       ;avoid a cycle with ruby-rails
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "actiontext"))))))
     (propagated-inputs
-     (list ruby-actionpack ruby-activerecord ruby-activestorage
-           ruby-activesupport ruby-nokogiri))
+     (list ruby-actionpack
+           ruby-activerecord
+           ruby-activestorage
+           ruby-activesupport
+           ruby-nokogiri))
     (synopsis "Edit and display rich text in Rails applications")
     (description
      "ActionText edits and displays rich text in Rails applications.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:23 GMT) Full text and rfc822 format available.

Message #233 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 157/223] gnu: ruby-actionmailer: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:22:43 -0400
* gnu/packages/rails.scm (ruby-actionmailer): Update to 7.0.4.3.
[source]: Use ruby-rail-monorepo.
[arguments]: Add #:phases argument.
[propagated-inputs]: Add ruby-net-imap, ruby-net-pop and ruby-net-smtp.
---

 gnu/packages/rails.scm | 52 ++++++++++++++++++++++--------------------
 1 file changed, 27 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 86ef853ca9..26a1ffc121 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -704,32 +704,34 @@ (define-public ruby-actionmailbox
 
 (define-public ruby-actionmailer
   (package
-   (name "ruby-actionmailer")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "actionmailer" version))
-     (sha256
-      (base32
-       "0lic4mc6wqi3p9ipdqljl64vd9ndabm0k8hww0m07sfdhwsl5ba9"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-actionpack
-          ruby-actionview
-          ruby-activejob
-          ruby-activesupport
-          ruby-mail
-          ruby-rails-dom-testing))
-   (synopsis "Work with emails using the controller/view pattern")
-   (description
-    "Compose, deliver, receive, and test emails using the controller/view
+    (name "ruby-actionmailer")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ;avoid a cycle with ruby-rails
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "actionmailer"))))))
+    (propagated-inputs
+     (list ruby-actionpack
+           ruby-actionview
+           ruby-activejob
+           ruby-activesupport
+           ruby-mail
+           ruby-net-imap
+           ruby-net-pop
+           ruby-net-smtp
+           ruby-rails-dom-testing))
+    (synopsis "Work with emails using the controller/view pattern")
+    (description
+     "Compose, deliver, receive, and test emails using the controller/view
 pattern.  Including support for multipart email and attachments.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
 
 (define-public ruby-marcel
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:24 GMT) Full text and rfc822 format available.

Message #236 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 151/223] gnu: Add ruby-net-protocol.
Date: Mon, 20 Mar 2023 13:22:37 -0400
* gnu/packages/ruby.scm (ruby-net-protocol): New variable.
---

 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 38248841eb..dc23a52f6c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -11340,6 +11340,27 @@ (define-public ruby-mail
     (home-page "https://github.com/mikel/mail")
     (license license:expat)))
 
+(define-public ruby-net-protocol
+  (package
+    (name "ruby-net-protocol")
+    (version "0.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ruby/net-protocol")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0niivmjx7bc6vsylc1ag17mw6mnvjxw02s7cin1f0422xyr8msq9"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-timeout))
+    (synopsis "Abstract interface for Ruby network clients")
+    (description "This Ruby library provides an abstract interface for network
+clients.")
+    (home-page "https://github.com/ruby/net-protocol")
+    (license (list license:bsd-2))))
+
 (define-public ruby-email-reply-trimmer
   (package
     (name "ruby-email-reply-trimmer")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:24 GMT) Full text and rfc822 format available.

Message #239 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 062/223] gnu: ruby-actionview: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:13:54 -0400
* gnu/packages/rails.scm (ruby-actionview): Update to 7.0.4.3.
[source]: Use ruby-rails-monorepo.
[arguments]: Add explanatory comment w.r.t. disabling tests.  Add the #:phases
and #:test-target arguments.
[propagated-inputs]: Re-indent.
---
 gnu/packages/rails.scm | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 4dc9392201..338c92ddaa 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -438,21 +438,27 @@ (define-public ruby-actiontext
 (define-public ruby-actionview
   (package
    (name "ruby-actionview")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "actionview" version))
-     (sha256
-      (base32
-       "1s5kc1abi7id1g54lz1npgc42zl7pbz172wp8pi7j3s7qljafzw5"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      ;; XXX: This gem appears to load action_controller, provided by
+      ;; ruby-actionpack, but actionpack propagates ruby-actionview,
+      ;; introducing a circular dependency.
+      #:tests? #f
+      #:test-target "test:template"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "actionview"))))))
    (propagated-inputs
-    (list ruby-activesupport ruby-builder ruby-erubi
-          ruby-rails-dom-testing ruby-rails-html-sanitizer))
+    (list ruby-activesupport
+          ruby-builder
+          ruby-erubi
+          ruby-rails-dom-testing
+          ruby-rails-html-sanitizer))
    (synopsis "Conventions and helpers for building web pages")
    (description
     "ActionView provides conventions and helpers for building web pages in
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:25 GMT) Full text and rfc822 format available.

Message #242 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 153/223] gnu: Add ruby-net-imap.
Date: Mon, 20 Mar 2023 13:22:39 -0400
* gnu/packages/ruby.scm (ruby-net-imap): New variable.
---

 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b309c30d0b..1544b40224 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4015,6 +4015,41 @@ (define-public ruby-net-http-persistent
     (home-page "https://github.com/drbrain/net-http-persistent")
     (license license:expat)))
 
+(define-public ruby-net-imap
+  (package
+    (name "ruby-net-imap")
+    (version "0.3.4")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby/net-imap")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0nx49i1n9q1wpancqaac2srrpb8mb43mc8wryyqyhpgki2grwyxw"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; The test suite appears to rely on RFCs it tries fetching from the
+     ;; network (see: https://github.com/ruby/net-imap/issues/136).
+     (list #:tests? #f
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'replace-git-ls-files 'adjust-for-git-ls-files
+                 (lambda _
+                   ;; Adjust the git ls-files invocation so that it matches
+                   ;; the expected pattern.
+                   (substitute* "net-imap.gemspec"
+                     (("`git ls-files -z 2>/dev/null`")
+                      "`git ls-files -z`")))))))
+    (propagated-inputs (list ruby-date ruby-net-protocol))
+    (synopsis "Ruby client api for Internet Message Access Protocol")
+    (description "@code{Net::IMAP} implements Internet Message Access
+Protocol (IMAP) client functionality.  The protocol is described in
+@url{https://tools.ietf.org/html/rfc3501, IMAP}.")
+    (home-page "https://github.com/ruby/net-imap")
+    (license license:bsd-2)))
+
 (define-public ruby-power-assert
   (package
     (name "ruby-power-assert")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:25 GMT) Full text and rfc822 format available.

Message #245 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 159/223] gnu: ruby-sprockets: Move to (gnu packages rails).
Date: Mon, 20 Mar 2023 13:22:45 -0400
* gnu/packages/ruby.scm (ruby-sprockets): Move to...
* gnu/packages/rails.scm (ruby-sprockets): ... here.
---

 gnu/packages/rails.scm | 24 ++++++++++++++++++++++++
 gnu/packages/ruby.scm  | 24 ------------------------
 2 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 26a1ffc121..efe4a57f31 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -792,6 +792,30 @@ (define-public ruby-railties
     (home-page "https://rubyonrails.org")
     (license license:expat)))
 
+(define-public ruby-sprockets
+  (package
+    (name "ruby-sprockets")
+    (version "4.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "sprockets" version))
+       (sha256
+        (base32
+         "0k0236g4h3ax7v6vp9k0l2fa0w6f1wqp7dn060zm4isw4n3k89sw"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     (list ruby-concurrent ruby-rack))
+    (synopsis "Sprockets is a Rack-based asset packaging system")
+    (description
+     "Sprockets is a Rack-based asset packaging system that concatenates and
+serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.")
+    (home-page "https://github.com/rails/sprockets")
+    (license license:expat)))
+
 (define-public ruby-sprockets-rails
   (package
    (name "ruby-sprockets-rails")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 16ddbe7071..d47c630169 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13238,30 +13238,6 @@ (define-public ruby-globalid
    (home-page "https://rubyonrails.org/")
    (license license:expat)))
 
-(define-public ruby-sprockets
-  (package
-    (name "ruby-sprockets")
-    (version "4.2.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "sprockets" version))
-       (sha256
-        (base32
-         "0k0236g4h3ax7v6vp9k0l2fa0w6f1wqp7dn060zm4isw4n3k89sw"))))
-    (build-system ruby-build-system)
-    (arguments
-     '(;; No included tests
-       #:tests? #f))
-    (propagated-inputs
-     (list ruby-concurrent ruby-rack))
-    (synopsis "Sprockets is a Rack-based asset packaging system")
-    (description
-     "Sprockets is a Rack-based asset packaging system that concatenates and
-serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.")
-    (home-page "https://github.com/rails/sprockets")
-    (license license:expat)))
-
 (define-public ruby-language-server-protocol
   (package
     (name "ruby-language-server-protocol")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:26 GMT) Full text and rfc822 format available.

Message #248 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 156/223] gnu: ruby-actionmailbox: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:22:42 -0400
* gnu/packages/rails.scm (ruby-actionmailbox): Update to 7.0.4.3.
[source]: Use ruby-rail-monorepo.
[arguments]: Add #:phases argument.
[propagated-inputs]: Add ruby-net-imap, ruby-net-pop and ruby-net-smtp.
---

 gnu/packages/rails.scm | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 6e26c8966a..86ef853ca9 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -675,25 +675,27 @@ (define-public ruby-activestorage
 (define-public ruby-actionmailbox
   (package
     (name "ruby-actionmailbox")
-    (version "6.1.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (rubygems-uri "actionmailbox" version))
-        (sha256
-         (base32
-         "0wv2p24xn4f0kj8kiyagkn934hzrcp98vzjqxwd4r75qq0cijadp"))))
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
     (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
+    (arguments
+     (list
+      #:tests? #f                       ;avoid a cycle with ruby-rails
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "actionmailbox"))))))
     (propagated-inputs
      (list ruby-actionpack
            ruby-activejob
            ruby-activerecord
            ruby-activestorage
            ruby-activesupport
-           ruby-mail))
+           ruby-mail
+           ruby-net-imap
+           ruby-net-pop
+           ruby-net-smtp))
     (synopsis "Receive and process incoming emails in Rails applications")
     (description
      "ActionMailbox receives and processes incoming emails in Rails applications.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:26 GMT) Full text and rfc822 format available.

Message #251 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 162/223] gnu: ruby-globalid: Update to 1.1.0.
Date: Mon, 20 Mar 2023 13:22:48 -0400
* gnu/packages/ruby.scm (ruby-globalid): Update to 1.1.0.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d47c630169..f7d663f931 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13217,14 +13217,14 @@ (define-public ruby-nio4r
 (define-public ruby-globalid
   (package
    (name "ruby-globalid")
-   (version "0.4.2")
+   (version "1.1.0")
    (source
     (origin
      (method url-fetch)
      (uri (rubygems-uri "globalid" version))
      (sha256
       (base32
-       "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1"))))
+       "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk"))))
    (build-system ruby-build-system)
    (arguments
     '(;; No included tests
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:26 GMT) Full text and rfc822 format available.

Message #254 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 099/223] gnu: ruby-octokit: Update to 6.1.0.
Date: Mon, 20 Mar 2023 13:14:31 -0400
* gnu/packages/ruby.scm (ruby-octokit): Update to 6.1.0.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1af6fe4354..3f828cd351 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7905,14 +7905,14 @@ (define-public ruby-sawyer
 (define-public ruby-octokit
   (package
     (name "ruby-octokit")
-    (version "4.18.0")
+    (version "6.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "octokit" version))
        (sha256
         (base32
-         "0zvfr9njmj5svi39fcsi2b0g7pcxb0vamw9dlyas8bg814jlzhi6"))))
+         "03i37mdhwlm5y6piqaby0izrhda9m5ggbrmm62ww3ln2l86h78l2"))))
     (build-system ruby-build-system)
     (arguments '(#:tests? #f))          ;no test suite in the gem release
     (propagated-inputs
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:27 GMT) Full text and rfc822 format available.

Message #257 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 163/223] gnu: ruby-globalid: Move to (gnu packages rails).
Date: Mon, 20 Mar 2023 13:22:49 -0400
* gnu/packages/ruby.scm (ruby-globalid): Move to...
* gnu/packages/rails.scm (ruby-globalid): ... here, with minor cosmetic
adjustments.
---

 gnu/packages/rails.scm | 23 +++++++++++++++++++++++
 gnu/packages/ruby.scm  | 24 ------------------------
 2 files changed, 23 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 33c0af70b2..802c4b9dec 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -113,6 +113,29 @@ (define-public ruby-activesupport
     (home-page "https://rubyonrails.org/")
     (license license:expat)))
 
+(define-public ruby-globalid
+  (package
+    (name "ruby-globalid")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "globalid" version))
+       (sha256
+        (base32
+         "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(#:tests? #f))                    ;no included tests
+    (propagated-inputs
+     (list ruby-activesupport))
+    (synopsis "Generate URIs idenfitying model instances in Ruby")
+    (description
+     "@code{GlobalID} provides a way to generate URIs from a model in Ruby that
+uniquely identify it.")
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
+
 (define-public ruby-spring
   (package
     (name "ruby-spring")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f7d663f931..4bc2439192 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13214,30 +13214,6 @@ (define-public ruby-nio4r
    (home-page "https://github.com/socketry/nio4r")
    (license license:expat)))
 
-(define-public ruby-globalid
-  (package
-   (name "ruby-globalid")
-   (version "1.1.0")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "globalid" version))
-     (sha256
-      (base32
-       "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-activesupport))
-   (synopsis "Generate URIs idenfitying model instances in Ruby")
-   (description
-    "@code{GlobalID} provides a way to generate URIs from a model in Ruby that
-uniquely identify it.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
-
 (define-public ruby-language-server-protocol
   (package
     (name "ruby-language-server-protocol")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:27 GMT) Full text and rfc822 format available.

Message #260 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 158/223] gnu: ruby-sprockets: Update to 4.2.0.
Date: Mon, 20 Mar 2023 13:22:44 -0400
* gnu/packages/ruby.scm (ruby-sprockets): Update to 4.2.0.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2927509d56..16ddbe7071 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13241,14 +13241,14 @@ (define-public ruby-globalid
 (define-public ruby-sprockets
   (package
     (name "ruby-sprockets")
-    (version "3.7.2")
+    (version "4.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "sprockets" version))
        (sha256
         (base32
-         "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"))))
+         "0k0236g4h3ax7v6vp9k0l2fa0w6f1wqp7dn060zm4isw4n3k89sw"))))
     (build-system ruby-build-system)
     (arguments
      '(;; No included tests
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:27 GMT) Full text and rfc822 format available.

Message #263 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 164/223] gnu: Add ruby-importmap-rails.
Date: Mon, 20 Mar 2023 13:22:50 -0400
* gnu/packages/rails.scm (ruby-importmap-rails-bootstrap): New private variable.
(ruby-importmap-rails): New variable.
---

 gnu/packages/rails.scm | 73 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 802c4b9dec..4abecb8409 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -26,6 +26,7 @@ (define-module (gnu packages rails)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages base)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages node)
@@ -795,6 +796,78 @@ (define-public ruby-bootsnap
     (home-page "https://github.com/Shopify/bootsnap")
     (license license:expat)))
 
+;;; A private variant used to bootstrap railties.
+(define ruby-importmap-rails-bootstrap
+  (package
+    (name "ruby-importmap-rails-bootstrap")
+    (version "1.1.5")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/rails/importmap-rails")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1d8pqqqrvsnm8rpr7qkpcxpscif61xymi509v1c62laadvhcmklg"))))
+    (build-system ruby-build-system)
+    (arguments (list #:tests? #f))             ;avoid all extra dependencies
+    ;; Leave out ruby-railties, for bootstrapping purposes.
+    (propagated-inputs (list ruby-actionpack))
+    (synopsis "Tool to manage modern JavaScript in Rails")
+    (description "Import maps can import JavaScript modules using logical
+names that map to versioned/digested files -- directly from the browser.  It
+makes it possible to build modern JavaScript applications using JavaScript
+libraries made for ES modules (ESM) without the need for transpiling or
+bundling, which removes the need for Webpack, Yarn, npm, or any other part of
+the JavaScript toolchain.  All that is needed is the asset pipeline that is
+already included in Rails.")
+    (home-page "https://github.com/rails/importmap-rails")
+    (license license:expat)))
+
+(define-public ruby-importmap-rails
+  (package/inherit ruby-importmap-rails-bootstrap
+    (name "ruby-importmap-rails")
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'relax-requirements
+                 (lambda _
+                   (delete-file "gemfiles/rails_7_propshaft.gemfile.lock")
+                   (substitute* "gemfiles/rails_7_propshaft.gemfile"
+                     ;; Remove appraisal, and add tzinfo-data, which needs to
+                     ;; be in the Gemfile to become available.
+                     ((".*appraisal.*")
+                      "gem 'tzinfo-data'\n")
+                     ;; This gem is for managing *installation* of
+                     ;; webdrivers... we do not want that.
+                     ((".*gem \"webdrivers\".*") ""))))
+               (add-before 'check 'set-BUNDLE_GEMFILE
+                 (lambda _
+                   ;; The default Gemfile is for Rails 6.
+                   (setenv "BUNDLE_GEMFILE"
+                           "gemfiles/rails_7_propshaft.gemfile")))
+               (add-before 'check 'disable-problematic-tests
+                 (lambda _
+                   ;; The integration tests require networking; disable them.
+                   (delete-file "test/npm_integration_test.rb")
+                   (delete-file "test/packager_integration_test.rb"))))))
+    (native-inputs
+     (list ruby-byebug
+           ruby-capybara
+           ruby-propshaft
+           ruby-rails
+           ruby-rexml
+           ruby-selenium-webdriver
+           ruby-sqlite3
+           ruby-stimulus-rails
+           ruby-turbo-rails
+           ruby-tzinfo
+           ruby-tzinfo-data))
+    (propagated-inputs
+     (list ruby-actionpack
+           ruby-railties))))
+
 (define-public ruby-marcel
   (package
     (name "ruby-marcel")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:28 GMT) Full text and rfc822 format available.

Message #266 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 168/223] gnu: Add ruby-turbo-rails.
Date: Mon, 20 Mar 2023 13:22:54 -0400
* gnu/packages/rails.scm (ruby-turbo-rails): New variable.
---

 gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 925b95c3b2..04aa2d3f89 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -1244,6 +1244,34 @@ (define-public ruby-stimulus-rails
     (home-page "https://stimulus.hotwired.dev")
     (license license:expat)))
 
+(define-public ruby-turbo-rails
+  (package
+    (name "ruby-turbo-rails")
+    (version "1.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "turbo-rails" version))
+              (sha256
+               (base32
+                "0vm3iqgr3kxyyz5i09lhvfszp4pw1gw5j5rhhv1gmasv4kq2p3qh"))))
+    (build-system ruby-build-system)
+    ;; The test suite depends on JavaScript modules fetched via 'yarn'.
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list ruby-actionpack ruby-activejob ruby-railties))
+    (synopsis "High performance web application framework")
+    (description
+     "Turbo aims to be as fast as single-page web application without having
+to write any JavaScript.  Turbo accelerates links and form submissions without
+requiring server-side changes to the generated HTML.  It allows carving up a
+page into independent frames, which can be lazy-loaded and operated as
+independent components.  Finally, it helps making partial page updates using
+just HTML and a set of CRUD-like container tags.  These three techniques
+reduce the amount of custom JavaScript that many web applications need to
+write by an order of magnitude.  And for the few dynamic bits that are left,
+Stimulus can be used.")
+    (home-page "https://github.com/hotwired/turbo-rails")
+    (license license:expat)))
+
 (define-public ruby-web-console
   (package
     (name "ruby-web-console")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:28 GMT) Full text and rfc822 format available.

Message #269 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 170/223] gnu: ruby-spring: Update to 4.1.1.
Date: Mon, 20 Mar 2023 13:22:56 -0400
* gnu/packages/rails.scm (ruby-spring): Update to 4.1.1.
[arguments]: Use gexps.  Delete trailing #t.  Preserve activesupport
dependency spec.
---

 gnu/packages/rails.scm | 32 ++++++++++++++------------------
 1 file changed, 14 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index ddb27a1d77..5cbb063456 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -142,33 +142,29 @@ (define-public ruby-globalid
 (define-public ruby-spring
   (package
     (name "ruby-spring")
-    (version "1.7.2")
+    (version "4.1.1")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-              (url "https://github.com/rails/spring")
-              (commit (string-append "v" version))))
+             (url "https://github.com/rails/spring")
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0smwrndjmnr7g7jjskw05zin3gh6kx5db6yrkiqi6i9wl5mrn9n5"))))
+         "0p8hidxqnk8s1gfm1s1xb06gbbahdxjmzy6x3ybi25nkmdp0anb6"))))
     (build-system ruby-build-system)
     (arguments
-     `(#:test-target "test:unit"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'remove-bump
-           (lambda _
-             (substitute* "spring.gemspec"
-               (("gem.add_development_dependency 'bump'") "")
-               (("gem.add_development_dependency 'activesupport'.*")
-                "gem.add_development_dependency 'activesupport'\n"))
-             (substitute* "Rakefile"
-               (("require \\\"bump/tasks\\\"") ""))
-             #t)))))
-    (native-inputs
-     (list bundler ruby-activesupport))
+     (list #:test-target "test:unit"
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'check 'remove-bump
+                 (lambda _
+                   (substitute* "spring.gemspec"
+                     (("gem.add_development_dependency 'bump'") ""))
+                   (substitute* "Rakefile"
+                     (("require \\\"bump/tasks\\\"") "")))))))
+    (native-inputs (list bundler ruby-activesupport))
     (synopsis "Ruby on Rails application preloader")
     (description
      "Spring is a Ruby on Rails application preloader.  It speeds up
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:29 GMT) Full text and rfc822 format available.

Message #272 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 171/223] gnu: Add ruby-dotenv-rails.
Date: Mon, 20 Mar 2023 13:22:57 -0400
* gnu/packages/ruby.scm (ruby-dotenv-rails): New variable.
---

 gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4bc2439192..6772068489 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10460,6 +10460,42 @@ (define-public ruby-dotenv
     (home-page "https://github.com/bkeepers/dotenv")
     (license license:expat)))
 
+(define-public ruby-dotenv-rails
+  (package
+    (inherit ruby-dotenv)
+    (name "ruby-dotenv-rails")
+    (arguments
+     (substitute-keyword-arguments (package-arguments ruby-dotenv)
+       ((#:phases phases '%standard-phases)
+        #~(modify-phases #$phases
+            (delete 'do-not-build-dotenv-rails)
+            (add-after 'unpack 'delete-Gemfile
+              (lambda _
+                ;; It defines extraneous dependencies; remove it.
+                (delete-file "Gemfile")))
+            (add-after 'unpack 'remove-extraneous-gemspec
+              (lambda _
+                (delete-file "dotenv.gemspec")
+                (substitute* "Gemfile"
+                  ((".*\"dotenv\".*") ""))
+                (substitute* "Rakefile"
+                  ;; Remove the dotenv-related Rake tasks.
+                  (("Bundler::GemHelper.install_tasks name: \"dotenv\"")
+                   "")
+                  (("\"dotenv:[^\"]*\", ")
+                   ""))))
+            (replace 'replace-git-ls-files
+              (lambda _
+                (substitute* "dotenv-rails.gemspec"
+                  (("`git ls-files lib \\| grep rails`")
+                   "`find lib -type f | sort | grep rails`"))))))))
+    (native-inputs (list ruby-rspec ruby-spring ruby-standard))
+    (propagated-inputs (list ruby-dotenv ruby-railties))
+    (synopsis "Ruby library for setting environment variables in Rails project")
+    (description "Dotenv is a Ruby library for setting environment variables
+defined in a @file{.env} file.  This is the Rails variant, adapted for use
+with Ruby on Rails projects.")))
+
 (define-public ruby-http-cookie
   (package
     (name "ruby-http-cookie")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:29 GMT) Full text and rfc822 format available.

Message #275 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 172/223] gnu: Add ruby-flores.
Date: Mon, 20 Mar 2023 13:22:58 -0400
* gnu/packages/ruby.scm (ruby-flores): New variable.
---

 gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6772068489..4707002fe7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3996,6 +3996,31 @@ (define-public ruby-fiber-local
     (home-page "https://github.com/socketry/fiber-local")
     (license license:expat)))
 
+(define-public ruby-flores
+  (package
+    (name "ruby-flores")
+    (version "0.0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "flores" version))
+              (sha256
+               (base32
+                "0pd8gqgy67rp1baq5r7himl0r9jzv5kqlhdmqh8wngynv548w2ai"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "rspec")))))))
+    (native-inputs (list ruby-rspec ruby-simplecov))
+    (synopsis "Fuzzing, randomization, and stress testing library")
+    (description "Flores is a fuzzing, randomization, and stress library to
+help tests uncover more bugs.")
+    (home-page "https://github.com/jordansissel/ruby-flores")
+    (license license:asl2.0)))
+
 (define-public ruby-net-http-persistent
   (package
     (name "ruby-net-http-persistent")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:29 GMT) Full text and rfc822 format available.

Message #278 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 165/223] gnu: ruby-railties: Enable test suite.
Date: Mon, 20 Mar 2023 13:22:51 -0400
* gnu/packages/rails.scm (ruby-railties): Add a tip as comment about reviewing
test suite failures.
[arguments]: Delete #:tests?
argument.  Add delete-gemfiles, disable-bundler,
do-not-load-other-gems-from-source, patch-paths, prepare-for-tests,
disable-problematic-tests and set-paths phases.
Move check phase after install phase.
---

 gnu/packages/rails.scm | 249 +++++++++++++++++++++++++++++++++++++++--
 1 file changed, 238 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 4abecb8409..fbb85f271d 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -31,6 +31,8 @@ (define-module (gnu packages rails)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages node)
   #:use-module (gnu packages ruby)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages version-control)
   #:use-module (guix build-system ruby))
 
 (define %ruby-rails-version "7.0.4.3")
@@ -903,6 +905,8 @@ (define-public ruby-marcel
     (home-page "https://github.com/rails/marcel")
     (license license:expat)))
 
+;;; Pro-tip: to get a summary of the failures, run
+;;; 'M-x occur [1-9][0-9]* \(failures\|errors\)' on the build log.
 (define-public ruby-railties
   (package
     (name "ruby-railties")
@@ -910,17 +914,240 @@ (define-public ruby-railties
     (source ruby-rails-monorepo)
     (build-system ruby-build-system)
     (arguments
-     (list #:tests? #f                  ;requires rails to be installed
-           #:phases #~(modify-phases %standard-phases
-                        (add-after 'delete-gemfiles 'chdir
-                          (lambda _
-                            (chdir "railties"))))))
-    (propagated-inputs (list ruby-actionpack
-                             ruby-activesupport
-                             ruby-method-source
-                             ruby-rake
-                             ruby-thor
-                             ruby-zeitwerk))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-gemfiles
+            (lambda _
+              ;; Delete Gemfile and Gemfile.lock, as they contains too many
+              ;; dependencies not actually useful here.
+              (delete-file "Gemfile")
+              (delete-file "Gemfile.lock")))
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "railties")))
+          (add-after 'chdir 'disable-bundler
+            (lambda _
+              (substitute* (append (list "Rakefile")
+                                   (find-files "test" "\\.rb$")
+                                   (find-files "lib" "\\.tt$"))
+                ;; Do not use Bundler, which causes errors such as not finding
+                ;; the gem of this package (railties), or preferring the other
+                ;; in-source gems.
+                (("`bundle exec") "`")
+                ((".*require \"bundler/setup\".*") "")
+                ((".*Bundler.require.*") ""))
+              ;; Adjust a runtime substitution that uses a removed
+              ;; Bundler.require in its pattern; instead of matching
+              ;; "Bundler.require", it now appends to the 'require
+              ;; "rails/all"' line in the generated 'application.rb' template
+              ;; generated from
+              ;; "lib/rails/generators/rails/app/templates/config/application.rb.tt".
+              (substitute* "test/isolation/abstract_unit.rb"
+                (("contents.sub!\\(/\\^Bundler\\\\.require\\.\\*/, \"([^\"]*)"
+                  _ replacement)
+                 (format #f "contents.sub!('require \"rails/all\"', \"\\\\0\\n~a"
+                         replacement)))))
+          (add-after 'chdir 'do-not-load-other-gems-from-source
+            (lambda _
+              ;; The Rakefile adds '-I' Ruby options so that the other Rails
+              ;; libraries are loaded from source; since they are already
+              ;; packaged separately, use these instead.
+              (substitute* "Rakefile"
+                ((".*\"\\.\\./activesupport/lib\",.*") "")
+                ((".*\"\\.\\./actionpack/lib\",.*") "")
+                ((".*\"\\.\\./actionview/lib\",.*") "")
+                ((".*\"\\.\\./activemodel/lib\".*") ""))))
+          (add-after 'chdir 'patch-paths
+            (lambda _
+              (substitute* "lib/rails/generators/base.rb"
+                (("/usr/bin/env") (which "env")))))
+          (delete 'check)               ;moved after install phase
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'prepare-for-tests
+            (lambda _
+              (define (touch file-name)
+                (call-with-output-file file-name (const #t)))
+              ;; Otherwise, the test suite attempts to use yarn to fetch
+              ;; NodeJS modules.
+              (mkdir-p "../actionview/lib/assets/compiled")
+              (touch "../actionview/lib/assets/compiled/rails-ujs.js")
+              (mkdir-p "test/isolation/assets/node_modules")
+              ;; Git requires to be able to write to HOME.
+              (setenv "HOME" "/tmp")))
+          (add-before 'check 'disable-problematic-tests
+            (lambda _
+              (let-syntax ((skip-tests
+                            (syntax-rules ()
+                              ((_ file test ...)
+                               (substitute* file
+                                 ;; ActiveSupport test case.
+                                 (((string-append "test \"" test "\".*") all)
+                                  (string-append
+                                   all "    skip    'fails on guix'\n")) ...
+                                   ;; MiniTest test case.
+                                 (((string-append "def " test ".*") all)
+                                  (string-append
+                                   all "    skip('fails on guix')\n")) ...)))))
+                (with-directory-excursion "test"
+                  ;; This test requires 'rails' and Bundler.
+                  (delete-file "application/server_test.rb")
+                  ;; These tests are incompatible with MiniTest 5.17 (see:
+                  ;; https://github.com/rails/rails/issues/47657).
+                  (skip-tests "generators_test.rb"
+                              "test_invoke_with_config_values"
+                              "test_simple_invoke"
+                              "test_should_give_higher_preference_to_rails_generators"
+                              "test_nested_fallbacks_for_generators"
+                              "test_fallbacks_for_generators_on_invoke"
+                              "test_invoke_with_default_values"
+                              "test_invoke_with_nested_namespaces")
+                  ;; These tests requires the assets which we lack.
+                  (delete-file "application/assets_test.rb")
+                  (delete-file "railties/generators_test.rb")
+                  (skip-tests "generators/shared_generator_tests.rb"
+                              ;; This test checks that bin/rails has /usr/bin/env has a
+                              ;; shebang and fails.
+                              "test_shebang_when_is_the_same_as_default_use_env")
+                  (skip-tests "generators/app_generator_test.rb"
+                              ;; This test requires networking.
+                              "test_template_from_url"
+                              ;; This test requires Bundler.
+                              "test_generation_use_original_bundle_environment"
+                              ;; This test requires assets.
+                              "test_css_option_with_cssbundling_gem"
+                              ;; These tests require the rails/command
+                              ;; namespace provided by the 'ruby-rails'
+                              ;; package, which depends on this one.
+                              "test_css_option_with_asset_pipeline_tailwind"
+                              "test_hotwire")
+                  (skip-tests
+                   "generators/plugin_generator_test.rb"
+                   ;; These tests require assets.
+                   "test_model_with_existent_application_record_in_mountable_engine"
+                   "test_dummy_application_loads_plugin"
+                   "test_generate_application_mailer_when_does_not_exist_in_\
+mountable_engine"
+                   "test_generate_mailer_layouts_when_does_not_exist_in_mountable_engine"
+                   "test_ensure_that_migration_tasks_work_with_mountable_option"
+                   "test_generating_controller_inside_mountable_engine"
+                   "test_generate_application_job_when_does_not_exist_in_mountable_engine"
+                   "test_run_default"
+                   ;; This test expects a /usr/bin/env shebang.
+                   "test_shebang")
+                  ;; The following generator tests require assets.
+                  (skip-tests "generators/plugin_test_runner_test.rb"
+                              "test_run_default")
+                  (skip-tests
+                   "generators/scaffold_controller_generator_test.rb"
+                   "test_controller_tests_pass_by_default_inside_full_engine"
+                   "test_controller_tests_pass_by_default_inside_mountable_engine")
+                  (skip-tests
+                   "generators/scaffold_generator_test.rb"
+                   "test_scaffold_tests_pass_by_default_inside_mountable_engine"
+                   "test_scaffold_tests_pass_by_default_inside_api_mountable_engine"
+                   "test_scaffold_tests_pass_by_default_inside_api_full_engine"
+                   "test_scaffold_on_invoke_inside_mountable_engine"
+                   "test_scaffold_tests_pass_by_default_inside_full_engine"
+                   "test_scaffold_tests_pass_by_default_inside_namespaced_\
+mountable_engine")
+                  (skip-tests "generators/test_runner_in_engine_test.rb"
+                              "test_run_default"
+                              "test_rerun_snippet_is_relative_path")
+                  ;; The actions_test tests depend on assets or the rails gem.
+                  (delete-file "generators/actions_test.rb")
+                  (skip-tests "engine/commands_test.rb"
+                              "test_server_command_work_inside_engine"
+                              "test_runner_command_work_inside_engine")
+                  ;; These tests fails because of cleanup code
+                  ;; when the environment lacks a PTY device (see:
+                  ;; https://github.com/rails/rails/issues/47656).
+                  (delete-file "engine/commands_test.rb")
+                  ;; The following tests require the 'rails' gem.
+                  (skip-tests "application/test_runner_test.rb"
+                              "test_run_app_without_rails_loaded"
+                              "test_generated_scaffold_works_with_rails_test"
+                              "test_load_fixtures_when_running_test_suites"
+                              "test_run_in_parallel_with_unmarshable_exception"
+                              "test_run_in_parallel_with_unknown_object")
+                  (skip-tests
+                   "application/test_test.rb"
+                   "automatically synchronizes test schema after rollback"
+                   "hooks for plugins"
+                   "sql structure migrations when adding column to existing table"
+                   "sql structure migrations"
+                   "ruby schema migrations")
+                  ;; These tests require a PostgreSQL server accepting
+                  ;; connections under /var/run/postgresql.
+                  (skip-tests
+                   "application/rake_test.rb"
+                   "test_not_protected_when_previous_migration_was_not_production")
+                  (delete-file "application/rake/dbs_test.rb")
+                  (delete-file "application/rake/migrations_test.rb")
+                  (delete-file "application/rake/multi_dbs_test.rb")
+                  (skip-tests "engine/test_test.rb"
+                              "automatically synchronize test schema")
+                  (skip-tests "isolation/abstract_unit.rb" "use_postgresql")
+                  (skip-tests "railties/engine_test.rb"
+                              "active_storage:install task works within engine"
+                              "active_storage:update task works within engine"
+                              "rake environment can be called in the engine"
+                              "mountable engine should copy migrations within engine_path"
+                              ;; This test fails because we do not use the
+                              ;; in-source active/action gems.
+                              "i18n files have lower priority than application ones"
+                              ;; This test fails when not using Bundler.
+                              "setting priority for engines with config.railties_order")
+                  ;; This test requires a database server or networking.
+                  (delete-file "application/bin_setup_test.rb")
+                  (skip-tests "application/middleware/cache_test.rb"
+                              ;; This test produces "miss, store" instead of
+                              ;; "fresh".
+                              "test_cache_works_with_expires"
+                              ;; This one produces "miss" instead of "stale,
+                              ;; valid, store".
+                              "test_cache_works_with_etags"
+                              ;; Likewise.
+                              "test_cache_works_with_last_modified")))))
+          (add-before 'check 'set-paths
+            (lambda _
+              (setenv "PATH" (string-append (getenv "PATH") ":"
+                                            #$output "/bin"))
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby")))))))
+    (native-inputs
+     (list git-minimal/pinned
+           ruby-actioncable
+           ruby-actionmailbox
+           ruby-actionmailer
+           ruby-actiontext
+           ruby-actionview
+           ruby-activejob
+           ruby-activemodel
+           ruby-activerecord
+           ruby-activestorage
+           ruby-bcrypt
+           ruby-bootsnap
+           ruby-capybara
+           ruby-dalli
+           ruby-importmap-rails-bootstrap
+           ruby-listen
+           ruby-minitest-retry
+           ruby-mysql2
+           ruby-pg
+           ruby-selenium-webdriver
+           ruby-sprockets-rails
+           ruby-webrick
+           sqlite))
+    (propagated-inputs
+     (list ruby-actionpack
+           ruby-activesupport
+           ruby-method-source
+           ruby-rake
+           ruby-thor
+           ruby-zeitwerk))
     (synopsis "Rails internals, including application bootup and generators")
     (description "@code{railties} provides the core Rails internals including
 handling application bootup, plugins, generators, and Rake tasks.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:30 GMT) Full text and rfc822 format available.

Message #281 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 166/223] gnu: Add ruby-propshaft.
Date: Mon, 20 Mar 2023 13:22:52 -0400
* gnu/packages/rails.scm (ruby-propshaft): New variable.
---

 gnu/packages/rails.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index fbb85f271d..8f174920ec 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -905,6 +905,30 @@ (define-public ruby-marcel
     (home-page "https://github.com/rails/marcel")
     (license license:expat)))
 
+(define-public ruby-propshaft
+  (package
+    (name "ruby-propshaft")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "propshaft" version))
+              (sha256
+               (base32
+                "19s5qvfady49b9b6dcvz6nsna1lvckw509ddh3ihmdz0w4qrjy49"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-actionpack ruby-activesupport ruby-rack
+                             ruby-railties))
+    (synopsis "Asset pipeline library for Rails")
+    (description "Propshaft is an asset pipeline library for Rails.  It's
+built for an era where bundling assets to save on HTTP connections is no
+longer urgent, where JavaScript and CSS are either compiled by dedicated
+Node.js bundlers or served directly to the browsers, and where increases in
+bandwidth have made the need for minification less pressing.  These factors
+allow for a dramatically simpler and faster asset pipeline compared to
+previous options, like Sprockets.")
+    (home-page "https://github.com/rails/propshaft")
+    (license license:expat)))
+
 ;;; Pro-tip: to get a summary of the failures, run
 ;;; 'M-x occur [1-9][0-9]* \(failures\|errors\)' on the build log.
 (define-public ruby-railties
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:30 GMT) Full text and rfc822 format available.

Message #284 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 173/223] gnu: Add ruby-pleaserun.
Date: Mon, 20 Mar 2023 13:22:59 -0400
* gnu/packages/ruby.scm (ruby-pleaserun): New variable.
---

 gnu/packages/ruby.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4707002fe7..1d1eba741c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4119,6 +4119,48 @@ (define-public ruby-net-smtp
     (home-page "https://github.com/ruby/net-smtp")
     (license license:bsd-2)))
 
+(define-public ruby-pleaserun
+  (package
+    (name "ruby-pleaserun")
+    (version "0.0.32")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "pleaserun" version))
+              (sha256
+               (base32
+                "1aykf0l8327bqkkf5xd9jcglsib973zpy37cfnlf4j0vp0cdpn2d"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'relax-requirements
+                 (lambda _
+                   (substitute* "pleaserun.gemspec"
+                     ;; Mustache is pinned at 0.99.8, for portability with
+                     ;; older Rubies.
+                     (("dependency\\(%q<mustache>.freeze.*")
+                      "dependency(%q<mustache>.freeze)\n"))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; The cli_spec.rb test fails non-deterministically with
+                     ;; a Errno::EISDIR error (see:
+                     ;; https://github.com/jordansissel/pleaserun/issues/155)
+                     (invoke "rspec" "--exclude-pattern" "cli_spec.rb")))))))
+    (native-inputs (list ruby-flores ruby-rspec))
+    (propagated-inputs (list ruby-cabin
+                             ruby-clamp
+                             ruby-dotenv
+                             ruby-insist
+                             ruby-mustache
+                             ruby-stud))
+    (synopsis "Init scripts and service definitions generation tool")
+    (description "Pleaserun is a tool to generate startup scripts and service
+definitions.  It targets service managers such as systemd, Upstart, launchd,
+sysv init, and runit.")
+    (home-page "https://github.com/jordansissel/pleaserun")
+    (license license:asl2.0)))
+
 (define-public ruby-power-assert
   (package
     (name "ruby-power-assert")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:31 GMT) Full text and rfc822 format available.

Message #287 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 175/223] gnu: Add perl-app-cpanminus.
Date: Mon, 20 Mar 2023 13:23:01 -0400
* gnu/packages/perl.scm (perl-app-cpanminus): New variable.
---

 gnu/packages/perl.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 08ae11724c..3afb1c1db9 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -550,6 +550,27 @@ (define-public perl-any-moose
 variable ANY_MOOSE to be Moose or Mouse.")
     (license (package-license perl))))
 
+(define-public perl-app-cpanminus
+  (package
+    (name "perl-app-cpanminus")
+    (version "1.7046")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0qpq1x24dcrm7bm2qj814nkmxg8mzkdn6wcirjd8yd578jdrv31y"))))
+    (build-system perl-build-system)
+    (home-page "https://metacpan.org/release/App-cpanminus")
+    (synopsis "CPAN package manager")
+    (description "App::cpanminus is a script to get, unpack, build and install
+modules from CPAN and does nothing else.  It's dependency free (can bootstrap
+itself), requires zero configuration, and stands alone.  When running, it
+requires only 10MB of RAM.")
+    (license (package-license perl))))
+
 (define-public perl-app-xml-docbook-builder
   (package
     (name "perl-app-xml-docbook-builder")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:31 GMT) Full text and rfc822 format available.

Message #290 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 177/223] gnu: ruby-minitest: Update to 5.18.0.
Date: Mon, 20 Mar 2023 13:23:03 -0400
* gnu/packages/ruby.scm (ruby-minitest): Update to 5.18.0.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 87f1e774d0..b61bd5f389 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5063,13 +5063,13 @@ (define-public ruby-net-scp
 (define-public ruby-minitest
   (package
     (name "ruby-minitest")
-    (version "5.17.0")
+    (version "5.18.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "minitest" version))
               (sha256
                (base32
-                "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0"))))
+                "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06"))))
     (build-system ruby-build-system)
     (native-inputs (list ruby-hoe))
     (home-page "https://github.com/minitest/minitest")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:31 GMT) Full text and rfc822 format available.

Message #293 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 174/223] gnu: Add ruby-arr-pm.
Date: Mon, 20 Mar 2023 13:23:00 -0400
* gnu/packages/ruby.scm (ruby-arr-pm): New variable.
---

 gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1d1eba741c..81b254ad2c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5899,6 +5899,33 @@ (define-public ruby-multi-test
     (home-page "https://github.com/cucumber/multi_test")
     (license license:expat)))
 
+(define-public ruby-arr-pm
+  (package
+    (name "ruby-arr-pm")
+    (version "0.0.12")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "arr-pm" version))
+              (sha256
+               (base32
+                "0fddw0vwdrr7v3a0lfqbmnd664j48a9psrjd3wh3k4i3flplizzx"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "rspec")))))))
+    (native-inputs (list ruby-flores ruby-insist ruby-rspec ruby-stud))
+    (synopsis "RPM reader/writer library written in Ruby")
+    (description "This library allows reading and writing RPM packages.  It is
+used by the @command{fpm} tool.  It is written in pure Ruby because
+@code{librpm} is not available on all systems and requires many
+dependencies.")
+    (home-page "https://github.com/jordansissel/ruby-arr-pm")
+    (license license:asl2.0)))
+
 (define-public ruby-arel
   (package
     (name "ruby-arel")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:32 GMT) Full text and rfc822 format available.

Message #296 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 176/223] gnu: ruby-minitest: Update home page URL.
Date: Mon, 20 Mar 2023 13:23:02 -0400
* gnu/packages/ruby.scm (ruby-minitest) [home-page]: Update URL.
---

 gnu/packages/ruby.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 81b254ad2c..87f1e774d0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5072,7 +5072,7 @@ (define-public ruby-minitest
                 "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0"))))
     (build-system ruby-build-system)
     (native-inputs (list ruby-hoe))
-    (home-page "https://github.com/seattlerb/minitest")
+    (home-page "https://github.com/minitest/minitest")
     (synopsis "Small test suite library for Ruby")
     (description "Minitest provides a complete suite of Ruby testing
 facilities supporting TDD, BDD, mocking, and benchmarking.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:32 GMT) Full text and rfc822 format available.

Message #299 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 183/223] gnu: ruby-slim: Update to 5.1.0.
Date: Mon, 20 Mar 2023 13:23:09 -0400
* gnu/packages/ruby.scm (ruby-slim): Update to 5.1.0.
[arguments]: Delete trailing #t.
[native-inputs]: Add ruby-rspec-core.
---

 gnu/packages/ruby.scm | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f26988d830..607fefb9af 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1337,14 +1337,14 @@ (define-public ruby-patron
 (define-public ruby-slim
   (package
     (name "ruby-slim")
-    (version "4.1.0")
+    (version "5.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "slim" version))
        (sha256
         (base32
-         "0gjx30g84c82qzg32bd7giscvb4206v7mvg56kc839w9wjagn36n"))))
+         "1rp437r8hr9kdgabb7c96yw4z2wyrajl4cxiij038y10f8i6hbn4"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
@@ -1358,18 +1358,16 @@ (define-public ruby-slim
                 "def skipped_test_render_with_markdown"))
              (substitute* "test/translator/test_translator.rb"
                (("raise (\"Missing test for.*)" _ tail)
-                (string-append "print " tail)))
-             #t))
+                (string-append "print " tail)))))
          ;; See: https://salsa.debian.org/ruby-team/ruby-slim/-/commit/
          ;; 824862bd99d1675bc699d8fc71ba965a785c1f44.
          (add-after 'unpack 'prevent-bundler-interference
            (lambda _
              (substitute* "Rakefile"
                (("require 'bundler/setup'") "nil")
-               (("Bundler::GemHelper\\.install_tasks") "nil"))
-             #t)))))
+               (("Bundler::GemHelper\\.install_tasks") "nil")))))))
     (native-inputs
-     (list ruby-rack-test ruby-sinatra))
+     (list ruby-rack-test ruby-rspec-core ruby-sinatra))
     (propagated-inputs
      (list ruby-temple ruby-tilt))
     (synopsis "Minimalist template language for Ruby")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:33 GMT) Full text and rfc822 format available.

Message #302 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 145/223] gnu: ruby-marcel: Update to 1.0.2.
Date: Mon, 20 Mar 2023 13:22:31 -0400
* gnu/packages/ruby.scm (ruby-marcel): Update to 1.0.2.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ba71547cec..3854281058 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5753,14 +5753,14 @@ (define-public ruby-arel
 (define-public ruby-marcel
   (package
     (name "ruby-marcel")
-    (version "0.3.3")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "marcel" version))
        (sha256
         (base32
-         "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx"))))
+         "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0"))))
     (build-system ruby-build-system)
     (arguments
      '(;; No included tests
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:33 GMT) Full text and rfc822 format available.

Message #305 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 026/223] gnu: Add ruby-rubocop-rake.
Date: Mon, 20 Mar 2023 13:13:18 -0400
* gnu/packages/ruby.scm (ruby-rubocop-rake): New variable.
---
 gnu/packages/ruby.scm | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d2e9854904..28e98e5189 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1602,6 +1602,19 @@ (define ruby-rubocop-rake-minimal
     (home-page "https://github.com/rubocop/rubocop-rake")
     (license license:expat)))
 
+(define-public ruby-rubocop-rake
+  (package
+    (inherit ruby-rubocop-rake-minimal)
+    (arguments
+     (list #:test-target "spec"))
+    (native-inputs
+     (list ruby-rake
+           ruby-rspec
+           ruby-rubocop
+           ruby-rubocop-rspec))
+    (propagated-inputs
+     (list ruby-rubocop))))
+
 ;;; A minimal variant used to build ruby-rubocop itself.
 (define ruby-rubocop-rspec-minimal
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:33 GMT) Full text and rfc822 format available.

Message #308 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 146/223] gnu: ruby-marcel: Relocate to (gnu packages rails).
Date: Mon, 20 Mar 2023 13:22:32 -0400
* gnu/packages/ruby.scm (ruby-marcel): Move to...
* gnu/packages/rails.scm (ruby-marcel): ... here.
[home-page]: Update URL.
---

 gnu/packages/rails.scm | 25 +++++++++++++++++++++++++
 gnu/packages/ruby.scm  | 24 ------------------------
 2 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 43db167671..9638aee3ae 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops <at> yandex.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim <at> flashner.co.il>
+;;; Copyright © 2019 Christopher Baines <mail <at> cbaines.net>
 ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -725,6 +726,30 @@ (define-public ruby-actionmailer
    (home-page "https://rubyonrails.org/")
    (license license:expat)))
 
+(define-public ruby-marcel
+  (package
+    (name "ruby-marcel")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "marcel" version))
+       (sha256
+        (base32
+         "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; No included tests
+       #:tests? #f))
+    (propagated-inputs
+     (list ruby-mimemagic))
+    (synopsis "MIME type detection using magic numbers, filenames and extensions")
+    (description
+     "@code{marcel} provides @acronym{MIME, Multipurpose Internet Mail
+Extensions} type detection using magic numbers, filenames, and extensions")
+    (home-page "https://github.com/rails/marcel")
+    (license license:expat)))
+
 (define-public ruby-railties
   (package
     (name "ruby-railties")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3854281058..df42b713b8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5750,30 +5750,6 @@ (define-public ruby-arel
 various relational database implementations.")
     (license license:expat)))
 
-(define-public ruby-marcel
-  (package
-    (name "ruby-marcel")
-    (version "1.0.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "marcel" version))
-       (sha256
-        (base32
-         "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0"))))
-    (build-system ruby-build-system)
-    (arguments
-     '(;; No included tests
-       #:tests? #f))
-    (propagated-inputs
-     (list ruby-mimemagic))
-    (synopsis "MIME type detection using magic numbers, filenames and extensions")
-    (description
-     "@code{marcel} provides @acronym{MIME, Multipurpose Internet Mail
-Extensions} type detection using magic numbers, filenames, and extensions")
-    (home-page "https://github.com/basecamp/marcel")
-    (license license:expat)))
-
 (define-public ruby-minitar
   ;; We package from the GitHub source to fix the security issue reported at
   ;; https://github.com/halostatue/minitar/issues/16.
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:34 GMT) Full text and rfc822 format available.

Message #311 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 178/223] gnu: ruby-rubocop-rspec-minimal: Update source and
 home page URL.
Date: Mon, 20 Mar 2023 13:23:04 -0400
* gnu/packages/ruby.scm (ruby-rubocop-rspec-minimal): Update source and home page URL.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b61bd5f389..08bdcee338 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1748,7 +1748,7 @@ (define ruby-rubocop-rspec-minimal
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/rubocop-hq/rubocop-rspec")
+             (url "https://github.com/rubocop/rubocop-rspec")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -1759,7 +1759,7 @@ (define ruby-rubocop-rspec-minimal
     (synopsis "Code style checking for RSpec files")
     (description "This package provides a plugin for the RuboCop code style
 enforcing & linting tool.")
-    (home-page "https://github.com/rubocop-hq/rubocop-rspec")
+    (home-page "https://github.com/rubocop/rubocop-rspec")
     (license license:expat)))
 
 (define-public ruby-rubocop-rspec
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:34 GMT) Full text and rfc822 format available.

Message #314 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 184/223] gnu: ruby-prawn-svg: Fix build.
Date: Mon, 20 Mar 2023 13:23:10 -0400
The test suite fails two tests when using a newer rspec version.

* gnu/packages/ruby.scm (ruby-prawn-svg)
[arguments]: Delete the interface_spec.rb test suite in the check phase.
---

 gnu/packages/ruby.scm | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 607fefb9af..fb85b4dde3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1529,15 +1529,19 @@ (define-public ruby-prawn-svg
          "0mbxzw7r7hv43db9422flc24ib9d8bdy1nasbni2h998jc5a5lb6"))))
     (build-system ruby-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'do-not-use-bundler
-                    (lambda _
-                      (substitute* "spec/spec_helper.rb"
-                        ((".*[Bb]undler.*") ""))))
-                  (replace 'check
-                    (lambda* (#:key tests? #:allow-other-keys)
-                      (when tests?
-                        (invoke "rspec" "-Ilib" "-rprawn-svg")))))))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'do-not-use-bundler
+                 (lambda _
+                   (substitute* "spec/spec_helper.rb"
+                     ((".*[Bb]undler.*") ""))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; This test fails due to the recent rspec 3.12 used
+                     ;; (see: https://github.com/mogest/prawn-svg/issues/151).
+                     (delete-file "spec/prawn/svg/interface_spec.rb")
+                     (invoke "rspec" "-Ilib" "-rprawn-svg")))))))
     (native-inputs (list ruby-rspec))
     (propagated-inputs (list ruby-css-parser ruby-prawn))
     (synopsis "SVG renderer for the Prawn PDF library")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:35 GMT) Full text and rfc822 format available.

Message #317 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 179/223] gnu: Add fpm.
Date: Mon, 20 Mar 2023 13:23:05 -0400
* gnu/packages/package-management.scm (fpm): New variable.
---

 gnu/packages/package-management.scm | 80 +++++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index d27c8a91ef..ad366c7392 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -59,6 +59,7 @@ (define-module (gnu packages package-management)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages debian)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages docbook)
@@ -87,6 +88,7 @@ (define-module (gnu packages package-management)
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ninja)
+  #:use-module (gnu packages node)
   #:use-module (gnu packages nss)
   #:use-module (gnu packages patchutils)
   #:use-module (gnu packages perl)
@@ -98,6 +100,7 @@ (define-module (gnu packages package-management)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
@@ -117,6 +120,7 @@ (define-module (gnu packages package-management)
   #:use-module (guix build-system guile)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system ruby)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
   #:use-module (guix gexp)
@@ -2003,6 +2007,82 @@ (define-public flatpak
 sandboxed desktop applications on GNU/Linux.")
     (license license:lgpl2.1+)))
 
+(define-public fpm
+  (package
+    (name "fpm")
+    (version "1.15.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/jordansissel/fpm")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1m2zxf7wyk7psvm611yxs68hnwm0pyqilsmcq3x791hz7rvbg68w"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'patch-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* '("lib/fpm/util.rb"
+                                  "spec/fpm/util_spec.rb"
+                                  "spec/fpm/package/rpm_spec.rb")
+                     (("\"/bin/sh\"")
+                      (string-append "\"" (search-input-file inputs "bin/sh")
+                                     "\"")))))
+               (add-after 'extract-gemspec 'disable-problematic-tests
+                 ;; Disable some tests which are failing (see:
+                 ;; https://github.com/jordansissel/fpm/issues/2000).
+                 (lambda _
+                   ;; There are 4 'NoMethodError' test failures in the
+                   ;; command_spec suite, for unknown reasons.
+                   (delete-file "spec/fpm/command_spec.rb")
+                   (substitute* "spec/fpm/package_spec.rb"
+                     (("@oldtmp = ENV\\[\"TMP\"]" all)
+                      "skip('fails with guix')"))
+                   (substitute* "spec/fpm/package/cpan_spec.rb"
+                     ;; This test is marked as expected to fail (pending) when
+                     ;; TRAVIS_OS_NAME is set, but passes with Guix; skip it.
+                     (("it \"should unpack tarball containing" all)
+                      (string-append "x" all)))
+                   (substitute* "spec/fpm/package/gem_spec.rb"
+                     ;; This test fails for unknown reason; perhaps a patched
+                     ;; shebang.
+                     (("it 'should not change the shebang'" all)
+                      (string-append "x" all)))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; Set TRAVIS_OS_NAME to skip tests known to cause
+                     ;; problems in minimal environments.
+                     (setenv "TRAVIS_OS_NAME" "GNU Guix")
+                     (invoke "rspec")))))))
+    (native-inputs
+     (list dpkg
+           libarchive
+           node
+           perl-app-cpanminus
+           python
+           ruby-rspec
+           squashfs-tools
+           zstd))
+    (inputs
+     (list bash-minimal
+           ruby-arr-pm
+           ruby-backports
+           ruby-cabin
+           ruby-clamp
+           ruby-pleaserun
+           ruby-rexml
+           ruby-stud))
+    (home-page "https://github.com/jordansissel/fpm/")
+    (synopsis "Package building and mangling tool")
+    (description "@command{fpm} is a command to convert directories, RPMs,
+Python eggs, Ruby gems, and more to RPMs, debs, Solaris packages and more.")
+    (license license:expat)))
+
 (define-public akku
   (package
     (name "akku")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:35 GMT) Full text and rfc822 format available.

Message #320 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 186/223] gnu: Add ruby-minitest-profile.
Date: Mon, 20 Mar 2023 13:23:12 -0400
* gnu/packages/ruby.scm (ruby-minitest-profile): New variable.
---

 gnu/packages/ruby.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fb85b4dde3..3566d83d82 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5284,6 +5284,23 @@ (define-public ruby-minitest-power-assert
     (home-page "https://github.com/hsbt/minitest-power_assert")
     (license license:bsd-2)))
 
+(define-public ruby-minitest-profile
+  (package
+    (name "ruby-minitest-profile")
+    (version "0.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "minitest-profile" version))
+              (sha256
+               (base32
+                "13h4nwbq6yv7hsaa7dpj90lry4rc5qqnpzvm9n2s57mm2xi31xfa"))))
+    (build-system ruby-build-system)
+    (synopsis "Display the slowest tests in a MiniTest suite")
+    (description "This package provides a MiniTest plugin for displaying the
+slowest tests in a minitest suite.")
+    (home-page "https://github.com/nmeans/minitest-profile")
+    (license license:expat)))
+
 (define-public ruby-minitest-pretty-diff
   ;; Use git reference because gem is out of date and does not contain testing
   ;; script.  There are no releases on GitHub.
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:35 GMT) Full text and rfc822 format available.

Message #323 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 187/223] gnu: ruby-terminal-table: Update to 3.0.2.
Date: Mon, 20 Mar 2023 13:23:13 -0400
* gnu/packages/ruby.scm (ruby-terminal-table): Update to 3.0.2.
[source]: Fetch via git.
[arguments]: Delete remove-gemfile-lock phase.
[native-inputs]: Add ruby-term-ansicolor.
---

 gnu/packages/ruby.scm | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3566d83d82..b57940f27d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13183,20 +13183,19 @@ (define-public ruby-pathutil
 (define-public ruby-terminal-table
   (package
     (name "ruby-terminal-table")
-    (version "2.0.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "terminal-table" version))
-       (sha256
-        (base32
-         "18rbrh464ysqbdv53iwj0r8frshn65566kyj044cp3x9c2754jwh"))))
+    (version "3.0.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/tj/terminal-table")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1c3f7ng3lxq962n8sbmlsvjx6srh5i801wzsyhxmfz2g880f5jps"))))
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         (add-before 'check 'remove-gemfile-lock
-           (lambda _
-             (delete-file "Gemfile.lock")))
          (add-before 'check 'remove-unnecessary-dependencies
            (lambda _
              (substitute* "terminal-table.gemspec"
@@ -13212,7 +13211,7 @@ (define-public ruby-terminal-table
     (propagated-inputs
      (list ruby-unicode-display-width))
     (native-inputs
-     (list ruby-rspec))
+     (list ruby-rspec ruby-term-ansicolor))
     (home-page "https://github.com/tj/terminal-table")
     (synopsis "Simple, feature rich ASCII table generation library")
     (description
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:36 GMT) Full text and rfc822 format available.

Message #326 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 189/223] gnu: ruby-shoulda-context: Update to 2.0.0.
Date: Mon, 20 Mar 2023 13:23:15 -0400
* gnu/packages/ruby.scm (ruby-shoulda-context): Update to 2.0.0.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b08cb997cc..3041297d97 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10078,14 +10078,14 @@ (define-public ruby-sqlite3
 (define-public ruby-shoulda-context
   (package
     (name "ruby-shoulda-context")
-    (version "1.2.2")
+    (version "2.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "shoulda-context" version))
        (sha256
         (base32
-         "1l0ncsxycb4s8n47dml97kdnixw4mizljbkwqc3rh05r70csq9bc"))))
+         "0d1clcp92jv8756h09kbc55qiqncn666alx0s83za06q5hs4bpvs"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:36 GMT) Full text and rfc822 format available.

Message #329 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 190/223] gnu: ruby-shoulda-context: Honor #:tests?.
Date: Mon, 20 Mar 2023 13:23:16 -0400
* gnu/packages/ruby.scm (ruby-shoulda-context)
[arguments]: Honor #:tests? in check phase.
---

 gnu/packages/ruby.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3041297d97..51a2fff8c6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10091,10 +10091,11 @@ (define-public ruby-shoulda-context
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _
-             ;; Do not run tests to avoid circular dependence with rails.
-             ;; Instead just import the library to test.
-             (invoke "ruby" "-Ilib" "-r" "shoulda-context"))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; Do not run tests to avoid circular dependence with rails.
+               ;; Instead just import the library to test.
+               (invoke "ruby" "-Ilib" "-r" "shoulda-context")))))))
     (synopsis "Test::Unit context framework extracted from Shoulda")
     (description
      "@code{shoulda-context} is the context framework extracted from Shoulda.
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:37 GMT) Full text and rfc822 format available.

Message #332 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 192/223] gnu: ruby-shoulda-matchers: Honor #:tests?.
Date: Mon, 20 Mar 2023 13:23:18 -0400
* gnu/packages/ruby.scm (ruby-shoulda-matchers)
[arguments]: Honor #:tests? in check phase.
---

 gnu/packages/ruby.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bd24f6e7e1..ceec6fe291 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10121,10 +10121,11 @@ (define-public ruby-shoulda-matchers
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _
-             ;; Do not run tests to avoid circular dependence with rails.  Instead
-             ;; just import the library to test.
-             (invoke "ruby" "-Ilib" "-r" "shoulda-matchers"))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; Do not run tests to avoid circular dependence with rails.  Instead
+               ;; just import the library to test.
+               (invoke "ruby" "-Ilib" "-r" "shoulda-matchers")))))))
     (propagated-inputs
      (list ruby-activesupport))
     (synopsis "Collection of testing matchers extracted from Shoulda")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:37 GMT) Full text and rfc822 format available.

Message #335 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 031/223] gnu: Add ruby-language-server-protocol.
Date: Mon, 20 Mar 2023 13:13:23 -0400
* gnu/packages/ruby.scm (ruby-language-server-protocol): New variable.
---
 gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 380783721b..265dd6e50a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -11758,6 +11758,44 @@ (define-public ruby-sprockets
     (home-page "https://github.com/rails/sprockets")
     (license license:expat)))
 
+(define-public ruby-language-server-protocol
+  (package
+    (name "ruby-language-server-protocol")
+    (version "3.17.0.3")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/mtsmfm/language_server-protocol-ruby")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0f2g301fz99c6nkca39s9227brlycznv8a9r4b4i99rg25m91lc6"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'replace-git-ls-files
+            (lambda _
+              (substitute* "language_server-protocol.gemspec"
+                (("git ls-files -z([^`]*)" _ files)
+                 (string-append "find " files
+                                " -type f -not -regex '.*\\.gem$'"
+                                " -print0 | sort -z"))))))))
+    (native-inputs
+     (list ruby-activesupport
+           ruby-benchmark-ips
+           ruby-m
+           ruby-minitest
+           ruby-minitest-power-assert
+           ruby-pry-byebug))
+    (synopsis "Language Server Protocol (LSP) development kit for Ruby")
+    (description "This package provides a Language Server Protocol (LSP)
+development kit for Ruby.")
+    (home-page "https://github.com/mtsmfm/language_server-protocol-ruby")
+    (license license:expat)))
+
 (define-public ruby-mustache
   (package
     (name "ruby-mustache")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:37 GMT) Full text and rfc822 format available.

Message #338 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 194/223] gnu: ruby-shoulda: Honor #:tests?.
Date: Mon, 20 Mar 2023 13:23:20 -0400
* gnu/packages/ruby.scm (ruby-shoulda)
[arguments]: Honor #:tests? in check phase.
---

 gnu/packages/ruby.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ad4ca4b926..c359a9364f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10152,9 +10152,11 @@ (define-public ruby-shoulda
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           ;; Don't run tests to avoid circular dependence with rails.  Instead
-           ;; just import the library to test.
-           (lambda _ (invoke "ruby" "-Ilib" "-r" "shoulda")))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; Don't run tests to avoid circular dependence with rails.
+               ;; Instead just import the library to test.
+               (invoke "ruby" "-Ilib" "-r" "shoulda"))))
          (add-after 'extract-gemspec 'relax-requirements
            (lambda _
              (substitute* "shoulda.gemspec"
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:38 GMT) Full text and rfc822 format available.

Message #341 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 200/223] gnu: Add ruby-ruby-version.
Date: Mon, 20 Mar 2023 13:23:26 -0400
* gnu/packages/ruby.scm (ruby-ruby-version): New variable.
---

 gnu/packages/ruby.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c11ced887d..40633a5cc3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6343,6 +6343,46 @@ (define-public ruby-ruby-parser
 back to Ruby via the @code{ruby2ruby} library.")
     (license license:expat)))
 
+(define-public ruby-ruby-version
+  (package
+    (name "ruby-ruby-version")
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "ruby_version" version))
+              (sha256
+               (base32
+                "0lvc7bd5ps3w2vq2wb02i0pi3vfcx2rnckx2ix4rjym1qf52kb2j"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'delete-gem-files
+                 ;; There are some pre-built files in the source, and
+                 ;; registered in the .gemspec (see:
+                 ;; https://github.com/janlelis/ruby_version/issues/1).
+                 (lambda _
+                   (delete-file-recursively "pkg")
+                   (substitute* "ruby_version.gemspec"
+                     (("\"pkg/ruby_version-1.0.0.gem\".freeze, ")
+                      "")
+                     (("\"pkg/ruby_version-1.0.1.gem\".freeze, ")
+                      ""))))
+               (add-after 'extract-gemspec 'relax-requirements
+                 (lambda _
+                   (delete-file "Gemfile.lock")
+                   (substitute* "ruby_version.gemspec"
+                     (("\"Gemfile.lock\".freeze, ") "")
+                     ;; Allow a newers versions of development dependencies.
+                     (("~>") ">=")))))))
+    (native-inputs (list ruby-rdoc ruby-rubygems-tasks ruby-rspec))
+    (synopsis "Ruby class for checking the Ruby version")
+    (description "This package provides a @code{RubyVersion} class which
+offers a convenient Domain Specific Language (DSL) for checking for the right
+Ruby version.")
+    (home-page "https://github.com/janlelis/ruby_version")
+    (license license:expat)))
+
 (define-public ruby-prawn-manual-builder
   (package
     (name "ruby-prawn-manual-builder")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:38 GMT) Full text and rfc822 format available.

Message #344 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 195/223] gnu: ruby-unf-ext: Update to 0.0.8.2.
Date: Mon, 20 Mar 2023 13:23:21 -0400
* gnu/packages/ruby.scm (ruby-unf-ext): Update to 0.0.8.2.
---

 gnu/packages/ruby.scm | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c359a9364f..a3d7784f01 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7686,13 +7686,13 @@ (define-public ruby-netrc
 (define-public ruby-unf-ext
   (package
     (name "ruby-unf-ext")
-    (version "0.0.7.6")
+    (version "0.0.8.2")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "unf_ext" version))
               (sha256
                (base32
-                "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"))))
+                "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
@@ -7704,8 +7704,7 @@ (define-public ruby-unf-ext
              ;; rake-compiler-dock is listed in the gemspec, but only
              ;; required when cross-compiling.
              (substitute* "unf_ext.gemspec"
-               ((".*rake-compiler-dock.*") ""))
-             #t)))))
+               ((".*rake-compiler-dock.*") "")))))))
     (native-inputs
      (list bundler ruby-rake-compiler ruby-test-unit))
     (synopsis "Unicode normalization form support library")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:39 GMT) Full text and rfc822 format available.

Message #347 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 196/223] gnu: jekyll: Use gexps and remove input labels.
Date: Mon, 20 Mar 2023 13:23:22 -0400
* gnu/packages/ruby.scm (jekyll) [arguments]: Use gexps, remove trailing #t.
[propagated-inputs]: Remove labels.
---

 gnu/packages/ruby.scm | 46 +++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a3d7784f01..67a466e1ad 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13232,31 +13232,29 @@ (define-public jekyll
                 "0cqkh78jw8scrajyx5nla0vwm9fvp2qql3kdcvvplcq9mazy8snq"))))
     (build-system ruby-build-system)
     (arguments
-     ;; No rakefile, but a test subdirectory.
-     `(#:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'fix-i18n
-           (lambda _
-             (substitute* ".gemspec"
-               (("~> 0.7") ">= 0.7")
-               (("~> 1.14") ">= 1.14"))
-             #t)))))
+     (list #:tests? #f                  ;no rakefile, but a test subdirectory
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'build 'fix-i18n
+                 (lambda _
+                   (substitute* ".gemspec"
+                     (("~> 0.7") ">= 0.7")
+                     (("~> 1.14") ">= 1.14")))))))
     (propagated-inputs
-     `(("ruby-addressable" ,ruby-addressable)
-       ("ruby-colorator" ,ruby-colorator)
-       ("ruby-em-websocket" ,ruby-em-websocket)
-       ("ruby-i18n" ,ruby-i18n)
-       ("ruby-jekyll-sass-converter" ,ruby-jekyll-sass-converter)
-       ("ruby-jekyll-watch" ,ruby-jekyll-watch)
-       ("ruby-kramdown" ,ruby-kramdown-parser-gfm)
-       ("ruby-liquid" ,ruby-liquid)
-       ("ruby-mercenary" ,ruby-mercenary)
-       ("ruby-pathutil" ,ruby-pathutil)
-       ("ruby-rouge" ,ruby-rouge)
-       ("ruby-safe-yaml" ,ruby-safe-yaml)
-       ("ruby-sassc" ,ruby-sassc)
-       ("ruby-terminal-table" ,ruby-terminal-table)))
+     (list ruby-addressable
+           ruby-colorator
+           ruby-em-websocket
+           ruby-i18n
+           ruby-jekyll-sass-converter
+           ruby-jekyll-watch
+           ruby-kramdown-parser-gfm
+           ruby-liquid
+           ruby-mercenary
+           ruby-pathutil
+           ruby-rouge
+           ruby-safe-yaml
+           ruby-sassc
+           ruby-terminal-table))
     (home-page "https://jekyllrb.com/")
     (synopsis "Static site generator")
     (description "Jekyll is a simple, blog aware, static site generator.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:39 GMT) Full text and rfc822 format available.

Message #350 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 053/223] gnu: Remove ruby-cucumber-create-meta.
Date: Mon, 20 Mar 2023 13:13:45 -0400
* gnu/packages/ruby.scm (ruby-cucumber-create-meta): Delete variable.
---
 gnu/packages/ruby.scm | 33 ---------------------------------
 1 file changed, 33 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d7a5cd81a5..ac8f30116a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8162,39 +8162,6 @@ (define-public ruby-sys-uname
   (home-page "https://github.com/djberg96/sys-uname")
   (license license:asl2.0)))
 
-(define-public ruby-cucumber-create-meta
-  (package
-    (name "ruby-cucumber-create-meta")
-    (version "1.0.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "cucumber-create-meta" version))
-       (sha256
-        (base32
-         "0i0i3arymjrnjk72mg79w1a11607x4d0lrqafm9sz2gq9l52zasw"))))
-    (build-system ruby-build-system)
-    (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'extract-gemspec 'relax-version-requirements
-                    (lambda _
-                      (substitute* ".gemspec"
-                        ((" 12\\.2")
-                         " 12.1"))
-                      #t))
-                  (replace 'check
-                    (lambda _
-                      (invoke "rspec"))))))
-    (native-inputs
-     (list ruby-rspec))
-    (propagated-inputs
-     (list ruby-cucumber-messages ruby-sys-uname))
-    (synopsis "Function to create @code{Meta} messages for Cucumber Ruby")
-    (description "The @code{createMeta} utility function allows generating
-system-specific @code{Meta} messages for Cucumber Ruby.")
-    (home-page "https://github.com/cucumber/cucumber/tree/master/create-meta/ruby")
-    (license license:expat)))
-
 (define-public ruby-cucumber-html-formatter
   (package
     (name "ruby-cucumber-html-formatter")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:39 GMT) Full text and rfc822 format available.

Message #353 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 198/223] gnu: Add ruby-rspec-stubbed-env.
Date: Mon, 20 Mar 2023 13:23:24 -0400
* gnu/packages/ruby.scm (ruby-rspec-stubbed-env): New variable.
---

 gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f19c02811f..79221b1bab 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -952,6 +952,42 @@ (define-public ruby-rspec-rerun
     (home-page "https://github.com/dblock/rspec-rerun")
     (license license:expat)))
 
+(define-public ruby-rspec-stubbed-env
+  ;; There is no release nor tag (see:
+  ;; https://github.com/pboling/rspec-stubbed_env/issues/7).
+  (let ((revision "0")
+        (commit "9d767dec77a6d130f6ad83c48a00a5c81b14b9fa"))
+    (package
+      (name "ruby-rspec-stubbed-env")
+      (version (git-version "1.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/pboling/rspec-stubbed_env")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1dy4m04h613dp0s59rknjd6h4lqs1h17mffc5kd8kh046mk8nr1p"))))
+      (build-system ruby-build-system)
+      (arguments
+       (list #:test-target "spec"
+             #:phases #~(modify-phases %standard-phases
+                          (add-after 'unpack 'streamline-requirements
+                            (lambda _
+                              ;; Remove extraneous development dependencies.
+                              (substitute* "rspec-stubbed_env.gemspec"
+                                ((".*bundler.*") "")
+                                ((".*rubocop.*") "")))))))
+      (native-inputs (list ruby-simplecov))
+      (propagated-inputs (list ruby-rspec))
+      (synopsis "RSpec plugin to stub environment variables")
+      (description
+       "This RSpec plugin can be used to stub environment variables in a scoped
+context for testing.")
+      (home-page "https://github.com/pboling/rspec-stubbed_env")
+      (license license:expat))))
+
 (define-public ruby-rspec-wait
   (package
     (name "ruby-rspec-wait")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:40 GMT) Full text and rfc822 format available.

Message #356 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 199/223] gnu: Add ruby-silent-stream.
Date: Mon, 20 Mar 2023 13:23:25 -0400
* gnu/packages/ruby.scm (ruby-silent-stream): New variable.
---

 gnu/packages/ruby.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 79221b1bab..c11ced887d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3629,6 +3629,24 @@ (define-public ruby-rubyzip
     (home-page "https://github.com/rubyzip/rubyzip")
     (license license:bsd-2)))
 
+(define-public ruby-silent-stream
+  (package
+    (name "ruby-silent-stream")
+    (version "1.0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "silent_stream" version))
+              (sha256
+               (base32
+                "10381fpvjzfjvhgfyv700607fpa29firgf52w5w5536m4fh6x63m"))))
+    (build-system ruby-build-system)
+    (synopsis "ActiveSupport stream silencing without ActiveSupport")
+    (description "SilentStream is an extraction of some parts of
+ActiveSupport's Kernel Reporting Core Extentions around silencing IO
+streams.")
+    (home-page "https://github.com/pboling/silent_stream")
+    (license license:expat)))
+
 (define-public ruby-simplecov-html
   (package
     (name "ruby-simplecov-html")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:40 GMT) Full text and rfc822 format available.

Message #359 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 055/223] gnu: ruby-aruba: Update to 2.1.0.
Date: Mon, 20 Mar 2023 13:13:47 -0400
* gnu/packages/ruby.scm (ruby-aruba): Update to 2.1.0.
[source]: Use git.
[arguments]: Use gexps.  Rename patch phase to 'patch-paths, and update.
Rename remove-unnecessary-dependencies phase to relax-requirements and update.
Move the check phase after the install phase, and add a new set-GEM_PATH
phase.
[native-inputs]: Remove ruby-fuubar.  Add ruby-rake-manifest.  Move bundler
to...
[propagated-inputs]: ... here.  Remove ruby-ffi and ruby-yard.
---
 gnu/packages/ruby.scm | 107 +++++++++++++++++++++++-------------------
 1 file changed, 58 insertions(+), 49 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fe5f4466f3..132a06bc57 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8075,62 +8075,71 @@ (define-public ruby-gherkin-ruby
 (define-public ruby-aruba
   (package
     (name "ruby-aruba")
-    (version "0.14.14")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "aruba" version))
-       (sha256
-        (base32
-         "0l2mfpdxc03gdrbwc2hv4vdhjhqhfcdp6d02j05j64ncpi9srlqn"))))
+    (version "2.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/cucumber/aruba")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mmlgqhi6yww3z34hmrrnha2rygkv6kx0q962z31dqxjkcv23yfd"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:test-target "spec"
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch
-           (lambda _
-             (substitute* "spec/aruba/api_spec.rb"
-               ;; This resolves some errors in the specs
-               ;;
-               ;; undefined method `parse' for Time:Class
-               (("require 'spec_helper'")
-                "require 'spec_helper'\nrequire 'time'"))
-             ;; Avoid shebang issues in this spec file
-             (substitute* "spec/aruba/matchers/command_spec.rb"
-               (("/usr/bin/env bash")
-                (which "bash")))
-             #t))
-         (add-before 'check 'remove-unnecessary-dependencies
-           (lambda _
-             (substitute* "Gemfile"
-               ((".*byebug.*") "\n")
-               ((".*pry.*") "\n")
-               ((".*yaml.*") "\n")
-               ((".*bcat.*") "\n")
-               ((".*kramdown.*") "\n")
-               ((".*rubocop.*") "\n")
-               ((".*cucumber-pro.*") "\n")
-               ((".*cucumber.*") "\n")
-               ((".*license_finder.*") "\n")
-               ((".*rake.*") "gem 'rake'\n")
-               ((".*relish.*") "\n"))
-             (substitute* "aruba.gemspec"
-               (("spec\\.add\\_runtime\\_dependency 'cucumber'.*")
-                "spec.add_runtime_dependency 'cucumber'"))
-             #t))
-         (add-before 'check 'set-home
-           (lambda _ (setenv "HOME" "/tmp") #t)))))
+     (list
+      ;; XXX: Only run the "spec" target and not the "cucumber" one, as it is
+      ;; slow and has multiple unexplained test failures.
+      #:test-target "spec"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-paths
+            (lambda _
+              ;; This test file relies on a dynamically generated script;
+              ;; patch its #!/bin/bash shebang.
+              (substitute* "spec/aruba/api/commands_spec.rb"
+                (("/bin/bash")
+                 (which "bash")))))
+          (add-before 'check 'relax-requirements
+            ;; Many development requirements are not actually needed.
+            (lambda _
+              (substitute* "aruba.gemspec"
+                (("\\[\">= 0.18.0\", \"< 0.22.0\"]") ;simplecov
+                 "\">= 0.18.0\"")
+                ((".*appraisal.*") "")
+                ((".*pry.*") "")
+                ((".*kramdown.*") "")
+                ((".*rubocop.*") "")
+                ((".*yard-junk.*") ""))
+              (substitute* "Rakefile"
+                ((".*require \"rubocop/rake_task\".*") "")
+                ((".*require \"yard-junk/rake\".*") "")
+                ((".*RuboCop::RakeTask.new.*") "")
+                ((".*YardJunk::Rake.define_task.*") ""))))
+          ;; The tests rely on the Gem being installed, so move the check
+          ;; phase after the install phase.
+          (delete 'check)
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'set-GEM_PATH
+            (lambda _
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))))
+          (add-before 'check 'set-home
+            (lambda _
+              (setenv "HOME" "/tmp"))))))
     (native-inputs
-     (list bundler ruby-rspec ruby-fuubar ruby-simplecov))
+     (list ruby-rake-manifest
+           ruby-rspec
+           ruby-simplecov))
     (propagated-inputs
-     (list ruby-childprocess
+     (list bundler
+           ruby-childprocess
            ruby-contracts
            ruby-cucumber
-           ruby-ffi
            ruby-rspec-expectations
-           ruby-thor
-           ruby-yard))
+           ruby-thor))
     (synopsis "Test command-line applications with Cucumber, RSpec or Minitest")
     (description
      "Aruba is an extension for Cucumber, RSpec and Minitest for testing
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:26:41 GMT) Full text and rfc822 format available.

Message #362 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 087/223] gnu: Add ruby-syntax-tree.
Date: Mon, 20 Mar 2023 13:14:19 -0400
* gnu/packages/ruby.scm (ruby-syntax-tree): New variable.
---
 gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1ea90a543b..492468c296 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12226,6 +12226,44 @@ (define-public ruby-language-server-protocol
     (home-page "https://github.com/mtsmfm/language_server-protocol-ruby")
     (license license:expat)))
 
+(define-public ruby-syntax-tree
+  (package
+    (name "ruby-syntax-tree")
+    (version "6.0.2")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby-syntax-tree/syntax_tree")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0p3gbc0y2ld9svhhx95nifqf67gjfyy478h6mzm7zz0dapi8v8jm"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; The tests rely on the Gem being installed, so move the check
+          ;; phase after the install phase.
+          (delete 'check)
+          (add-after 'install 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (setenv "GEM_PATH" (string-append
+                                  #$output "/lib/ruby/vendor_ruby:"
+                                  (getenv "GEM_PATH")))
+              (when tests?
+                (invoke "rake" "test")))))))
+    (native-inputs (list ruby-rubocop-ast ruby-simplecov))
+    (propagated-inputs (list ruby-prettier-print))
+    (synopsis "Fast Ruby parser and formatter")
+    (description "Syntax Tree is a suite of tools built on top of the internal
+CRuby parser.  It provides the ability to generate a syntax tree from source,
+as well as the tools necessary to inspect and manipulate that syntax tree.  It
+can be used to build formatters, linters, language servers, and more.")
+    (home-page "https://github.com/ruby-syntax-tree/syntax_tree")
+    (license license:expat)))
+
 (define-public ruby-mustache
   (package
     (name "ruby-mustache")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:27:02 GMT) Full text and rfc822 format available.

Message #365 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 067/223] gnu: ruby-activejob: Update to 7.0.4.3 and enable
 tests.
Date: Mon, 20 Mar 2023 13:13:59 -0400
* gnu/packages/rails.scm (ruby-activejob): Update to 7.0.4.3.
[source]: Use ruby-rails-monorepo.
[arguments]: Remove #:tests? argument.  Add #:phases argument.
[native-inputs]: New field.
---
 gnu/packages/rails.scm | 57 ++++++++++++++++++++++++++----------------
 1 file changed, 36 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 338c92ddaa..bff4e09264 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -522,27 +522,42 @@ (define-public ruby-actioncable
 
 (define-public ruby-activejob
   (package
-   (name "ruby-activejob")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "activejob" version))
-     (sha256
-      (base32
-       "175d8q0achdlsxjsvq0w9znvfqfkgbj75kbmdrvg4fb277wwplmf"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-activesupport ruby-globalid))
-   (synopsis "Declare job classes for multiple backends")
-   (description
-    "ActiveJob allows declaring job classes in a common way across Rails
-applications.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
+    (name "ruby-activejob")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "activejob")))
+          (add-after 'chdir 'delete-problematic-tests
+            (lambda _
+              (substitute* "Rakefile"
+                ;; Remove the adapters that aren't yet packaged or would
+                ;; introduce cyclic dependencies.
+                (("backburner ") "")
+                (("resque ") "")
+                (("sidekiq ") "")
+                (("sneakers ") "")
+                (("sucker_punch ") ""))
+              (substitute* "test/cases/exceptions_test.rb"
+                (("ActiveJob::QueueAdapters::SneakersAdapter") "")))))))
+    (native-inputs
+     (list ruby-queue-classic
+           ruby-delayed-job
+           ruby-que
+           ruby-zeitwerk))
+    (propagated-inputs
+     (list ruby-activesupport
+           ruby-globalid))
+    (synopsis "Declare job classes for multiple backends")
+    (description "ActiveJob allows declaring job classes in a common way
+across Rails applications.")
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
 
 (define-public ruby-activestorage
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:02 GMT) Full text and rfc822 format available.

Message #368 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 125/223] gnu: Add ruby-rspec-debug.
Date: Mon, 20 Mar 2023 13:22:11 -0400
* gnu/packages/ruby.scm (ruby-rspec-debug): New variable.
---

 gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1d89ff9006..fbf7c2d637 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -993,6 +993,37 @@ (define-public ruby-rspec-2
     (propagated-inputs
      (list ruby-rspec-core-2 ruby-rspec-mocks-2 ruby-rspec-expectations-2))))
 
+(define-public ruby-rspec-debug
+  (package
+    (name "ruby-rspec-debug")
+    (version "0.2.0")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ko1/rspec-debug")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "125p1zxjznkk765nyqvkksw8x1nbm7xk4sjc1wza2fyp5hvyiddn"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'extract-gemspec 'relax-dependencies
+                          (lambda _
+                            (substitute* "Gemfile"
+                              (("~>") ">=")))))))
+    (native-inputs (list ruby-rspec))
+    (propagated-inputs (list ruby-debug))
+    (synopsis "Invoke Ruby debugger when spec fails")
+    (description "This package can be used to have the execution stopped for
+inspection in the Ruby debugger upon encountering a failure.  To use it, set
+the @env{RSPEC_DEBUG} environment variable to @samp{true} then invoke the
+@command{rspec} command as usual.")
+    (home-page "https://github.com/ko1/rspec-debug")
+    (license license:expat)))
+
 ;; Bundler is yet another source of circular dependencies, so we must disable
 ;; its test suite as well.
 (define-public bundler
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:03 GMT) Full text and rfc822 format available.

Message #371 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected.
Date: Mon, 20 Mar 2023 13:29:12 -0400
* gnu/packages/ruby.scm (ruby-rspec-block-is-expected): New variable.
---

 gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b04eef72da..1053dcd758 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -929,6 +929,39 @@ (define-public ruby-rspec-mocks-2
     (propagated-inputs
      (list ruby-diff-lcs))))
 
+(define-public ruby-rspec-block-is-expected
+  (package
+    (name "ruby-rspec-block-is-expected")
+    (version "1.0.2")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/pboling/rspec-block_is_expected")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1w8mj00k8am24yw7lbhg616m111p7h7bbfxaw7np4i7wnlwzm8fk"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'relax-requirements
+                          (lambda _
+                            (substitute* "Rakefile"
+                              (("require 'rubocop/rake_task'") "")
+                              (("RuboCop::RakeTask.new") ""))
+                            ;; Contains extraneous requirements not actually
+                            ;; needed for the test suite.
+                            (delete-file "Gemfile"))))))
+    (native-inputs (list ruby-rspec-pending-for ruby-rspec-expectations))
+    (propagated-inputs (list ruby-rspec-core))
+    (synopsis "Simplify testing of blocks in RSpec")
+    (description "This RSpec plugin allows you to use @code{block_is_expected}
+similarly to how you would use @code{is_expected} if a block was wrapping the
+subject.")
+    (home-page "https://github.com/pboling/rspec-block_is_expected")
+    (license license:expat)))
+
 (define-public ruby-rspec-pending-for
   (package
     (name "ruby-rspec-pending-for")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:04 GMT) Full text and rfc822 format available.

Message #374 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 203/223] gnu: Add ruby-version-gem.
Date: Mon, 20 Mar 2023 13:29:13 -0400
* gnu/packages/ruby.scm (ruby-version-gem): New variable.
---

 gnu/packages/ruby.scm | 53 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1053dcd758..92fc99575d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8906,6 +8906,59 @@ (define-public ruby-varint
     (home-page "https://github.com/liquidm/varint")
     (license license:bsd-3)))
 
+(define-public ruby-version-gem
+  (package
+    (name "ruby-version-gem")
+    (version "1.1.2")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://gitlab.com/oauth-xx/version_gem")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "17y4dydlczd5xvvwfy94x63d5wi14cdkfhi6g94fm1sgsxxzzmq0"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'relax-requirements
+                          (lambda _
+                            (substitute* "Gemfile"
+                              (("^linting = .*")
+                               "linting = false\n")
+                              (("^coverage = .*")
+                               "coverage = false\n")
+                              (("^debug = .*")
+                               "debug = false\n"))
+                            (substitute* "spec/spec_helper.rb"
+                              (("^RUN_COVERAGE = .*")
+                               "RUN_COVERAGE = false\n")
+                              (("^ALL_FORMATTERS = .*")
+                               "ALL_FORMATTERS = false\n"))))
+                        (add-before 'build 'drop-signing-key-requirement
+                          (lambda _
+                            (substitute* "version_gem.gemspec"
+                              (("spec.signing_key =.*")
+                               "spec.signing_key = nil"))))
+                        (add-before 'check 'disable-problematic-tests
+                          (lambda _
+                            (substitute* "spec/version_gem/ruby_spec.rb"
+                              ;; The test validates the minimum version of
+                              ;; Ruby to be 2.7.7, but because our Ruby is
+                              ;; 2.7.4 grafted with 2.7.7, the version seen is
+                              ;; 2.7.4 and it fails.
+                              (("it 'returns true when current ruby greater \
+than minimum'" all)
+                               (string-append "x" all))))))))
+    (native-inputs (list ruby-rspec ruby-rspec-block-is-expected))
+    (synopsis "Improved @code{Version} module for Ruby")
+    (description "VersionGem aims to provide introspection of a @code{Version}
+module based on a @code{Version::VERSION} constant string wile not interfering
+with gemspec parsing where the @code{VERSION} string is traditionally used.")
+    (home-page "https://gitlab.com/oauth-xx/version_gem")
+    (license license:expat)))
+
 ;;; Note: Do NOT update to a newer version; this is the last commit that is
 ;;; still licensed as free software, the project having switched to the
 ;;; Hippocratic license afterward (see:
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:04 GMT) Full text and rfc822 format available.

Message #377 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 204/223] gnu: ruby-hashie: Update to 5.0.0 and enable tests.
Date: Mon, 20 Mar 2023 13:29:14 -0400
* gnu/packages/ruby.scm (ruby-hashie): Update to 5.0.0.
[arguments]: Enable tests.  Add #:test-target and #:phases arguments.
[native-inputs]: New field.
---

 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++--------
 1 file changed, 27 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 92fc99575d..520dd70a08 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13054,18 +13054,37 @@ (define-public ruby-rouge
 (define-public ruby-hashie
   (package
     (name "ruby-hashie")
-    (version "3.6.0")
+    (version "5.0.0")
     (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "hashie" version))
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/hashie/hashie")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "13bdzfp25c8k51ayzxqkbzag3wj5gc1jd8h7d985nsq6pn57g5xh"))))
+                "0ihami0cdn71cvwzwgr3vxqvqi0ifqsna0vlyqiqlhsnf93w0cm8"))))
     (build-system ruby-build-system)
-    (native-inputs
-     (list bundler))
-    (arguments `(#:tests? #f)); FIXME: Could not locate Gemfile or .bundle/ directory
-    (home-page "https://github.com/intridea/hashie")
+    (arguments
+     (list #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'disable-bundler
+                          (lambda _
+                            (substitute* "Rakefile"
+                              ((".*require 'bundler'.*") "")
+                              ((".*Bundler.setup.*") "")
+                              (("Bundler::GemHelper\\.install_tasks") ""))))
+                        (add-after 'unpack 'disable-rubocop
+                          (lambda _
+                            (substitute* "Rakefile"
+                              (("require 'rubocop/rake_task'") "")
+                              (("RuboCop::RakeTask.new") ""))))
+                        (add-after 'unpack 'relax-requirements
+                          (lambda _
+                            ;; Contains multiple extraneous dependencies.
+                            (delete-file "Gemfile"))))))
+    (native-inputs (list ruby-json ruby-pry ruby-rspec ruby-rspec-pending-for))
+    (home-page "https://github.com/hashie/hashie")
     (synopsis "Extensions to Ruby Hashes")
     (description "Hashie is a collection of classes and mixins that make Ruby
 hashes more powerful.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:05 GMT) Full text and rfc822 format available.

Message #380 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 133/223] gnu: ruby-puma: Update to 6.1.1 and enable test suite.
Date: Mon, 20 Mar 2023 13:22:19 -0400
* gnu/packages/ruby.scm (ruby-puma): Update to 6.1.1.
[source]: Use git.
[arguments]: Remove #:tests? argument.  Adjust fix-gemspec phase.  Add the
disable-rubocop, use-rack-2, increase-resource-limits,
disable-problematic-tests, relax-test-case-timeout, set-home and set-paths
phases. Override the check phase.
[native-inputs]: New field.
[inputs]: Add ruby-nio4r.
---

 gnu/packages/ruby.scm | 109 ++++++++++++++++++++++++++++++++++++------
 1 file changed, 95 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ca8d381359..13d299fd3c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10804,28 +10804,109 @@ (define-public ruby-ttfunk
 (define-public ruby-puma
   (package
     (name "ruby-puma")
-    (version "3.9.1")
+    (version "6.1.1")
     (source
      (origin
-       (method git-fetch)
-       ;; Fetch from GitHub because distributed gem does not contain tests.
+       (method git-fetch)               ;for tests
        (uri (git-reference
-              (url "https://github.com/puma/puma")
-              (commit (string-append "v" version))))
+             (url "https://github.com/puma/puma")
+             (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1kj75k81iik3aj73pkc9ixj9rwf95ipkyma65n28m64dgw02qi1f"))))
+         "0v4nn3z0bj0ry0gpx1hsf5mzkinsx9sv716j4jf2nb1x6hcwv993"))))
     (build-system ruby-build-system)
     (arguments
-     `(#:tests? #f ; Tests require an out-dated version of minitest.
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'fix-gemspec
-           (lambda _
-             (substitute* "puma.gemspec"
-               (("git ls-files") "find * |sort")))))))
-    (inputs (list openssl))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'disable-rubocop
+            (lambda _
+              (setenv "PUMA_NO_RUBOCOP" "1")))
+          (add-after 'unpack 'use-rack-2
+            (lambda _
+              (setenv "PUMA_CI_RACK_2" "1")))
+          (add-before 'build 'increase-resource-limits
+            (lambda _
+              ;; The test suite requires a higher number of open files.  Try
+              ;; increasing the soft resource limit of max open files to 2048,
+              ;; or equal to the hard limit, whichever is lower.
+              (call-with-values (lambda () (getrlimit 'nofile))
+                (lambda (soft hard)
+                  (when (and soft (< soft 2048))
+                    (if hard
+                        (setrlimit 'nofile (min hard 2048) hard)
+                        (setrlimit 'nofile 2048 #f))
+                    (format
+                     #t "increased maximum number of open files from ~d to ~d~%"
+                     soft (if hard (min hard 2048) 2048)))))))
+          (add-before 'build 'fix-gemspec
+            (lambda _
+              (substitute* "puma.gemspec"
+                (("`git ls-files -- bin docs ext lib tools`")
+                 "`find bin docs ext lib tools -type f |sort`"))))
+          (delete 'check)               ;moved after install
+          (add-after 'install 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "bundle" "exec" "rake" "test"))))
+          (add-before 'check 'disable-problematic-tests
+            (lambda _
+              (let-syntax ((skip-tests
+                            (syntax-rules ()
+                              ((_ file test ...)
+                               (substitute* file
+                                 (((string-append "def " test ".*") all)
+                                  (string-append
+                                   all "    skip('fails on guix')\n")) ...)))))
+                ;; The test failures were reported at:
+                ;; https://github.com/puma/puma/issues/3093, but appear to be
+                ;; caused by the Guix build container, perhaps the lack of
+                ;; zombie process reaping (see:
+                ;; https://issues.guix.gnu.org/30948).
+                ;;  All the tests in the 'test_worker_gem_independence.rb'
+                ;;  module fail with "Expected false to be truthy.".
+                (delete-file "test/test_worker_gem_independence.rb")
+                (skip-tests "test/test_integration_ssl_session.rb"
+                            ;; The TLS 1.2 test fails for unknown reasons.
+                            "test_off_tls1_2")
+                (skip-tests "test/test_integration_cluster.rb"
+                            "test_fork_worker_on_refork"
+                            "test_culling_strategy_oldest_fork_worker"
+                            "test_usr1_fork_worker")
+                (skip-tests "test/test_integration_pumactl.rb"
+                            "test_refork_cluster"))))
+          (add-before 'check 'relax-test-case-timeout
+            (lambda _
+              ;; The default value is 45 s and easily causes timeouts.
+              (setenv "TEST_CASE_TIMEOUT" "600")))
+          (add-before 'check 'set-home
+            (lambda _
+              ;; Some tests fail if the cannot write to HOME.
+              (setenv "HOME" "/tmp")))
+          (add-before 'check 'set-paths
+            (lambda _
+              ;; The test suite requires the 'puma' command to be on PATH.
+              (setenv "PATH" (string-append (getenv "PATH") ":"
+                                            #$output "/bin"))
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby")))))))
+    (native-inputs
+     (list bundler
+           curl
+           ruby-json
+           ruby-localhost
+           ruby-m
+           ruby-minitest-proveit
+           ruby-minitest-retry
+           ruby-minitest-stub-const
+           ruby-rack
+           ruby-rake-compiler
+           ruby-webrick))
+    (inputs
+     (list openssl
+           ruby-nio4r))
     (synopsis "Simple, concurrent HTTP server for Ruby/Rack")
     (description
      "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:06 GMT) Full text and rfc822 format available.

Message #383 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 205/223] gnu: Add ruby-snaky-hash.
Date: Mon, 20 Mar 2023 13:29:15 -0400
* gnu/packages/ruby.scm (ruby-snaky-hash): New variable.
---

 gnu/packages/ruby.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 520dd70a08..87b78f7d2b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3798,6 +3798,49 @@ (define-public ruby-simplecov-lcov
     (home-page "https://github.com/fortissimo1997/simplecov-lcov")
     (license license:expat)))
 
+(define-public ruby-snaky-hash
+  (package
+    (name "ruby-snaky-hash")
+    (version "2.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference       ;for tests
+                    (url "https://gitlab.com/oauth-xx/snaky_hash")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0zmixxzi2g2d75zii65bq037j4g67p25l6aqddbmmwizspsp5az6"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'relax-requirements
+                          (lambda _
+                            (substitute* "Gemfile"
+                              (("^linting = .*")
+                               "linting = false\n")
+                              (("^coverage = .*")
+                               "coverage = false\n")
+                              (("^debug = .*")
+                               "debug = false\n"))
+                            (substitute* "spec/spec_helper.rb"
+                              (("^RUN_COVERAGE = .*")
+                               "RUN_COVERAGE = false\n")
+                              (("^ALL_FORMATTERS = .*")
+                               "ALL_FORMATTERS = false\n"))))
+                        (add-before 'build 'drop-signing-key-requirement
+                          (lambda _
+                            (substitute* "snaky_hash.gemspec"
+                              (("spec.signing_key =.*")
+                               "spec.signing_key = nil")))))))
+    (native-inputs (list ruby-rspec ruby-rspec-block-is-expected))
+    (propagated-inputs (list ruby-hashie ruby-version-gem))
+    (synopsis "Hash keys and look-ups normalization Ruby library")
+    (description "The SnakyHash Ruby library provides classes for normalizing
+hash keys and look-ups, and a pseudo-object interface.")
+    (home-page "https://gitlab.com/oauth-xx/snaky_hash")
+    (license license:expat)))
+
 (define-public ruby-useragent
   (package
     (name "ruby-useragent")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:07 GMT) Full text and rfc822 format available.

Message #386 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 206/223] gnu: ruby-oauth2: Update to 2.0.9 and enable tests.
Date: Mon, 20 Mar 2023 13:29:16 -0400
* gnu/packages/ruby.scm (ruby-oauth2): Update to 2.0.9.
[arguments]: Enable tests.  Add #:phases.
[native-inputs]: New field.
[propagated-inputs]: Add ruby-snaky-hash.
---

 gnu/packages/ruby.scm | 49 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 87b78f7d2b..117f6fa789 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2626,19 +2626,48 @@ (define-public ruby-saikuro-treemap
 (define-public ruby-oauth2
   (package
     (name "ruby-oauth2")
-    (version "1.4.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "oauth2" version))
-       (sha256
-        (base32 "15i9z4j5pcjkr30lkcd79xzbr4kpmy0bqgwa436fqyqk646fv036"))))
+    (version "2.0.9")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://gitlab.com/oauth-xx/oauth2")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "191j1f4gjw8wij1jy2fvddgi8cv1mm0ki7v0b0795clix1avnj29"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:tests? #f))                    ; no included tests
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'relax-requirements
+                          (lambda _
+                            (substitute* "Gemfile"
+                              (("^linting = .*")
+                               "linting = false\n")
+                              (("^coverage = .*")
+                               "coverage = false\n")
+                              (("^debug = .*")
+                               "debug = false\n"))
+                            (substitute* "spec/spec_helper.rb"
+                              (("^RUN_COVERAGE = .*")
+                               "RUN_COVERAGE = false\n")
+                              (("^ALL_FORMATTERS = .*")
+                               "ALL_FORMATTERS = false\n")))))))
+    (native-inputs
+     (list ruby-addressable
+           ruby-backports
+           ruby-rexml
+           ruby-rspec-block-is-expected
+           ruby-rspec-pending-for
+           ruby-rspec-stubbed-env
+           ruby-silent-stream))
     (propagated-inputs
-     (list ruby-faraday ruby-jwt ruby-multi-json ruby-multi-xml
-           ruby-rack))
+     (list ruby-faraday
+           ruby-jwt
+           ruby-multi-json
+           ruby-multi-xml
+           ruby-rack
+           ruby-snaky-hash))
     (synopsis "Ruby wrapper for the OAuth 2.0")
     (description
      "This package provides a Ruby wrapper for the OAuth 2.0 protocol built
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:08 GMT) Full text and rfc822 format available.

Message #389 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 207/223] gnu: ruby-omniauth: Update to 2.1.1.
Date: Mon, 20 Mar 2023 13:29:17 -0400
* gnu/packages/ruby.scm (ruby-omniauth): Update to 2.1.1.
[arguments]: New field.
[propagated-inputs]: Add ruby-rack-test.
---

 gnu/packages/ruby.scm | 36 +++++++++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 117f6fa789..52b540a9d9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2678,18 +2678,32 @@ (define-public ruby-oauth2
 (define-public ruby-omniauth
   (package
     (name "ruby-omniauth")
-    (version "2.0.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "omniauth" version))
-       (sha256
-        (base32 "105mzgvmn2kjaacxw01h4wqv33r7hfn5z8fxlkk3jcjar14j71bh"))))
+    (version "2.1.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/omniauth/omniauth")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1mm7a4ll7ymamrbsl63yi6i34qpwmh2nh5a9kj961gja1iz2gyd1"))))
     (build-system ruby-build-system)
-    (propagated-inputs
-     (list ruby-hashie ruby-rack ruby-rack-protection))
-    (native-inputs
-     (list ruby-rspec))
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'relax-requirements
+                 (lambda _
+                   (substitute* "spec/helper.rb"
+                     ;; This condition is used to require coveralls and
+                     ;; simplecov; override it to avoid these extraneous
+                     ;; requirements.
+                     (("RUBY_VERSION >= '1.9'")
+                      "false")
+                     (("require 'rack/freeze'") "")))))))
+    (native-inputs (list ruby-rspec))
+    (propagated-inputs (list ruby-hashie ruby-rack ruby-rack-test
+                             ruby-rack-protection))
     (synopsis "Generalized Rack framework for multiple-provider authentication")
     (description
      "This package provides a generalized Rack framework for multiple-provider
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:09 GMT) Full text and rfc822 format available.

Message #392 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 208/223] gnu: ruby-omniauth-oauth2: Update to 1.8.0.
Date: Mon, 20 Mar 2023 13:29:18 -0400
* gnu/packages/ruby.scm (ruby-omniauth-oauth2): Update to 1.8.0.
[arguments]: Rename remove-unnecessary-dependencies phase to
relax-requirements, and simplify it.
[native-inputs]: Remove bundler and ruby-simplecov.
---

 gnu/packages/ruby.scm | 32 ++++++++++++++------------------
 1 file changed, 14 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 52b540a9d9..89ef556880 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2714,32 +2714,28 @@ (define-public ruby-omniauth
 (define-public ruby-omniauth-oauth2
   (package
     (name "ruby-omniauth-oauth2")
-    (version "1.7.1")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "omniauth-oauth2" version))
        (sha256
         (base32
-         "10fr2b58sp7l6nfdvxpbi67374hkrvsf507cvda89jjs0jacy319"))))
+         "0y4y122xm8zgrxn5nnzwg6w39dnjss8pcq2ppbpx9qn7kiayky5j"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'remove-unnecessary-dependencies
-           (lambda _
-             ;; The coveralls gem submits coverage information to an online
-             ;; service, and is unnecessary when running the tests
-             (substitute* "Gemfile"
-               ((".*coveralls\"") ""))
-             (substitute* "spec/helper.rb"
-               (("require \"coveralls\"") "")
-               (("Coveralls::SimpleCov::Formatter") ""))
-             #t)))))
-    (propagated-inputs
-     (list ruby-oauth2 ruby-omniauth))
-    (native-inputs
-     (list bundler ruby-rspec ruby-simplecov ruby-rack-test ruby-webmock))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'relax-requirements
+                 (lambda _
+                   (substitute* "spec/helper.rb"
+                     ;; This condition is used to require coveralls and
+                     ;; simplecov; override it to avoid these extraneous
+                     ;; requirements.
+                     (("RUBY_VERSION >= \"1.9\"")
+                      "false")))))))
+    (propagated-inputs (list ruby-oauth2 ruby-omniauth))
+    (native-inputs (list ruby-rspec ruby-rack-test ruby-webmock))
     (synopsis "Abstract OAuth2 strategy for OmniAuth")
     (description
      "This library provides a generic OAuth2 strategy for OmniAuth.  It
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:09 GMT) Full text and rfc822 format available.

Message #395 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 209/223] gnu: ruby-cuke-modeler: Update to 3.19.0 and enable
 tests.
Date: Mon, 20 Mar 2023 13:29:19 -0400
* gnu/packages/ruby.scm (ruby-cuke-modeler): Update to 3.19.0.
[source]: Fetch via git.
[arguments]: Enable tests.  Set the #:test-target argument.  Add #:phases.
[native-inputs]: New field.
---

 gnu/packages/ruby.scm | 56 ++++++++++++++++++++++++++++++++++---------
 1 file changed, 45 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 89ef556880..a0b8fcae8a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6322,18 +6322,52 @@ (define-public ruby-coderay
 (define-public ruby-cuke-modeler
   (package
     (name "ruby-cuke-modeler")
-    (version "3.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "cuke_modeler" version))
-       (sha256
-        (base32
-         "19smj3g3wvz0203l549sadpcxgh0ir350a6k78gq0bmlv9cchmjb"))))
+    (version "3.19.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/enkessler/cuke_modeler")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0bizla3k124lj4r7f2k5cdfm2sawzd6rdmb6rgbkbng2fygxsjib"))))
     (build-system ruby-build-system)
-    (arguments `(#:tests? #f))          ;no test suite in gem
-    (propagated-inputs
-     (list ruby-cucumber-gherkin))
+    (arguments
+     (list #:test-target "default"
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'relax-requirements
+                 (lambda _
+                   (substitute* "Gemfile"
+                     ;; Cucumber appears pinned to an older version for no
+                     ;; particular reason (see:
+                     ;; https://github.com/enkessler/cuke_modeler/issues/14).
+                     (("'cucumber', '2.2.0'")
+                      "'cucumber', '>= 2.2.0'"))
+                   ;; Disable Bundler.
+                   (substitute* "bin/console"
+                     (("require 'bundler/setup'") ""))
+                   (substitute* "rakefiles/testing_tasks.rb"
+                     (("'bundle', 'exec', ") ""))
+                   ;; Remove extraneous dependencies.
+                   (substitute* "cuke_modeler.gemspec"
+                     ((".*bundler.*") "")
+                     ((".*rubocop.*") "")
+                     ((".*yard.*") ""))
+                   (substitute* "Rakefile"
+                     (("Rainbow.enabled = true") "")
+                     (("require_relative 'rakefiles/documentation_tasks'") "")
+                     (("require_relative 'rakefiles/other_tasks'") "")
+                     (("require_relative 'rakefiles/release_tasks'") "")))))))
+    (native-inputs
+     (list ruby-childprocess
+           ruby-cucumber
+           ruby-rainbow
+           ruby-rspec
+           ruby-simplecov
+           ruby-simplecov-lcov))
+    (propagated-inputs (list ruby-cucumber-gherkin))
     (synopsis "Gherkin test suite analysis tool")
     (description "CukeModeler facilitates modeling a test suite that is
 written in Gherkin (e.g.  Cucumber, SpecFlow, Lettuce, etc.).  It does this by
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:10 GMT) Full text and rfc822 format available.

Message #398 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 210/223] gnu: ruby-single-cov: Update to 1.9.1.
Date: Mon, 20 Mar 2023 13:29:20 -0400
* gnu/packages/ruby.scm (ruby-single-cov): Update to 1.9.1.
[arguments]: Use "spec" as #:test-target.
Strip trailing #t in phases.  Adjust replacement in replace-git-ls-files
phase.  Remove make-files-writable phase.  Add relax-requirements phase.
[native-inputs]: Remove ruby-bump.
---

 gnu/packages/ruby.scm | 33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a0b8fcae8a..52dcc08b80 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6722,7 +6722,7 @@ (define-public ruby-pry-doc
 (define-public ruby-single-cov
   (package
     (name "ruby-single-cov")
-    (version "1.3.2")
+    (version "1.9.1")
     (home-page "https://github.com/grosser/single_cov")
     (source (origin
               (method git-fetch)
@@ -6731,28 +6731,29 @@ (define-public ruby-single-cov
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "05qdzpcai1p23a120gb9bxkfl4y73k9hicx34ch2lsk31lgi9bl7"))))
+                "1w4k81f2mdg620m6pwkrqayddnz9mr8qx0myqn33mw8k6imfip05"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:test-target "default"
+     '(#:test-target "spec"             ;to avoid rubocop requirement
        #:phases (modify-phases %standard-phases
                   (replace 'replace-git-ls-files
                     (lambda _
                       (substitute* "single_cov.gemspec"
                         (("`git ls-files lib/ bin/ MIT-LICENSE`")
-                         "`find lib/ bin/ MIT-LICENSE -type f | sort`"))
-                      #t))
+                         ;; There no longer appear to be a 'bin'
+                         ;; sub-directory.
+                         "`find lib/ MIT-LICENSE -type f | sort`"))))
                   (add-before 'check 'remove-version-constraints
                     (lambda _
-                      (delete-file "Gemfile.lock")
-                      #t))
-                  (add-before 'check 'make-files-writable
+                      (delete-file "Gemfile.lock")))
+                  (add-before 'check 'relax-requirements
                     (lambda _
-                      ;; Tests need to create local directories and open files
-                      ;; with write permissions.
-                      (for-each make-file-writable
-                                (find-files "specs" #:directories? #t))
-                      #t))
+                      ;; Remove extraneous requirements.
+                      (substitute* "Rakefile"
+                        ((".*require.*bump.*") ""))
+                      (substitute* "Gemfile"
+                        ((".*gem \"bump\".*") "")
+                        ((".*gem \"rubocop\".*") ""))))
                   (add-before 'check 'disable-failing-test
                     (lambda _
                       ;; XXX: This test copies assets from minitest, but can
@@ -6760,10 +6761,8 @@ (define-public ruby-single-cov
                       ;; it for now.
                       (substitute* "specs/single_cov_spec.rb"
                         (("it \"complains when coverage is bad\"")
-                         "xit \"complains when coverage is bad\""))
-                      #t)))))
-    (native-inputs
-     (list ruby-bump ruby-minitest ruby-rspec ruby-simplecov))
+                         "xit \"complains when coverage is bad\"")))))))
+    (native-inputs (list ruby-minitest ruby-rspec ruby-simplecov))
     (synopsis "Code coverage reporting tool")
     (description
      "This package provides actionable code coverage reports for Ruby
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:11 GMT) Full text and rfc822 format available.

Message #401 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 211/223] gnu: ruby-parallel-tests: Update to 4.2.0.
Date: Mon, 20 Mar 2023 13:29:21 -0400
* gnu/packages/ruby.scm (ruby-parallel-tests): Update to 4.2.0.
[arguments]: Delete trailing #t.  Use "spec" as the #:test-target.
Rename remove-version-constraints phase to relax-requirements, and update it.
Add disable-problematic-tests phase.
---

 gnu/packages/ruby.scm | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 52dcc08b80..f8d0941e26 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6382,7 +6382,7 @@ (define-public ruby-cuke-modeler
 (define-public ruby-parallel-tests
   (package
     (name "ruby-parallel-tests")
-    (version "3.0.0")
+    (version "4.2.0")
     (home-page "https://github.com/grosser/parallel_tests")
     (source (origin
               (method git-fetch)
@@ -6392,19 +6392,18 @@ (define-public ruby-parallel-tests
               (file-name (string-append name version))
               (sha256
                (base32
-                "08a6ndqn2dqacmc7yg48k0dh2rfrynvhkd5hiay16dl9m1r9q8pz"))))
+                "00gbg5q36ayspkzd6r0kg4gk46lsw9s6misx14rczxaf9kqcdrmv"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:test-target "default"
+     '(#:test-target "spec"             ;avoid rubocop dependency
        #:phases (modify-phases %standard-phases
                   (add-after 'patch-source-shebangs 'patch-shell-invokations
                     (lambda _
                       (substitute* '("lib/parallel_tests/tasks.rb"
                                      "spec/parallel_tests/tasks_spec.rb")
                         (("/bin/sh") (which "sh"))
-                        (("/bin/bash") (which "bash")))
-                      #t))
-                  (add-before 'check 'remove-version-constraints
+                        (("/bin/bash") (which "bash")))))
+                  (add-before 'check 'relax-requirements
                     (lambda _
                       ;; Remove hard coded version constraints, instead just
                       ;; use whatever versions are available in Guix.
@@ -6413,20 +6412,27 @@ (define-public ruby-parallel-tests
                         (("'minitest',.*")
                          "'minitest'\n")
                         (("'cucumber',.*")
-                         "'cucumber'\n"))
-                      #t))
+                         "'cucumber'\n")
+                        ;; Do not depend on a git-fetched spinach version.
+                        (("gem 'spinach',.*")
+                         "gem 'spinach'\n")
+                        ((".*rubocop.*") ""))))
                   (add-before 'check 'disable-rails-test
                     (lambda _
                       ;; XXX: This test attempts to download and run the test
                       ;; suites of multiple Rails versions(!) directly.
-                      (delete-file "spec/rails_spec.rb")
-                      #t))
+                      (delete-file "spec/rails_spec.rb")))
+                  (add-before 'check 'disable-problematic-tests
+                    (lambda _
+                      ;; This test fails, probably because of the newer
+                      ;; Cucumber version used here.
+                      (delete-file "spec/parallel_tests/cucumber/\
+failure_logger_spec.rb")                      ))
                   (add-before 'check 'set-HOME
                     (lambda _
                       ;; Some tests check the output of Bundler, and fail when
                       ;; Bundler warns that /homeless-shelter does not exist.
-                      (setenv "HOME" "/tmp")
-                      #t)))))
+                      (setenv "HOME" "/tmp"))))))
     (native-inputs
      (list ruby-bump
            ruby-cucumber
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:11 GMT) Full text and rfc822 format available.

Message #404 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 212/223] gnu: Add ruby-sassc-rails.
Date: Mon, 20 Mar 2023 13:29:22 -0400
* gnu/packages/rails.scm (ruby-sassc-rails): New variable.
---

 gnu/packages/rails.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 15f10f9181..34db6825be 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -1174,6 +1174,35 @@ (define (touch file-name)
     (home-page "https://rubyonrails.org")
     (license license:expat)))
 
+(define-public ruby-sassc-rails
+  (package
+    (name "ruby-sassc-rails")
+    (version "2.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "sassc-rails" version))
+              (sha256
+               (base32
+                "1d9djmwn36a5m8a83bpycs48g8kh1n2xkyvghn7dr6zwh4wdyksz"))))
+    (build-system ruby-build-system)
+    ;; The test suite currently fails with multiple "FrozenError: can't modify
+    ;; frozen Array: []" errors, apparently caused by Rails 7 (see:
+    ;; https://github.com/sass/sassc-rails/pull/178/files).
+    (arguments (list #:tests? #f
+                     #:phases #~(modify-phases %standard-phases
+                                  (add-after 'extract-gemspec 'relax-requirements
+                                    (lambda _
+                                      (substitute* "sassc-rails.gemspec"
+                                        (("%q<rake>.freeze, \\[\"~> 10.0\"]")
+                                         "%q<rake>.freeze, [\">= 10.0\"]")))))))
+    (native-inputs (list ruby-mocha ruby-pry ruby-tzinfo-data))
+    (propagated-inputs (list ruby-railties ruby-sassc ruby-sprockets
+                             ruby-sprockets-rails ruby-tilt))
+    (synopsis "SassC-Ruby integration with Rails")
+    (description "This Ruby library integrates SassC-Ruby into Rails.")
+    (home-page "https://github.com/sass/sassc-rails")
+    (license license:expat)))
+
 (define-public ruby-sprockets
   (package
     (name "ruby-sprockets")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:12 GMT) Full text and rfc822 format available.

Message #407 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 213/223] gnu: Add ruby-ammeter-bootstrap.
Date: Mon, 20 Mar 2023 13:29:23 -0400
* gnu/packages/rails.scm (ruby-ammeter-bootstrap): New variable.
---

 gnu/packages/rails.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 34db6825be..4d13615f68 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -755,6 +755,38 @@ (define-public ruby-actionmailer
     (home-page "https://rubyonrails.org/")
     (license license:expat)))
 
+;; A variant where the ruby-rspec-rails dependency purposefully omitted to
+;; avoid a dependency cycle with that same package.
+(define ruby-ammeter-bootstrap
+  (package
+    (name "ruby-ammeter-bootstrap")
+    (version "1.1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "ammeter" version))
+              (sha256
+               (base32
+                "1bcslj6y3lgaknd9fpj32m1r4is7blyxygxzmwidq9cjwkrn4msh"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:tests? #f
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'remove-rails-requirement
+                 (lambda _
+                   (substitute* "Gemfile"
+                     (("gem 'rspec-rails', rspec_version")
+                      "")
+                     (("gem 'rails', rails_version")
+                      "")))))))
+    (propagated-inputs (list ruby-activesupport ruby-railties))
+    (synopsis "Write specs for your Rails 3+ generators")
+    (description "The @code{ammeter} gem makes it easy to write specs for
+Rails generators.  An existing user is @code{rspec-rails}, which uses
+@code{ammeter} to spec its own generators.")
+    (home-page "https://github.com/alexrothenberg/ammeter")
+    (license license:expat)))
+
 (define-public ruby-bootsnap
   (package
     (name "ruby-bootsnap")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:13 GMT) Full text and rfc822 format available.

Message #410 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 214/223] gnu: ruby-rspec-rails: Update to 6.0.1 and enable
 tests.
Date: Mon, 20 Mar 2023 13:29:24 -0400
* gnu/packages/rails.scm (ruby-rspec-rails): Update to 6.0.1.
[source]: Fetch via git.
[arguments]: Enable tests.  Add #:phases.
[native-inputs]: New field.
---

 gnu/packages/rails.scm | 67 ++++++++++++++++++++++++++++++++++++------
 1 file changed, 58 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 4d13615f68..8ca4ac2997 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -350,17 +350,66 @@ (define-public ruby-activerecord
 (define-public ruby-rspec-rails
   (package
     (name "ruby-rspec-rails")
-    (version "3.8.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "rspec-rails" version))
-       (sha256
-        (base32
-         "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1"))))
+    (version "6.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rspec/rspec-rails")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wmrpwv2vgrwmby01pld6r6sdfa265lb6pd3fp2kifs40nn7ff6b"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:tests? #f)) ; No included tests
+     (list
+      ;; Run the 'spec' instead of the 'default' Rake target to avoid running
+      ;; the acceptance test suite, which doesn't seem to allow being run
+      ;; offline (see: https://github.com/rspec/rspec-rails/issues/2660).
+      #:test-target "spec"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'relax-requirements
+            (lambda _
+              (substitute* "Gemfile"
+                ;; Remove a few extraneous requirements.
+                ((".*yard.*") "")
+                ((".*github-markup.*") "")
+                ((".*redcarpet.*") "")
+                ((".*relish.*") "")
+                ((".*rubocop.*") ""))
+              (substitute* "Gemfile-rspec-dependencies"
+                ((", :git => \"https://github.com/rspec.*")
+                 "\n"))
+              (substitute* "Gemfile-rails-dependencies"
+                (("gem 'puma', '< 6.0.0'")
+                 "gem 'puma', '>= 6.0.0'"))
+              (substitute* "rspec-rails.gemspec"
+                (("'aruba',    '~> 0.14.12'")
+                 "'aruba',    '>= 0.14.12'")
+                (("'cucumber', '~> 7.0'")
+                 "'cucumber', '>= 7.0'"))))
+          (replace 'replace-git-ls-files
+            (lambda _
+              (substitute* "rspec-rails.gemspec"
+                (("`git ls-files -- lib/\\*`")
+                 "`find lib -type f |sort`"))))
+          (add-before 'check 'patch-tests
+            (lambda _
+              (substitute* "spec/rspec/rails_spec.rb"
+                (("`git ls-files -z`")
+                 "`find . -type f -not -regex '.*\\.gem$' -print0 | \
+sort -z | cut -zc3-`")))))))
+    (native-inputs
+     (list ruby-ammeter-bootstrap
+           ruby-aruba
+           ruby-capybara
+           ruby-cucumber
+           ruby-puma
+           ruby-rails
+           ruby-rspec
+           ruby-selenium-webdriver
+           ruby-sqlite3))
     (propagated-inputs
      (list ruby-actionpack
            ruby-activesupport
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:13 GMT) Full text and rfc822 format available.

Message #413 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 215/223] gnu: Add ruby-ammeter.
Date: Mon, 20 Mar 2023 13:29:25 -0400
* gnu/packages/rails.scm (ruby-ammeter): New variable.
---

 gnu/packages/rails.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 8ca4ac2997..0f8d3a7613 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -836,6 +836,16 @@ (define ruby-ammeter-bootstrap
     (home-page "https://github.com/alexrothenberg/ammeter")
     (license license:expat)))
 
+(define-public ruby-ammeter
+  (package/inherit ruby-ammeter-bootstrap
+    (name "ruby-ammeter")
+    ;; TODO: The test suite requires multiple packages which are not packaged
+    ;; yet.
+    (arguments (list #:tests? #f))
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs ruby-ammeter-bootstrap)
+       (append ruby-rspec-rails)))))
+
 (define-public ruby-bootsnap
   (package
     (name "ruby-bootsnap")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:14 GMT) Full text and rfc822 format available.

Message #416 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 216/223] gnu: ruby-autoprefixer-rails: Update to 10.4.13.0.
Date: Mon, 20 Mar 2023 13:29:26 -0400
* gnu/packages/rails.scm (ruby-autoprefixer-rails): Update to 10.4.13.0.
[source]: Fetch via git.
[phases]: Rename remove-unnecessary-dependencies to relax-requirements and
update phase.
[native-inputs]: Remove ruby-sass.  Add ruby-sassc-rails, ruby-sprockets and
ruby-standard.
---

 gnu/packages/rails.scm | 45 ++++++++++++++++++++----------------------
 1 file changed, 21 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 0f8d3a7613..c830620b82 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -231,45 +231,42 @@ (define-public ruby-debug-inspector
 (define-public ruby-autoprefixer-rails
   (package
     (name "ruby-autoprefixer-rails")
-    (version "9.4.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "autoprefixer-rails" version))
-       (sha256
-        (base32
-         "0fxbfl3xrrjj84n98x24yzxbz4nvm6c492dxj41kkrl9z97ga13i"))))
+    (version "10.4.13.0")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ai/autoprefixer-rails")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1i34apjlav1qz8mdg2fyf0hvs5z32inv1snycdkhmqpkfj2ri2hh"))))
     (build-system ruby-build-system)
     (arguments
      '(#:test-target "spec"
        #:phases
        (modify-phases %standard-phases
-         (add-after 'extract-gemspec 'remove-unnecessary-dependencies
+         (add-after 'extract-gemspec 'relax-requirements
            (lambda _
-             ;; Remove the testing of compass, as its use is deprecated, and
-             ;; it's unpackaged for Guix.
-             (substitute* "autoprefixer-rails.gemspec"
-               ((".*%q<compass>.*") "\n")
-               (("\"spec/compass_spec\\.rb\"\\.freeze, ") ""))
-             (delete-file "spec/compass_spec.rb")
-
              (substitute* "Gemfile"
                ;; Remove overly strict requirement on sprockets
                ((", '>= 4\\.0\\.0\\.beta1'") "")
                ;; The mini_racer gem isn't packaged yet, and it's not directly
                ;; required, as other backends for ruby-execjs can be used.
-               (("gem 'mini_racer'") "")
-               ;; For some reason, this is required for the gems to be picked
-               ;; up
-               (("gemspec") "gemspec\ngem 'tzinfo-data'\ngem 'sass'"))
-             #t)))))
+               (("gem \"mini_racer\"") "")
+               ;; For some reason, this is required for the tzinfo-data gem to
+               ;; be picked up.
+               (("gemspec") "gemspec\ngem 'tzinfo-data'\n"))
+             (substitute* "autoprefixer-rails.gemspec"
+               ((".*rubocop.*") ""))))))) ;provided by 'standard'
     (native-inputs
      (list bundler
            ruby-rails
            ruby-rspec-rails
-           ;; This is needed for a test, but I'm unsure why
-           ruby-sass
-           ;; This is used as the ruby-execjs runtime
+           ruby-sassc-rails
+           ruby-sprockets
+           ruby-standard
+           ;; This is used at runtime by ruby-execjs.
            node))
     (propagated-inputs
      (list ruby-execjs))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:14 GMT) Full text and rfc822 format available.

Message #419 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 223/223] gnu: ruby-net-scp: Update to 4.0.0.
Date: Mon, 20 Mar 2023 13:29:33 -0400
* gnu/packages/ruby.scm (ruby-net-scp): Update to 4.0.0.

---

 gnu/packages/ruby.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index eb2c062a89..2b55eabaf0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5250,8 +5250,7 @@ (define-public ruby-net-ssh
 (define-public ruby-net-scp
   (package
     (name "ruby-net-scp")
-    ;; The 1.2.1 release would be incompatible with ruby-net-ssh >= 4.
-    (version "1.2.2.rc2")
+    (version "4.0.0")
     (source
      (origin
        (method git-fetch)
@@ -5260,7 +5259,7 @@ (define-public ruby-net-scp
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1nyn17sy71fn7zs3y6wbgcn35318c10flqgc0582409095x4h0sx"))))
+        (base32 "1mdxh81z2hkcc359g6z96fywbr57azlv2yj4zq76adn5lyqq4hgw"))))
     (build-system ruby-build-system)
     (native-inputs
      (list bundler ruby-test-unit ruby-mocha))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:14 GMT) Full text and rfc822 format available.

Message #422 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 217/223] gnu: Add ruby-truthy.
Date: Mon, 20 Mar 2023 13:29:27 -0400
* gnu/packages/ruby.scm (ruby-truthy): New variable.
---

 gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f8d0941e26..f887882da1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14219,6 +14219,32 @@ (define-public ruby-thin
     (home-page "https://github.com/macournoyer/thin")
     (license license:ruby)))
 
+(define-public ruby-truthy
+  (package
+    (name "ruby-truthy")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "truthy" version))
+              (sha256
+               (base32
+                "19silgd65j3qwfk5w891p9wcmzdmi9ddm2kg5zbvvqn2h9lkfzmd"))))
+    (build-system ruby-build-system)
+    (arguments (list #:phases #~(modify-phases %standard-phases
+                                  (replace 'check
+                                    (lambda* (#:key tests? #:allow-other-keys)
+                                      (when tests?
+                                        (substitute* "spec/spec_helper.rb"
+                                          (("require 'spec'")
+                                           "require 'rspec'"))
+                                        (invoke "rspec")))))))
+    (native-inputs (list ruby-rspec))
+    (synopsis "Object truthiness-related Ruby library")
+    (description "This library makes it easier to discover the truth values of
+various Ruby objects.")
+    (home-page "https://github.com/ymendel/truthy")
+    (license license:expat)))
+
 (define-public ruby-skinny
   (package
     (name "ruby-skinny")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:15 GMT) Full text and rfc822 format available.

Message #425 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 218/223] gnu: ruby-coveralls: Propagate ruby-simplecov and
 enable tests.
Date: Mon, 20 Mar 2023 13:29:28 -0400
* gnu/packages/ruby.scm (ruby-coveralls)
[arguments]: Enable tests.  Add disable-problematic-tests phase.  Replace
strip-version-requirements with relax-requirements.
[native-inputs]: New field.
[propagated-inputs]: Add ruby-simplecov.
---

 gnu/packages/ruby.scm | 47 +++++++++++++++++++++++++++++--------------
 1 file changed, 32 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f887882da1..f8e736aecd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9609,23 +9609,40 @@ (define-public ruby-coveralls
         (base32
          "1mv4fn5lfxhy7bc2f1lpnc5yp9mvv97az77j4r7jgrxcqwn8fqxc"))))
     (build-system ruby-build-system)
-    ;; The test suite depends on ruby-vcr, which cannot be included in Guix
-    ;; because of its nonfree, Hippocratic-derived license.
     (arguments
-     `(#:tests? #f
-       #:phases (modify-phases %standard-phases
-                  (add-after 'extract-gemspec 'strip-version-requirements
-                    ;; Keeping strict version requirements can cause problems
-                    ;; to users of the library, such as: Gem::ConflictError:
-                    ;; Unable to activate coveralls-0.8.23, because
-                    ;; simplecov-0.17.1 conflicts with simplecov (~> 0.16.1).
-                    (lambda _
-                      (substitute* "coveralls-ruby.gemspec"
-                        (("(.*add_.*dependency\\([^,]+), .*" _ stripped)
-                         (string-append stripped ")\n")))
-                      #t)))))
+     (list #:test-target "default"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'extract-gemspec 'disable-problematic-tests
+                          (lambda _
+                            (substitute* "spec/coveralls/coveralls_spec.rb"
+                              ;; This test fails for unknown reasons (perhaps
+                              ;; networking); skip it.
+                              (("it \"sends existing test results\"" all)
+                               (string-append "x" all)))
+                            ;; 3 simplecov tests fail, perhaps due to using a
+                            ;; newer simplecov version.
+                            (delete-file "spec/coveralls/simplecov_spec.rb")
+                            (substitute* "coveralls-ruby.gemspec"
+                              (("\"spec/coveralls/simplecov_spec.rb\".freeze, ")
+                               ""))))
+                        (add-after 'extract-gemspec 'relax-requirements
+                          (lambda _
+                            (substitute* "coveralls-ruby.gemspec"
+                              (("%q<simplecov>.freeze, \\[\"~> 0.16.1\"]")
+                               "%q<simplecov>.freeze")))))))
+    (native-inputs
+     (list git-minimal/pinned
+           ruby-pry
+           ruby-rspec
+           ruby-truthy
+           ruby-vcr-expat
+           ruby-webmock))
     (propagated-inputs
-     (list ruby-json ruby-term-ansicolor ruby-thor ruby-tins))
+     (list ruby-json
+           ruby-term-ansicolor
+           ruby-thor
+           ruby-tins
+           ruby-simplecov))
     (synopsis "Ruby implementation of the Coveralls API")
     (description "This package provides a Ruby implementation of the Coveralls
 API.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:30:15 GMT) Full text and rfc822 format available.

Message #428 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 219/223] gnu: Add ruby-spy.
Date: Mon, 20 Mar 2023 13:29:29 -0400
* gnu/packages/ruby.scm (ruby-spy): New variable.
---

 gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f8e736aecd..45bd6cd7e9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13848,6 +13848,38 @@ (define-public ruby-language-server-protocol
     (home-page "https://github.com/mtsmfm/language_server-protocol-ruby")
     (license license:expat)))
 
+(define-public ruby-spy
+  (package
+    (name "ruby-spy")
+    (version "1.0.5")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "spy" version))
+              (sha256
+               (base32
+                "0g2mma8q17m26k5s864ndlvvqllhcivwg2wdigjvb7z06iw17gds"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'extract-gemspec 'relax-requirements
+                          (lambda _
+                            (substitute* "Gemfile"
+                              ((".*redcarpet.*") "")
+                              ((".*yard.*") "")))))))
+    (native-inputs
+     (list ruby-coveralls
+           ruby-minitest-reporters
+           ruby-pry
+           ruby-pry-byebug
+           ruby-rspec-core
+           ruby-rspec-expectations))
+    (synopsis "Mocking library for Ruby")
+    (description "Spy is a mocking library.  By default, it will raise an
+error if you attempt to stub a method that doesn't exist or call the stubbed
+method with the wrong arity.")
+    (home-page "https://github.com/ryanong/spy")
+    (license license:expat)))
+
 (define-public ruby-subprocess
   (package
     (name "ruby-subprocess")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:31:01 GMT) Full text and rfc822 format available.

Message #431 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 169/223] gnu: ruby-rails: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:22:55 -0400
* gnu/packages/rails.scm (ruby-rails): Update to 7.0.4.3.
[source]: use ruby-rails-monorepo.
[arguments]: Add delete-extraneous-gemspec-files phase.  Delete trailing #t.
---

 gnu/packages/rails.scm | 102 +++++++++++++++++++++--------------------
 1 file changed, 52 insertions(+), 50 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 04aa2d3f89..ddb27a1d77 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -1342,57 +1342,59 @@ (define-public ruby-with-advisory-lock
     (home-page "https://closuretree.github.io/with_advisory_lock/")
     (license license:expat)))
 
+;;; This is a meta-package which propagates all the individual Rails
+;;; components.
 (define-public ruby-rails
   (package
-   (name "ruby-rails")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "rails" version))
-     (sha256
-      (base32
-       "0hdancysa617lzyy5gmrcmnpgyb1mz1lawy0l34ycz2wary7y2bz"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(#:phases
-      (modify-phases %standard-phases
-        ;; This gem acts as glue between the gems that actually make up
-        ;; Rails. The important thing to check is that the gemspec matches up
-        ;; with the Guix packages and Rubygems can successfully activate the
-        ;; Rails gem.
-        ;;
-        ;; The following check phase tests this.
-        (delete 'check)
-        (add-after 'install 'check
-          (lambda* (#:key tests? outputs #:allow-other-keys)
-            (setenv "GEM_PATH"
-                    (string-append
-                     (getenv "GEM_PATH")
-                     ":"
-                     (assoc-ref outputs "out") "/lib/ruby/vendor_ruby"))
-            (when tests?
-              (invoke "ruby" "-e" "gem 'rails'"))
-            #t)))))
-   (propagated-inputs
-    (list ruby-actioncable
-          ruby-actionmailbox
-          ruby-actionmailer
-          ruby-actionpack
-          ruby-actiontext
-          ruby-actionview
-          ruby-activejob
-          ruby-activemodel
-          ruby-activerecord
-          ruby-activestorage
-          ruby-activesupport
-          bundler
-          ruby-railties
-          ruby-sprockets-rails))
-   (synopsis "Full-stack web framework optimized for programmer happiness")
-   (description
-    "Ruby on Rails is a full-stack web framework optimized for programmer
+    (name "ruby-rails")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-extraneous-gemspec-files
+            (lambda _
+              ;; They would otherwise be picked up instead of rails.gemspec at
+              ;; the root of the repository.
+              (for-each (lambda (f)
+                          (unless (string-suffix? "rails.gemspec" f)
+                            (delete-file f)))
+                        (find-files "." "\\.gemspec"))))
+          ;; This gem acts as glue between the gems that actually make up
+          ;; Rails. The important thing to check is that the gemspec matches
+          ;; up with the Guix packages and Rubygems can successfully activate
+          ;; the Rails gem.
+          ;;
+          ;; The following check phase tests this.
+          (delete 'check)
+          (add-after 'install 'check
+            (lambda* (#:key tests? outputs #:allow-other-keys)
+              (when tests?
+                (setenv "GEM_PATH"
+                        (string-append (getenv "GEM_PATH") ":" #$output
+                                       "/lib/ruby/vendor_ruby"))
+                (invoke "ruby" "-e" "gem 'rails'")))))))
+    (propagated-inputs
+     (list bundler
+           ruby-actioncable
+           ruby-actionmailbox
+           ruby-actionmailer
+           ruby-actionpack
+           ruby-actiontext
+           ruby-actionview
+           ruby-activejob
+           ruby-activemodel
+           ruby-activerecord
+           ruby-activestorage
+           ruby-activesupport
+           ruby-railties
+           ruby-sprockets-rails))
+    (synopsis "Full-stack web framework optimized for programmer happiness")
+    (description
+     "Ruby on Rails is a full-stack web framework optimized for programmer
 happiness and sustainable productivity.  It encourages beautiful code by
 favoring convention over configuration.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:31:01 GMT) Full text and rfc822 format available.

Message #434 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 155/223] gnu: Add ruby-net-smtp.
Date: Mon, 20 Mar 2023 13:22:41 -0400
* gnu/packages/ruby.scm (ruby-net-smtp): New variable.
---

 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d9e868ce76..2927509d56 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4072,6 +4072,28 @@ (define-public ruby-net-pop
     (home-page "https://github.com/ruby/net-pop")
     (license license:bsd-2)))
 
+(define-public ruby-net-smtp
+  (package
+    (name "ruby-net-smtp")
+    (version "0.3.3")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby/net-smtp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ca2wh45xvc09rv6v6sz3vbnkzrjzk5c4l6dk50zk4dwxvghma8r"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-net-protocol))
+    (synopsis "Simple Mail Transfer Protocol client library for Ruby")
+    (description "This library provides functionality to send Internet mail
+via SMTP, the Simple Mail Transfer Protocol.  The SMTP protocol specification
+is known as @url{http://www.ietf.org/rfc/rfc2821.txt, RFC2821}.")
+    (home-page "https://github.com/ruby/net-smtp")
+    (license license:bsd-2)))
+
 (define-public ruby-power-assert
   (package
     (name "ruby-power-assert")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:31:02 GMT) Full text and rfc822 format available.

Message #437 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 167/223] gnu: Add ruby-stimulus-rails.
Date: Mon, 20 Mar 2023 13:22:53 -0400
* gnu/packages/rails.scm (ruby-stimulus-rails): New variable.
---

 gnu/packages/rails.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 8f174920ec..925b95c3b2 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -1226,6 +1226,24 @@ (define-public ruby-sprockets-rails
     "https://github.com/rails/sprockets-rails")
    (license license:expat)))
 
+(define-public ruby-stimulus-rails
+  (package
+    (name "ruby-stimulus-rails")
+    (version "1.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "stimulus-rails" version))
+              (sha256
+               (base32
+                "12hfdzh6cwahbd6p4r0r0d14n3laj3cqasx9w18wga9fq70bq6w3"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-railties))
+    (synopsis "Modest JavaScript framework for Rails")
+    (description "This package provides a modest JavaScript framework for the
+HTML you already have.")
+    (home-page "https://stimulus.hotwired.dev")
+    (license license:expat)))
+
 (define-public ruby-web-console
   (package
     (name "ruby-web-console")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:31:02 GMT) Full text and rfc822 format available.

Message #440 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 182/223] gnu: ruby-temple: Update to 0.10.0.
Date: Mon, 20 Mar 2023 13:23:08 -0400
* gnu/packages/ruby.scm (ruby-temple): Update to 0.10.0.
[source]: Fetch via git.
[arguments]: New field.
[native-inputs]: Replace ruby-erubis with ruby-erubi. Add ruby-rspec.
---

 gnu/packages/ruby.scm | 43 ++++++++++++++++++++++++++++++-------------
 1 file changed, 30 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1905ef0b9b..f26988d830 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4233,21 +4233,38 @@ (define-public ruby-locale
 (define-public ruby-temple
   (package
     (name "ruby-temple")
-    (version "0.8.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "temple" version))
-       (sha256
-        (base32
-         "060zzj7c2kicdfk6cpnn40n9yjnhfrr13d0rsbdhdij68chp2861"))))
+    (version "0.10.0")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/judofyr/temple")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0rr9fnlcgj9nm3b6hzzjsvcw8x3y7z48j7slk7xxff2mh8s7y3y0"))))
     (build-system ruby-build-system)
-    (native-inputs
-     (list ruby-tilt ruby-bacon ruby-erubis))
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'replace-git-ls-files 'replace-more-git-ls-files
+                 (lambda _
+                   (substitute* "temple.gemspec"
+                     ;; There no longer are test, spec or features
+                     ;; directories.
+                     ((".*`git ls-files -- \\{test,spec,features}/\\*`.*")
+                      "")
+                     ;; There isn't any bin directory either.
+                     ((".*`git ls-files -- bin/\\*`.*")
+                      ""))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "rspec")))))))
+    (native-inputs (list ruby-bacon ruby-erubi ruby-rspec ruby-tilt))
     (synopsis "Template compilation framework in Ruby")
-    (description
-     "Temple is an abstraction and framework for compiling templates to pure
-Ruby.")
+    (description "Temple is an abstraction and framework for compiling
+templates to pure Ruby.")
     (home-page "https://github.com/judofyr/temple")
     (license license:expat)))
 
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:31:03 GMT) Full text and rfc822 format available.

Message #443 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 191/223] gnu: ruby-shoulda-matchers: Update to 5.3.0.
Date: Mon, 20 Mar 2023 13:23:17 -0400
* gnu/packages/ruby.scm (ruby-shoulda-matchers): Update to 5.3.0.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 51a2fff8c6..bd24f6e7e1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10108,14 +10108,14 @@ (define-public ruby-shoulda-context
 (define-public ruby-shoulda-matchers
   (package
     (name "ruby-shoulda-matchers")
-    (version "3.1.2")
+    (version "5.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "shoulda-matchers" version))
        (sha256
         (base32
-         "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"))))
+         "11igjgh16dl5pwqizdmclzlzpv7mbmnh8fx7m9b5kfsjhwxqdfpn"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:01 GMT) Full text and rfc822 format available.

Message #446 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 143/223] gnu: ruby-actioncable: Update to 7.0.4.3 and enable
 tests.
Date: Mon, 20 Mar 2023 13:22:29 -0400
* gnu/packages/rails.scm (ruby-actioncable): Update to 7.0.4.3.
[source]: Use ruby-rail-monorepo.
[arguments]: Drop #:tests?.  Add #:phases argument.
[native-inputs]: New field.
---

 gnu/packages/rails.scm | 66 ++++++++++++++++++++++++++++--------------
 1 file changed, 45 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index d3712a93c9..43db167671 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -553,28 +553,52 @@ (define-public ruby-actionpack
 
 (define-public ruby-actioncable
   (package
-   (name "ruby-actioncable")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "actioncable" version))
-     (sha256
-      (base32
-       "1cgb1l0gml1vklxka2djpi5q5b4bgzgm5pahzfjvvgm5vzvrvi9v"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-actionpack ruby-activesupport ruby-nio4r
-          ruby-websocket-driver))
-   (synopsis "Integrate integrates WebSockets with Rails applications")
-   (description
-    "Action Cable integrates WebSockets with Rails applications.  Through
+    (name "ruby-actioncable")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "actioncable")))
+          (delete 'check)               ;moved after install phase
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'set-GEM_PATH
+            (lambda _
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))))
+          (add-before 'check 'disable-problematic-tests
+            (lambda _
+              ;; There are multiple client test failures (see:
+              ;; https://github.com/rails/rails/issues/47617).
+              (delete-file "test/client_test.rb")))
+          (add-before 'check 'start-redis
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "redis-server" "--daemonize" "yes")))))))
+    (native-inputs
+     (list redis
+           ruby-activerecord
+           ruby-pg
+           ruby-puma
+           ruby-redis
+           ruby-websocket-client-simple))
+    (propagated-inputs
+     (list ruby-actionpack
+           ruby-activesupport
+           ruby-nio4r
+           ruby-websocket-driver))
+    (synopsis "Integrate integrates WebSockets with Rails applications")
+    (description
+     "Action Cable integrates WebSockets with Rails applications.  Through
 WebSockets it allows for real-time features in web applications.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
+    (home-page "https://rubyonrails.org/")
+    (license license:expat)))
 
 (define-public ruby-activejob
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:02 GMT) Full text and rfc822 format available.

Message #449 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 128/223] gnu: Add ruby-bake-test-external.
Date: Mon, 20 Mar 2023 13:22:14 -0400
* gnu/packages/ruby.scm (ruby-bake-test-external): New variable.
---

 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 30b117c77f..51d35868c2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3814,6 +3814,28 @@ (define-public ruby-bake-test
     (home-page "https://github.com/ioquatix/bake-test")
     (license license:expat)))
 
+(define-public ruby-bake-test-external
+  (package
+    (name "ruby-bake-test-external")
+    (version "0.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "bake-test-external" version))
+              (sha256
+               (base32
+                "0749xc7jkz1c5gsq1giwhrqy6s6xqm48bdvs414372881wki2jmh"))))
+    (build-system ruby-build-system)
+    ;; The test suite relies on git and network access to clone external
+    ;; repositories.
+    (arguments (list #:tests? #f))
+    (propagated-inputs (list ruby-bake))
+    (synopsis "Continuous integration extension for Bake")
+    (description "Bake Test External adds a @samp{test:external} action to the
+@command{bake} command to run the test suites of dependent projects to check
+for breakage.")
+    (home-page "https://github.com/ioquatix/bake-test-external")
+    (license license:expat)))
+
 (define-public ruby-connection-pool
   (package
     (name "ruby-connection-pool")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:02 GMT) Full text and rfc822 format available.

Message #452 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 160/223] gnu: ruby-sprockets-rails: Update to 3.4.2.
Date: Mon, 20 Mar 2023 13:22:46 -0400
* gnu/packages/rails.scm (ruby-sprockets-rails): Update to 3.4.2.
---

 gnu/packages/rails.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index efe4a57f31..9b789e13bd 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -819,14 +819,14 @@ (define-public ruby-sprockets
 (define-public ruby-sprockets-rails
   (package
    (name "ruby-sprockets-rails")
-   (version "3.2.1")
+   (version "3.4.2")
    (source
     (origin
      (method url-fetch)
      (uri (rubygems-uri "sprockets-rails" version))
      (sha256
       (base32
-       "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"))))
+       "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min"))))
    (build-system ruby-build-system)
    (arguments
     '(;; No included tests
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:02 GMT) Full text and rfc822 format available.

Message #455 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 119/223] gnu: Add ruby-covered.
Date: Mon, 20 Mar 2023 13:22:05 -0400
* gnu/packages/ruby.scm (ruby-covered): New variable.
---

 gnu/packages/ruby.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index db4e88ca05..a9922e1f3c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8695,6 +8695,48 @@ (define ruby-cucumber-without-tests
     (native-inputs
      '())))
 
+(define-public ruby-covered
+  (package
+    (name "ruby-covered")
+    (version "0.20.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "covered" version))
+              (sha256
+               (base32
+                "09ka39rrnhv7460hzm3inmdny8lrkj8slfc9wwi3x19n1v517grc"))))
+    (build-system ruby-build-system)
+    (arguments
+    ;; XXX: The test suite is disabled to avoid dependency cycles with
+    ;; ruby-samovar, through ruby-bake.
+     (list #:tests? #f
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'relax-requirements
+                 (lambda _
+                   (substitute* ".gemspec"
+                     (("\">= 3.2\"")
+                      "\">= 2.7\"")))))))
+    (propagated-inputs (list ruby-console ruby-msgpack))
+    (synopsis "Modern approach to code coverage in Ruby")
+    (description "Covered uses modern Ruby features to generate comprehensive
+coverage, including support for templates which are compiled into Ruby.  It
+has the following features:
+@itemize
+@item
+Incremental coverage -- if you run your full test suite, and the run a subset,
+it will still report the correct coverage - so you can incrementally work on
+improving coverage.
+@item
+Integration with RSpec, Minitest, Travis & Coveralls - no need to configure
+anything - out of the box support for these platforms.
+@item
+It supports coverage of views -- templates compiled to Ruby code can be
+tracked for coverage reporting.
+@end itemize")
+    (home-page "https://github.com/ioquatix/covered")
+    (license license:expat)))
+
 (define-public ruby-coveralls
   (package
     (name "ruby-coveralls")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:03 GMT) Full text and rfc822 format available.

Message #458 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 148/223] gnu: ruby-activestorage: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:22:34 -0400
* gnu/packages/rails.scm (ruby-activestorage): Update to 7.0.4.3.
[source]: Use ruby-rail-monorepo.
[arguments]: Add #:phases argument.
[propagated-inputs]: replace ruby-mimemagic with ruby-mini-mime.
---

 gnu/packages/rails.scm | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 540c69ec2f..6c41466ac3 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -643,25 +643,26 @@ (define-public ruby-activejob
 (define-public ruby-activestorage
   (package
     (name "ruby-activestorage")
-    (version "6.1.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "activestorage" version))
-       (sha256
-        (base32
-         "0gkxvbi5w8zmdxpiyz3b10kzz8cxqqh9bj81sjl3fp8wa3v2ld4i"))))
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
     (build-system ruby-build-system)
     (arguments
-     '(;; No included tests
-       #:tests? #f))
+     (list
+      ;; The test suite is disabled, because it activestorage requires
+      ;; 'rails', which would introduce a dependency cycle.
+      #:tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'chdir
+            (lambda _
+              (chdir "activestorage"))))))
     (propagated-inputs
      (list ruby-actionpack
            ruby-activejob
            ruby-activerecord
            ruby-activesupport
            ruby-marcel
-           ruby-mimemagic))
+           ruby-mini-mime))
     (synopsis "Integrate file storage services in to Rails applications")
     (description
      "ActiveStorage integrates file storage services with Rails applications,
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:03 GMT) Full text and rfc822 format available.

Message #461 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 185/223] gnu: ruby-web-console: Update to 4.2.0.
Date: Mon, 20 Mar 2023 13:23:11 -0400
* gnu/packages/rails.scm (ruby-web-console): Update to 4.2.0.
[arguments]: Delete trailing #t.
[propagated-inputs]: Add ruby-arel.
---

 gnu/packages/rails.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 5cbb063456..15f10f9181 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -1271,7 +1271,7 @@ (define-public ruby-turbo-rails
 (define-public ruby-web-console
   (package
     (name "ruby-web-console")
-    (version "4.1.0")
+    (version "4.2.0")
     (source
      (origin
        ;; Download from GitHub as test files are not provided in the gem.
@@ -1282,7 +1282,7 @@ (define-public ruby-web-console
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0azk8nmimnjbh74vxgwcj9jr588rj7kb5rrlclcjfjsw9jqjzckc"))))
+         "07mg9nq7h48n01hps1m0g2nk94zknab6mrcxsv8x2vaf2xfgjilg"))))
     (build-system ruby-build-system)
     (arguments
      '(#:phases
@@ -1298,10 +1298,9 @@ (define-public ruby-web-console
                (("group :development") "[].each")
                ;; tzinfo-data is propagated by ruby-activesupport, but it
                ;; needs to be in the Gemfile to become available.
-               (("group :test do") "group :test do\n  gem 'tzinfo-data'"))
-             #t)))))
+               (("group :test do") "group :test do\n  gem 'tzinfo-data'")))))))
     (propagated-inputs
-     (list ruby-actionview ruby-activemodel ruby-bindex ruby-railties))
+     (list ruby-actionview ruby-activemodel ruby-arel ruby-bindex ruby-railties))
     (native-inputs
      (list bundler ruby-rails ruby-mocha ruby-simplecov))
     (synopsis "Debugging tool for your Ruby on Rails applications")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:04 GMT) Full text and rfc822 format available.

Message #464 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 124/223] gnu: Add ruby-debug.
Date: Mon, 20 Mar 2023 13:22:10 -0400
* gnu/packages/ruby.scm (ruby-debug): New variable.
---

 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 29bdd367c5..1d89ff9006 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5269,6 +5269,27 @@ (define-public ruby-data_uri
     (home-page "https://github.com/dball/data_uri")
     (license license:expat)))
 
+(define-public ruby-debug
+  (package
+    (name "ruby-debug")
+    (version "1.7.1")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "debug" version))
+              (sha256
+               (base32
+                "1hkzdyh2l4rb1f8l1pvxmcbivkl71lgzm44834z87r93drpnxg6r"))))
+    (build-system ruby-build-system)
+    (arguments (list #:test-target "test_all"))
+    (propagated-inputs (list ruby-irb ruby-reline))
+    (synopsis "Debugging functionality for Ruby")
+    (description "Debugging functionality for Ruby.  This is completely
+rewritten debug.rb which was contained by the ancient Ruby versions.  It is
+included with Ruby itself, but this package is made available so that the
+latest version can be made available independently from Ruby.")
+    (home-page "https://github.com/ruby/debug")
+    (license license:bsd-2)))
+
 (define-public ruby-deep-merge
   (package
     (name "ruby-deep-merge")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:04 GMT) Full text and rfc822 format available.

Message #467 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 201/223] gnu: Add ruby-rspec-pending-for.
Date: Mon, 20 Mar 2023 13:23:27 -0400
* gnu/packages/ruby.scm (ruby-rspec-pending-for): New variable.
---

 gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 40633a5cc3..b04eef72da 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -929,6 +929,30 @@ (define-public ruby-rspec-mocks-2
     (propagated-inputs
      (list ruby-diff-lcs))))
 
+(define-public ruby-rspec-pending-for
+  (package
+    (name "ruby-rspec-pending-for")
+    (version "0.1.16")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/pboling/rspec-pending_for")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "107l560vm0kx25w5iy5rsk9ly8dxzr81b31284j514f4hkd0qv3m"))))
+    (build-system ruby-build-system)
+    (native-inputs (list ruby-rspec ruby-simplecov))
+    (propagated-inputs (list ruby-rspec-core ruby-ruby-engine
+                             ruby-ruby-version))
+    (synopsis "Skip RSpec tests for specific Ruby engines or versions")
+    (description "This RSpec plugin makes it easy to mark test cases as
+pending or skipped for a specific Ruby engine (e.g. MRI or JRuby) or version
+combinations.")
+    (home-page "https://github.com/pboling/rspec-pending_for")
+    (license license:expat)))
+
 (define-public ruby-rspec-rerun
   (package
     (name "ruby-rspec-rerun")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:04 GMT) Full text and rfc822 format available.

Message #470 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 181/223] gnu: ruby-protobuf: Update to 3.10.3.
Date: Mon, 20 Mar 2023 13:23:07 -0400
* gnu/packages/protobuf.scm (ruby-protobuf): Update to 3.10.3.  Delete
trailing #t.
[arguments]: Use search-input-file in patch-protoc phase.  Honor #:tests? in
check phase.
---

 gnu/packages/protobuf.scm | 37 ++++++++++++++++++-------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index a746b7de9c..82cf8f452d 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2016 Leo Famulari <leo <at> famulari.name>
 ;;; Copyright © 2017, 2018, 2019, 2022 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
-;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net>
 ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021 Felix Gruber <felgru <at> posteo.net>
@@ -513,7 +513,7 @@ (define-public emacs-protobuf-mode
 (define-public ruby-protobuf
   (package
     (name "ruby-protobuf")
-    (version "3.10.3")
+    (version "3.10.7")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -522,7 +522,7 @@ (define-public ruby-protobuf
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1yzz7jgpp6qip5d6qhzbkf5gqaydfk3z3c1ngccwzp6w6wa75g8a"))))
+                "12hp1clg83jfl35x1h2ymzpj5w83wrnqw7hjfc6mqa8lsvpw535r"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
@@ -530,8 +530,7 @@ (define-public ruby-protobuf
          (add-after 'unpack 'do-not-use-bundler-for-tests
            (lambda _
              (substitute* "spec/spec_helper.rb"
-               (("Bundler\\.setup.*") ""))
-             #t))
+               (("Bundler\\.setup.*") ""))))
          (add-after 'unpack 'relax-version-requirements
            (lambda _
              (substitute* ((@@ (guix build ruby-build-system) first-gemspec))
@@ -540,33 +539,30 @@ (define-public ruby-protobuf
                (("\"rubocop\",.*")
                 "'rubocop'\n")
                (("\"parser\",.*")
-                "'parser'\n"))
-             #t))
+                "'parser'\n"))))
          (add-after 'unpack 'patch-protoc
            (lambda* (#:key inputs #:allow-other-keys)
-             (let ((protoc (assoc-ref inputs "protobuf")))
-               (substitute* "lib/protobuf/tasks/compile.rake"
-                 (("\"protoc\"")
-                  (string-append "\"" protoc "/bin/protoc" "\"")))
-               #t)))
+             (substitute* "lib/protobuf/tasks/compile.rake"
+               (("\"protoc\"")
+                (string-append "\"" (search-input-file inputs "bin/protoc")
+                               "\"")))))
          (add-after 'unpack 'skip-failing-test
            ;; See: https://github.com/ruby-protobuf/protobuf/issues/419
            (lambda _
              (substitute* "spec/lib/protobuf/rpc/connectors/ping_spec.rb"
                (("expect\\(::IO\\)\\.to receive\\(:select\\).*" all)
-                (string-append "        pending\n" all)))
-             #t))
+                (string-append "        pending\n" all)))))
          (add-after 'replace-git-ls-files 'replace-more-git-ls-files
            (lambda _
              (substitute* ((@@ (guix build ruby-build-system) first-gemspec))
                (("`git ls-files -- \\{test,spec,features\\}/*`")
                 "`find test spec features -type f | sort`")
                (("`git ls-files -- bin/*`")
-                "`find bin -type f | sort`"))
-             #t))
+                "`find bin -type f | sort`"))))
          (replace 'check
-           (lambda _
-             (invoke "rspec"))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec")))))))
     (native-inputs
      (list ruby-benchmark-ips
            ruby-ffi-rzmq
@@ -584,7 +580,10 @@ (define-public ruby-protobuf
     (inputs
      (list protobuf))
     (propagated-inputs
-     (list ruby-activesupport ruby-middleware ruby-thor ruby-thread-safe))
+     (list ruby-activesupport
+           ruby-middleware
+           ruby-thor
+           ruby-thread-safe))
     (home-page "https://github.com/ruby-protobuf/protobuf")
     (synopsis "Implementation of Google's Protocol Buffers in Ruby")
     (description "Protobuf is an implementation of Google's Protocol Buffers
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:32:05 GMT) Full text and rfc822 format available.

Message #473 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 161/223] gnu: Add ruby-bootsnap.
Date: Mon, 20 Mar 2023 13:22:47 -0400
* gnu/packages/rails.scm (ruby-bootsnap): New variable.
---

 gnu/packages/rails.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 9b789e13bd..33c0af70b2 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -733,6 +733,45 @@ (define-public ruby-actionmailer
     (home-page "https://rubyonrails.org/")
     (license license:expat)))
 
+(define-public ruby-bootsnap
+  (package
+    (name "ruby-bootsnap")
+    (version "1.16.0")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/Shopify/bootsnap")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1gaih5v4jjndrkn0crrr5mxnwc3cd0f3i955n62ghk29zabvd7wf"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:test-target "default"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'relax-requirements
+            (lambda _
+              (substitute* "Gemfile"
+                ;; Rubocop and byebug are not actually needed to run the
+                ;; tests.
+                ((".*rubocop.*") "")
+                ((".*byebug.*") ""))))
+          (replace 'replace-git-ls-files
+            (lambda _
+              (substitute* "bootsnap.gemspec"
+                (("`git ls-files -z ext lib`")
+                 "`find ext lib -type f -print0 | sort -z`")))))))
+    (native-inputs (list ruby-mocha ruby-rake-compiler))
+    (propagated-inputs (list ruby-msgpack))
+    (synopsis "Accelerator for large Ruby/Rails application")
+    (description "Bootsnap is a library that plugs into Ruby, with optional
+support for YAML, to optimize and cache expensive computations.")
+    (home-page "https://github.com/Shopify/bootsnap")
+    (license license:expat)))
+
 (define-public ruby-marcel
   (package
     (name "ruby-marcel")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:33:01 GMT) Full text and rfc822 format available.

Message #476 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 144/223] gnu: ruby-mini-mime: Update to 1.1.2.
Date: Mon, 20 Mar 2023 13:22:30 -0400
* gnu/packages/ruby.scm (ruby-mini-mime): Update to 1.1.2.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2ce20d24d2..ba71547cec 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9766,14 +9766,14 @@ (define-public ruby-mime-types
 (define-public ruby-mini-mime
   (package
     (name "ruby-mini-mime")
-    (version "1.0.2")
+    (version "1.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (rubygems-uri "mini_mime" version))
         (sha256
          (base32
-          "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha"))))
+          "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5"))))
     (build-system ruby-build-system)
     (synopsis "Lightweight mime type lookup toy")
     (description "This package provides a lightweight mime type lookup toy.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:33:02 GMT) Full text and rfc822 format available.

Message #479 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 188/223] gnu: ruby-liquid: Update to 4.0.3.
Date: Mon, 20 Mar 2023 13:23:14 -0400
* gnu/packages/ruby.scm (ruby-liquid): Update to 4.0.3.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b57940f27d..b08cb997cc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13091,13 +13091,13 @@ (define-public ruby-launchy
 (define-public ruby-liquid
   (package
     (name "ruby-liquid")
-    (version "4.0.0")
+    (version "4.0.3")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "liquid" version))
               (sha256
                (base32
-                "17fa0jgwm9a935fyvzy8bysz7j5n1vf1x2wzqkdfd5k08dbw3x2y"))))
+                "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"))))
     (build-system ruby-build-system)
     (arguments `(#:tests? #f)); No rakefile
     (home-page "https://shopify.github.io/liquid/")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:33:02 GMT) Full text and rfc822 format available.

Message #482 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 131/223] gnu: Add ruby-localhost.
Date: Mon, 20 Mar 2023 13:22:17 -0400
* gnu/packages/ruby.scm (ruby-localhost): New variable.
---

 gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7fa86de56b..9e5669de51 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12555,6 +12555,38 @@ (define-public ruby-liquid
 to load dynamic content on storefronts.")
     (license license:expat)))
 
+(define-public ruby-localhost
+  (package
+    (name "ruby-localhost")
+    (version "1.1.10")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/socketry/localhost")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1yp70w15wpfk613ap5f4y15yx4n2qqwa67vqc2f4lv7npf3llcz0"))))
+    (build-system ruby-build-system)
+    (arguments
+     ;; XXX: The test suite requires sus-fixtures-async, which requires async,
+     ;; only available for Ruby 3.0.
+     (list #:tests? #f
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'build 'remove-missing-signing-key
+                 (lambda _
+                   ;; Otherwise, the build fails with ENOENT.
+                   (substitute* "localhost.gemspec"
+                     ((".*spec.signing_key.*") "")))))))
+    (synopsis "API for generating per-user self-signed root certificates")
+    (description "This package provides @code{localhost}, a Ruby library for
+Managing a local certificate authority for self-signed, localhost development
+servers.")
+    (home-page "https://github.com/socketry/localhost")
+    (license license:expat)))
+
 (define-public ruby-forwardable-extended
   (package
     (name "ruby-forwardable-extended")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:33:02 GMT) Full text and rfc822 format available.

Message #485 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 154/223] gnu: Add ruby-net-pop.
Date: Mon, 20 Mar 2023 13:22:40 -0400
* gnu/packages/ruby.scm (ruby-net-pop): New variable.
---

 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1544b40224..d9e868ce76 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4050,6 +4050,28 @@ (define-public ruby-net-imap
     (home-page "https://github.com/ruby/net-imap")
     (license license:bsd-2)))
 
+(define-public ruby-net-pop
+  (package
+    (name "ruby-net-pop")
+    (version "0.1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ruby/net-pop")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05vz6a56va2rbr7ld78gdzwy1j5mzs98cz82ax5aqa83pzzk6jld"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-net-protocol))
+    (synopsis "Ruby client library for POP3")
+    (description "This library provides functionality for retrieving email via
+POP3, the Post Office Protocol version 3, as specified by
+@url{http://www.ietf.org/rfc/rfc1939.txt, RFC1939}.")
+    (home-page "https://github.com/ruby/net-pop")
+    (license license:bsd-2)))
+
 (define-public ruby-power-assert
   (package
     (name "ruby-power-assert")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:33:03 GMT) Full text and rfc822 format available.

Message #488 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 132/223] gnu: bundler: Update to 2.4.8.
Date: Mon, 20 Mar 2023 13:22:18 -0400
* gnu/packages/ruby.scm (bundler): Update to 2.4.8.
---

 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9e5669de51..ca8d381359 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1029,13 +1029,13 @@ (define-public ruby-rspec-debug
 (define-public bundler
   (package
     (name "bundler")
-    (version "2.1.4")
+    (version "2.4.8")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "bundler" version))
               (sha256
                (base32
-                "12glbb1357x91fvd004jgkw7ihlkpc9dwr349pd7j83isqhls0ah"))))
+                "0r51k6b7vv6nwg0vyrpiqwkp1xmnrswy49i94c9kw5zjjgwdd0py"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:33:03 GMT) Full text and rfc822 format available.

Message #491 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 193/223] gnu: ruby-shoulda: Update to 4.0.0.
Date: Mon, 20 Mar 2023 13:23:19 -0400
* gnu/packages/ruby.scm (ruby-shoulda): Update to 4.0.0.
[arguments]: Add relax-requirements phase.
[propagated-inputs]: Replace ruby-shoulda-matchers-2 with
ruby-shoulda-matchers.
(ruby-shoulda-matchers-2): Delete variable.
---

 gnu/packages/ruby.scm | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ceec6fe291..ad4ca4b926 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10136,28 +10136,17 @@ (define-public ruby-shoulda-matchers
     (home-page "https://github.com/thoughtbot/shoulda-matchers")
     (license license:expat)))
 
-(define-public ruby-shoulda-matchers-2
-  (package
-    (inherit ruby-shoulda-matchers)
-    (version "2.8.0")
-    (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "shoulda-matchers" version))
-              (sha256
-               (base32
-                "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0"))))))
-
 (define-public ruby-shoulda
   (package
     (name "ruby-shoulda")
-    (version "3.5.0")
+    (version "4.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "shoulda" version))
        (sha256
         (base32
-         "0csmf15a7mcinfq54lfa4arp0f4b2jmwva55m0p94hdf3pxnjymy"))))
+         "02lww34kn1g6lidp4rx4rs6bqvirrzxlfw1y2wm11aif8f622xz6"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
@@ -10165,9 +10154,17 @@ (define-public ruby-shoulda
          (replace 'check
            ;; Don't run tests to avoid circular dependence with rails.  Instead
            ;; just import the library to test.
-           (lambda _ (invoke "ruby" "-Ilib" "-r" "shoulda"))))))
-    (propagated-inputs
-     (list ruby-shoulda-context ruby-shoulda-matchers-2))
+           (lambda _ (invoke "ruby" "-Ilib" "-r" "shoulda")))
+         (add-after 'extract-gemspec 'relax-requirements
+           (lambda _
+             (substitute* "shoulda.gemspec"
+               ;; An older version of shoulda-matchers (4.0) is used, out of
+               ;; little maintenance rather than because of an real
+               ;; incompatibility (see:
+               ;; https://github.com/thoughtbot/shoulda/issues/275).
+               ((", \\[\"~> 4.0\"]") "")))))))
+    (propagated-inputs
+     (list ruby-shoulda-context ruby-shoulda-matchers))
     (synopsis "Context framework and matchers for testing")
     (description
      "@code{shoulda} is a meta-package combining @code{shoulda-context} and
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:34:02 GMT) Full text and rfc822 format available.

Message #494 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 180/223] gnu: ruby-braintree: Update to 4.10.0.
Date: Mon, 20 Mar 2023 13:23:06 -0400
* gnu/packages/ruby.scm (ruby-braintree): Update to 4.10.0.
[source]: Streamline comment.
[arguments]: Add disable-rubocop phase.  Rename the less-strict-dependencies
phase to relax-requirements, and update the substitutions.
[native-inputs]: Remove ruby-rubocop.
---

 gnu/packages/ruby.scm | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 08bdcee338..1905ef0b9b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15149,42 +15149,45 @@ (define-public ruby-pry-rescue
 (define-public ruby-braintree
   (package
     (name "ruby-braintree")
-    (version "4.7.0")
+    (version "4.10.0")
     (source
      (origin
-       (method git-fetch)
-       ;; Download from GitHub because the rubygems version does not contain
-       ;; Rakefile.
+       (method git-fetch)               ;for tests
        (uri (git-reference
              (url "https://github.com/braintree/braintree_ruby")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1gixqf9vsjsyrk45lf9xcz0ggdydpgsk8ahknd27bbigz1j4pdf6"))))
+        (base32 "01b5bp8q038ray5wwg3qhg4hj3r5a48vnfzs3gxkdjm5ky6bmn4p"))))
     (build-system ruby-build-system)
     (arguments
      `(#:test-target "test:unit"
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'less-strict-dependencies
+         (add-after 'unpack 'disable-rubocop
+           (lambda _
+             (substitute* "Rakefile"
+               (("sh \"rubocop\"") ""))))
+         (add-after 'unpack 'relax-requirements
            (lambda _
              (substitute* "Gemfile"
-              (("gem \"libxml-ruby\", \"3.2.0\"")
+               (("gem \"libxml-ruby\", \"3.2.0\"")
                 "gem \"libxml-ruby\", \"~> 3.0.0\"")
                (("gem \"rspec\", \"3.9.0\"")
-                 "gem \"rspec\", \"~> 3.8.0\"")
-               (("gem \"rubocop\", \"~>1.12.0\"")
-                 "gem \"rubocop\", \"~> 1.10.0\"")))))))
+                "gem \"rspec\", \">= 3.9.0\"")
+               (("gem \"webrick\", \"~>1.7.0\"")
+                "gem \"webrick\", \">=1.7.0\"")
+               ((".*gem \"rubocop\".*") "")
+               ((".*gem \"rspec_junit_formatter\".*") "")))))))
     (native-inputs
      (list ruby-libxml
-            ruby-pry
-            ruby-rake
-            ruby-rspec
-            ruby-rubocop
-            ruby-webrick))
+           ruby-pry
+           ruby-rake
+           ruby-rspec
+           ruby-webrick))
     (propagated-inputs
      (list ruby-builder
-            ruby-rexml))
+           ruby-rexml))
     (home-page "https://www.braintreepayments.com/")
     (synopsis "Integration access to the Braintree Gateway")
     (description "Braintree provides resources and tools for developers to
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:34:02 GMT) Full text and rfc822 format available.

Message #497 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 197/223] gnu: jekyll: Update to 4.3.2 and enable tests.
Date: Mon, 20 Mar 2023 13:23:23 -0400
* gnu/packages/ruby.scm (jekyll): Update to 4.3.2.
[arguments]: Enable tests.  Add #:modules and #:test-target arguments.  Delete
fix-i18n phase.  Add disable-problematic-tests and check override phases.
[native-inputs]: New field.
[propagated-inputs]: Add ruby-webrick.
---

 gnu/packages/ruby.scm | 92 ++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 82 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 67a466e1ad..f19c02811f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13223,23 +13223,94 @@ (define-public ruby-terminal-table
 (define-public jekyll
   (package
     (name "jekyll")
-    (version "4.2.0")
+    (version "4.3.2")
     (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "jekyll" version))
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/jekyll/jekyll")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0cqkh78jw8scrajyx5nla0vwm9fvp2qql3kdcvvplcq9mazy8snq"))))
+                "1d588d7zhp526r21f9mnm204m8qy0c8h3lq3ghyg6qp8mj6hnwj4"))))
     (build-system ruby-build-system)
     (arguments
-     (list #:tests? #f                  ;no rakefile, but a test subdirectory
+     (list #:modules '((guix build ruby-build-system)
+                       (guix build utils)
+                       (ice-9 ftw)
+                       (srfi srfi-26))
+           ;; The cucumber acceptance suite is not run as it depends on an old
+           ;; version (5).
+           #:test-target "spec"
            #:phases
            #~(modify-phases %standard-phases
-               (add-before 'build 'fix-i18n
+               (add-before 'check 'disable-problematic-tests
+                 ;; TODO: Package the missing test inputs.
                  (lambda _
-                   (substitute* ".gemspec"
-                     (("~> 0.7") ">= 0.7")
-                     (("~> 1.14") ">= 1.14")))))))
+                   (with-directory-excursion "test"
+                     ;; Requires 'jekyll-coffeescript'.
+                     (delete-file "test_coffeescript.rb")
+                     ;; Requires 'tomlrb'.
+                     (delete-file "test_configuration.rb")
+                     (substitute* "test_filters.rb"
+                       ;; The sassify tests fail due to white space
+                       ;; differences (see:
+                       ;; https://github.com/jekyll/jekyll/issues/9322).
+                       ((".*s?ssify with simple string.*" all)
+                        (string-append all
+                                       "      skip('fails on guix')\n")))
+                     ;; Requires kramdown-syntax-coderay.
+                     (delete-file "test_kramdown.rb")
+                     ;; Requires 'test-theme', usually made available from the
+                     ;; local checkout via Bundler (not used here).
+                     (delete-file "test_layout_reader.rb")
+                     ;; Requires a large amount of un-packaged dependencies.
+                     (delete-file "test_plugin_manager.rb")
+                     ;; Requires 'classifier-reborn'.
+                     (delete-file "test_related_posts.rb")
+                     ;; This one causes a test failure similar to the ones for
+                     ;; sassify above.
+                     (delete-file "test_sass.rb")
+                     ;; This would require running the tests via 'bundle
+                     ;; exec', but the Gemfile contains too many (extraneous)
+                     ;; dependencies.
+                     (delete-file "test_site.rb")
+                     ;; Delete the theme tests, as they require 'test-theme',
+                     ;; usually made available from the local checkout via the
+                     ;; Gemfile/bundler (not used here).
+                     (for-each delete-file
+                               (scandir
+                                "." (cut string-prefix? "test_theme" <>)))
+                     ;; This one also relies on 'test-theme'.
+                     (delete-file "test_liquid_renderer.rb")
+                     ;; This test assumes internet connectivity, negate it, as
+                     ;; there's no Internet in the build container.
+                     (substitute* "test_utils.rb"
+                       (("assert Utils::Internet\\.connected\\?")
+                        "refute Utils::Internet.connected?"))
+                     ;; These tests fail non-deterministically (see:
+                     ;; https://github.com/jekyll/jekyll/issues/9323).
+                     (delete-file "test_new_command.rb")
+                     (delete-file "test_collections.rb"))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     ;; Invoke the test scripts manually, as 'rake test'
+                     ;; doesn't show any failure details, making debugging
+                     ;; needlessly difficult.
+                     (for-each (lambda (f)
+                                 (invoke "ruby" "-I" "test" f))
+                               (find-files "test" "^test_.*\\.rb$"))))))))
+    (native-inputs
+     (list bundler
+           ruby-httpclient
+           ruby-minitest-profile
+           ruby-minitest-reporters
+           ruby-nokogiri
+           ruby-rspec
+           ruby-rspec-mocks
+           ruby-shoulda
+           ruby-simplecov))
     (propagated-inputs
      (list ruby-addressable
            ruby-colorator
@@ -13254,7 +13325,8 @@ (define-public jekyll
            ruby-rouge
            ruby-safe-yaml
            ruby-sassc
-           ruby-terminal-table))
+           ruby-terminal-table
+           ruby-webrick))
     (home-page "https://jekyllrb.com/")
     (synopsis "Static site generator")
     (description "Jekyll is a simple, blog aware, static site generator.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:37:02 GMT) Full text and rfc822 format available.

Message #500 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 222/223] gnu: Add ruby-liquid-c.
Date: Mon, 20 Mar 2023 13:29:32 -0400
* gnu/packages/ruby.scm (ruby-liquid-c): New variable.
---

 gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7daacd706e..eb2c062a89 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13524,6 +13524,40 @@ (define ruby-liquid-c-bootstrap
     (home-page "https://github.com/shopify/liquid-c")
     (license license:expat)))
 
+(define-public ruby-liquid-c
+  (package/inherit ruby-liquid-c-bootstrap
+    (name "ruby-liquid-c")
+    (arguments
+     (list
+      ;; Only run the unit tests, because the test:integration target fails
+      ;; with "File does not exist: test_helper" (see:
+      ;; https://github.com/Shopify/liquid-c/issues/188).
+      #:test-target "test:unit"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'extract-gemspec 'relax-requirements
+            (lambda _
+              (substitute* "Gemfile"
+                ;; Do not attempt to fetch a gem from git.
+                (("git_source\\(:github) do \\|repo_name\\|")
+                 "if false")
+                ((", github: \"Shopify/liquid\", ref: \"master\"")
+                 "")
+                ;; Remove extraneous dependencies.
+                ((".*byebug.*") "")
+                ((".*rubocop.*") "")
+                ;; Relax spy version specification.
+                (("gem \"spy\", \"0.4.1\"")
+                 "gem \"spy\", \">= 0.4.1\"")))))))
+    (native-inputs
+     (list ruby-benchmark-ips
+           ruby-rake-compiler
+           ruby-ruby-memcheck
+           ruby-spy
+           ruby-stackprof))
+    (propagated-inputs
+     (list ruby-liquid))))
+
 (define-public ruby-localhost
   (package
     (name "ruby-localhost")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:39:02 GMT) Full text and rfc822 format available.

Message #503 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 221/223] gnu: ruby-liquid: Update to 5.4.0 and enable tests.
Date: Mon, 20 Mar 2023 13:29:31 -0400
* gnu/packages/ruby.scm (ruby-liquid): Update to 5.4.0.
[arguments]: Enable tests.  Add #:phases.
[native-inputs]: New field.
(ruby-liquid-4): New variable.
(jekyll) [propagated-inputs]: Replace ruby-liquid with ruby-liquid-4.
---

 gnu/packages/ruby.scm | 48 +++++++++++++++++++++++++++++++++++++------
 1 file changed, 42 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6968362504..7daacd706e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13452,21 +13452,57 @@ (define-public ruby-launchy
 (define-public ruby-liquid
   (package
     (name "ruby-liquid")
-    (version "4.0.3")
+    (version "5.4.0")
     (source (origin
-              (method url-fetch)
-              (uri (rubygems-uri "liquid" version))
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/Shopify/liquid")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"))))
+                "1qdnvd1f9zs6wyilcgxyh93wis7ikbpimjxfpbkpk2ngr1m2c8la"))))
     (build-system ruby-build-system)
-    (arguments `(#:tests? #f)); No rakefile
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'check)               ;moved after the install phase
+          (add-after 'install 'check
+            (assoc-ref %standard-phases 'check))
+          (add-before 'check 'set-GEM_PATH
+            (lambda _
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))))
+          (add-before 'check 'delete-problematic-tests
+            (lambda _
+              ;; The following test fails with 'Unknown tag' errors (see:
+              ;; https://github.com/Shopify/liquid/issues/1699).
+              (delete-file "test/integration/tags/inline_comment_test.rb"))))))
+    (native-inputs (list ruby-liquid-c-bootstrap ruby-rspec ruby-stackprof))
     (home-page "https://shopify.github.io/liquid/")
     (synopsis "Template language")
     (description "Liquid is a template language written in Ruby.  It is used
 to load dynamic content on storefronts.")
     (license license:expat)))
 
+(define-public ruby-liquid-4
+  (package
+    (inherit ruby-liquid)
+    (name "ruby-liquid")
+    (version "4.0.4")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/Shopify/liquid")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0cr321nd0zkbxirgdfmz37xx7j26zfnicjh585fi20vx60frry83"))))
+    (arguments (list #:tests? #f))))    ;avoid required an older ruby-liquid-c
+
 ;;; This variant is purposefully incomplete, lacking ruby-liquid so that it
 ;;; can be used for ruby-liquid's test suite.
 (define ruby-liquid-c-bootstrap
@@ -13701,7 +13737,7 @@ (define-public jekyll
            ruby-jekyll-sass-converter
            ruby-jekyll-watch
            ruby-kramdown-parser-gfm
-           ruby-liquid
+           ruby-liquid-4
            ruby-mercenary
            ruby-pathutil
            ruby-rouge
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:39:02 GMT) Full text and rfc822 format available.

Message #506 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 220/223] gnu: Add ruby-liquid-c-bootstrap.
Date: Mon, 20 Mar 2023 13:29:30 -0400
* gnu/packages/ruby.scm (ruby-liquid-c-bootstrap): New variable.
---

 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 45bd6cd7e9..6968362504 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13467,6 +13467,27 @@ (define-public ruby-liquid
 to load dynamic content on storefronts.")
     (license license:expat)))
 
+;;; This variant is purposefully incomplete, lacking ruby-liquid so that it
+;;; can be used for ruby-liquid's test suite.
+(define ruby-liquid-c-bootstrap
+  (package
+    (name "ruby-liquid-c-bootstrap")
+    (version "4.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "liquid-c" version))
+              (sha256
+               (base32
+                "0jl37jz9hbfbhknryx4myxqx4n1f5dzyzmf1sapkcbw93xyrmkch"))))
+    (build-system ruby-build-system)
+    (arguments (list #:tests? #f))
+    (native-inputs (list ruby-rake-compiler))
+    (synopsis "Liquid performance extension in C")
+    (description "This package provides a Partial native implementation of the
+liquid ruby gem in C that makes it operate about three times faster.")
+    (home-page "https://github.com/shopify/liquid-c")
+    (license license:expat)))
+
 (define-public ruby-localhost
   (package
     (name "ruby-localhost")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:02 GMT) Full text and rfc822 format available.

Message #509 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 008/223] gnu: ruby-parser: Update to 3.2.1.1.
Date: Mon, 20 Mar 2023 13:13:00 -0400
* gnu/packages/ruby.scm (ruby-parser): Update to 3.2.1.1.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 14499789b4..daec7243d7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5311,14 +5311,14 @@ (define-public ruby-parallel-tests
 (define-public ruby-parser
   (package
     (name "ruby-parser")
-    (version "3.0.0.0")
+    (version "3.2.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "parser" version))
        (sha256
         (base32
-         "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml"))))
+         "1a2v5f8fw7nxm41xp422p1pbr41hafy62bp95m7vg42cqp5y4grc"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; tests not included in gem
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:02 GMT) Full text and rfc822 format available.

Message #512 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 009/223] gnu: ruby-rubocop-ast: Update to 1.27.0.
Date: Mon, 20 Mar 2023 13:13:01 -0400
* gnu/packages/ruby.scm (ruby-rubocop-ast): Update to 1.27.0.
[source]: Update URL.
[arguments]: Delete trailing #t.
---
 gnu/packages/ruby.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index daec7243d7..0601c2bc11 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7059,17 +7059,17 @@ (define-public ruby-rest-client
 (define-public ruby-rubocop-ast
   (package
     (name "ruby-rubocop-ast")
-    (version "1.4.1")
+    (version "1.27.0")
     (source
      (origin
        (method git-fetch)               ;no test suite in distributed gem
        (uri (git-reference
-             (url "https://github.com/rubocop-hq/rubocop-ast")
+             (url "https://github.com/rubocop/rubocop-ast")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1x2m7k4bn4zvvwmj7imzmv0dav6xnrbcvssad1m5lkprx7h5lzkq"))))
+         "007z8ccxh8l7bi5glis4ms7p8xsbbv8i6lrp2lhysihwvpaxgcy2"))))
     (build-system ruby-build-system)
     (arguments
      `(#:test-target "spec"
@@ -7082,8 +7082,7 @@ (define-public ruby-rubocop-ast
                     (lambda _
                       (substitute* "rubocop-ast.gemspec"
                         (("`git ls-files(.*)`" _ files)
-                         (format #f "`find ~a -type f| sort`" files)))
-                      #t)))))
+                         (format #f "`find ~a -type f| sort`" files))))))))
     (native-inputs
      (list ruby-bump
            ruby-oedipus-lex
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:02 GMT) Full text and rfc822 format available.

Message #515 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 011/223] gnu: ruby-unicode-display-width: Update to 2.4.2.
Date: Mon, 20 Mar 2023 13:13:03 -0400
* gnu/packages/ruby.scm (ruby-unicode-display-width): Update to 2.4.2.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5da56ec800..94493144f6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9122,14 +9122,14 @@ (define-public ruby-webmock-2
 (define-public ruby-unicode-display-width
   (package
     (name "ruby-unicode-display-width")
-    (version "1.6.0")
+    (version "2.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "unicode-display_width" version))
        (sha256
         (base32
-         "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"))))
+         "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a"))))
     (build-system ruby-build-system)
     (arguments
      '(;; Test data not included.
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:03 GMT) Full text and rfc822 format available.

Message #518 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 017/223] gnu: ruby-rspec-mocks: Update to 3.12.4.
Date: Mon, 20 Mar 2023 13:13:09 -0400
* gnu/packages/ruby.scm (ruby-rspec-mocks): Update to 3.12.4.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 051f41e3b7..dbc5c9e334 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -807,13 +807,13 @@ (define-public ruby-rspec-its-minimal
 (define-public ruby-rspec-mocks
   (package
     (name "ruby-rspec-mocks")
-    (version "3.8.0")
+    (version "3.12.4")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-mocks" version))
               (sha256
                (base32
-                "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp"))))
+                "1dcfh85m3ksir6n8gydsal4d85chpww1b2nahb05nl8xhgh0r2ij"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:03 GMT) Full text and rfc822 format available.

Message #521 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 012/223] gnu: Add ruby-rubocop-capybara-minimal.
Date: Mon, 20 Mar 2023 13:13:04 -0400
* gnu/packages/ruby.scm (ruby-rubocop-capybara-minimal): New variable.
---
 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 94493144f6..ab2995d6fd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1537,6 +1537,28 @@ (define-public ruby-typhoeus
     (home-page "https://github.com/typhoeus/typhoeus")
     (license license:expat)))
 
+;;; A minimal variant used to build ruby-rubocop itself.
+(define ruby-rubocop-capybara-minimal
+  (package
+    (name "ruby-rubocop-capybara")
+    (version "2.17.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/rubocop/rubocop-capybara")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "137y21b6g0kj1001zp95gwchx2cvgz8pglw2ik1cw647lh77qdsp"))))
+    (build-system ruby-build-system)
+    (arguments (list #:tests? #f))
+    (synopsis "Capybara plugin for RuboCop")
+    (description "This package provides a RuboCop plugin that can be used for
+code style checking of Capybara test files (RSpec, Cucumber, Minitest).")
+    (home-page "https://github.com/rubocop/rubocop-capybara")
+    (license license:expat)))
+
 (define ruby-rubocop-rake-minimal
   (package
     (name "ruby-rubocop-rake")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:04 GMT) Full text and rfc822 format available.

Message #524 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 019/223] gnu: ruby-rspec-given: Update to 3.8.2.
Date: Mon, 20 Mar 2023 13:13:11 -0400
* gnu/packages/ruby.scm (ruby-rspec-given): Update to 3.8.2.
[arguments]: Delete trailing #t.
---
 gnu/packages/ruby.scm | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 253b396e1b..9f7c0f3b41 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -697,14 +697,14 @@ (define-public ruby-given-core
 (define-public ruby-rspec-given
   (package
     (name "ruby-rspec-given")
-    (version "3.8.0")
+    (version "3.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "rspec-given" version))
        (sha256
         (base32
-         "1783bazja10kbha8hk15khvybsq88siyax02cpkk688604h54nji"))))
+         "0xzzxjjzwrsp84p12sd6ab3jbm9kh7sbnqpxgc9mlfq3s3ll0fdj"))))
     (build-system ruby-build-system)
     (arguments
      `(#:test-target "rs"
@@ -717,8 +717,7 @@ (define-public ruby-rspec-given
                (("Given::VERSION") (format #f "~s" ,version))
                ;; Fix the error: "cannot load such file -- example_helper"
                (("sh \"rspec")
-                "sh \"rspec -Ilib:examples"))
-             #t))
+                "sh \"rspec -Ilib:examples"))))
          (add-after 'extract-gemspec 'delete-failing-tests
            ;; See: https://github.com/jimweirich/rspec-given/issues/57.
            (lambda _
@@ -728,8 +727,7 @@ (define-public ruby-rspec-given
                (("\"examples/integration/failing_messages_spec.rb\".freeze, ")
                 ""))
              (delete-file "spec/lib/given/natural_assertion_spec.rb")
-             (delete-file "examples/integration/failing_messages_spec.rb")
-             #t)))))
+             (delete-file "examples/integration/failing_messages_spec.rb"))))))
     (native-inputs
      (list ruby-rspec ruby-minitest))
     (propagated-inputs
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:04 GMT) Full text and rfc822 format available.

Message #527 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 013/223] gnu: ruby-rspec: Update to 3.12.0.
Date: Mon, 20 Mar 2023 13:13:05 -0400
* gnu/packages/ruby.scm (ruby-rspec): Update to 3.12.0.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ab2995d6fd..e8f69d55b7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -892,13 +892,13 @@ (define-public ruby-rspec-wait
 (define-public ruby-rspec
   (package
     (name "ruby-rspec")
-    (version "3.8.0")
+    (version "3.12.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec" version))
               (sha256
                (base32
-                "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3"))))
+                "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:04 GMT) Full text and rfc822 format available.

Message #530 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 015/223] gnu: ruby-rspec-support: Update to 3.12.0.
Date: Mon, 20 Mar 2023 13:13:07 -0400
* gnu/packages/ruby.scm (ruby-rspec-support): Update to 3.12.0.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f58552c925..7797c09bf6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -551,13 +551,13 @@ (define-public ruby-iruby
 (define-public ruby-rspec-support
   (package
     (name "ruby-rspec-support")
-    (version "3.8.0")
+    (version "3.12.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-support" version))
               (sha256
                (base32
-                "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609"))))
+                "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:05 GMT) Full text and rfc822 format available.

Message #533 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 014/223] gnu: ruby-rspec-core: Update to 3.12.1.
Date: Mon, 20 Mar 2023 13:13:06 -0400
* gnu/packages/ruby.scm (ruby-rspec-core): Update to 3.12.1.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e8f69d55b7..f58552c925 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -569,13 +569,13 @@ (define-public ruby-rspec-support
 (define-public ruby-rspec-core
   (package
     (name "ruby-rspec-core")
-    (version "3.8.0")
+    (version "3.12.1")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-core" version))
               (sha256
                (base32
-                "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p"))))
+                "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:05 GMT) Full text and rfc822 format available.

Message #536 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 016/223] gnu: ruby-given-core: Update to 3.8.2.
Date: Mon, 20 Mar 2023 13:13:08 -0400
* gnu/packages/ruby.scm (ruby-given-core): Update to 3.8.2.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7797c09bf6..051f41e3b7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -675,14 +675,14 @@ (define-public ruby-sorcerer
 (define-public ruby-given-core
   (package
     (name "ruby-given-core")
-    (version "3.8.0")
+    (version "3.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "given_core" version))
        (sha256
         (base32
-         "1lzyqllbbv6as3qgwz2007mvy7wy247bgkch9adnmh1zfa73bkrg"))))
+         "0w1pyhgb2am7c267s8v06dpd9qhmsk2x4hfr2aq8l8lh49ma227s"))))
     (build-system ruby-build-system)
     (arguments '(#:tests? #f))          ;no test suite for the core package
     (propagated-inputs
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:05 GMT) Full text and rfc822 format available.

Message #539 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 018/223] gnu: ruby-rspec-expectations: Update to 3.12.2.
Date: Mon, 20 Mar 2023 13:13:10 -0400
* gnu/packages/ruby.scm (ruby-rspec-expectations): Update to 3.12.2.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dbc5c9e334..253b396e1b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -622,13 +622,13 @@ (define-public ruby-diff-lcs
 (define-public ruby-rspec-expectations
   (package
     (name "ruby-rspec-expectations")
-    (version "3.8.2")
+    (version "3.12.2")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "rspec-expectations" version))
               (sha256
                (base32
-                "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm"))))
+                "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6"))))
     (build-system ruby-build-system)
     (arguments
      '(#:tests? #f)) ; avoid dependency cycles
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:06 GMT) Full text and rfc822 format available.

Message #542 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 020/223] gnu: ruby-rubocop-performance: Update to 1.16.0.
Date: Mon, 20 Mar 2023 13:13:12 -0400
* gnu/packages/ruby.scm (ruby-rubocop-performance): Update to 1.16.0.
[source]: Update URL.
[arguments]: Delete trailing #t.
---
 gnu/packages/ruby.scm | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9f7c0f3b41..9e99ffa0fd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1624,17 +1624,17 @@ (define-public ruby-rubocop-rspec-minimal
 (define-public ruby-rubocop-performance
   (package
     (name "ruby-rubocop-performance")
-    (version "1.9.2")
+    (version "1.16.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-              (url "https://github.com/rubocop-hq/rubocop-performance")
+              (url "https://github.com/rubocop/rubocop-performance")
               (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "04lmkmz6c0ccs5miikrww7lakp7y6xz00g7b47ay7rn7sx5j6qyf"))))
+         "1axafki2mpdz38y7i0afmnxcan5wj54l8crp8pbs7h1cip7y4s49"))))
     (build-system ruby-build-system)
     (arguments
      `(#:tests? #f  ; tests require a git checkout of rubocop's source code.
@@ -1644,12 +1644,11 @@ (define-public ruby-rubocop-performance
            (lambda _
              (substitute* "rubocop-performance.gemspec"
                (("`git ls-files -z config lib LICENSE.txt README.md`")
-                "`find config lib LICENSE.txt README.md -type f -print0 |sort -z`"))
-             #t))
+                "`find config lib LICENSE.txt README.md \
+-type f -print0 |sort -z`"))))
          (add-before 'check 'set-HOME
            (lambda _
-             (setenv "HOME" "/tmp")
-             #t)))))
+             (setenv "HOME" "/tmp"))))))
     (propagated-inputs
      (list ruby-rubocop ruby-rubocop-ast))
     (native-inputs
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:06 GMT) Full text and rfc822 format available.

Message #545 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 027/223] gnu: ruby-rubocop: Update to 1.48.1
Date: Mon, 20 Mar 2023 13:13:19 -0400
* gnu/packages/ruby.scm (ruby-rubocop): Update to 1.48.1.
[phases]: Delete trailing #t.  Remove make-adoc-files-writable phase.
[native-inputs]: Delete labels.  Remove ruby-bump.  Add ruby-rubocop-ast,
ruby-rubocop-capybara-minimal and ruby-rubocop-rake-minimal.  Sort.
[inputs]:  Add ruby-json and ruby-rexml.  Sort.
---
 gnu/packages/ruby.scm | 52 ++++++++++++++++++++-----------------------
 1 file changed, 24 insertions(+), 28 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 28e98e5189..ccd446bdd1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7391,17 +7391,17 @@ (define-public ruby-test-queue
 (define-public ruby-rubocop
   (package
     (name "ruby-rubocop")
-    (version "1.10.0")
+    (version "1.48.1")
     (source
      (origin
        (method git-fetch)               ;no tests in distributed gem
        (uri (git-reference
-             (url "https://github.com/rubocop-hq/rubocop")
+             (url "https://github.com/rubocop/rubocop")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0wjw9vpzr4f3nf1zf010bag71w4hdi0haybdn7r5rlmw45pmim29"))))
+         "1l4j99mbrdjy2bzcnky30pjgjv8sxjr187jzliyqmldvpf7dizbp"))))
     (build-system ruby-build-system)
     (arguments
      `(#:test-target "default"
@@ -7412,8 +7412,7 @@ (define-public ruby-rubocop
        (modify-phases %standard-phases
          (add-before 'check 'set-home
            (lambda _
-             (setenv "HOME" (getcwd))
-             #t))
+             (setenv "HOME" (getcwd))))
          ;; Rubocop depends on itself for tests, directly and indirectly. By
          ;; regenerating the TODO list we test rubocop against itself and
          ;; forgo adjusting the test suite to our environment each release.
@@ -7421,40 +7420,37 @@ (define-public ruby-rubocop
            (lambda* (#:key tests? #:allow-other-keys)
              (when tests?
                (make-file-writable ".rubocop_todo.yml")
-               (invoke "./exe/rubocop" "--auto-gen-config"))
-             #t))
-         (add-before 'check 'make-adoc-files-writable
-           (lambda _
-             (let ((adoc-files (find-files "docs/modules/ROOT/pages"
-                                           "\\.adoc$")))
-               (for-each make-file-writable adoc-files))
-             #t)))))
+               (invoke "./exe/rubocop" "--auto-gen-config")))))))
     (native-inputs
-     `(("ruby-bump" ,ruby-bump)
-       ("ruby-pry" ,ruby-pry)
-       ("ruby-rake" ,ruby-rake)
-       ("ruby-rspec" ,ruby-rspec)
-       ("ruby-rubocop-minimal" ,ruby-rubocop-minimal)
-       ("ruby-rubocop-performance-minimal" ,ruby-rubocop-performance-minimal)
-       ("ruby-rubocop-rspec-minimal" ,ruby-rubocop-rspec-minimal)
-       ("ruby-simplecov" ,ruby-simplecov)
-       ("ruby-stackprof" ,ruby-stackprof)
-       ("ruby-test-queue" ,ruby-test-queue)
-       ("ruby-webmock" ,ruby-webmock)
-       ("ruby-yard" ,ruby-yard)))
+     (list ruby-pry
+           ruby-rake
+           ruby-rspec
+           ruby-rubocop-ast
+           ruby-rubocop-capybara-minimal
+           ruby-rubocop-minimal
+           ruby-rubocop-performance-minimal
+           ruby-rubocop-rake-minimal
+           ruby-rubocop-rspec-minimal
+           ruby-simplecov
+           ruby-stackprof
+           ruby-test-queue
+           ruby-webmock
+           ruby-yard))
     (propagated-inputs
-     (list ruby-parallel
+     (list ruby-json
+           ruby-parallel
            ruby-parser
+           ruby-progressbar
            ruby-rainbow
            ruby-regexp-parser
+           ruby-rexml
            ruby-rubocop-ast
-           ruby-progressbar
            ruby-unicode-display-width))
     (synopsis "Ruby code style checking tool")
     (description
      "@code{rubocop} is a Ruby code style checking tool.  It aims to enforce
 the community-driven Ruby Style Guide.")
-    (home-page "https://github.com/rubocop-hq/rubocop")
+    (home-page "https://github.com/rubocop/rubocop")
     (license license:expat)))
 
 (define-public ruby-rubocop-minimal
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:07 GMT) Full text and rfc822 format available.

Message #548 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 022/223] gnu: ruby-simplecov-html: Update to 0.12.3.
Date: Mon, 20 Mar 2023 13:13:14 -0400
* gnu/packages/ruby.scm (ruby-simplecov-html): Update to 0.12.3.
[home-page]: Update URL.
---
 gnu/packages/ruby.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c78c0d54c6..e6d80f8bbe 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3365,13 +3365,13 @@ (define-public ruby-rubyzip
 (define-public ruby-simplecov-html
   (package
     (name "ruby-simplecov-html")
-    (version "0.10.2")
+    (version "0.12.3")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "simplecov-html" version))
               (sha256
                (base32
-                "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn"))))
+                "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"))))
     (build-system ruby-build-system)
     (arguments `(#:tests? #f)) ; there are no tests
     (native-inputs
@@ -3379,7 +3379,7 @@ (define-public ruby-simplecov-html
     (synopsis "Default HTML formatter for SimpleCov code coverage tool")
     (description "This package provides the default HTML formatter for
 the SimpleCov code coverage tool for Ruby version 1.9 and above.")
-    (home-page "https://github.com/colszowka/simplecov-html")
+    (home-page "https://github.com/simplecov-ruby/simplecov-html")
     (license license:expat)))
 
 (define-public ruby-simplecov-json-formatter
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:07 GMT) Full text and rfc822 format available.

Message #551 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 030/223] gnu: Add ruby-m.
Date: Mon, 20 Mar 2023 13:13:22 -0400
* gnu/packages/ruby.scm (ruby-m): New variable.
---
 gnu/packages/ruby.scm | 62 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ceeda5647d..380783721b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -11397,6 +11397,68 @@ (define-public ruby-matrix
     (home-page "https://github.com/ruby/matrix")
     (license license:bsd-2)))
 
+(define-public ruby-m
+  (package
+    (name "ruby-m")
+    (version "1.6.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/qrush/m")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1aycfc8l1bsln1y300fv75fknn4amjcvc4rm2kd8hb6cqivjq5rg"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'sanitize-dependencies
+            (lambda _
+              (delete-file "Gemfile")
+              (delete-file "Gemfile.lock")
+              ;; Rocco is unmaintained as of 2023/01/08; avoid depending on
+              ;; it.
+              (substitute* "m.gemspec"
+                ;; The rdiscount and rocco dependencies are used for
+                ;; generating the documentation.
+                ((".*rdiscount.*") "")
+                ((".*rocco.*") "")
+                ((".*appraisal.*") "")
+                ((".*coveralls.*") ""))
+              (substitute* "Rakefile"
+                ;; ruby-appraisal is not packaged, and is used to test against
+                ;; various dependencies; circumvent its use.
+                ((".*require 'appraisal'.*") "")
+                ((".*require 'coveralls'.*") "")
+                (("appraisal [:graphic:]+ rake")
+                 "rake")
+                (("Coveralls.push!") ""))))
+          (add-before 'replace-git-ls-files 'pre-replace-git-ls-files
+            (lambda _
+              (substitute* "m.gemspec"
+                (("git ls-files -- bin/\\*")
+                 "find bin -type f -not -regex '.*\\.gem$' | sort")
+                (("git ls-files -- \\{test,spec,features}/\\*")
+                 "find test -type f -not -regex '.*\\.gem$' | sort"))))
+          (delete 'check)
+          (add-after 'install 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))
+              (when tests?
+                (invoke "rake" "test")))))))
+    (native-inputs (list ruby-activesupport))
+    (propagated-inputs (list ruby-method-source ruby-rake))
+    (synopsis "Ruby test runner that can run tests by line number")
+    (description "@code{m} stands for metal, a better test/unit and
+@code{minitest} test runner that can run tests by line number.")
+    (home-page "https://github.com/qrush/m")
+    (license license:expat)))
+
 (define-public ruby-mercenary
   (package
     (name "ruby-mercenary")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:07 GMT) Full text and rfc822 format available.

Message #554 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 021/223] gnu: Add ruby-simplecov-json-formatter.
Date: Mon, 20 Mar 2023 13:13:13 -0400
* gnu/packages/ruby.scm (ruby-simplecov-json-formatter): New variable.
---
 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9e99ffa0fd..c78c0d54c6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3382,6 +3382,27 @@ (define-public ruby-simplecov-html
     (home-page "https://github.com/colszowka/simplecov-html")
     (license license:expat)))
 
+(define-public ruby-simplecov-json-formatter
+  (package
+    (name "ruby-simplecov-json-formatter")
+    (version "0.1.4")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "simplecov_json_formatter" version))
+              (sha256
+               (base32
+                "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"))))
+    (build-system ruby-build-system)
+    ;; The test suite is disabled because it requires simplecov, which
+    ;; requires this, introducing a dependency cycle.
+    (arguments (list #:tests? #f))
+    (synopsis "JSON formatter for SimpleCov")
+    (description "This package provides a JSON formatter for SimpleCov, the
+Ruby code coverage tool.")
+    (home-page
+     "https://github.com/codeclimate-community/simplecov_json_formatter")
+    (license license:expat)))
+
 (define-public ruby-simplecov
   (package
     (name "ruby-simplecov")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:08 GMT) Full text and rfc822 format available.

Message #557 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 033/223] gnu: ruby-standard: Relax requirements.
Date: Mon, 20 Mar 2023 13:13:25 -0400
* gnu/packages/ruby.scm (ruby-standard)
[arguments]: Add relax-requirements phase.
---
 gnu/packages/ruby.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b06bdbcb6b..51f7d80951 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1822,6 +1822,13 @@ (define-public ruby-standard
            (lambda _
              ;; Some tests fail otherwise.
              (setenv "HOME" "/tmp")))
+         (add-after 'unpack 'relax-requirements
+           (lambda _
+             (substitute* "standard.gemspec"
+               (("\"rubocop\", \"1.44.1\"")
+                "\"rubocop\", \">= 1.44.1\"")
+               (("\"rubocop-performance\", \"1.15.2\"")
+                "\"rubocop-performance\", \">= 1.15.2\""))))
          (add-after 'unpack 'delete-problematic-tests
            ;; These tests fail for unknown reasons (see:
            ;; https://github.com/testdouble/standard/issues/532).
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:08 GMT) Full text and rfc822 format available.

Message #560 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 034/223] gnu: Add ruby-dotenv.
Date: Mon, 20 Mar 2023 13:13:26 -0400
* gnu/packages/ruby.scm (ruby-dotenv): New variable.
---
 gnu/packages/ruby.scm | 45 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 51f7d80951..6396f3cd6f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9352,6 +9352,51 @@ (define-public ruby-domain-name
     (home-page "https://github.com/knu/ruby-domain_name")
     (license license:bsd-2)))
 
+(define-public ruby-dotenv
+  (package
+    (name "ruby-dotenv")
+    (version "2.8.1")
+    (source (origin
+              (method git-fetch)        ;for the tests
+              (uri (git-reference
+                    (url "https://github.com/bkeepers/dotenv")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0s1a71jxppa20fsm2rd1vym099ib48m039rmhggmz99hc3z1fvvr"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:test-target "spec"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'do-not-build-dotenv-rails
+            (lambda _
+              ;; The repository includes the definitions of two packages,
+              ;; 'dotenv' and 'dotenv-rails'.  Since we want to package them
+              ;; separately, remove the dotenv-rails and associated Rake
+              ;; tasks.
+              (delete-file "dotenv-rails.gemspec")
+              (delete-file "spec/dotenv/rails_spec.rb")
+              (substitute* "Rakefile"
+                (("DotenvRailsGemHelper.install_tasks name: \"dotenv-rails\"")
+                 "")
+                ((", \"dotenv-rails:.*\"")
+                 ""))))
+          (replace 'replace-git-ls-files
+            (lambda _
+              (substitute* "dotenv.gemspec"
+                (("`git ls-files README.md LICENSE lib bin \\| grep -v rails`")
+                 "`find README.md LICENSE lib bin -type f | sort | \
+grep -v rails`")))))))
+    (native-inputs (list ruby-standard ruby-rspec))
+    (synopsis "Ruby library for setting environment variables")
+    (description "Dotenv is a Ruby library for setting environment variables
+defined in a @file{.env} file.")
+    (home-page "https://github.com/bkeepers/dotenv")
+    (license license:expat)))
+
 (define-public ruby-http-cookie
   (package
     (name "ruby-http-cookie")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:09 GMT) Full text and rfc822 format available.

Message #563 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 035/223] gnu: Add ruby-minitest-retry.
Date: Mon, 20 Mar 2023 13:13:27 -0400
* gnu/packages/ruby.scm (ruby-minitest-retry): New variable.
---
 gnu/packages/ruby.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6396f3cd6f..130c1a46c5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4578,6 +4578,24 @@ (define-public ruby-minitest-around
     (home-page "https://github.com/splattael/minitest-around")
     (license license:expat)))
 
+(define-public ruby-minitest-retry
+  (package
+    (name "ruby-minitest-retry")
+    (version "0.2.2")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "minitest-retry" version))
+              (sha256
+               (base32
+                "1c1zq0b1a9y0hbqphq4ybijnjldlis1g6kyhx92q2ynnqfmzhfga"))))
+    (build-system ruby-build-system)
+    (propagated-inputs (list ruby-minitest))
+    (synopsis "Minitest extension to re-run failing tests")
+    (description "This package provides the @code{Minitest::Retry} class,
+which extends Minitest to allow retrying tests when they fail.")
+    (home-page "https://github.com/y-yagi/minitest-retry")
+    (license license:expat)))
+
 (define-public ruby-minitest-sprint
   (package
     (name "ruby-minitest-sprint")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:09 GMT) Full text and rfc822 format available.

Message #566 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 036/223] gnu: Add ruby-dalli.
Date: Mon, 20 Mar 2023 13:13:28 -0400
* gnu/packages/ruby.scm (ruby-dalli): New variable.
---
 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 130c1a46c5..f7baecef1d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4918,6 +4918,41 @@ (define-public ruby-daemons
     (home-page "https://github.com/thuehlinger/daemons")
     (license license:expat)))
 
+(define-public ruby-dalli
+  (package
+    (name "ruby-dalli")
+    (version "3.2.4")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/petergoldstein/dalli")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1hhqqv1j3zd2y0vr6maaabsflrvkf1x0i6z8n725mhqydp3f9gwp"))))
+    (build-system ruby-build-system)
+    ;; Disable tests to avoid a dependency cycle with ruby-activesupport,
+    ;; through ruby-ruby-prof.
+    (arguments (list #:tests? #f))
+    (synopsis "High performance memcached client for Ruby")
+    (description "Dalli is a high performance pure Ruby client for accessing
+memcached servers.  Dalli supports:
+
+@itemize
+@item Simple and complex memcached configurations
+@item Fail-over between memcached instances
+@item Fine-grained control of data serialization and compression
+@item Thread-safe operation
+@item SSL/TLS connections to memcached
+@item SASL authentication.
+@end itemize
+
+The name is a variant of Salvador Dali for his famous painting The Persistence
+of Memory.")
+    (home-page "https://github.com/petergoldstein/dalli")
+    (license license:expat)))
+
 (define-public ruby-data_uri
   (package
     (name "ruby-data_uri")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:09 GMT) Full text and rfc822 format available.

Message #569 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 037/223] gnu: Add ruby-hiredis.
Date: Mon, 20 Mar 2023 13:13:29 -0400
* gnu/packages/databases.scm (ruby-hiredis): New variable.
* gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/databases.scm                    | 62 ++++++++++++++++++-
 .../ruby-hiredis-use-system-hiredis.patch     | 52 ++++++++++++++++
 3 files changed, 114 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 2abece0d2f..8109312e77 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1819,6 +1819,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch 	\
   %D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch 	\
   %D%/packages/patches/rottlog-direntry.patch 			\
+  %D%/packages/patches/ruby-hiredis-use-system-hiredis.patch	\
   %D%/packages/patches/ruby-hydra-minimal-no-byebug.patch	\
   %D%/packages/patches/ruby-anystyle-data-immutable-install.patch	\
   %D%/packages/patches/ruby-anystyle-fix-dictionary-populate.patch	\
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index e51ddd5bf2..a4560d40e3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -32,7 +32,7 @@
 ;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington <at> gmail.com>
 ;;; Copyright © 2018 Amirouche Boubekki <amirouche <at> hypermove.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua <at> nextjournal.com>
-;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2019 Jack Hill <jackhill <at> jackhill.us>
 ;;; Copyright © 2019 Alex Griffin <a <at> ajgrf.com>
 ;;; Copyright © 2019 Gábor Boskovits <boskovits <at> gmail.com>
@@ -2520,6 +2520,66 @@ (define-public hiredis
     (home-page "https://github.com/redis/hiredis")
     (license license:bsd-3)))
 
+(define-public ruby-hiredis
+  (package
+    (name "ruby-hiredis")
+    (version "0.6.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/redis/hiredis-rb")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05y4g7frhym59m9x208zpvg2qvqvfjlgqmygxj8sqgl07n0ww1ks"))
+              (patches (search-patches
+                        "ruby-hiredis-use-system-hiredis.patch"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ;require native extension
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-hiredis-include-directory
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "ext/hiredis_ext/extconf.rb"
+                ;; Adjust the hiredis include directory.
+                (("\\$CFLAGS << \" -I/usr/include/hiredis\"")
+                 (format #f "$CFLAGS << \" -I~a\""
+                         (search-input-directory inputs "include/hiredis"))))))
+          (add-after 'unpack 'disable-building-c-extension
+            (lambda _
+              ;; FIXME: The produced native extension appears to segfault when
+              ;; run; disable building it until a solution is found (see:
+              ;; https://github.com/redis/hiredis-rb/issues/93).
+              (substitute* "ext/hiredis_ext/extconf.rb"
+                (("build_hiredis = true")
+                 "build_hiredis = false"))))
+          ;; FIXME: Un-comment phase after the extension can be made to run
+          ;; without crashing (see above).
+          ;; (add-after 'build 'build-ext
+          ;;   (lambda _
+          ;;     (setenv "CC" #$(cc-for-target))
+          ;;     (invoke "rake" "compile")))
+          (add-before 'check 'start-redis
+            (lambda _
+              (invoke "redis-server" "--daemonize" "yes")))
+          (add-after 'install 'delete-mkmf.log
+            (lambda _
+              ;; This build log captures non-deterministic file names (see:
+              ;; https://github.com/rubygems/rubygems/issues/6259).
+              (for-each delete-file (find-files #$output "^mkmf\\.log$")))))))
+    (native-inputs (list redis ruby-rake-compiler))
+    (inputs (list hiredis))
+    (synopsis "Ruby wrapper for hiredis")
+    (description "@code{hiredis-rb} is a Ruby extension that wraps
+@code{hiredis}, a minimalist C client for Redis.  Both the synchronous
+connection API and a separate protocol reader are supported.  It is primarily
+intended to speed up parsing multi bulk replies.")
+    (home-page "https://github.com/redis/hiredis-rb")
+    (license license:bsd-3)))
+
 (define-public ruby-redis
   (package
     (name "ruby-redis")
diff --git a/gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch b/gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch
new file mode 100644
index 0000000000..1b238f5099
--- /dev/null
+++ b/gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch
@@ -0,0 +1,52 @@
+Retrieved 2023-03-05 from
+https://sources.debian.org/data/main/r/ruby-hiredis/0.6.3-2/debian/patches/use_system_libhiredis.patch.
+
+From: Apollon Oikonomopoulos <apoikos <at> gmail.com>
+Date: Mon, 20 Jan 2020 09:28:45 -0300
+Subject: Use system libhiredis
+
+Last-Update: 2013-04-10
+Forwarded: no
+
+Use Debian's libhiredis version instead of downloading one and statically
+linking against it.
+---
+ ext/hiredis_ext/extconf.rb | 18 +++---------------
+ 1 file changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/ext/hiredis_ext/extconf.rb b/ext/hiredis_ext/extconf.rb
+index da39eb5..ffa3abf 100644
+--- a/ext/hiredis_ext/extconf.rb
++++ b/ext/hiredis_ext/extconf.rb
+@@ -9,12 +9,6 @@ end
+ 
+ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
+ 
+-hiredis_dir = File.join(File.dirname(__FILE__), %w{.. .. vendor hiredis})
+-unless File.directory?(hiredis_dir)
+-  STDERR.puts "vendor/hiredis missing, please checkout its submodule..."
+-  exit 1
+-end
+-
+ RbConfig::CONFIG['configure_args'] =~ /with-make-prog\=(\w+)/
+ make_program = $1 || ENV['make']
+ make_program ||= case RUBY_PLATFORM
+@@ -27,15 +21,9 @@ else
+ end
+ 
+ if build_hiredis
+-  # Make sure hiredis is built...
+-  Dir.chdir(hiredis_dir) do
+-    success = system("#{make_program} static")
+-    raise "Building hiredis failed" if !success
+-  end
+-
+-  # Statically link to hiredis (mkmf can't do this for us)
+-  $CFLAGS << " -I#{hiredis_dir}"
+-  $LDFLAGS << " #{hiredis_dir}/libhiredis.a"
++  # Debian: use system hiredis
++  $CFLAGS << " -I/usr/include/hiredis"
++  $LDFLAGS << " -lhiredis"
+ 
+   have_func("rb_thread_fd_select")
+   create_makefile('hiredis/ext/hiredis_ext')
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:10 GMT) Full text and rfc822 format available.

Message #572 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 038/223] gnu: ruby-minitest-5.14: Update to 5.15.0.
Date: Mon, 20 Mar 2023 13:13:30 -0400
* gnu/packages/ruby.scm (ruby-minitest-5.14): Update to 5.15.0, rename to...
(ruby-minitest-5.15): ... this.
[name]: Delete override.
[version]: Set to 5.15.0.
* gnu/packages/ruby.scm (ruby-byebug) [native-inputs]: Replace
ruby-minitest-5.14 with ruby-minitest-5.15.
---
 gnu/packages/ruby.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f7baecef1d..d47d1fb2ef 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4511,17 +4511,16 @@ (define-public ruby-minitest
 facilities supporting TDD, BDD, mocking, and benchmarking.")
     (license license:expat)))
 
-(define-public ruby-minitest-5.14
+(define-public ruby-minitest-5.15
   (package
     (inherit ruby-minitest)
-    (name "ruby-minitest-5.14")
-    (version "")
+    (version "5.15.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "minitest" version))
               (sha256
                (base32
-                "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"))))))
+                "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd"))))))
 
 ;; This is the last release of Minitest 4, which is used by some packages.
 (define-public ruby-minitest-4
@@ -6846,8 +6845,8 @@ (define-public ruby-byebug
            ;; Using minitest 5.17 would cause 5 new bug failures.  This is
            ;; probably related to
            ;; https://github.com/deivid-rodriguez/byebug/pull/837.  Use
-           ;; minitest 5.14 until this is resolved and released.
-           ruby-minitest-5.14
+           ;; minitest 5.15 until this is resolved and released.
+           ruby-minitest-5.15
            ruby-pry
            ruby-rake-compiler
            ruby-rubocop
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:10 GMT) Full text and rfc822 format available.

Message #575 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 040/223] gnu: Add ruby-cucumber-compatibility-kit.
Date: Mon, 20 Mar 2023 13:13:32 -0400
* gnu/packages/ruby.scm (ruby-cucumber-compatibility-kit): New variable.
(ruby-cucumber-compatibility-kit-bootstrap): Likewise.
---
 gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bfaeeb8be3..d328fe67b3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7958,6 +7958,37 @@ (define-public ruby-memory-profiler
     (home-page "https://github.com/SamSaffron/memory_profiler")
     (license license:expat)))
 
+(define-public ruby-cucumber-compatibility-kit
+  (package
+    (name "ruby-cucumber-compatibility-kit")
+    (version "11.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "cucumber-compatibility-kit" version))
+              (sha256
+               (base32
+                "17c8zx0yn68rcpfbw4nb1gzvh9fzpwsi1y0qivb99ahdlgzcdp8q"))))
+    (build-system ruby-build-system)
+    (arguments (list #:phases #~(modify-phases %standard-phases
+                                  (replace 'check
+                                    (lambda* (#:key tests? #:allow-other-keys)
+                                      (when tests?
+                                        (invoke "rspec")))))))
+    (propagated-inputs (list ruby-cucumber-messages ruby-rake ruby-rspec))
+    (synopsis "Cucumber compatibility verification utility")
+    (description "The Cucumber Compatibility Kit (CCK) aims to validate a
+Cucumber implementation's support for the Cucumber Messages protocol.")
+    (home-page "https://github.com/cucumber/compatibility-kit")
+    (license license:expat)))
+
+;;; Variant package to break a cycle with ruby-cucumber-messages.
+(define ruby-cucumber-compatibility-kit-bootstrap
+  (package/inherit ruby-cucumber-compatibility-kit
+    (arguments (list #:tests? #f))
+    (propagated-inputs (modify-inputs (package-propagated-inputs
+                                       ruby-cucumber-compatibility-kit)
+                         (delete "ruby-cucumber-messages")))))
+
 (define-public ruby-cucumber-messages
   (package
     (name "ruby-cucumber-messages")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:11 GMT) Full text and rfc822 format available.

Message #578 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 041/223] gnu: ruby-cucumber-messages: Update to 21.0.1.
Date: Mon, 20 Mar 2023 13:13:33 -0400
* gnu/packages/ruby.scm (ruby-cucumber-messages): Update to 21.0.1.
[source]: Adjust to upstream URI change and use url-fetch.
[phases]: Delete patch-protobuf.rb and compile phases.  Move check phase after
install phase, and augment GEM_PATH in check phase.
[propagated-inputs]: Delete field.
[native-inputs]: Add ruby-cucumber-compatibility-kit-bootstrap.
[home-page]: Update URL.
---
 gnu/packages/ruby.scm | 48 +++++++++++++++++--------------------------
 1 file changed, 19 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d328fe67b3..df88c6c083 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7992,40 +7992,30 @@ (define ruby-cucumber-compatibility-kit-bootstrap
 (define-public ruby-cucumber-messages
   (package
     (name "ruby-cucumber-messages")
-    (version "12.2.0")
+    (version "21.0.1")
     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/cucumber/messages-ruby")
-                    (commit "12cd07eac87bce7843fd1bb0bf64bc4da09f097c")))
-              (file-name (git-file-name name version))
+              (method url-fetch)
+              (uri (rubygems-uri "cucumber-messages" version))
               (sha256
                (base32
-                "16wwqfpsq7crvxc3q08lphgyh12cl2d83p1c79p312q4jmy9cn5a"))))
+                "0482a63y7my0arn2bv208g401dq8525f0gwhnwaa11mhv6ph0q5i"))))
     (build-system ruby-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'patch-protobuf.rb
-                    (lambda _
-                      (substitute* "rake/protobuf.rb"
-                        (("load 'protobuf/tasks/compile.rake'")
-                         "require 'protobuf/tasks'"))
-                      #t))
-                  (add-before 'build 'compile
-                    (lambda _
-                      (substitute* "Makefile"
-                        (("bundle exec ") "")
-                        (("include default.mk.*" all)
-                         (string-append "#" all)))
-                      (invoke "make")))
-                  (replace 'check
-                    (lambda _
-                      (invoke "rspec"))))))
-    (propagated-inputs
-     `(("ruby-protobuf" ,ruby-protobuf-cucumber)))
-    (native-inputs
-     (list ruby-rspec))
-    (home-page "https://github.com/cucumber/messages-ruby")
+     (list #:phases
+           #~(modify-phases %standard-phases
+               ;; The test suite requires the gem to be installed, so move it
+               ;; after the install phase.
+               (delete 'check)
+               (add-after 'install 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (setenv "GEM_PATH" (string-append
+                                       (getenv "GEM_PATH") ":"
+                                       #$output "/lib/ruby/vendor_ruby"))
+                   (when tests?
+                     (invoke "rspec")))))))
+    (native-inputs
+     (list ruby-cucumber-compatibility-kit-bootstrap ruby-rspec))
+    (home-page "https://github.com/cucumber/messages/")
     (synopsis "Cucumber Messages for Ruby (Protocol Buffers)")
     (description "Cucumber Messages for Ruby is a library which allows
 serialization and deserialization of the protocol buffer messages used in
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:11 GMT) Full text and rfc822 format available.

Message #581 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 042/223] gnu: Remove ruby-protobuf-cucumber.
Date: Mon, 20 Mar 2023 13:13:34 -0400
The package is no longer used by ruby-cucumber-messages, its sole user.  It is
unmaintained.

* gnu/packages/protobuf.scm (ruby-protobuf-cucumber): Delete variable.
---
 gnu/packages/protobuf.scm | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index b580f8b2a7..82c5b7b5f8 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -589,20 +589,3 @@ (define-public ruby-protobuf
     (description "Protobuf is an implementation of Google's Protocol Buffers
 in pure Ruby.")
     (license license:expat)))
-
-;;; This is a modified ruby-protobuf package used by ruby-cucumber-messages
-;;; until https://github.com/ruby-protobuf/protobuf/pull/411 and
-;;; https://github.com/ruby-protobuf/protobuf/pull/415 are merged upstream.
-(define-public ruby-protobuf-cucumber
-  (hidden-package
-   (package
-     (inherit ruby-protobuf)
-     (name "ruby-protobuf-cucumber")
-     (version "3.10.8")
-     (source
-      (origin
-        (method url-fetch)
-        (uri (rubygems-uri "protobuf-cucumber" version))
-        (sha256
-         (base32
-          "1rd6naabhpfb1i5dr6fp5mqwaawsx0mqm73h5ycwkgbm1n2si872")))))))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:11 GMT) Full text and rfc822 format available.

Message #584 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 043/223] gnu: ruby-cucumber-tag-expressions: Update to 5.0.1,
 fixing build.
Date: Mon, 20 Mar 2023 13:13:35 -0400
* gnu/packages/ruby.scm (ruby-cucumber-tag-expressions): Update to 5.0.1.
[source]: Update URI.
[arguments]: Add a #:phases argument.
[home-page]: Update URL.
---
 gnu/packages/ruby.scm | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index df88c6c083..9b7fc12409 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8454,26 +8454,29 @@ (define-public ruby-cucumber-wire
 (define-public ruby-cucumber-tag-expressions
   (package
     (name "ruby-cucumber-tag-expressions")
-    (version "3.0.0")
+    (version "5.0.1")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/cucumber/tag-expressions-ruby")
+             (url "https://github.com/cucumber/tag-expressions")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "15dw4w0npd4m6aw7zhqkjxxzngp42kswrkwfygxkxcxnhy5zl1vx"))))
+         "1ziq30szn8m5y29hsdpx4dn1a8sy29h01nvcldm8nr1mx4b7dj1w"))))
     (build-system ruby-build-system)
     (arguments
-     `(#:test-target "spec"))
-    (native-inputs
-     (list ruby-rspec))
+     (list #:test-target "spec"
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'chdir
+                          (lambda _
+                            (chdir "ruby"))))))
+    (native-inputs (list ruby-rspec))
     (synopsis "Cucumber tag expressions for Ruby")
     (description "Cucumber tag expression parser for Ruby.  A tag expression
 is an infix boolean expression used by Cucumber.")
-    (home-page "https://github.com/cucumber/tag-expressions-ruby")
+    (home-page "https://github.com/cucumber/tag-expressions")
     (license license:expat)))
 
 (define-public ruby-bindex
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:12 GMT) Full text and rfc822 format available.

Message #587 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 044/223] gnu: ruby-cucumber-core: Update to 11.1.0.
Date: Mon, 20 Mar 2023 13:13:36 -0400
* gnu/packages/ruby.scm (ruby-cucumber-core): Update to 11.1.0.
[arguments]: Adjust relax-version-requirements phase.
---
 gnu/packages/ruby.scm | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9b7fc12409..f8da5eb1c4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8358,7 +8358,7 @@ (define-public ruby-unindent
 (define-public ruby-cucumber-core
   (package
     (name "ruby-cucumber-core")
-    (version "7.1.0")
+    (version "11.1.0")
     (source
      (origin
        (method git-fetch)
@@ -8368,18 +8368,16 @@ (define-public ruby-cucumber-core
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1p5wb6wbggbw37ariyag4kxpiczznvgm3c8cnz1744dmbj79q1rn"))))
+         "0lf2inlam0951djc2qz81x0nkffmw2dpj44iadw1fw31m7r8wqvh"))))
     (build-system ruby-build-system)
-    (arguments
-     `(#:test-target "spec"
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'extract-gemspec 'relax-version-requirements
-           (lambda _
-             (substitute* "cucumber-core.gemspec"
-               (("'cucumber-tag-expressions',.*")
-                 "'cucumber-tag-expressions', '>=2.0.0'\n"))
-             #t)))))
+    (arguments (list #:test-target "spec"
+                     #:phases
+                     #~(modify-phases %standard-phases
+                         (add-after 'extract-gemspec 'relax-version-requirements
+                           (lambda _
+                             (substitute* "cucumber-core.gemspec"
+                               (("'cucumber-tag-expressions',.*")
+                                "'cucumber-tag-expressions', '>=4.1.0'\n")))))))
     (native-inputs
      (list ruby-rspec ruby-coveralls ruby-rubocop ruby-simplecov
            ruby-unindent))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:12 GMT) Full text and rfc822 format available.

Message #590 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 073/223] gnu: ruby-puma: Build with SSL support.
Date: Mon, 20 Mar 2023 13:14:05 -0400
* gnu/packages/ruby.scm (ruby-puma) [arguments]: Delete trailing #t.
[inputs]: Add openssl.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 48defe1dae..6858f0f5b0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10155,8 +10155,8 @@ (define-public ruby-puma
          (add-before 'build 'fix-gemspec
            (lambda _
              (substitute* "puma.gemspec"
-               (("git ls-files") "find * |sort"))
-             #t)))))
+               (("git ls-files") "find * |sort")))))))
+    (inputs (list openssl))
     (synopsis "Simple, concurrent HTTP server for Ruby/Rack")
     (description
      "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:13 GMT) Full text and rfc822 format available.

Message #593 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 080/223] gnu: ruby-rack-test: Update home page.
Date: Mon, 20 Mar 2023 13:14:12 -0400
* gnu/packages/ruby.scm (ruby-rack-test) [home-page]: Update URL.
---
 gnu/packages/ruby.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dbe9a5ff97..0ad9f820d1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7231,7 +7231,7 @@ (define-public ruby-rack-test
      "Rack::Test is a small, simple testing API for Rack applications.  It can
 be used on its own or as a reusable starting point for Web frameworks and
 testing libraries to build on.")
-    (home-page "https://github.com/rack-test/rack-test")
+    (home-page "https://github.com/rack/rack-test")
     (license license:expat)))
 
 (define-public ruby-rack-protection
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:13 GMT) Full text and rfc822 format available.

Message #596 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 081/223] gnu: ruby-rack-test: Honor #:tests? argument.
Date: Mon, 20 Mar 2023 13:14:13 -0400
* gnu/packages/ruby.scm (ruby-rack-test) [arguments]: Honor #:tests? argument
in check phase override.
---
 gnu/packages/ruby.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0ad9f820d1..41a2f01ca3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7222,8 +7222,9 @@ (define-public ruby-rack-test
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _
-             (invoke "ruby" "-Ilib" "-r" "rack/test"))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "ruby" "-Ilib" "-r" "rack/test")))))))
     (propagated-inputs
      (list ruby-rack))
     (synopsis "Testing API for Rack applications")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:13 GMT) Full text and rfc822 format available.

Message #599 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 082/223] gnu: ruby-sinatra: Update to 3.0.5.
Date: Mon, 20 Mar 2023 13:14:14 -0400
* gnu/packages/ruby.scm (ruby-sinatra): Update to 3.0.5.  Delete trailing #t.
Delete arguments field.
---
 gnu/packages/ruby.scm | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 41a2f01ca3..32776ac597 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12310,28 +12310,20 @@ (define-public ruby-htmlentities
     (home-page "https://github.com/threedaymonk/htmlentities")
     (license license:expat)))
 
+;;; FIXME: Currently broken with rack 3, awaiting the merge for
+;;; https://github.com/sinatra/sinatra/pull/1857 and a new release.
 (define-public ruby-sinatra
   (package
     (name "ruby-sinatra")
-    (version "2.0.8.1")
+    (version "3.0.5")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "sinatra" version))
        (sha256
         (base32
-         "0riy3hwjab1mr73jcqx3brmbmwspnw3d193j06a5f0fy1w35z15q"))))
+         "1ryfja9yd3fq8n1p5yi3qnd0pjk7bkycmxxmbb1bj0axlr1pdv20"))))
     (build-system ruby-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         ;; See: https://github.com/sinatra/sinatra/issues/1578.
-         (add-after 'extract-gemspec 'fix-slow-doc-generation
-           (lambda _
-             (substitute* "sinatra.gemspec"
-               (("\"README.rdoc\"\\.freeze," all)
-                (string-append all " \"--exclude=.*\\.md\".freeze,")))
-             #t)))))
     (propagated-inputs
      (list ruby-mustermann ruby-rack ruby-rack-protection ruby-tilt))
     (synopsis "DSL for quick web applications creation in Ruby")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:14 GMT) Full text and rfc822 format available.

Message #602 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 076/223] gnu: ruby-rack: Update home page URL.
Date: Mon, 20 Mar 2023 13:14:08 -0400
* gnu/packages/ruby.scm (ruby-rack) [home-page]: Update URL.
---
 gnu/packages/ruby.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 29c4ae8bf8..b1f322fe64 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7160,7 +7160,7 @@ (define-public ruby-rack
 developing web applications in Ruby.  By wrapping HTTP requests and responses,
 it unifies the API for web servers, web frameworks, and software in between
 into a single method call.")
-    (home-page "https://rack.github.io/")
+    (home-page "https://github.com/rack/rack")
     (license license:expat)))
 
 (define-public ruby-rack-test
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:14 GMT) Full text and rfc822 format available.

Message #605 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 083/223] gnu: ruby-webrick: Update to 1.8.1.
Date: Mon, 20 Mar 2023 13:14:15 -0400
* gnu/packages/ruby.scm (ruby-webrick): Update to 1.8.1.
[source]: Use git.
[arguments]: New field.
---
 gnu/packages/ruby.scm | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 32776ac597..248770e8b7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13616,14 +13616,26 @@ (define-public ruby-sentry
 (define-public ruby-webrick
   (package
     (name "ruby-webrick")
-    (version "1.7.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (rubygems-uri "webrick" version))
-        (sha256
-          (base32 "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7"))))
+    (version "1.8.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby/webrick")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1xb0mk3cghdir65nmj0mblprbf21blli7267b6yyvxclh307yp6s"))))
     (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'extract-gemspec 'delete-problematic-tests
+                 (lambda _
+                   ;; The httresponse tests fail for
+                   ;; unknown reasons (see:
+                   ;; https://github.com/ruby/webrick/issues/112).
+                   (delete-file "test/webrick/test_httpresponse.rb"))))))
     (home-page "https://github.com/ruby/webrick")
     (synopsis "HTTP server toolkit")
     (description "WEBrick is an HTTP server toolkit that can be configured as an
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:14 GMT) Full text and rfc822 format available.

Message #608 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 077/223] gnu: Add ruby-rack-next.
Date: Mon, 20 Mar 2023 13:14:09 -0400
* gnu/packages/ruby.scm (ruby-rack-next): New variable.
---
 gnu/packages/ruby.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b1f322fe64..77cae8d78a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7163,6 +7163,22 @@ (define-public ruby-rack
     (home-page "https://github.com/rack/rack")
     (license license:expat)))
 
+(define-public ruby-rack-next
+  (package
+    (inherit ruby-rack)
+    (name "ruby-rack")
+    (version "3.0.7")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/rack/rack")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0msf14655nfcq1kgmib6932lgzm9nw3nb0m3c7nh6nj4sx30yxfr"))))
+    (arguments '())))
+
 (define-public ruby-rack-test
   (package
     (name "ruby-rack-test")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:15 GMT) Full text and rfc822 format available.

Message #611 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 084/223] gnu: Add ruby-rackup.
Date: Mon, 20 Mar 2023 13:14:16 -0400
* gnu/packages/ruby.scm (ruby-rackup): New variable.
---
 gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 248770e8b7..78433b4b5d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7179,6 +7179,28 @@ (define-public ruby-rack-next
                 "0msf14655nfcq1kgmib6932lgzm9nw3nb0m3c7nh6nj4sx30yxfr"))))
     (arguments '())))
 
+(define-public ruby-rackup
+  (package
+    (name "ruby-rackup")
+    (version "2.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rack/rackup")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "19b7sy700zjwaw7x47qpxvhnnz5hrp5bhrxfyljgagrli824dajy"))))
+    (build-system ruby-build-system)
+    (native-inputs (list ruby-minitest-global-expectations))
+    (inputs (list ruby-rack-next ruby-webrick))
+    (synopsis "Command line interface (CLI) for running for Rack applications")
+    (description "This package provides a command line interface for running
+for Rack applications.")
+    (home-page "https://github.com/rack/rackup")
+    (license license:expat)))
+
 (define-public ruby-rack-cache
   (package
     (name "ruby-rack-cache")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:15 GMT) Full text and rfc822 format available.

Message #614 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 085/223] gnu: Add ruby-vcr-expat.
Date: Mon, 20 Mar 2023 13:14:17 -0400
* gnu/packages/ruby.scm (ruby-vcr-expat): New variable.
---
 gnu/packages/ruby.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 78433b4b5d..630134813f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8057,6 +8057,36 @@ (define-public ruby-varint
     (home-page "https://github.com/liquidm/varint")
     (license license:bsd-3)))
 
+;;; Note: Do NOT update to a newer version; this is the last commit that is
+;;; still licensed as free software, the project having switched to the
+;;; Hippocratic license afterward (see:
+;;; https://github.com/vcr/vcr/issues/959).
+(define-public ruby-vcr-expat
+  (let ((revision "0")
+        (commit-dont-touch "842b2bf89099dc91f2c643d0d85d1abd54eb7e85")) ;
+    (package
+      (name "ruby-vcr-expat")
+      (version (git-version "5.0.0" revision commit-dont-touch))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/vcr/vcr")
+                      (commit commit-dont-touch)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "02mzifd2655kjh35bbry01n66jjcjrsw6ncqlybfkjcaqrw2zalv"))))
+      (build-system ruby-build-system)
+      (arguments (list #:tests? #f))    ;avoid all dependencies
+      (home-page "https://github.com/vcr/vcr")
+      (synopsis "HTTP interaction recorder [old version]")
+      (description "Record your test suite's HTTP interactions and replay them
+during future test runs for fast, deterministic, accurate tests.  This is an
+older version of VCR that is free software under the Expat license.  The
+project later switched to the Hippocratic license, which is non-free.
+@emph{Do not use it in new free software projects}.")
+      (license license:expat))))
+
 (define-public ruby-ruby-prof
   (package
     (name "ruby-ruby-prof")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:16 GMT) Full text and rfc822 format available.

Message #617 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 092/223] gnu: Add ruby-concurrent-ruby-ext.
Date: Mon, 20 Mar 2023 13:14:24 -0400
* gnu/packages/ruby.scm (ruby-concurrent-ruby-ext): New variable.
---
 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a5539808a1..d8ec2dd39f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10447,6 +10447,27 @@ (define-public ruby-concurrent-ruby
 (define-public ruby-concurrent
   (deprecated-package "ruby-concurrent" ruby-concurrent-ruby))
 
+(define-public ruby-concurrent-ruby-ext
+  (package
+    (inherit ruby-concurrent-ruby)
+    (name "ruby-concurrent-ruby-ext")
+    (arguments
+     (list
+      #:tests? #f                      ;tested as part of concurrent-ruby-edge
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-unwanted-gemspecs
+            (lambda _
+              (for-each delete-file
+                        '("concurrent-ruby.gemspec"
+                          "concurrent-ruby-edge.gemspec")))))))
+    (native-inputs (list ruby-rake-compiler))
+    (propagated-inputs (list ruby-concurrent-ruby))
+    (synopsis "C extensions for concurrent-ruby")
+    (description "This package provides C extensions to optimize the
+concurrent-ruby gem when running under the Matz's Ruby Interpreter (MRI, also
+known as CRuby).")))
+
 (define-public ruby-pkg-config
   (package
     (name "ruby-pkg-config")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:16 GMT) Full text and rfc822 format available.

Message #620 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 086/223] gnu: Add ruby-prettier-print.
Date: Mon, 20 Mar 2023 13:14:18 -0400
* gnu/packages/ruby.scm (ruby-prettier-print): New variable.
---
 gnu/packages/ruby.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 630134813f..1ea90a543b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12280,6 +12280,27 @@ (define-public ruby-mustermann
     (home-page "https://github.com/sinatra/mustermann")
     (license license:expat)))
 
+(define-public ruby-prettier-print
+  (package
+    (name "ruby-prettier-print")
+    (version "1.2.1")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby-syntax-tree/prettier_print")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "00cg40jc0il1hpsrpsrqwhsxmx7day9lxp1ksrm08zxzsrz9ykqz"))))
+    (build-system ruby-build-system)
+    (native-inputs (list ruby-simplecov))
+    (synopsis "Compatible and featureful implementation of @code{prettyprint}")
+    (description "This package provides a drop-in replacement for the
+@code{prettyprint} gem, with more functionality.")
+    (home-page "https://github.com/ruby-syntax-tree/prettier_print")
+    (license license:expat)))
+
 (define-public ruby-html-proofer
   (package
     (name "ruby-html-proofer")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:17 GMT) Full text and rfc822 format available.

Message #623 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 093/223] gnu: Add ruby-concurrent-ruby-edge.
Date: Mon, 20 Mar 2023 13:14:25 -0400
* gnu/packages/ruby.scm (ruby-concurrent-ruby-edge): New variable.
---
 gnu/packages/ruby.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d8ec2dd39f..8d69a69f7b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10468,6 +10468,45 @@ (define-public ruby-concurrent-ruby-ext
 concurrent-ruby gem when running under the Matz's Ruby Interpreter (MRI, also
 known as CRuby).")))
 
+(define-public ruby-concurrent-ruby-edge
+  (package
+    (inherit ruby-concurrent-ruby)
+    (name "ruby-concurrent-ruby-edge")
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-unwanted-gemspecs
+            (lambda _
+              (for-each delete-file
+                        '("concurrent-ruby.gemspec"
+                          "concurrent-ruby-ext.gemspec"))))
+          ;; The tests rely on the Gem being installed, so move the check
+          ;; phase after the install phase.
+          (delete 'check)
+          (add-after 'install 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (setenv "GEM_PATH" (string-append
+                                  (getenv "GEM_PATH") ":"
+                                  #$output "/lib/ruby/vendor_ruby"))
+              (when tests?
+                (invoke "rake" "ci")))))))
+    (native-inputs
+     (list ruby-rake-compiler
+           ruby-rake-compiler-dock
+           ruby-rspec
+           ruby-timecop
+           ruby-yard))
+    (propagated-inputs
+     (list ruby-concurrent-ruby ruby-concurrent-ruby-ext))
+    (synopsis "Edge features and additions to the @code{concurrent-ruby} gem")
+    (description "The @code{concurrent-ruby-edge} gem includes
+@code{concurrent-ruby} features that are under active development and may
+change frequently.  They are expected not to keep backward
+compatibility (there may also lack tests and documentation), although semantic
+versions are obeyed though.  Features developed in @code{concurrent-ruby-edge}
+are expected to move to @code{concurrent-ruby} when final.")))
+
 (define-public ruby-pkg-config
   (package
     (name "ruby-pkg-config")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:17 GMT) Full text and rfc822 format available.

Message #626 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 094/223] gnu: Add ruby-sorbet-runtime.
Date: Mon, 20 Mar 2023 13:14:26 -0400
* gnu/packages/ruby.scm (ruby-sorbet-runtime): New variable.
(sorbet-version): New variable.
(sorbet-monorepo): New variable.
(make-sorbet-gem-source): New procedure.
---
 gnu/packages/ruby.scm | 51 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8d69a69f7b..10e0ccd364 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -89,6 +89,7 @@ (define-module (gnu packages ruby)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix gexp)
+  #:use-module (guix modules)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages xml)
@@ -12337,6 +12338,56 @@ (define-public ruby-syntax-tree
     (home-page "https://github.com/ruby-syntax-tree/syntax_tree")
     (license license:expat)))
 
+(define sorbet-version "0.5.10610.20230106174520-1fa668010")
+
+(define sorbet-monorepo
+  (origin
+    (method git-fetch)
+    (uri (git-reference
+          (url "https://github.com/sorbet/sorbet")
+          (commit sorbet-version)))
+    (file-name (string-append "sorbet-" sorbet-version "-checkout"))
+    (sha256
+     (base32
+      "0f21dl06alxwn6xgdxyrkd58plmmsv04z2bcls9ld4cfzsrs5537"))))
+
+(define (make-sorbet-gem-source gem)
+  "Return the source of GEM, a sub-directory."
+  (computed-file
+   (string-append "ruby-sorbet-" gem "-" sorbet-version "-checkout")
+   (with-imported-modules (source-module-closure '((guix build utils)))
+     #~(begin
+         (use-modules (guix build utils))
+         (copy-recursively (string-append #$sorbet-monorepo
+                                          "/gems/sorbet-" #$gem)
+                           #$output)))))
+
+(define-public ruby-sorbet-runtime
+  (package
+    (name "ruby-sorbet-runtime")
+    (version sorbet-version)
+    (source (make-sorbet-gem-source "runtime"))
+    (build-system ruby-build-system)
+    ;; 25 out of 841 tests currently fail, seemingly due to invalid
+    ;; assumptions about file names in the build environment (see:
+    ;; https://github.com/sorbet/sorbet/issues/6650).
+    (arguments (list #:tests? #f))
+    (native-inputs
+     (list ruby-minitest
+           ruby-mocha
+           ruby-rubocop
+           ruby-rubocop-performance
+           ruby-concurrent-ruby
+           ruby-pry
+           ruby-pry-byebug
+           ruby-parser
+           ruby-subprocess))
+    (synopsis "Runtime type checking component for Sorbet")
+    (description "Sorbet's runtime type checking component.  Sorbet is a
+powerful type checker for Ruby.")
+    (home-page "https://sorbet.org")
+    (license license:asl2.0)))
+
 (define-public ruby-mustache
   (package
     (name "ruby-mustache")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:17 GMT) Full text and rfc822 format available.

Message #629 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 095/223] gnu: Add ruby-rdiscount.
Date: Mon, 20 Mar 2023 13:14:27 -0400
* gnu/packages/ruby.scm (ruby-rdiscount): New variable.
---
 gnu/packages/ruby.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 10e0ccd364..5b7d1918dd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -74,6 +74,7 @@ (define-module (gnu packages ruby)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages node)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
@@ -14302,6 +14303,28 @@ (define-public ruby-rdf-vocab
 Resource Description Framework} vocabularies.")
     (license license:unlicense)))
 
+(define-public ruby-rdiscount
+  (package
+    (name "ruby-rdiscount")
+    (version "2.2.7")
+    (source (origin
+              (method git-fetch)        ;for the full test suite
+              (uri (git-reference
+                    (url "https://github.com/davidfstr/rdiscount")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1lpfxq3gv0dgmnki9jgfnc8n9k4x9vyq9miqdxv6g4kp90qyfifc"))))
+    (build-system ruby-build-system)
+    (native-inputs (list perl))
+    (synopsis "Discount Markdown Processor for Ruby")
+    (description "Discount is an implementation of John Gruber's Markdown
+markup language in C.  It implements all of the language described in the
+markdown syntax document and passes the Markdown 1.0 test suite.")
+    (home-page "https://dafoster.net/projects/rdiscount/")
+    (license license:bsd-3)))
+
 (define-public ruby-bibtex-ruby
   (package
     (name "ruby-bibtex-ruby")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:18 GMT) Full text and rfc822 format available.

Message #632 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 089/223] gnu: Add ruby-rake-compiler-dock.
Date: Mon, 20 Mar 2023 13:14:21 -0400
* gnu/packages/ruby.scm (ruby-rake-compiler-dock): New variable.
---
 gnu/packages/ruby.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 279e9d8041..2a1fb7a1f5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -435,6 +435,25 @@ (define-public ruby-rake-compiler
     (home-page "https://github.com/rake-compiler/rake-compiler")
     (license license:expat)))
 
+(define-public ruby-rake-compiler-dock
+  (package
+    (name "ruby-rake-compiler-dock")
+    (version "1.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "rake-compiler-dock" version))
+              (sha256
+               (base32
+                "0yr5f72irvhmnk12q7bbr4qw0xwy7diqkbcvb4lygjbg7rvk3k8k"))))
+    (build-system ruby-build-system)
+    (arguments (list #:tests? #f))      ;test suite requires docker
+    (synopsis "Cross compiler environment for building Ruby gems")
+    (description "The code{rake-compiler-dock} gem provides a cross compiler
+environment for building gems on a variety of platforms (GNU/Linux, JRuby,
+Windows and Mac).")
+    (home-page "https://github.com/rake-compiler/rake-compiler-dock")
+    (license license:expat)))
+
 (define-public ruby-rsync
   (package
     (name "ruby-rsync")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:18 GMT) Full text and rfc822 format available.

Message #635 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 091/223] gnu: ruby-concurrent: Replace with
 ruby-concurrent-ruby.
Date: Mon, 20 Mar 2023 13:14:23 -0400
* gnu/packages/ruby.scm (ruby-concurrent): Delete package, and define it as a
deprecated alias to ruby-concurrent-ruby instead.
---
 gnu/packages/ruby.scm | 77 ++++---------------------------------------
 1 file changed, 6 insertions(+), 71 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a1a4521805..a5539808a1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10403,77 +10403,6 @@ (define-public ruby-timecop
     (home-page "https://github.com/travisjeffery/timecop")
     (license license:expat)))
 
-(define-public ruby-concurrent
-  (package
-    (name "ruby-concurrent")
-    (version "1.1.5")
-    (source
-     (origin
-       (method git-fetch)
-       ;; Download from GitHub because the rubygems version does not contain
-       ;; Rakefile.
-       (uri (git-reference
-             (url "https://github.com/ruby-concurrency/concurrent-ruby")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32
-         "193q2k47vk7qdvv9hlhmmdxgy91xl4imapyk1ijdg9vgf46knyzj"))))
-    (build-system ruby-build-system)
-    (arguments
-     `(#:test-target "ci"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'replace-git-ls-files 'remove-extra-gemspecs
-           (lambda _
-             ;; Delete extra gemspec files so 'first-gemspec' chooses the
-             ;; correct one.
-             (delete-file "concurrent-ruby-edge.gemspec")
-             (delete-file "concurrent-ruby-ext.gemspec")
-             #t))
-         (replace 'replace-git-ls-files
-           (lambda _
-             ;; XXX: The default substitution made by this phase is not fully
-             ;; compatible with "git ls-files".  The latter produces file names
-             ;; such as "lib/foo", whereas ruby-build-system uses "find . [...]"
-             ;; which gives "./lib/foo".  That difference in turn breaks the
-             ;; comparison against a glob pattern in this script.
-             (substitute* "concurrent-ruby.gemspec"
-               (("git ls-files") "find * -type f | sort"))
-             #t))
-         (add-before 'build 'remove-jar-from-gemspec
-           (lambda _
-             ;; The gemspec wants to include a JAR file that we do not build
-             ;; nor need.
-             (substitute* "concurrent-ruby.gemspec"
-               (("'lib/concurrent/concurrent_ruby.jar'")
-                ""))
-             #t))
-         (add-before 'build 'remove-rake_compiler_dock-dependency
-           (lambda _
-             ;; This library is only used when building for non-MRI targets.
-             (substitute* "Rakefile"
-               (("require 'rake_compiler_dock'")
-                ""))
-             #t))
-         (add-before 'check 'remove-timecop-dependency
-           ;; Remove timecop-dependent tests as having timecop as a depedency
-           ;; causes circular depedencies.
-           (lambda _
-             (delete-file "spec/concurrent/executor/timer_set_spec.rb")
-             (delete-file "spec/concurrent/scheduled_task_spec.rb")
-             #t)))))
-    (native-inputs
-     (list ruby-rake-compiler ruby-rspec))
-    (synopsis "Concurrency tools for Ruby")
-    (description
-     "This library provides modern concurrency tools including agents,
-futures, promises, thread pools, actors, supervisors, and more.  It is
-inspired by Erlang, Clojure, Go, JavaScript, actors and classic concurrency
-patterns.")
-    (home-page "http://www.concurrent-ruby.com")
-    (license license:expat)))
-
 (define-public ruby-concurrent-ruby
   (package
     (name "ruby-concurrent-ruby")
@@ -10512,6 +10441,12 @@ (define-public ruby-concurrent-ruby
     (home-page "https://github.com/ruby-concurrency/concurrent-ruby")
     (license license:expat)))
 
+;;; The 'gem' is called 'concurrent-ruby'; reversing its name was confusing
+;;; and failed to be picked by the gem importer (which led to this newer
+;;; package).
+(define-public ruby-concurrent
+  (deprecated-package "ruby-concurrent" ruby-concurrent-ruby))
+
 (define-public ruby-pkg-config
   (package
     (name "ruby-pkg-config")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:19 GMT) Full text and rfc822 format available.

Message #638 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 098/223] gnu: ruby-faraday: Update to 2.7.4 and enable test
 suite.
Date: Mon, 20 Mar 2023 13:14:30 -0400
* gnu/packages/ruby.scm (ruby-faraday): Update to 2.7.4.
[source]: Fetch from git.
[arguments]: Delete #:tests? argument.  Add #:test-target argument.
[native-inputs]: New field.
[propagated-inputs]: Delete ruby-multipart-post.  Add ruby-ruby2-keywords.
---
 gnu/packages/ruby.scm | 37 ++++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d05a1414ee..1af6fe4354 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12184,23 +12184,30 @@ (define-public ruby-faraday-net-http
 (define-public ruby-faraday
   (package
     (name "ruby-faraday")
-    (version "0.15.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "faraday" version))
-       (sha256
-        (base32
-         "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0"))))
+    (version "2.7.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lostisland/faraday")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0ya6jqa7ryr4i62mmzjjxzd8i8y0pyw0cbhifd758rs6lvkzmxa3"))))
     (build-system ruby-build-system)
-    (arguments
-     '(#:tests? #f))
-    (propagated-inputs
-     (list ruby-multipart-post))
+    (arguments (list #:test-target "spec"))
+    (native-inputs
+     (list ruby-coveralls
+           ruby-faraday-net-http
+           ruby-pry
+           ruby-rack
+           ruby-rspec
+           ruby-simplecov
+           ruby-webmock))
+    (propagated-inputs (list ruby-ruby2-keywords))
     (synopsis "Ruby HTTP/REST API client library")
-    (description
-     "Faraday is a HTTP/REST API client library which provides a common
-interface over different adapters.")
+    (description "Faraday is a HTTP/REST API client library which provides a
+common interface over different adapters.")
     (home-page "https://github.com/lostisland/faraday")
     (license license:expat)))
 
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:19 GMT) Full text and rfc822 format available.

Message #641 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 101/223] gnu: ruby-sawyer: Update to 0.9.2.
Date: Mon, 20 Mar 2023 13:14:33 -0400
* gnu/packages/ruby.scm (ruby-sawyer): Update to 0.9.2.
---
 gnu/packages/ruby.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ecd5913cd8..65d0274d99 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7885,14 +7885,14 @@ (define-public ruby-ffi-rzmq
 (define-public ruby-sawyer
   (package
     (name "ruby-sawyer")
-    (version "0.8.2")
+    (version "0.9.2")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "sawyer" version))
        (sha256
         (base32
-         "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"))))
+         "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps"))))
     (build-system ruby-build-system)
     (propagated-inputs
      (list ruby-addressable ruby-faraday))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:19 GMT) Full text and rfc822 format available.

Message #644 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 096/223] gnu: Add ruby-ruby2-keywords.
Date: Mon, 20 Mar 2023 13:14:28 -0400
* gnu/packages/ruby.scm (ruby-ruby2-keywords): New variable.
---
 gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 5b7d1918dd..960a75bf53 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10644,6 +10644,41 @@ (define-public ruby-code-statistics
     (home-page "https://github.com/danmayer/code_statistics")
     (license license:expat)))
 
+(define-public ruby-ruby2-keywords
+  (package
+    (name "ruby-ruby2-keywords")
+    (version "0.0.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ruby/ruby2_keywords")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1jhqb152zfr2yrxj6j8rzakkwdkg5viggwnnqrrfxwwy63msdi97"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'delete-extraneous-rake-files
+            (lambda _
+              (for-each delete-file '("rakelib/changelogs.rake"
+                                      "rakelib/epoch.rake"
+                                      "rakelib/version.rake"))))
+          (add-after 'extract-gemspec 'adjust-files
+            (lambda _
+              (substitute* "ruby2_keywords.gemspec"
+                ;; This file is not present in the git checkout.
+                ((".*\"ChangeLog\",.*") "")))))))
+    (synopsis "Shim library for Module#ruby2_keywords")
+    (description "Provides empty @code{Module#ruby2_keywords} method, for the
+forward source-level compatibility against @command{ruby2.7} and
+@command{ruby3}.")
+    (home-page "https://github.com/ruby/ruby2_keywords")
+    (license license:bsd-2)))
+
 (define-public ruby-rubypants
   (package
     (name "ruby-rubypants")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:20 GMT) Full text and rfc822 format available.

Message #647 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 109/223] gnu: Add ruby-fileutils.
Date: Mon, 20 Mar 2023 13:21:55 -0400
* gnu/packages/ruby.scm (ruby-fileutils): New variable.
---

 gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b8a6b0c4f5..a96774feb4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9217,6 +9217,42 @@ (define-public ruby-mini-mime
     (home-page "https://github.com/discourse/mini_mime")
     (license license:expat)))
 
+(define-public ruby-fileutils
+  (package
+    (name "ruby-fileutils")
+    (version "1.7.0")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ruby/fileutils")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0m68gaqclnc2wflilmrnr19kky2gr6fjf6k3yq02sf9scs281kid"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'disable-problematic-tests
+            (lambda _
+              (substitute* "test/fileutils/test_fileutils.rb"
+                ;; The 'test_chown' tests depends on /etc/groups, which
+                ;; doesn't exist in the build environment.
+                (("def test_chown.*" all)
+                 (string-append all "    return true\n"))
+                ;; The 'test_cp_r_dev' expects a RuntimeError to be raised
+                ;; when copying a char device to a directory, but this is not
+                ;; triggered in the build environment, for reasons unknown.
+                (("def test_cp_r_dev.*" all)
+                 (string-append all "    return true\n"))))))))
+    (synopsis "Ruby utility libray to manipulate files")
+    (description "The FileUtils Ruby library includes Several file utility
+methods for copying, moving, removing, etc.")
+    (home-page "https://github.com/ruby/fileutils")
+    (license license:bsd-2)))
+
 (define-public ruby-fivemat
   (package
     (name "ruby-fivemat")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:20 GMT) Full text and rfc822 format available.

Message #650 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 110/223] gnu: ruby-faraday-middleware: Add a deprecation
 comment and re-indent.
Date: Mon, 20 Mar 2023 13:21:56 -0400
* gnu/packages/ruby.scm (ruby-faraday-middleware): Add comment.
Re-indent package.
---

 gnu/packages/ruby.scm | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a96774feb4..8a6ec015e0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13839,22 +13839,20 @@ (define-public ruby-nori
 Nokogiri implementations.")
     (license license:expat)))
 
+;; This package is deprecated per upstream and should be phased out.
 (define-public ruby-faraday-middleware
   (package
     (name "ruby-faraday-middleware")
     (version "1.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (rubygems-uri "faraday_middleware" version))
-        (sha256
-          (base32 "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy"))))
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "faraday_middleware" version))
+       (sha256
+        (base32 "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy"))))
     (build-system ruby-build-system)
-    (arguments
-     ;; No rakefile
-     `(#:tests? #f))
-    (propagated-inputs
-     (list ruby-faraday))
+    (arguments `(#:tests? #f))
+    (propagated-inputs (list ruby-faraday))
     (home-page "https://github.com/lostisland/faraday_middleware")
     (synopsis "Various middleware for Faraday")
     (description "Faraday_Middleware is a collection of middleware for the
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:21 GMT) Full text and rfc822 format available.

Message #653 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 111/223] gnu: ruby-bandwidth-iris: Fix indentation.
Date: Mon, 20 Mar 2023 13:21:57 -0400
* gnu/packages/ruby.scm (ruby-bandwidth-iris): Fix indentation.
---

 gnu/packages/ruby.scm | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8a6ec015e0..a725a78767 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13887,24 +13887,24 @@ (define-public ruby-bandwidth-iris
     (name "ruby-bandwidth-iris")
     (version "5.1.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (rubygems-uri "ruby-bandwidth-iris" version))
-        (sha256
-          (base32 "1hmrxs0dif6fw5npyzcshk4nq9qr2kbmnx7mdjr5v1nhzlfr0678"))))
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "ruby-bandwidth-iris" version))
+       (sha256
+        (base32 "1hmrxs0dif6fw5npyzcshk4nq9qr2kbmnx7mdjr5v1nhzlfr0678"))))
     (build-system ruby-build-system)
     (arguments
      ;; XXX: Tests don't require helper for some reason, so all fail.
      `(#:tests? #f))
     (native-inputs
      (list ruby-rspec
-            ruby-yard))
+           ruby-yard))
     (propagated-inputs
      (list ruby-activesupport
-            ruby-builder
-            ruby-faraday
-            ruby-faraday-middleware
-            ruby-nori))
+           ruby-builder
+           ruby-faraday
+           ruby-faraday-middleware
+           ruby-nori))
     (home-page "https://github.com/Bandwidth/ruby-bandwidth-iris")
     (synopsis "Gem for integrating to Bandwidth's Iris API")
     (description "Bandwidth IRIS is a Ruby SDK for Bandwidth Phone Number
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:41:21 GMT) Full text and rfc822 format available.

Message #656 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 113/223] gnu: ruby-octokit: Enable tests.
Date: Mon, 20 Mar 2023 13:21:59 -0400
* gnu/packages/ruby.scm (ruby-octokit) [source]: Fetch from git.
[arguments]: Delete field.
[native-inputs]: New field.
---

 gnu/packages/ruby.scm | 32 ++++++++++++++++++++++----------
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 536775cf74..2345c344b9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7941,17 +7941,29 @@ (define-public ruby-octokit
   (package
     (name "ruby-octokit")
     (version "6.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (rubygems-uri "octokit" version))
-       (sha256
-        (base32
-         "03i37mdhwlm5y6piqaby0izrhda9m5ggbrmm62ww3ln2l86h78l2"))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/octokit/octokit.rb")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "01njrd17bz28mlsa8hi9gad7s6d1d0vpyn0g66p3d42zgplr9qkq"))))
     (build-system ruby-build-system)
-    (arguments '(#:tests? #f))          ;no test suite in the gem release
-    (propagated-inputs
-     (list ruby-faraday ruby-sawyer))
+    (native-inputs
+     (list ruby-faraday-multipart
+           ruby-jwt
+           ruby-mime-types
+           ruby-multi-json
+           ruby-netrc
+           ruby-pry-byebug
+           ruby-rbnacl
+           ruby-rspec
+           ruby-simplecov
+           ruby-webmock
+           ruby-vcr-expat))
+    (propagated-inputs (list ruby-faraday ruby-sawyer))
     (synopsis "Ruby toolkit for the GitHub API")
     (description "Octokit wraps the GitHub API in a flat API client that
 follows Ruby conventions and requires little knowledge of REST.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:42:02 GMT) Full text and rfc822 format available.

Message #659 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 028/223] gnu: ruby-thor: Update to 1.2.1.
Date: Mon, 20 Mar 2023 13:13:20 -0400
* gnu/packages/ruby.scm (ruby-thor): Update to 1.2.1.
[source]: Update URI.
[arguments]: Use gexps.  Delete trailing #t.
[phases] {fix-readline-tests, disable-network-tests}
{make-files-writable}: Delete phases.
{remove-coveralls-dependency}: Do not remove webmock requires.
{disable-quality-tests}: Rename to...
{disable-problematic-tests}: ... this.  Disable a new failing test.
{check}: Honor TESTS?.
---
 gnu/packages/ruby.scm | 83 ++++++++++++++++---------------------------
 1 file changed, 30 insertions(+), 53 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ccd446bdd1..cf270a0d34 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2737,69 +2737,46 @@ (define-public ruby-xml-simple
 (define-public ruby-thor
   (package
     (name "ruby-thor")
-    (version "1.0.1")
+    (version "1.2.1")
     (source (origin
               ;; Pull from git because the gem has no tests.
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/erikhuda/thor")
+                    (url "https://github.com/rails/thor")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1anrx5vynk57hn5c8ig5pgkmcsbj9q5mvckd5rviw1jid7n89k57"))))
+                "1vjm628ks5kw8q6dskh38dqyz2j8c3n694wsqkj4jb4jrn6rkfzx"))))
     (build-system ruby-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'fix-readline-tests
-                    (lambda _
-                      ;; Ensure Readline is initialized before running the
-                      ;; test to avoid a type clash with the mock ::Readline.
-                      ;; See <https://github.com/erikhuda/thor/pull/717>.
-                      (substitute* "spec/line_editor/readline_spec.rb"
-                        (("unless defined\\? ::Readline" all)
-                         (string-append "Thor::LineEditor::Readline.available?\n"
-                                        all)))
-                      #t))
-                  (add-after 'unpack 'remove-coveralls-dependency
-                    (lambda _
-                      ;; Do not hook the test suite into the online
-                      ;; coveralls service.
-                      (substitute* "Gemfile"
-                        ((".*coveralls.*") ""))
-                      (substitute* "spec/helper.rb"
-                        (("require \"coveralls\"") "")
-                        (("Coveralls::SimpleCov::Formatter") "")
-                        ;; Also drop the WebMock dependency which is only
-                        ;; present to allow a coveralls.io connection, and
-                        ;; would otherwise introduce a circular dependency.
-                        (("require \"webmock/rspec\"") "")
-                        (("WebMock\\.disable_net_connect.*") ""))
-                      #t))
-                  (add-after 'unpack 'disable-network-tests
-                    (lambda _
-                      ;; These tests attempt to look up example.com.
-                      (substitute* "spec/actions/file_manipulation_spec.rb"
-                        (("it \"accepts (https?) remote sources" _ proto)
-                         (string-append "xit \"accepts " proto " remote sources")))
-                      #t))
-                  (add-after 'unpack 'disable-quality-tests
-                    (lambda _
-                      ;; These tests attempt to check the git repository for
-                      ;; tabs vs spaces, double vs single quotes, etc, and
-                      ;; depend on the git checkout.
-                      (delete-file "spec/quality_spec.rb")
-                      #t))
-                  (add-before 'check 'make-files-writable
-                    (lambda _
-                      ;; The tests needs rw access to the test suite.
-                      (for-each make-file-writable (find-files "spec"))
-                      #t))
-                  (replace 'check
-                    (lambda _
-                      (invoke "rspec" "spec"))))))
-    (native-inputs
-     (list ruby-rspec ruby-simplecov))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'remove-coveralls-dependency
+            (lambda _
+              ;; Do not hook the test suite into the online coveralls service.
+              (substitute* "Gemfile"
+                ((".*coveralls.*") ""))
+              (substitute* "spec/helper.rb"
+                (("require \"coveralls\"") "")
+                (("Coveralls::SimpleCov::Formatter") ""))))
+          (add-after 'unpack 'disable-problematic-tests
+            (lambda _
+              ;; These tests attempt to check the git repository for
+              ;; tabs vs spaces, double vs single quotes, etc, and
+              ;; depend on the git checkout.
+              (delete-file "spec/quality_spec.rb")
+              (substitute* "spec/parser/options_spec.rb"
+                ;; This test fails for unknown reasons (see:
+                ;; https://github.com/rails/thor/issues/814).
+                (("it \"raises an error for unknown switches" all)
+                 (string-append "x" all)))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "rspec" "spec" )))))))
+    (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.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:43:02 GMT) Full text and rfc822 format available.

Message #662 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 057/223] gnu: ruby-railties: Update to 7.0.4.3.
Date: Mon, 20 Mar 2023 13:13:49 -0400
* gnu/packages/rails.scm (ruby-railties): Update to 7.0.4.3.
[version]: Use %ruby-rails-version.
[source]: Use ruby-rails-monorepo.
[arguments]: Add #:phases.
[propagated-inputs]: Add ruby-zeitwerk.
---
 gnu/packages/rails.scm | 43 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 3af90bc913..9fa0f23ad8 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -609,28 +609,27 @@ (define-public ruby-actionmailer
 
 (define-public ruby-railties
   (package
-   (name "ruby-railties")
-   (version "6.1.3")
-   (source
-    (origin
-     (method url-fetch)
-     (uri (rubygems-uri "railties" version))
-     (sha256
-      (base32
-       "1685y5dcfgcq0b38j13vrpkhiiblmrl64wa9w065669bkgmkw4ra"))))
-   (build-system ruby-build-system)
-   (arguments
-    '(;; No included tests
-      #:tests? #f))
-   (propagated-inputs
-    (list ruby-actionpack ruby-activesupport ruby-method-source ruby-rake
-          ruby-thor))
-   (synopsis "Rails internals, including application bootup and generators")
-   (description
-    "@code{railties} provides the core Rails internals including handling
-application bootup, plugins, generators, and Rake tasks.")
-   (home-page "https://rubyonrails.org/")
-   (license license:expat)))
+    (name "ruby-railties")
+    (version %ruby-rails-version)
+    (source ruby-rails-monorepo)
+    (build-system ruby-build-system)
+    (arguments
+     (list #:tests? #f                  ;requires rails to be installed
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'delete-gemfiles 'chdir
+                          (lambda _
+                            (chdir "railties"))))))
+    (propagated-inputs (list ruby-actionpack
+                             ruby-activesupport
+                             ruby-method-source
+                             ruby-rake
+                             ruby-thor
+                             ruby-zeitwerk))
+    (synopsis "Rails internals, including application bootup and generators")
+    (description "@code{railties} provides the core Rails internals including
+handling application bootup, plugins, generators, and Rake tasks.")
+    (home-page "https://rubyonrails.org")
+    (license license:expat)))
 
 (define-public ruby-sprockets-rails
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:45:01 GMT) Full text and rfc822 format available.

Message #665 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 100/223] gnu: ruby-faraday: Propagate ruby-faraday-net-http.
Date: Mon, 20 Mar 2023 13:14:32 -0400
* gnu/packages/ruby.scm (ruby-faraday-net-http)
[propagated-inputs]: Add ruby-faraday-net-http.
[native-inputs]: Delete ruby-faraday-net-http.
---
 gnu/packages/ruby.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3f828cd351..ecd5913cd8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12198,13 +12198,14 @@ (define-public ruby-faraday
     (arguments (list #:test-target "spec"))
     (native-inputs
      (list ruby-coveralls
-           ruby-faraday-net-http
            ruby-pry
            ruby-rack
            ruby-rspec
            ruby-simplecov
            ruby-webmock))
-    (propagated-inputs (list ruby-ruby2-keywords))
+    ;; Propagate faraday-net-http as this is the default adapter used, and
+    ;; many Ruby projects assumes it is available.
+    (propagated-inputs (list ruby-ruby2-keywords ruby-faraday-net-http))
     (synopsis "Ruby HTTP/REST API client library")
     (description "Faraday is a HTTP/REST API client library which provides a
 common interface over different adapters.")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:46:02 GMT) Full text and rfc822 format available.

Message #668 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 025/223] gnu: ruby-rubocop-rspec: Update to 2.19.0 and inverse
 inheritance relationship.
Date: Mon, 20 Mar 2023 13:13:17 -0400
* gnu/packages/ruby.scm (ruby-rubocop-rspec): Update to 2.18.1.
[arguments]: Delete trailing #t.  Change TEST-TARGET to "spec".  Remove phases.
[native-inputs]: Replace ruby-rubocop-performance with
ruby-rubocop-performance-minimal.  Add ruby-bump and
ruby-rubocop-rake-minimal.
(ruby-rubocop-rspec-minimal): Reverse inheritance relationship; this package
is now the base package.
---
 gnu/packages/ruby.scm | 62 ++++++++++++++++++++-----------------------
 1 file changed, 29 insertions(+), 33 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 44ac7fb538..d2e9854904 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1602,49 +1602,45 @@ (define ruby-rubocop-rake-minimal
     (home-page "https://github.com/rubocop/rubocop-rake")
     (license license:expat)))
 
-(define-public ruby-rubocop-rspec
+;;; A minimal variant used to build ruby-rubocop itself.
+(define ruby-rubocop-rspec-minimal
   (package
     (name "ruby-rubocop-rspec")
-    (version "2.2.0")
+    (version "2.19.0")
     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-               (url "https://github.com/rubocop-hq/rubocop-rspec")
-               (commit (string-append "v" version))))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "0gdpjpympb6qc77bang759z7z6lckf14ghkx8v6614agxg8l3g5y"))))
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rubocop-hq/rubocop-rspec")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0mgjyrzi8r44v3gb8xscdwspirz9kqkaf7zlsjhhlxr0di0rlj2r"))))
     (build-system ruby-build-system)
-    (arguments
-     '(#:test-target "internal_investigation"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'set-HOME
-           (lambda _
-             (setenv "HOME" "/tmp")
-             #t)))))
-    (propagated-inputs
-     (list ruby-rubocop ruby-rubocop-ast))
-    (native-inputs
-     (list ruby-rack ruby-rspec ruby-rubocop-performance ruby-simplecov
-           ruby-yard))
+    (arguments (list #:tests? #f))      ;avoid extra dependencies
     (synopsis "Code style checking for RSpec files")
     (description "This package provides a plugin for the RuboCop code style
 enforcing & linting tool.")
     (home-page "https://github.com/rubocop-hq/rubocop-rspec")
     (license license:expat)))
 
-(define-public ruby-rubocop-rspec-minimal
-  (hidden-package
-   (package
-     (inherit ruby-rubocop-rspec)
-     (arguments
-      (substitute-keyword-arguments (package-arguments ruby-rubocop-rspec)
-        ((#:tests? _ #f) #f)))
-     (propagated-inputs '())
-     (native-inputs '()))))
+(define-public ruby-rubocop-rspec
+  (package
+    (inherit ruby-rubocop-rspec-minimal)
+    (arguments '(#:test-target "spec"))
+    (native-inputs
+     (list ruby-bump
+           ruby-rack
+           ruby-rspec
+           ruby-rubocop-performance-minimal
+           ruby-rubocop-rake-minimal
+           ruby-simplecov
+           ruby-yard))
+    (propagated-inputs
+     (list ruby-rubocop
+           ruby-rubocop-ast
+           ruby-rubocop-capybara))))
 
 (define-public ruby-rubocop-performance
   (package
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:48:01 GMT) Full text and rfc822 format available.

Message #671 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 039/223] gnu: ruby-rake: Update to 13.0.6.
Date: Mon, 20 Mar 2023 13:13:31 -0400
* gnu/packages/ruby.scm (ruby-rake): Update to 13.0.6.
[source]: Use git-fetch.
---
 gnu/packages/ruby.scm | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d47d1fb2ef..bfaeeb8be3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -10383,14 +10383,17 @@ (define-public ruby-org-ruby
 (define-public ruby-rake
   (package
     (name "ruby-rake")
-    (version "13.0.1")
+    (version "13.0.6")
     (source
      (origin
-       (method url-fetch)
-       (uri (rubygems-uri "rake" version))
+       (method git-fetch)               ;for tests
+       (uri (git-reference
+             (url "https://github.com/ruby/rake")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9"))))
+         "0c77xyl677s966f8yvk8yv7l31c1ffa1yl4kcwiram219h0s76in"))))
     (build-system ruby-build-system)
     (native-inputs
      (list bundler))
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Mon, 20 Mar 2023 17:50:02 GMT) Full text and rfc822 format available.

Message #674 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH 126/223] gnu: Add ruby-bake.
Date: Mon, 20 Mar 2023 13:22:12 -0400
* gnu/packages/ruby.scm (ruby-bake): New variable.
---

 gnu/packages/ruby.scm | 44 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fbf7c2d637..4e687e7c20 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3748,6 +3748,50 @@ (define-public ruby-bacon-colored-output
     (home-page "https://github.com/whitequark/bacon-colored_output")
     (license license:expat)))
 
+(define-public ruby-bake
+  (package
+    (name "ruby-bake")
+    (version "0.18.2")
+    (source (origin
+              (method git-fetch)        ;for tests
+              (uri (git-reference
+                    (url "https://github.com/ioquatix/bake")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "19yi1fxzz9n580gig3p3j6nxbgcfcassa6b0q07jkqrzxdqn7xhn"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'sanitize-dependencies
+                 (lambda _
+                   ;; These dependencies are not needed to build and run tests
+                   ;; and contain circular dependencies.
+                   (substitute* "gems.rb"
+                     ((".*'bake-modernize'.*") "")
+                     ((".*'bake-gem'.*") "")
+                     ((".*'bake-github-pages'.*") "")
+                     ((".*'utopia-project'.*") ""))))
+               (add-before 'build 'drop-signing-key-requirement
+                 (lambda _
+                   (substitute* "bake.gemspec"
+                     (("spec.signing_key =.*")
+                      "spec.signing_key = nil"))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "rspec")))))))
+    (native-inputs (list ruby-covered ruby-rspec))
+    (propagated-inputs (list ruby-samovar))
+    (synopsis "Replacement for rake with a simpler syntax")
+    (description "Bake is a task execution tool, inspired by Rake, but
+codifying many of the use cases which are typically implemented in an ad-hoc
+manner.")
+    (home-page "https://github.com/ioquatix/bake")
+    (license license:expat)))
+
 (define-public ruby-connection-pool
   (package
     (name "ruby-connection-pool")
-- 
2.39.1





Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Tue, 21 Mar 2023 07:55:02 GMT) Full text and rfc822 format available.

Message #677 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: guix-patches <at> gnu.org, 62196 <at> debbugs.gnu.org
Subject: Re: [bug#62196] [PATCH 000/182] Add FPM, update Rails and other
 Ruby additions/updates
Date: Tue, 21 Mar 2023 07:50:01 +0000
[Message part 1 (text/plain, inline)]
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hello Guix,
>
> This series contains various Ruby updates and new packages.  Some noteworthy
> changes:
>
> 1. Update Rubocop & friends
> 2. Update Rails and partially enable its test suite
> 3. Add fpm
> 4. Various other updates and required packages additions.

Thanks for looking at this Maxim.

Unfortunately Patchwork seems to have picked this up as 2 incomplete
series. If you had problems with git send-email, the --batch-size and
--relogin-delay options might help.

Anyway, would you be able to push a branch manually to
git.guix-patches.cbaines.net? It would need to be called issue-62196,
and ideally you'd push a tag (base-for-issue-62196) as well for the
commit on master the branch is based on. That should get
data.qa.guix.gnu.org to look at the changes, plus make it easier for me
to apply locally. I've given your ssh key from the maintenance.git
repository access, so you should be able to use that to push.

Thanks,

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Tue, 21 Mar 2023 07:55:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Tue, 21 Mar 2023 16:04:03 GMT) Full text and rfc822 format available.

Message #683 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 62196 <at> debbugs.gnu.org
Subject: Re: [bug#62196] [PATCH 000/182] Add FPM, update Rails and other
 Ruby additions/updates
Date: Tue, 21 Mar 2023 12:03:08 -0400
Hi!

Christopher Baines <mail <at> cbaines.net> writes:

> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
>
>> Hello Guix,
>>
>> This series contains various Ruby updates and new packages.  Some noteworthy
>> changes:
>>
>> 1. Update Rubocop & friends
>> 2. Update Rails and partially enable its test suite
>> 3. Add fpm
>> 4. Various other updates and required packages additions.
>
> Thanks for looking at this Maxim.
>
> Unfortunately Patchwork seems to have picked this up as 2 incomplete
> series. If you had problems with git send-email, the --batch-size and
> --relogin-delay options might help.

I had problems with Gmail interrupting the submission every 100 patches
sent.  I'll look into configuring these, thank you!

> Anyway, would you be able to push a branch manually to
> git.guix-patches.cbaines.net? It would need to be called issue-62196,
> and ideally you'd push a tag (base-for-issue-62196) as well for the
> commit on master the branch is based on. That should get
> data.qa.guix.gnu.org to look at the changes, plus make it easier for me
> to apply locally. I've given your ssh key from the maintenance.git
> repository access, so you should be able to use that to push.

I've just done so; let me know if something is amiss!

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#62196; Package guix-patches. (Thu, 23 Mar 2023 04:05:01 GMT) Full text and rfc822 format available.

Message #686 received at 62196 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 62196 <at> debbugs.gnu.org
Cc: Christopher Baines <mail <at> cbaines.net>
Subject: Re: bug#62196: [PATCH 000/182] Add FPM, update Rails and other Ruby
 additions/updates
Date: Thu, 23 Mar 2023 00:04:25 -0400
[Message part 1 (text/plain, inline)]
Hi,

I needed the following adjustments to get fpm to truly work:

--8<---------------cut here---------------start------------->8---
modified   gnu/local.mk
@@ -1136,6 +1136,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/fp16-implicit-double.patch		\
   %D%/packages/patches/fp16-system-libraries.patch		\
   %D%/packages/patches/fpc-reproducibility.patch		\
+  %D%/packages/patches/fpm-newer-clamp-fix.patch		\
   %D%/packages/patches/freedink-engine-fix-sdl-hints.patch	\
   %D%/packages/patches/freeimage-unbundle.patch		\
   %D%/packages/patches/fuse-glibc-2.34.patch			\
modified   gnu/packages/package-management.scm
@@ -2021,7 +2021,8 @@ (define-public fpm
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1m2zxf7wyk7psvm611yxs68hnwm0pyqilsmcq3x791hz7rvbg68w"))))
+                "1m2zxf7wyk7psvm611yxs68hnwm0pyqilsmcq3x791hz7rvbg68w"))
+              (patches (search-patches "fpm-newer-clamp-fix.patch"))))
     (build-system ruby-build-system)
     (arguments
      (list #:phases
@@ -2034,6 +2035,11 @@ (define-public fpm
                      (("\"/bin/sh\"")
                       (string-append "\"" (search-input-file inputs "bin/sh")
                                      "\"")))))
+               (add-after 'extract-gemspec 'relax-requirements
+                 (lambda _
+                   (substitute* "fpm.gemspec"
+                     (("\"clamp\", \"~> 1.0.0\"")
+                      "\"clamp\", \">= 1.0.0\""))))
                (add-after 'extract-gemspec 'disable-problematic-tests
                  ;; Disable some tests which are failing (see:
                  ;; https://github.com/jordansissel/fpm/issues/2000).
new file   gnu/packages/patches/fpm-newer-clamp-fix.patch
@@ -0,0 +1,31 @@
+From 956a218a7b35de08ea35da3b702ffdc716656b68 Mon Sep 17 00:00:00 2001
+From: Jordan Sissel <jls <at> semicomplete.com>
+Date: Mon, 15 Oct 2018 21:05:47 -0700
+Subject: [PATCH] Check if an option has a default value before we try to look
+ it up.
+
+This fixes fpm when used with clamp 1.3.0 or above.
+
+Fixes #1543
+---
+ lib/fpm/command.rb | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/lib/fpm/command.rb b/lib/fpm/command.rb
+index a204001e1..a99ddb627 100644
+--- a/lib/fpm/command.rb
++++ b/lib/fpm/command.rb
+@@ -394,7 +394,12 @@ def execute
+     set = proc do |object, attribute|
+       # if the package's attribute is currently nil *or* the flag setting for this
+       # attribute is non-default, use the value.
+-      if object.send(attribute).nil? || send(attribute) != send("default_#{attribute}")
++
++      # Not all options have a default value, so we assume `nil` if there's no default. (#1543)
++      # In clamp >= 1.3.0, options without `:default => ..` will not have any # `default_xyz` 
++      # methods generated, so we need to check for the presence of this method first.
++      default = respond_to?("default_#{attribute}") ? send("default_#{attribute}") : nil
++      if object.send(attribute).nil? || send(attribute) != default
+         logger.info("Setting from flags: #{attribute}=#{send(attribute)}")
+         object.send("#{attribute}=", send(attribute))
+       end
--8<---------------cut here---------------end--------------->8---

Attached is the modified patch.

[0001-gnu-Add-fpm.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
-- 
Thanks,
Maxim

Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Wed, 29 Mar 2023 02:49:01 GMT) Full text and rfc822 format available.

Notification sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
bug acknowledged by developer. (Wed, 29 Mar 2023 02:49:01 GMT) Full text and rfc822 format available.

Message #691 received at 62196-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Christopher Baines <mail <at> cbaines.net>
Cc: 62196-done <at> debbugs.gnu.org
Subject: Re: bug#62196: [PATCH 000/182] Add FPM, update Rails and other Ruby
 additions/updates
Date: Tue, 28 Mar 2023 22:48:46 -0400
Hi,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hi!
>
> Christopher Baines <mail <at> cbaines.net> writes:
>
>> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
>>
>>> Hello Guix,
>>>
>>> This series contains various Ruby updates and new packages.  Some noteworthy
>>> changes:
>>>
>>> 1. Update Rubocop & friends
>>> 2. Update Rails and partially enable its test suite
>>> 3. Add fpm
>>> 4. Various other updates and required packages additions.
>>
>> Thanks for looking at this Maxim.
>>
>> Unfortunately Patchwork seems to have picked this up as 2 incomplete
>> series. If you had problems with git send-email, the --batch-size and
>> --relogin-delay options might help.
>
> I had problems with Gmail interrupting the submission every 100 patches
> sent.  I'll look into configuring these, thank you!
>
>> Anyway, would you be able to push a branch manually to
>> git.guix-patches.cbaines.net? It would need to be called issue-62196,
>> and ideally you'd push a tag (base-for-issue-62196) as well for the
>> commit on master the branch is based on. That should get
>> data.qa.guix.gnu.org to look at the changes, plus make it easier for me
>> to apply locally. I've given your ssh key from the maintenance.git
>> repository access, so you should be able to use that to push.
>
> I've just done so; let me know if something is amiss!

Perhaps I should have been more patient for QA to build this, but I've
gone ahead and merged it to master (I had manually built everything), as
it was bit-rotting just by looking at it :-).

-- 
Thanks,
Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 26 Apr 2023 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 38 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.