unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates
@ 2023-03-15  2:59 Maxim Cournoyer
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                   ` (3 more replies)
  0 siblings, 4 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-15  2:59 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

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





^ permalink raw reply	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin.
  2023-03-15  2:59 [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Maxim Cournoyer
@ 2023-03-20 17:12 ` Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 002/223] gnu: Add ruby-clamp Maxim Cournoyer
                     ` (99 more replies)
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                   ` (2 subsequent siblings)
  3 siblings, 100 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:12 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 002/223] gnu: Add ruby-clamp.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
@ 2023-03-20 17:12   ` Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 003/223] gnu: Add ruby-stud Maxim Cournoyer
                     ` (98 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:12 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 003/223] gnu: Add ruby-stud.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 002/223] gnu: Add ruby-clamp Maxim Cournoyer
@ 2023-03-20 17:12   ` Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 004/223] gnu: Add ruby-insist Maxim Cournoyer
                     ` (97 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:12 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 004/223] gnu: Add ruby-insist.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 002/223] gnu: Add ruby-clamp Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 003/223] gnu: Add ruby-stud Maxim Cournoyer
@ 2023-03-20 17:12   ` Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 005/223] gnu: ruby-standard: Update to 1.25.2 Maxim Cournoyer
                     ` (96 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:12 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 005/223] gnu: ruby-standard: Update to 1.25.2
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (2 preceding siblings ...)
  2023-03-20 17:12   ` [bug#62196] [PATCH 004/223] gnu: Add ruby-insist Maxim Cournoyer
@ 2023-03-20 17:12   ` Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 006/223] gnu: ruby-oedipus-lex: Update to 2.6.0 Maxim Cournoyer
                     ` (95 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:12 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 006/223] gnu: ruby-oedipus-lex: Update to 2.6.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (3 preceding siblings ...)
  2023-03-20 17:12   ` [bug#62196] [PATCH 005/223] gnu: ruby-standard: Update to 1.25.2 Maxim Cournoyer
@ 2023-03-20 17:12   ` Maxim Cournoyer
  2023-03-20 17:12   ` [bug#62196] [PATCH 007/223] gnu: ruby-oedipus-lex: Fix indentation Maxim Cournoyer
                     ` (94 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:12 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 007/223] gnu: ruby-oedipus-lex: Fix indentation.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (4 preceding siblings ...)
  2023-03-20 17:12   ` [bug#62196] [PATCH 006/223] gnu: ruby-oedipus-lex: Update to 2.6.0 Maxim Cournoyer
@ 2023-03-20 17:12   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 008/223] gnu: ruby-parser: Update to 3.2.1.1 Maxim Cournoyer
                     ` (93 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:12 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 008/223] gnu: ruby-parser: Update to 3.2.1.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (5 preceding siblings ...)
  2023-03-20 17:12   ` [bug#62196] [PATCH 007/223] gnu: ruby-oedipus-lex: Fix indentation Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 009/223] gnu: ruby-rubocop-ast: Update to 1.27.0 Maxim Cournoyer
                     ` (92 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 009/223] gnu: ruby-rubocop-ast: Update to 1.27.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (6 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 008/223] gnu: ruby-parser: Update to 3.2.1.1 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 010/223] gnu: Add ruby-rubocop-rake-minimal Maxim Cournoyer
                     ` (91 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 010/223] gnu: Add ruby-rubocop-rake-minimal.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (7 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 009/223] gnu: ruby-rubocop-ast: Update to 1.27.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 011/223] gnu: ruby-unicode-display-width: Update to 2.4.2 Maxim Cournoyer
                     ` (90 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 011/223] gnu: ruby-unicode-display-width: Update to 2.4.2.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (8 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 010/223] gnu: Add ruby-rubocop-rake-minimal Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 012/223] gnu: Add ruby-rubocop-capybara-minimal Maxim Cournoyer
                     ` (89 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 012/223] gnu: Add ruby-rubocop-capybara-minimal.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (9 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 011/223] gnu: ruby-unicode-display-width: Update to 2.4.2 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 013/223] gnu: ruby-rspec: Update to 3.12.0 Maxim Cournoyer
                     ` (88 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 013/223] gnu: ruby-rspec: Update to 3.12.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (10 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 012/223] gnu: Add ruby-rubocop-capybara-minimal Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 014/223] gnu: ruby-rspec-core: Update to 3.12.1 Maxim Cournoyer
                     ` (87 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 014/223] gnu: ruby-rspec-core: Update to 3.12.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (11 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 013/223] gnu: ruby-rspec: Update to 3.12.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 015/223] gnu: ruby-rspec-support: Update to 3.12.0 Maxim Cournoyer
                     ` (86 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 015/223] gnu: ruby-rspec-support: Update to 3.12.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (12 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 014/223] gnu: ruby-rspec-core: Update to 3.12.1 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 016/223] gnu: ruby-given-core: Update to 3.8.2 Maxim Cournoyer
                     ` (85 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 016/223] gnu: ruby-given-core: Update to 3.8.2.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (13 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 015/223] gnu: ruby-rspec-support: Update to 3.12.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 017/223] gnu: ruby-rspec-mocks: Update to 3.12.4 Maxim Cournoyer
                     ` (84 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 017/223] gnu: ruby-rspec-mocks: Update to 3.12.4.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (14 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 016/223] gnu: ruby-given-core: Update to 3.8.2 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 018/223] gnu: ruby-rspec-expectations: Update to 3.12.2 Maxim Cournoyer
                     ` (83 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 018/223] gnu: ruby-rspec-expectations: Update to 3.12.2.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (15 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 017/223] gnu: ruby-rspec-mocks: Update to 3.12.4 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 019/223] gnu: ruby-rspec-given: Update to 3.8.2 Maxim Cournoyer
                     ` (82 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 019/223] gnu: ruby-rspec-given: Update to 3.8.2.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (16 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 018/223] gnu: ruby-rspec-expectations: Update to 3.12.2 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 020/223] gnu: ruby-rubocop-performance: Update to 1.16.0 Maxim Cournoyer
                     ` (81 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 020/223] gnu: ruby-rubocop-performance: Update to 1.16.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (17 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 019/223] gnu: ruby-rspec-given: Update to 3.8.2 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 021/223] gnu: Add ruby-simplecov-json-formatter Maxim Cournoyer
                     ` (80 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 021/223] gnu: Add ruby-simplecov-json-formatter.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (18 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 020/223] gnu: ruby-rubocop-performance: Update to 1.16.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 022/223] gnu: ruby-simplecov-html: Update to 0.12.3 Maxim Cournoyer
                     ` (79 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 022/223] gnu: ruby-simplecov-html: Update to 0.12.3.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (19 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 021/223] gnu: Add ruby-simplecov-json-formatter Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 023/223] gnu: ruby-simplecov: Update to 0.22.0 Maxim Cournoyer
                     ` (78 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 023/223] gnu: ruby-simplecov: Update to 0.22.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (20 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 022/223] gnu: ruby-simplecov-html: Update to 0.12.3 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 024/223] gnu: Add ruby-rubocop-capybara Maxim Cournoyer
                     ` (77 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 024/223] gnu: Add ruby-rubocop-capybara.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (21 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 023/223] gnu: ruby-simplecov: Update to 0.22.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 025/223] gnu: ruby-rubocop-rspec: Update to 2.19.0 and inverse inheritance relationship Maxim Cournoyer
                     ` (76 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 025/223] gnu: ruby-rubocop-rspec: Update to 2.19.0 and inverse inheritance relationship.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (22 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 024/223] gnu: Add ruby-rubocop-capybara Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 026/223] gnu: Add ruby-rubocop-rake Maxim Cournoyer
                     ` (75 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 026/223] gnu: Add ruby-rubocop-rake.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (23 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 025/223] gnu: ruby-rubocop-rspec: Update to 2.19.0 and inverse inheritance relationship Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 027/223] gnu: ruby-rubocop: Update to 1.48.1 Maxim Cournoyer
                     ` (74 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 027/223] gnu: ruby-rubocop: Update to 1.48.1
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (24 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 026/223] gnu: Add ruby-rubocop-rake Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 028/223] gnu: ruby-thor: Update to 1.2.1 Maxim Cournoyer
                     ` (73 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 028/223] gnu: ruby-thor: Update to 1.2.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (25 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 027/223] gnu: ruby-rubocop: Update to 1.48.1 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 029/223] gnu: Add ruby-minitest-power-assert Maxim Cournoyer
                     ` (72 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 029/223] gnu: Add ruby-minitest-power-assert.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (26 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 028/223] gnu: ruby-thor: Update to 1.2.1 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 030/223] gnu: Add ruby-m Maxim Cournoyer
                     ` (71 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 030/223] gnu: Add ruby-m.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (27 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 029/223] gnu: Add ruby-minitest-power-assert Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 031/223] gnu: Add ruby-language-server-protocol Maxim Cournoyer
                     ` (70 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 031/223] gnu: Add ruby-language-server-protocol.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (28 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 030/223] gnu: Add ruby-m Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 032/223] gnu: ruby-standard: Enable test suite Maxim Cournoyer
                     ` (69 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 032/223] gnu: ruby-standard: Enable test suite.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (29 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 031/223] gnu: Add ruby-language-server-protocol Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 033/223] gnu: ruby-standard: Relax requirements Maxim Cournoyer
                     ` (68 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 033/223] gnu: ruby-standard: Relax requirements.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (30 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 032/223] gnu: ruby-standard: Enable test suite Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 034/223] gnu: Add ruby-dotenv Maxim Cournoyer
                     ` (67 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 034/223] gnu: Add ruby-dotenv.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (31 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 033/223] gnu: ruby-standard: Relax requirements Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 035/223] gnu: Add ruby-minitest-retry Maxim Cournoyer
                     ` (66 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 035/223] gnu: Add ruby-minitest-retry.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (32 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 034/223] gnu: Add ruby-dotenv Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 036/223] gnu: Add ruby-dalli Maxim Cournoyer
                     ` (65 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 036/223] gnu: Add ruby-dalli.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (33 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 035/223] gnu: Add ruby-minitest-retry Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 037/223] gnu: Add ruby-hiredis Maxim Cournoyer
                     ` (64 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 037/223] gnu: Add ruby-hiredis.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (34 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 036/223] gnu: Add ruby-dalli Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 038/223] gnu: ruby-minitest-5.14: Update to 5.15.0 Maxim Cournoyer
                     ` (63 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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@gmail.com>
 ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
-;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019 Gábor Boskovits <boskovits@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@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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 038/223] gnu: ruby-minitest-5.14: Update to 5.15.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (35 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 037/223] gnu: Add ruby-hiredis Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 039/223] gnu: ruby-rake: Update to 13.0.6 Maxim Cournoyer
                     ` (62 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 039/223] gnu: ruby-rake: Update to 13.0.6.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (36 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 038/223] gnu: ruby-minitest-5.14: Update to 5.15.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 040/223] gnu: Add ruby-cucumber-compatibility-kit Maxim Cournoyer
                     ` (61 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 040/223] gnu: Add ruby-cucumber-compatibility-kit.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (37 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 039/223] gnu: ruby-rake: Update to 13.0.6 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 041/223] gnu: ruby-cucumber-messages: Update to 21.0.1 Maxim Cournoyer
                     ` (60 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 041/223] gnu: ruby-cucumber-messages: Update to 21.0.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (38 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 040/223] gnu: Add ruby-cucumber-compatibility-kit Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 042/223] gnu: Remove ruby-protobuf-cucumber Maxim Cournoyer
                     ` (59 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 042/223] gnu: Remove ruby-protobuf-cucumber.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (39 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 041/223] gnu: ruby-cucumber-messages: Update to 21.0.1 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 043/223] gnu: ruby-cucumber-tag-expressions: Update to 5.0.1, fixing build Maxim Cournoyer
                     ` (58 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 043/223] gnu: ruby-cucumber-tag-expressions: Update to 5.0.1, fixing build.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (40 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 042/223] gnu: Remove ruby-protobuf-cucumber Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 044/223] gnu: ruby-cucumber-core: Update to 11.1.0 Maxim Cournoyer
                     ` (57 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 044/223] gnu: ruby-cucumber-core: Update to 11.1.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (41 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 043/223] gnu: ruby-cucumber-tag-expressions: Update to 5.0.1, fixing build Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 045/223] gnu: ruby-cucumber-wire: Update to 6.2.1 Maxim Cournoyer
                     ` (56 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 045/223] gnu: ruby-cucumber-wire: Update to 6.2.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (42 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 044/223] gnu: ruby-cucumber-core: Update to 11.1.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 046/223] gnu: ruby-cucumber-html-formatter: Update to 20.2.1 Maxim Cournoyer
                     ` (55 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 046/223] gnu: ruby-cucumber-html-formatter: Update to 20.2.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (43 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 045/223] gnu: ruby-cucumber-wire: Update to 6.2.1 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 047/223] gnu: ruby-cucumber-html-formatter: Honor #:tests? argument Maxim Cournoyer
                     ` (54 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 047/223] gnu: ruby-cucumber-html-formatter: Honor #:tests? argument.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (44 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 046/223] gnu: ruby-cucumber-html-formatter: Update to 20.2.1 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 048/223] gnu: Add ruby-cucumber-ci-environment Maxim Cournoyer
                     ` (53 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 048/223] gnu: Add ruby-cucumber-ci-environment.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (45 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 047/223] gnu: ruby-cucumber-html-formatter: Honor #:tests? argument Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 049/223] gnu: ruby-cucumber-expressions: Update to 16.1.2 Maxim Cournoyer
                     ` (52 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 049/223] gnu: ruby-cucumber-expressions: Update to 16.1.2.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (46 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 048/223] gnu: Add ruby-cucumber-ci-environment Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 050/223] gnu: ruby-gherkin: Update to 26.0.3, fixing build Maxim Cournoyer
                     ` (51 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 050/223] gnu: ruby-gherkin: Update to 26.0.3, fixing build.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (47 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 049/223] gnu: ruby-cucumber-expressions: Update to 16.1.2 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 051/223] gnu: ruby-gherkin: Rename to ruby-cucumber-gherkin Maxim Cournoyer
                     ` (50 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 051/223] gnu: ruby-gherkin: Rename to ruby-cucumber-gherkin.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (48 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 050/223] gnu: ruby-gherkin: Update to 26.0.3, fixing build Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 052/223] gnu: ruby-cucumber: Update to 8.0.0 Maxim Cournoyer
                     ` (49 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 052/223] gnu: ruby-cucumber: Update to 8.0.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (49 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 051/223] gnu: ruby-gherkin: Rename to ruby-cucumber-gherkin Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 053/223] gnu: Remove ruby-cucumber-create-meta Maxim Cournoyer
                     ` (48 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 053/223] gnu: Remove ruby-cucumber-create-meta.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (50 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 052/223] gnu: ruby-cucumber: Update to 8.0.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 054/223] gnu: Add ruby-rake-manifest Maxim Cournoyer
                     ` (47 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 054/223] gnu: Add ruby-rake-manifest.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (51 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 053/223] gnu: Remove ruby-cucumber-create-meta Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 055/223] gnu: ruby-aruba: Update to 2.1.0 Maxim Cournoyer
                     ` (46 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 055/223] gnu: ruby-aruba: Update to 2.1.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (52 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 054/223] gnu: Add ruby-rake-manifest Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 056/223] gnu: ruby-activesupport: Update to 7.0.4.3 Maxim Cournoyer
                     ` (45 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 056/223] gnu: ruby-activesupport: Update to 7.0.4.3.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (53 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 055/223] gnu: ruby-aruba: Update to 2.1.0 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 057/223] gnu: ruby-railties: " Maxim Cournoyer
                     ` (44 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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@yandex.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 057/223] gnu: ruby-railties: Update to 7.0.4.3.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (54 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 056/223] gnu: ruby-activesupport: Update to 7.0.4.3 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 058/223] gnu: Add ruby-bcrypt Maxim Cournoyer
                     ` (43 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 058/223] gnu: Add ruby-bcrypt.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (55 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 057/223] gnu: ruby-railties: " Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 059/223] gnu: ruby-activemodel: Update to 7.0.4.3 and enable tests Maxim Cournoyer
                     ` (42 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 059/223] gnu: ruby-activemodel: Update to 7.0.4.3 and enable tests.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (56 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 058/223] gnu: Add ruby-bcrypt Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 060/223] gnu: ruby-activerecord: " Maxim Cournoyer
                     ` (41 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 060/223] gnu: ruby-activerecord: Update to 7.0.4.3 and enable tests.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (57 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 059/223] gnu: ruby-activemodel: Update to 7.0.4.3 and enable tests Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 061/223] gnu: Add ruby-simplecov-lcov Maxim Cournoyer
                     ` (40 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 061/223] gnu: Add ruby-simplecov-lcov.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (58 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 060/223] gnu: ruby-activerecord: " Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 062/223] gnu: ruby-actionview: Update to 7.0.4.3 Maxim Cournoyer
                     ` (39 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 062/223] gnu: ruby-actionview: Update to 7.0.4.3.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (59 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 061/223] gnu: Add ruby-simplecov-lcov Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 063/223] gnu: Add ruby-delayed-job Maxim Cournoyer
                     ` (38 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 063/223] gnu: Add ruby-delayed-job.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (60 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 062/223] gnu: ruby-actionview: Update to 7.0.4.3 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 064/223] gnu: Add ruby-minitest-proveit Maxim Cournoyer
                     ` (37 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 064/223] gnu: Add ruby-minitest-proveit.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (61 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 063/223] gnu: Add ruby-delayed-job Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 065/223] gnu: ruby-zeitwerk: Update to 2.6.7 Maxim Cournoyer
                     ` (36 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 065/223] gnu: ruby-zeitwerk: Update to 2.6.7.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (62 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 064/223] gnu: Add ruby-minitest-proveit Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 066/223] gnu: Add ruby-queue-classic Maxim Cournoyer
                     ` (35 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 066/223] gnu: Add ruby-queue-classic.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (63 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 065/223] gnu: ruby-zeitwerk: Update to 2.6.7 Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:13   ` [bug#62196] [PATCH 067/223] gnu: ruby-activejob: Update to 7.0.4.3 and enable tests Maxim Cournoyer
                     ` (34 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 067/223] gnu: ruby-activejob: Update to 7.0.4.3 and enable tests.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (64 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 066/223] gnu: Add ruby-queue-classic Maxim Cournoyer
@ 2023-03-20 17:13   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 068/223] gnu: Add ruby-xpath Maxim Cournoyer
                     ` (33 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:13 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 068/223] gnu: Add ruby-xpath.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (65 preceding siblings ...)
  2023-03-20 17:13   ` [bug#62196] [PATCH 067/223] gnu: ruby-activejob: Update to 7.0.4.3 and enable tests Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 069/223] gnu: ruby-addressable: Update to 2.8.1 Maxim Cournoyer
                     ` (32 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 069/223] gnu: ruby-addressable: Update to 2.8.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (66 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 068/223] gnu: Add ruby-xpath Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 070/223] gnu: Add ruby-launchy Maxim Cournoyer
                     ` (31 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 070/223] gnu: Add ruby-launchy.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (67 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 069/223] gnu: ruby-addressable: Update to 2.8.1 Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 071/223] gnu: Add ruby-websocket Maxim Cournoyer
                     ` (30 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 071/223] gnu: Add ruby-websocket.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (68 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 070/223] gnu: Add ruby-launchy Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 072/223] gnu: Add ruby-selenium-webdriver Maxim Cournoyer
                     ` (29 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 072/223] gnu: Add ruby-selenium-webdriver.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (69 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 071/223] gnu: Add ruby-websocket Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 073/223] gnu: ruby-puma: Build with SSL support Maxim Cournoyer
                     ` (28 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 073/223] gnu: ruby-puma: Build with SSL support.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (70 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 072/223] gnu: Add ruby-selenium-webdriver Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 074/223] gnu: Add ruby-minitest-stub-const Maxim Cournoyer
                     ` (27 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 074/223] gnu: Add ruby-minitest-stub-const.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (71 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 073/223] gnu: ruby-puma: Build with SSL support Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 075/223] gnu: ruby-rack: Update to 2.2.6.3 Maxim Cournoyer
                     ` (26 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 075/223] gnu: ruby-rack: Update to 2.2.6.3.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (72 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 074/223] gnu: Add ruby-minitest-stub-const Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 076/223] gnu: ruby-rack: Update home page URL Maxim Cournoyer
                     ` (25 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 076/223] gnu: ruby-rack: Update home page URL.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (73 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 075/223] gnu: ruby-rack: Update to 2.2.6.3 Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 077/223] gnu: Add ruby-rack-next Maxim Cournoyer
                     ` (24 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 077/223] gnu: Add ruby-rack-next.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (74 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 076/223] gnu: ruby-rack: Update home page URL Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 078/223] gnu: Add ruby-rack-cache Maxim Cournoyer
                     ` (23 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 078/223] gnu: Add ruby-rack-cache.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (75 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 077/223] gnu: Add ruby-rack-next Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 079/223] gnu: ruby-rack-test: Update to 2.1.0 Maxim Cournoyer
                     ` (22 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 079/223] gnu: ruby-rack-test: Update to 2.1.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (76 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 078/223] gnu: Add ruby-rack-cache Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 080/223] gnu: ruby-rack-test: Update home page Maxim Cournoyer
                     ` (21 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 080/223] gnu: ruby-rack-test: Update home page.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (77 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 079/223] gnu: ruby-rack-test: Update to 2.1.0 Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 081/223] gnu: ruby-rack-test: Honor #:tests? argument Maxim Cournoyer
                     ` (20 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 081/223] gnu: ruby-rack-test: Honor #:tests? argument.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (78 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 080/223] gnu: ruby-rack-test: Update home page Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 082/223] gnu: ruby-sinatra: Update to 3.0.5 Maxim Cournoyer
                     ` (19 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 082/223] gnu: ruby-sinatra: Update to 3.0.5.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (79 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 081/223] gnu: ruby-rack-test: Honor #:tests? argument Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 083/223] gnu: ruby-webrick: Update to 1.8.1 Maxim Cournoyer
                     ` (18 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 083/223] gnu: ruby-webrick: Update to 1.8.1.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (80 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 082/223] gnu: ruby-sinatra: Update to 3.0.5 Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 084/223] gnu: Add ruby-rackup Maxim Cournoyer
                     ` (17 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 084/223] gnu: Add ruby-rackup.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (81 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 083/223] gnu: ruby-webrick: Update to 1.8.1 Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 085/223] gnu: Add ruby-vcr-expat Maxim Cournoyer
                     ` (16 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 085/223] gnu: Add ruby-vcr-expat.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (82 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 084/223] gnu: Add ruby-rackup Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 086/223] gnu: Add ruby-prettier-print Maxim Cournoyer
                     ` (15 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 086/223] gnu: Add ruby-prettier-print.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (83 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 085/223] gnu: Add ruby-vcr-expat Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 087/223] gnu: Add ruby-syntax-tree Maxim Cournoyer
                     ` (14 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 087/223] gnu: Add ruby-syntax-tree.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (84 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 086/223] gnu: Add ruby-prettier-print Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 088/223] gnu: Add ruby-subprocess Maxim Cournoyer
                     ` (13 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 088/223] gnu: Add ruby-subprocess.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (85 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 087/223] gnu: Add ruby-syntax-tree Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 089/223] gnu: Add ruby-rake-compiler-dock Maxim Cournoyer
                     ` (12 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 089/223] gnu: Add ruby-rake-compiler-dock.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (86 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 088/223] gnu: Add ruby-subprocess Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 090/223] gnu: Add ruby-concurrent-ruby Maxim Cournoyer
                     ` (11 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 090/223] gnu: Add ruby-concurrent-ruby.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (87 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 089/223] gnu: Add ruby-rake-compiler-dock Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 091/223] gnu: ruby-concurrent: Replace with ruby-concurrent-ruby Maxim Cournoyer
                     ` (10 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 091/223] gnu: ruby-concurrent: Replace with ruby-concurrent-ruby.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (88 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 090/223] gnu: Add ruby-concurrent-ruby Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 092/223] gnu: Add ruby-concurrent-ruby-ext Maxim Cournoyer
                     ` (9 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 092/223] gnu: Add ruby-concurrent-ruby-ext.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (89 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 091/223] gnu: ruby-concurrent: Replace with ruby-concurrent-ruby Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 093/223] gnu: Add ruby-concurrent-ruby-edge Maxim Cournoyer
                     ` (8 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 093/223] gnu: Add ruby-concurrent-ruby-edge.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (90 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 092/223] gnu: Add ruby-concurrent-ruby-ext Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 094/223] gnu: Add ruby-sorbet-runtime Maxim Cournoyer
                     ` (7 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 094/223] gnu: Add ruby-sorbet-runtime.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (91 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 093/223] gnu: Add ruby-concurrent-ruby-edge Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 095/223] gnu: Add ruby-rdiscount Maxim Cournoyer
                     ` (6 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 095/223] gnu: Add ruby-rdiscount.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (92 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 094/223] gnu: Add ruby-sorbet-runtime Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 096/223] gnu: Add ruby-ruby2-keywords Maxim Cournoyer
                     ` (5 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 096/223] gnu: Add ruby-ruby2-keywords.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (93 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 095/223] gnu: Add ruby-rdiscount Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 097/223] gnu: Add ruby-faraday-net-http Maxim Cournoyer
                     ` (4 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 097/223] gnu: Add ruby-faraday-net-http.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (94 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 096/223] gnu: Add ruby-ruby2-keywords Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 098/223] gnu: ruby-faraday: Update to 2.7.4 and enable test suite Maxim Cournoyer
                     ` (3 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 098/223] gnu: ruby-faraday: Update to 2.7.4 and enable test suite.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (95 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 097/223] gnu: Add ruby-faraday-net-http Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 099/223] gnu: ruby-octokit: Update to 6.1.0 Maxim Cournoyer
                     ` (2 subsequent siblings)
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 099/223] gnu: ruby-octokit: Update to 6.1.0.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (96 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 098/223] gnu: ruby-faraday: Update to 2.7.4 and enable test suite Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 100/223] gnu: ruby-faraday: Propagate ruby-faraday-net-http Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 101/223] gnu: ruby-sawyer: Update to 0.9.2 Maxim Cournoyer
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 100/223] gnu: ruby-faraday: Propagate ruby-faraday-net-http.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (97 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 099/223] gnu: ruby-octokit: Update to 6.1.0 Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  2023-03-20 17:14   ` [bug#62196] [PATCH 101/223] gnu: ruby-sawyer: Update to 0.9.2 Maxim Cournoyer
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 101/223] gnu: ruby-sawyer: Update to 0.9.2.
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
                     ` (98 preceding siblings ...)
  2023-03-20 17:14   ` [bug#62196] [PATCH 100/223] gnu: ruby-faraday: Propagate ruby-faraday-net-http Maxim Cournoyer
@ 2023-03-20 17:14   ` Maxim Cournoyer
  99 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:14 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler.
  2023-03-15  2:59 [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Maxim Cournoyer
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
@ 2023-03-20 17:21 ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 103/223] gnu: ruby-pry-byebug: Update to 3.10.1 Maxim Cournoyer
                     ` (98 more replies)
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
  2023-03-21  7:50 ` [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Christopher Baines
  3 siblings, 99 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 103/223] gnu: ruby-pry-byebug: Update to 3.10.1.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 104/223] gnu: ruby-byebug: Do not depend on ruby-chandler Maxim Cournoyer
                     ` (97 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 104/223] gnu: ruby-byebug: Do not depend on ruby-chandler.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 103/223] gnu: ruby-pry-byebug: Update to 3.10.1 Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 105/223] gnu: Remove ruby-chandler Maxim Cournoyer
                     ` (96 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 105/223] gnu: Remove ruby-chandler.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 103/223] gnu: ruby-pry-byebug: Update to 3.10.1 Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 104/223] gnu: ruby-byebug: Do not depend on ruby-chandler Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 106/223] gnu: Add ruby-multipart-parser Maxim Cournoyer
                     ` (95 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 106/223] gnu: Add ruby-multipart-parser.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (2 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 105/223] gnu: Remove ruby-chandler Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 107/223] gnu: Add ruby-faraday-multipart Maxim Cournoyer
                     ` (94 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 107/223] gnu: Add ruby-faraday-multipart.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (3 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 106/223] gnu: Add ruby-multipart-parser Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 108/223] gnu: ruby-maxitest: Update to 4.4.1 Maxim Cournoyer
                     ` (93 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 108/223] gnu: ruby-maxitest: Update to 4.4.1.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (4 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 107/223] gnu: Add ruby-faraday-multipart Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 109/223] gnu: Add ruby-fileutils Maxim Cournoyer
                     ` (92 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 109/223] gnu: Add ruby-fileutils.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (5 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 108/223] gnu: ruby-maxitest: Update to 4.4.1 Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 110/223] gnu: ruby-faraday-middleware: Add a deprecation comment and re-indent Maxim Cournoyer
                     ` (91 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 110/223] gnu: ruby-faraday-middleware: Add a deprecation comment and re-indent.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (6 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 109/223] gnu: Add ruby-fileutils Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 111/223] gnu: ruby-bandwidth-iris: Fix indentation Maxim Cournoyer
                     ` (90 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 111/223] gnu: ruby-bandwidth-iris: Fix indentation.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (7 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 110/223] gnu: ruby-faraday-middleware: Add a deprecation comment and re-indent Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 112/223] gnu: ruby-bandwidth-iris: Update to 7.0.0 Maxim Cournoyer
                     ` (89 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 112/223] gnu: ruby-bandwidth-iris: Update to 7.0.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (8 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 111/223] gnu: ruby-bandwidth-iris: Fix indentation Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:21   ` [bug#62196] [PATCH 113/223] gnu: ruby-octokit: Enable tests Maxim Cournoyer
                     ` (88 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 113/223] gnu: ruby-octokit: Enable tests.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (9 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 112/223] gnu: ruby-bandwidth-iris: Update to 7.0.0 Maxim Cournoyer
@ 2023-03-20 17:21   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 114/223] gnu: Add ruby-mapping Maxim Cournoyer
                     ` (87 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:21 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 114/223] gnu: Add ruby-mapping.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (10 preceding siblings ...)
  2023-03-20 17:21   ` [bug#62196] [PATCH 113/223] gnu: ruby-octokit: Enable tests Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 115/223] gnu: Add ruby-fiber-local Maxim Cournoyer
                     ` (86 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 115/223] gnu: Add ruby-fiber-local.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (11 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 114/223] gnu: Add ruby-mapping Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 116/223] gnu: Add ruby-console Maxim Cournoyer
                     ` (85 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 116/223] gnu: Add ruby-console.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (12 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 115/223] gnu: Add ruby-fiber-local Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 117/223] gnu: Add ruby-ruby-memcheck Maxim Cournoyer
                     ` (84 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 117/223] gnu: Add ruby-ruby-memcheck.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (13 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 116/223] gnu: Add ruby-console Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 118/223] gnu: Add ruby-msgpack Maxim Cournoyer
                     ` (83 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 118/223] gnu: Add ruby-msgpack.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (14 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 117/223] gnu: Add ruby-ruby-memcheck Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 119/223] gnu: Add ruby-covered Maxim Cournoyer
                     ` (82 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 119/223] gnu: Add ruby-covered.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (15 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 118/223] gnu: Add ruby-msgpack Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 120/223] gnu: Add ruby-samovar Maxim Cournoyer
                     ` (81 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 120/223] gnu: Add ruby-samovar.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (16 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 119/223] gnu: Add ruby-covered Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 121/223] gnu: Add ruby-io-console Maxim Cournoyer
                     ` (80 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 121/223] gnu: Add ruby-io-console.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (17 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 120/223] gnu: Add ruby-samovar Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 122/223] gnu: Add ruby-reline Maxim Cournoyer
                     ` (79 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 122/223] gnu: Add ruby-reline.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (18 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 121/223] gnu: Add ruby-io-console Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 123/223] gnu: Add ruby-irb Maxim Cournoyer
                     ` (78 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 123/223] gnu: Add ruby-irb.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (19 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 122/223] gnu: Add ruby-reline Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 124/223] gnu: Add ruby-debug Maxim Cournoyer
                     ` (77 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 124/223] gnu: Add ruby-debug.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (20 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 123/223] gnu: Add ruby-irb Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 125/223] gnu: Add ruby-rspec-debug Maxim Cournoyer
                     ` (76 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 125/223] gnu: Add ruby-rspec-debug.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (21 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 124/223] gnu: Add ruby-debug Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 126/223] gnu: Add ruby-bake Maxim Cournoyer
                     ` (75 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 126/223] gnu: Add ruby-bake.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (22 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 125/223] gnu: Add ruby-rspec-debug Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 127/223] gnu: Add ruby-bake-test Maxim Cournoyer
                     ` (74 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 127/223] gnu: Add ruby-bake-test.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (23 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 126/223] gnu: Add ruby-bake Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 128/223] gnu: Add ruby-bake-test-external Maxim Cournoyer
                     ` (73 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 128/223] gnu: Add ruby-bake-test-external.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (24 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 127/223] gnu: Add ruby-bake-test Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 129/223] gnu: Add ruby-sus Maxim Cournoyer
                     ` (72 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 129/223] gnu: Add ruby-sus.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (25 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 128/223] gnu: Add ruby-bake-test-external Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 130/223] gnu: Add ruby-timers Maxim Cournoyer
                     ` (71 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 130/223] gnu: Add ruby-timers.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (26 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 129/223] gnu: Add ruby-sus Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 131/223] gnu: Add ruby-localhost Maxim Cournoyer
                     ` (70 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 131/223] gnu: Add ruby-localhost.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (27 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 130/223] gnu: Add ruby-timers Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 132/223] gnu: bundler: Update to 2.4.8 Maxim Cournoyer
                     ` (69 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 132/223] gnu: bundler: Update to 2.4.8.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (28 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 131/223] gnu: Add ruby-localhost Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 133/223] gnu: ruby-puma: Update to 6.1.1 and enable test suite Maxim Cournoyer
                     ` (68 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 133/223] gnu: ruby-puma: Update to 6.1.1 and enable test suite.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (29 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 132/223] gnu: bundler: Update to 2.4.8 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 134/223] gnu: Add ruby-capybara Maxim Cournoyer
                     ` (67 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 134/223] gnu: Add ruby-capybara.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (30 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 133/223] gnu: ruby-puma: Update to 6.1.1 and enable test suite Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 135/223] gnu: Add ruby-rack-session Maxim Cournoyer
                     ` (66 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 135/223] gnu: Add ruby-rack-session.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (31 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 134/223] gnu: Add ruby-capybara Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 136/223] gnu: ruby-rubyzip: Update to 2.3.2 Maxim Cournoyer
                     ` (65 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 136/223] gnu: ruby-rubyzip: Update to 2.3.2.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (32 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 135/223] gnu: Add ruby-rack-session Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 137/223] gnu: ruby-actionpack: Update to 7.0.4.3 and enable test suite Maxim Cournoyer
                     ` (64 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 137/223] gnu: ruby-actionpack: Update to 7.0.4.3 and enable test suite.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (33 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 136/223] gnu: ruby-rubyzip: Update to 2.3.2 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 138/223] gnu: Add ruby-event-emitter Maxim Cournoyer
                     ` (63 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 138/223] gnu: Add ruby-event-emitter.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (34 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 137/223] gnu: ruby-actionpack: Update to 7.0.4.3 and enable test suite Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 139/223] gnu: Add ruby-websocket-native Maxim Cournoyer
                     ` (62 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 139/223] gnu: Add ruby-websocket-native.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (35 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 138/223] gnu: Add ruby-event-emitter Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 140/223] gnu: Add ruby-websocket-eventmachine-base Maxim Cournoyer
                     ` (61 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 140/223] gnu: Add ruby-websocket-eventmachine-base.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (36 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 139/223] gnu: Add ruby-websocket-native Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 141/223] gnu: Add ruby-websocket-eventmachine-server Maxim Cournoyer
                     ` (60 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 141/223] gnu: Add ruby-websocket-eventmachine-server.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (37 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 140/223] gnu: Add ruby-websocket-eventmachine-base Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 142/223] gnu: Add ruby-websocket-client-simple Maxim Cournoyer
                     ` (59 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 142/223] gnu: Add ruby-websocket-client-simple.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (38 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 141/223] gnu: Add ruby-websocket-eventmachine-server Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 143/223] gnu: ruby-actioncable: Update to 7.0.4.3 and enable tests Maxim Cournoyer
                     ` (58 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 143/223] gnu: ruby-actioncable: Update to 7.0.4.3 and enable tests.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (39 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 142/223] gnu: Add ruby-websocket-client-simple Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 144/223] gnu: ruby-mini-mime: Update to 1.1.2 Maxim Cournoyer
                     ` (57 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 144/223] gnu: ruby-mini-mime: Update to 1.1.2.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (40 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 143/223] gnu: ruby-actioncable: Update to 7.0.4.3 and enable tests Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 145/223] gnu: ruby-marcel: Update to 1.0.2 Maxim Cournoyer
                     ` (56 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 145/223] gnu: ruby-marcel: Update to 1.0.2.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (41 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 144/223] gnu: ruby-mini-mime: Update to 1.1.2 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 146/223] gnu: ruby-marcel: Relocate to (gnu packages rails) Maxim Cournoyer
                     ` (55 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 146/223] gnu: ruby-marcel: Relocate to (gnu packages rails).
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (42 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 145/223] gnu: ruby-marcel: Update to 1.0.2 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 147/223] gnu: ruby-marcel: Enable tests Maxim Cournoyer
                     ` (54 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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@yandex.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 147/223] gnu: ruby-marcel: Enable tests.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (43 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 146/223] gnu: ruby-marcel: Relocate to (gnu packages rails) Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 148/223] gnu: ruby-activestorage: Update to 7.0.4.3 Maxim Cournoyer
                     ` (53 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 148/223] gnu: ruby-activestorage: Update to 7.0.4.3.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (44 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 147/223] gnu: ruby-marcel: Enable tests Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 149/223] gnu: ruby-actiontext: " Maxim Cournoyer
                     ` (52 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 149/223] gnu: ruby-actiontext: Update to 7.0.4.3.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (45 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 148/223] gnu: ruby-activestorage: Update to 7.0.4.3 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 150/223] gnu: Add ruby-timeout Maxim Cournoyer
                     ` (51 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 150/223] gnu: Add ruby-timeout.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (46 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 149/223] gnu: ruby-actiontext: " Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 151/223] gnu: Add ruby-net-protocol Maxim Cournoyer
                     ` (50 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 151/223] gnu: Add ruby-net-protocol.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (47 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 150/223] gnu: Add ruby-timeout Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 152/223] gnu: Add ruby-date Maxim Cournoyer
                     ` (49 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 152/223] gnu: Add ruby-date.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (48 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 151/223] gnu: Add ruby-net-protocol Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 153/223] gnu: Add ruby-net-imap Maxim Cournoyer
                     ` (48 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 153/223] gnu: Add ruby-net-imap.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (49 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 152/223] gnu: Add ruby-date Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 154/223] gnu: Add ruby-net-pop Maxim Cournoyer
                     ` (47 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 154/223] gnu: Add ruby-net-pop.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (50 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 153/223] gnu: Add ruby-net-imap Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 155/223] gnu: Add ruby-net-smtp Maxim Cournoyer
                     ` (46 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 155/223] gnu: Add ruby-net-smtp.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (51 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 154/223] gnu: Add ruby-net-pop Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 156/223] gnu: ruby-actionmailbox: Update to 7.0.4.3 Maxim Cournoyer
                     ` (45 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 156/223] gnu: ruby-actionmailbox: Update to 7.0.4.3.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (52 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 155/223] gnu: Add ruby-net-smtp Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 157/223] gnu: ruby-actionmailer: " Maxim Cournoyer
                     ` (44 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 157/223] gnu: ruby-actionmailer: Update to 7.0.4.3.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (53 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 156/223] gnu: ruby-actionmailbox: Update to 7.0.4.3 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 158/223] gnu: ruby-sprockets: Update to 4.2.0 Maxim Cournoyer
                     ` (43 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 158/223] gnu: ruby-sprockets: Update to 4.2.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (54 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 157/223] gnu: ruby-actionmailer: " Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 159/223] gnu: ruby-sprockets: Move to (gnu packages rails) Maxim Cournoyer
                     ` (42 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 159/223] gnu: ruby-sprockets: Move to (gnu packages rails).
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (55 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 158/223] gnu: ruby-sprockets: Update to 4.2.0 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 160/223] gnu: ruby-sprockets-rails: Update to 3.4.2 Maxim Cournoyer
                     ` (41 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 160/223] gnu: ruby-sprockets-rails: Update to 3.4.2.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (56 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 159/223] gnu: ruby-sprockets: Move to (gnu packages rails) Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 161/223] gnu: Add ruby-bootsnap Maxim Cournoyer
                     ` (40 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 161/223] gnu: Add ruby-bootsnap.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (57 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 160/223] gnu: ruby-sprockets-rails: Update to 3.4.2 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 162/223] gnu: ruby-globalid: Update to 1.1.0 Maxim Cournoyer
                     ` (39 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 162/223] gnu: ruby-globalid: Update to 1.1.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (58 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 161/223] gnu: Add ruby-bootsnap Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 163/223] gnu: ruby-globalid: Move to (gnu packages rails) Maxim Cournoyer
                     ` (38 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 163/223] gnu: ruby-globalid: Move to (gnu packages rails).
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (59 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 162/223] gnu: ruby-globalid: Update to 1.1.0 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 164/223] gnu: Add ruby-importmap-rails Maxim Cournoyer
                     ` (37 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 164/223] gnu: Add ruby-importmap-rails.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (60 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 163/223] gnu: ruby-globalid: Move to (gnu packages rails) Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 165/223] gnu: ruby-railties: Enable test suite Maxim Cournoyer
                     ` (36 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 165/223] gnu: ruby-railties: Enable test suite.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (61 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 164/223] gnu: Add ruby-importmap-rails Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 166/223] gnu: Add ruby-propshaft Maxim Cournoyer
                     ` (35 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 166/223] gnu: Add ruby-propshaft.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (62 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 165/223] gnu: ruby-railties: Enable test suite Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 167/223] gnu: Add ruby-stimulus-rails Maxim Cournoyer
                     ` (34 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 167/223] gnu: Add ruby-stimulus-rails.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (63 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 166/223] gnu: Add ruby-propshaft Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 168/223] gnu: Add ruby-turbo-rails Maxim Cournoyer
                     ` (33 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 168/223] gnu: Add ruby-turbo-rails.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (64 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 167/223] gnu: Add ruby-stimulus-rails Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 169/223] gnu: ruby-rails: Update to 7.0.4.3 Maxim Cournoyer
                     ` (32 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 169/223] gnu: ruby-rails: Update to 7.0.4.3.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (65 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 168/223] gnu: Add ruby-turbo-rails Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 170/223] gnu: ruby-spring: Update to 4.1.1 Maxim Cournoyer
                     ` (31 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 170/223] gnu: ruby-spring: Update to 4.1.1.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (66 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 169/223] gnu: ruby-rails: Update to 7.0.4.3 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 171/223] gnu: Add ruby-dotenv-rails Maxim Cournoyer
                     ` (30 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 171/223] gnu: Add ruby-dotenv-rails.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (67 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 170/223] gnu: ruby-spring: Update to 4.1.1 Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 172/223] gnu: Add ruby-flores Maxim Cournoyer
                     ` (29 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 172/223] gnu: Add ruby-flores.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (68 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 171/223] gnu: Add ruby-dotenv-rails Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:22   ` [bug#62196] [PATCH 173/223] gnu: Add ruby-pleaserun Maxim Cournoyer
                     ` (28 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 173/223] gnu: Add ruby-pleaserun.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (69 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 172/223] gnu: Add ruby-flores Maxim Cournoyer
@ 2023-03-20 17:22   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 174/223] gnu: Add ruby-arr-pm Maxim Cournoyer
                     ` (27 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:22 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 174/223] gnu: Add ruby-arr-pm.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (70 preceding siblings ...)
  2023-03-20 17:22   ` [bug#62196] [PATCH 173/223] gnu: Add ruby-pleaserun Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 175/223] gnu: Add perl-app-cpanminus Maxim Cournoyer
                     ` (26 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 175/223] gnu: Add perl-app-cpanminus.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (71 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 174/223] gnu: Add ruby-arr-pm Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 176/223] gnu: ruby-minitest: Update home page URL Maxim Cournoyer
                     ` (25 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 176/223] gnu: ruby-minitest: Update home page URL.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (72 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 175/223] gnu: Add perl-app-cpanminus Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 177/223] gnu: ruby-minitest: Update to 5.18.0 Maxim Cournoyer
                     ` (24 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 177/223] gnu: ruby-minitest: Update to 5.18.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (73 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 176/223] gnu: ruby-minitest: Update home page URL Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 178/223] gnu: ruby-rubocop-rspec-minimal: Update source and home page URL Maxim Cournoyer
                     ` (23 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 178/223] gnu: ruby-rubocop-rspec-minimal: Update source and home page URL.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (74 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 177/223] gnu: ruby-minitest: Update to 5.18.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 179/223] gnu: Add fpm Maxim Cournoyer
                     ` (22 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 179/223] gnu: Add fpm.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (75 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 178/223] gnu: ruby-rubocop-rspec-minimal: Update source and home page URL Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-23  4:04     ` [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 180/223] gnu: ruby-braintree: Update to 4.10.0 Maxim Cournoyer
                     ` (21 subsequent siblings)
  98 siblings, 1 reply; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 180/223] gnu: ruby-braintree: Update to 4.10.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (76 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 179/223] gnu: Add fpm Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 181/223] gnu: ruby-protobuf: Update to 3.10.3 Maxim Cournoyer
                     ` (20 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 181/223] gnu: ruby-protobuf: Update to 3.10.3.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (77 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 180/223] gnu: ruby-braintree: Update to 4.10.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 182/223] gnu: ruby-temple: Update to 0.10.0 Maxim Cournoyer
                     ` (19 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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@famulari.name>
 ;;; Copyright © 2017, 2018, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2021 Felix Gruber <felgru@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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 182/223] gnu: ruby-temple: Update to 0.10.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (78 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 181/223] gnu: ruby-protobuf: Update to 3.10.3 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 183/223] gnu: ruby-slim: Update to 5.1.0 Maxim Cournoyer
                     ` (18 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 183/223] gnu: ruby-slim: Update to 5.1.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (79 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 182/223] gnu: ruby-temple: Update to 0.10.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 184/223] gnu: ruby-prawn-svg: Fix build Maxim Cournoyer
                     ` (17 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 184/223] gnu: ruby-prawn-svg: Fix build.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (80 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 183/223] gnu: ruby-slim: Update to 5.1.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 185/223] gnu: ruby-web-console: Update to 4.2.0 Maxim Cournoyer
                     ` (16 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 185/223] gnu: ruby-web-console: Update to 4.2.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (81 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 184/223] gnu: ruby-prawn-svg: Fix build Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 186/223] gnu: Add ruby-minitest-profile Maxim Cournoyer
                     ` (15 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 186/223] gnu: Add ruby-minitest-profile.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (82 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 185/223] gnu: ruby-web-console: Update to 4.2.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 187/223] gnu: ruby-terminal-table: Update to 3.0.2 Maxim Cournoyer
                     ` (14 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 187/223] gnu: ruby-terminal-table: Update to 3.0.2.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (83 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 186/223] gnu: Add ruby-minitest-profile Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 188/223] gnu: ruby-liquid: Update to 4.0.3 Maxim Cournoyer
                     ` (13 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 188/223] gnu: ruby-liquid: Update to 4.0.3.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (84 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 187/223] gnu: ruby-terminal-table: Update to 3.0.2 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 189/223] gnu: ruby-shoulda-context: Update to 2.0.0 Maxim Cournoyer
                     ` (12 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 189/223] gnu: ruby-shoulda-context: Update to 2.0.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (85 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 188/223] gnu: ruby-liquid: Update to 4.0.3 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 190/223] gnu: ruby-shoulda-context: Honor #:tests? Maxim Cournoyer
                     ` (11 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 190/223] gnu: ruby-shoulda-context: Honor #:tests?.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (86 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 189/223] gnu: ruby-shoulda-context: Update to 2.0.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 191/223] gnu: ruby-shoulda-matchers: Update to 5.3.0 Maxim Cournoyer
                     ` (10 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 191/223] gnu: ruby-shoulda-matchers: Update to 5.3.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (87 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 190/223] gnu: ruby-shoulda-context: Honor #:tests? Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 192/223] gnu: ruby-shoulda-matchers: Honor #:tests? Maxim Cournoyer
                     ` (9 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 192/223] gnu: ruby-shoulda-matchers: Honor #:tests?.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (88 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 191/223] gnu: ruby-shoulda-matchers: Update to 5.3.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 193/223] gnu: ruby-shoulda: Update to 4.0.0 Maxim Cournoyer
                     ` (8 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 193/223] gnu: ruby-shoulda: Update to 4.0.0.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (89 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 192/223] gnu: ruby-shoulda-matchers: Honor #:tests? Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 194/223] gnu: ruby-shoulda: Honor #:tests? Maxim Cournoyer
                     ` (7 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 194/223] gnu: ruby-shoulda: Honor #:tests?.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (90 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 193/223] gnu: ruby-shoulda: Update to 4.0.0 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 195/223] gnu: ruby-unf-ext: Update to 0.0.8.2 Maxim Cournoyer
                     ` (6 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 195/223] gnu: ruby-unf-ext: Update to 0.0.8.2.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (91 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 194/223] gnu: ruby-shoulda: Honor #:tests? Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 196/223] gnu: jekyll: Use gexps and remove input labels Maxim Cournoyer
                     ` (5 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 196/223] gnu: jekyll: Use gexps and remove input labels.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (92 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 195/223] gnu: ruby-unf-ext: Update to 0.0.8.2 Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 197/223] gnu: jekyll: Update to 4.3.2 and enable tests Maxim Cournoyer
                     ` (4 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 197/223] gnu: jekyll: Update to 4.3.2 and enable tests.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (93 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 196/223] gnu: jekyll: Use gexps and remove input labels Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 198/223] gnu: Add ruby-rspec-stubbed-env Maxim Cournoyer
                     ` (3 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 198/223] gnu: Add ruby-rspec-stubbed-env.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (94 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 197/223] gnu: jekyll: Update to 4.3.2 and enable tests Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 199/223] gnu: Add ruby-silent-stream Maxim Cournoyer
                     ` (2 subsequent siblings)
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 199/223] gnu: Add ruby-silent-stream.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (95 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 198/223] gnu: Add ruby-rspec-stubbed-env Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 200/223] gnu: Add ruby-ruby-version Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 201/223] gnu: Add ruby-rspec-pending-for Maxim Cournoyer
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 200/223] gnu: Add ruby-ruby-version.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (96 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 199/223] gnu: Add ruby-silent-stream Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  2023-03-20 17:23   ` [bug#62196] [PATCH 201/223] gnu: Add ruby-rspec-pending-for Maxim Cournoyer
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 201/223] gnu: Add ruby-rspec-pending-for.
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
                     ` (97 preceding siblings ...)
  2023-03-20 17:23   ` [bug#62196] [PATCH 200/223] gnu: Add ruby-ruby-version Maxim Cournoyer
@ 2023-03-20 17:23   ` Maxim Cournoyer
  98 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:23 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected.
  2023-03-15  2:59 [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Maxim Cournoyer
  2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
  2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
@ 2023-03-20 17:29 ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 203/223] gnu: Add ruby-version-gem Maxim Cournoyer
                     ` (20 more replies)
  2023-03-21  7:50 ` [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Christopher Baines
  3 siblings, 21 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 203/223] gnu: Add ruby-version-gem.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 204/223] gnu: ruby-hashie: Update to 5.0.0 and enable tests Maxim Cournoyer
                     ` (19 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 204/223] gnu: ruby-hashie: Update to 5.0.0 and enable tests.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 203/223] gnu: Add ruby-version-gem Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 205/223] gnu: Add ruby-snaky-hash Maxim Cournoyer
                     ` (18 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 205/223] gnu: Add ruby-snaky-hash.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 203/223] gnu: Add ruby-version-gem Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 204/223] gnu: ruby-hashie: Update to 5.0.0 and enable tests Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 206/223] gnu: ruby-oauth2: Update to 2.0.9 and enable tests Maxim Cournoyer
                     ` (17 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 206/223] gnu: ruby-oauth2: Update to 2.0.9 and enable tests.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (2 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 205/223] gnu: Add ruby-snaky-hash Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 207/223] gnu: ruby-omniauth: Update to 2.1.1 Maxim Cournoyer
                     ` (16 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 207/223] gnu: ruby-omniauth: Update to 2.1.1.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (3 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 206/223] gnu: ruby-oauth2: Update to 2.0.9 and enable tests Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 208/223] gnu: ruby-omniauth-oauth2: Update to 1.8.0 Maxim Cournoyer
                     ` (15 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 208/223] gnu: ruby-omniauth-oauth2: Update to 1.8.0.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (4 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 207/223] gnu: ruby-omniauth: Update to 2.1.1 Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 209/223] gnu: ruby-cuke-modeler: Update to 3.19.0 and enable tests Maxim Cournoyer
                     ` (14 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 209/223] gnu: ruby-cuke-modeler: Update to 3.19.0 and enable tests.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (5 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 208/223] gnu: ruby-omniauth-oauth2: Update to 1.8.0 Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 210/223] gnu: ruby-single-cov: Update to 1.9.1 Maxim Cournoyer
                     ` (13 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 210/223] gnu: ruby-single-cov: Update to 1.9.1.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (6 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 209/223] gnu: ruby-cuke-modeler: Update to 3.19.0 and enable tests Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 211/223] gnu: ruby-parallel-tests: Update to 4.2.0 Maxim Cournoyer
                     ` (12 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 211/223] gnu: ruby-parallel-tests: Update to 4.2.0.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (7 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 210/223] gnu: ruby-single-cov: Update to 1.9.1 Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 212/223] gnu: Add ruby-sassc-rails Maxim Cournoyer
                     ` (11 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 212/223] gnu: Add ruby-sassc-rails.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (8 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 211/223] gnu: ruby-parallel-tests: Update to 4.2.0 Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 213/223] gnu: Add ruby-ammeter-bootstrap Maxim Cournoyer
                     ` (10 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 213/223] gnu: Add ruby-ammeter-bootstrap.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (9 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 212/223] gnu: Add ruby-sassc-rails Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 214/223] gnu: ruby-rspec-rails: Update to 6.0.1 and enable tests Maxim Cournoyer
                     ` (9 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 214/223] gnu: ruby-rspec-rails: Update to 6.0.1 and enable tests.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (10 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 213/223] gnu: Add ruby-ammeter-bootstrap Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 215/223] gnu: Add ruby-ammeter Maxim Cournoyer
                     ` (8 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 215/223] gnu: Add ruby-ammeter.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (11 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 214/223] gnu: ruby-rspec-rails: Update to 6.0.1 and enable tests Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 216/223] gnu: ruby-autoprefixer-rails: Update to 10.4.13.0 Maxim Cournoyer
                     ` (7 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 216/223] gnu: ruby-autoprefixer-rails: Update to 10.4.13.0.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (12 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 215/223] gnu: Add ruby-ammeter Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 217/223] gnu: Add ruby-truthy Maxim Cournoyer
                     ` (6 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 217/223] gnu: Add ruby-truthy.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (13 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 216/223] gnu: ruby-autoprefixer-rails: Update to 10.4.13.0 Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 218/223] gnu: ruby-coveralls: Propagate ruby-simplecov and enable tests Maxim Cournoyer
                     ` (5 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 218/223] gnu: ruby-coveralls: Propagate ruby-simplecov and enable tests.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (14 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 217/223] gnu: Add ruby-truthy Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 219/223] gnu: Add ruby-spy Maxim Cournoyer
                     ` (4 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 219/223] gnu: Add ruby-spy.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (15 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 218/223] gnu: ruby-coveralls: Propagate ruby-simplecov and enable tests Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 220/223] gnu: Add ruby-liquid-c-bootstrap Maxim Cournoyer
                     ` (3 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 220/223] gnu: Add ruby-liquid-c-bootstrap.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (16 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 219/223] gnu: Add ruby-spy Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 221/223] gnu: ruby-liquid: Update to 5.4.0 and enable tests Maxim Cournoyer
                     ` (2 subsequent siblings)
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 221/223] gnu: ruby-liquid: Update to 5.4.0 and enable tests.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (17 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 220/223] gnu: Add ruby-liquid-c-bootstrap Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 222/223] gnu: Add ruby-liquid-c Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 223/223] gnu: ruby-net-scp: Update to 4.0.0 Maxim Cournoyer
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 222/223] gnu: Add ruby-liquid-c.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (18 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 221/223] gnu: ruby-liquid: Update to 5.4.0 and enable tests Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  2023-03-20 17:29   ` [bug#62196] [PATCH 223/223] gnu: ruby-net-scp: Update to 4.0.0 Maxim Cournoyer
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 223/223] gnu: ruby-net-scp: Update to 4.0.0.
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
                     ` (19 preceding siblings ...)
  2023-03-20 17:29   ` [bug#62196] [PATCH 222/223] gnu: Add ruby-liquid-c Maxim Cournoyer
@ 2023-03-20 17:29   ` Maxim Cournoyer
  20 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-20 17:29 UTC (permalink / raw)
  To: 62196; +Cc: Maxim Cournoyer

* 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





^ permalink raw reply related	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates
  2023-03-15  2:59 [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Maxim Cournoyer
                   ` (2 preceding siblings ...)
  2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
@ 2023-03-21  7:50 ` Christopher Baines
  2023-03-21 16:03   ` Maxim Cournoyer
  3 siblings, 1 reply; 228+ messages in thread
From: Christopher Baines @ 2023-03-21  7:50 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 62196

[-- Attachment #1: Type: text/plain, Size: 998 bytes --]


Maxim Cournoyer <maxim.cournoyer@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 987 bytes --]

^ permalink raw reply	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates
  2023-03-21  7:50 ` [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Christopher Baines
@ 2023-03-21 16:03   ` Maxim Cournoyer
  2023-03-29  2:48     ` bug#62196: " Maxim Cournoyer
  0 siblings, 1 reply; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-21 16:03 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 62196

Hi!

Christopher Baines <mail@cbaines.net> writes:

> Maxim Cournoyer <maxim.cournoyer@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




^ permalink raw reply	[flat|nested] 228+ messages in thread

* [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates
  2023-03-20 17:23   ` [bug#62196] [PATCH 179/223] gnu: Add fpm Maxim Cournoyer
@ 2023-03-23  4:04     ` Maxim Cournoyer
  0 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-23  4:04 UTC (permalink / raw)
  To: 62196; +Cc: Christopher Baines

[-- Attachment #1: Type: text/plain, Size: 3337 bytes --]

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@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.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-fpm.patch --]
[-- Type: text/x-patch, Size: 19825 bytes --]

From d5b23cd105e0816a385d8f3fabc47fb6c2e672d6 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Mon, 13 Mar 2023 22:28:36 -0400
Subject: [PATCH] gnu: Add fpm.

* gnu/packages/package-management.scm (fpm): New variable.
* gnu/packages/patches/fpm-newer-clamp-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/package-management.scm           | 86 +++++++++++++++++++
 .../patches/fpm-newer-clamp-fix.patch         | 33 +++++++
 3 files changed, 120 insertions(+)
 create mode 100644 gnu/packages/patches/fpm-newer-clamp-fix.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index e820ae4bc7..0e67ce2648 100644
--- a/gnu/local.mk
+++ b/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			\
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 562d228cf4..9b7231e362 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)
@@ -2005,6 +2009,88 @@ (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"))
+              (patches (search-patches "fpm-newer-clamp-fix.patch"))))
+    (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 '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).
+                 (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")
diff --git a/gnu/packages/patches/fpm-newer-clamp-fix.patch b/gnu/packages/patches/fpm-newer-clamp-fix.patch
new file mode 100644
index 0000000000..9fbb15ee29
--- /dev/null
+++ b/gnu/packages/patches/fpm-newer-clamp-fix.patch
@@ -0,0 +1,33 @@
+Retrieved from: https://github.com/jordansissel/fpm/pull/1561.patch
+
+From 956a218a7b35de08ea35da3b702ffdc716656b68 Mon Sep 17 00:00:00 2001
+From: Jordan Sissel <jls@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

base-commit: 5174820753be045ba4fc7cc93da33f4e0b730bc3
prerequisite-patch-id: 09822aa431e6d44db6d85345c890bec22e5d3755
prerequisite-patch-id: 5d60a89d3f59a159f77d1fb6cc56388a8bc168b0
prerequisite-patch-id: 0201548e6b9ccf0077ee092854bbe68d727238d7
prerequisite-patch-id: 28e32ea1a2245ebbfa5d36d8ed517956506a7f5d
prerequisite-patch-id: 612981cfa687c12a2f7b4744e3af19630ab1120f
prerequisite-patch-id: fc02be562b5095a090cc39d855ed870a87f7e11b
prerequisite-patch-id: bd4874f281e254563f79237461ebb7d5e3284eb4
prerequisite-patch-id: d2a8b741ac6f67af38915d24444933cdc2b20e86
prerequisite-patch-id: 1b06dbe3db65090f01219a3e1a7c7d6f4429d563
prerequisite-patch-id: efe284e4e3ef307949c5be4a3ff31035f8196eb4
prerequisite-patch-id: 90f9ed3d153defad5d055f02c17f1574709f2f9c
prerequisite-patch-id: 736a73aad2698b7fa0422e0138197446eb17a048
prerequisite-patch-id: 45d18fe04a3b9c7f23c51767e4fdb9aaf846c7d7
prerequisite-patch-id: d4e60b275824fd716725bb58491d7cbfa35e7988
prerequisite-patch-id: c33195dc771e66b920b1111500811302cae7db54
prerequisite-patch-id: 1e05a0f437cfd71170d2ef390ee9924a53038cc4
prerequisite-patch-id: f9b1a416934e43ed389ac9fbe626a721066eb4fc
prerequisite-patch-id: 832e4d270e49520f1b4c43beaf6bee67d0b48afc
prerequisite-patch-id: 82b1795b0684353ff555268322c5894381289194
prerequisite-patch-id: 06730ab79e4cce81914bab21f492feea740e4664
prerequisite-patch-id: e15add5b513549830698385eee01400c86b5c8b6
prerequisite-patch-id: cb225ee9d039644caa051cd3f21e56e7465c33c1
prerequisite-patch-id: 574e0a3a8546331d864d47d9d056d1c0ab8a9171
prerequisite-patch-id: 3800d174fd8b246cf375cf25c0873f53e414c310
prerequisite-patch-id: 3b0906c42c62276749ab7453c60647547cb6cb45
prerequisite-patch-id: 59914dcd6c804b46bb72ee13ca2d138e5901dcca
prerequisite-patch-id: e5a320b788a534f13c58c570c3e16c6316f79994
prerequisite-patch-id: 8f6317b12f6ba15465be8d88051ead2fe5f87a9f
prerequisite-patch-id: c8c04a4440ee04724dc3f5067245b0395cde475b
prerequisite-patch-id: ce6b8e81a5717e8958c792fc39db6cb025f46cfd
prerequisite-patch-id: 0f1a22ac6d089710876fb5be12ea40f11f6aae3a
prerequisite-patch-id: 06da958eb2e483e42973de42f52761d7c88ce005
prerequisite-patch-id: 14fa27614a6e72b44f1b46a18cbd9706709dd80d
prerequisite-patch-id: e4172c359f315b0c4443b36897e24e41f7253d7c
prerequisite-patch-id: 25790613101334f2de7213a3b1f120165eb7e822
prerequisite-patch-id: 389f52615d4fef6f4388da32ed9ab0aac42750b2
prerequisite-patch-id: 60f998411b14747b8c9f756a31b02b7feabe2578
prerequisite-patch-id: 028907e49056eca01e32239a1ed4e39cf857f65e
prerequisite-patch-id: 053fa73cf88cf7cfe4a79cf97896865360c86371
prerequisite-patch-id: 9b5a8e9e7e43b76303f9afd62a59af284b1f647f
prerequisite-patch-id: 59224b3e6c85c48c6020ac9d7c95b2ab11044e3c
prerequisite-patch-id: 733b1556354a03fecda2e545ed0855a03a592664
prerequisite-patch-id: 8225660c36a6cd25d89237768184b7f1258489c8
prerequisite-patch-id: 4b05f7f0d6add8145784c95e8d6525c73e95061f
prerequisite-patch-id: 9617e445c97cbd82a72b7254764e8f58ff2a83de
prerequisite-patch-id: 3ff20351ebf960af6272da62c1ff1b6af288ac93
prerequisite-patch-id: ed899a058e1a3413c015eb603740b51fff6b6eac
prerequisite-patch-id: dbad96751ef3afb53bdba74f144908e409c550cc
prerequisite-patch-id: 0a476aced7ed547bb8ce6b05c9439c501806b91c
prerequisite-patch-id: 50d28b15beaefd80040f155c492d0f82ae3f8b79
prerequisite-patch-id: 656b67addc3b60afeb5e33c35be3e79267c4ae35
prerequisite-patch-id: e206409a14f03a54d1981cf271420c321746408b
prerequisite-patch-id: ed23d65ecddb83a1e041874e98b5b7b4b7e05ede
prerequisite-patch-id: 848eebed970c8699d718d5d22a9344ec1c2170bb
prerequisite-patch-id: 7acc23dee8e125a86095c3b4b104d38bb0cc8749
prerequisite-patch-id: 6a81dd60ab729b86e5049052cbabf368d1adb904
prerequisite-patch-id: 072d2da474c267e8b928be386cc7857a8b07393d
prerequisite-patch-id: af5b162ff72ec8f39d75713f1b49173f8e9ebdaa
prerequisite-patch-id: a1ac1633793124c7af7f2e0dc8ef5fcf339ac68b
prerequisite-patch-id: d6282325e3fddd49a804dd347daeabf38d5016d1
prerequisite-patch-id: 0412446beffe107b9e1a37c5dc81c3c2e834d81c
prerequisite-patch-id: 998718ec33d519d6a8913fed6bd94a4e14496e47
prerequisite-patch-id: e4eea56fecc65a9bf1d522ab5597197fc767bf91
prerequisite-patch-id: 06c6e5988002a026bc34e941a9120a351ece910d
prerequisite-patch-id: 2ea39d8de10524c96d7a3199e60d9b4e0da2ed2b
prerequisite-patch-id: cedc7502ffcf953b6f581c13ccc0413f5ed3d872
prerequisite-patch-id: c5f7817ade74f310d5b4b4a0fe392687e481971d
prerequisite-patch-id: 463831ff2eeca4a8f054678ecc43c0b91f238e98
prerequisite-patch-id: 99812ccd90fd139dffe3dc7fb5c98e9ccf28df00
prerequisite-patch-id: d31b28e2cf77c988b6f30e632b92e5039e905551
prerequisite-patch-id: 1b835549a0c7ab2eec2855efdc34bc7c8225d087
prerequisite-patch-id: a24dcd48c2b16e392b10d76bd149fe70f77fdb1f
prerequisite-patch-id: 72022f3e913a6d60eabab4876ebcd8e0397aa90f
prerequisite-patch-id: 6470894c5244c4f2aa654109d4c1c7cc3c2cff71
prerequisite-patch-id: 95f7e69fede202723fa7223b191f1323845ba0a7
prerequisite-patch-id: 2a2f3b1d86499d111c3febf2b4756399c5d3ce07
prerequisite-patch-id: 13b7339d80b2f619ad2a236b379946e32032f4f0
prerequisite-patch-id: 0b26c94651ca8714e228dbfd389259caf9cf5a18
prerequisite-patch-id: d9a45ea982782dafec419d572b98ed8d92ac94aa
prerequisite-patch-id: 29f90e12719a8e5df1c3433dfaefc0eaf4528559
prerequisite-patch-id: 6776d2c4a975868fe12d6432b06881a63cda45d4
prerequisite-patch-id: 454e69cba0b82712b4339349472c31aa69da15fb
prerequisite-patch-id: 4248322bd7ae654eabcacbfb424e603a05246f0e
prerequisite-patch-id: a9d33788c612caa567989b78edbb09e734293605
prerequisite-patch-id: b0da4baf3df29024473635c5bf897356ea90e0aa
prerequisite-patch-id: 5755d81334249bd78aadd4f89c47d6fefce66285
prerequisite-patch-id: 9ccf66f57620ac92603e686df0223482ecb9dad2
prerequisite-patch-id: 64504424faf5607e20e90bd9f6a99d5634ca77c4
prerequisite-patch-id: 331d724d664c3064e06e104b05ce10221296b564
prerequisite-patch-id: 7510bd15df7f708b8a6b305ac17486de566a9663
prerequisite-patch-id: 3d2b5f17f0ec11dee04aab93e95cd3c83cf23374
prerequisite-patch-id: 4a2e8c9dd12752919af94fd80b97d0b0b327bd4d
prerequisite-patch-id: a4b3d4baba25a76d706e21a00d560c3f9ce7bf34
prerequisite-patch-id: ba0dbed7a45eb22ed21e03fa8f3a34ea53f05ea1
prerequisite-patch-id: d380fba0b9da5bab14cdbd4dc3de5262cf86c430
prerequisite-patch-id: 24c562bb68501d2edccacd5dda73d8de2b6ebcf3
prerequisite-patch-id: bedf2404d5374fae09399541cc114c66176052da
prerequisite-patch-id: ced460b2e708dcd3a233df761d3cb768f1aa4995
prerequisite-patch-id: 1ea26466b4466033ba1591599b6f17fdf5ba559b
prerequisite-patch-id: a2124d160dfd92658a3f36febbc35390887160df
prerequisite-patch-id: 184494c669e7be5f141e15c01d9685b3877c39de
prerequisite-patch-id: 4c5a3b74f1ff78ef51c6889c6191961fd37616ce
prerequisite-patch-id: fbc2c6fe70c337a690a760d6d100370aa5765201
prerequisite-patch-id: f023aeee7ee38cc86194953fb4e97f3e5b460b50
prerequisite-patch-id: 9e66a6ae4de97c4d4c624a8681f04149f6273fa6
prerequisite-patch-id: 2eadcf883abc3e004c14bfb6445bfc185745fbe7
prerequisite-patch-id: a9675e63747b84b45941a34a77bdfdb1ddc5fcdf
prerequisite-patch-id: 1b6c1c6b7ecc1e5f782ced368ba656863f8519a5
prerequisite-patch-id: 4509f7329877cf6afe48db787e7856763d8dfb73
prerequisite-patch-id: 33d473e825837671768448e3c35facfc6ac550c9
prerequisite-patch-id: 0d3909aa6e2eeeceeee77ec691165e191bc5f2bb
prerequisite-patch-id: 49400285b3866f4ff3073369308eef5222ca5d83
prerequisite-patch-id: 846ebb18a08e510ec467a31ef7010f6bbeee6b00
prerequisite-patch-id: dba7c6d97d48a819210da9e5ec867f205e1107ac
prerequisite-patch-id: 6b1ce92a7971f4f39d9e07586b9b9cdd6857bfd0
prerequisite-patch-id: 47a9f7356aa4190e978aee5ab3523752dacb57bb
prerequisite-patch-id: d8d7f032e242f031a642a76275bc8955409f0e9e
prerequisite-patch-id: e0e4c5d87e9a0fea75b554709ffde2038123a46a
prerequisite-patch-id: 026ab7ab71bd1019db1e32048c38cbfcccead175
prerequisite-patch-id: 6cb1725d6e95caf9a6a91d9696a222218643bb02
prerequisite-patch-id: 1307e97786e706754c65e9a4c16a03b0617941d8
prerequisite-patch-id: fffa4ca180ab9df81bb9d75c462b82ac81f66453
prerequisite-patch-id: b7df0cf04e27be069589657a27683935f8541af4
prerequisite-patch-id: a7abb5f130749cf52f1e7368896b09384178decb
prerequisite-patch-id: 708763a6d51ede269a7f039d1d1967add6af166b
prerequisite-patch-id: 15f9fa2b0fee8149a296c2fcb77bcb0345688545
prerequisite-patch-id: d68941084c6e745d85c0bdf80ea3b42d3e657bd3
prerequisite-patch-id: 7d65855c7f9e6653dec8c9955efeb82d3d5990db
prerequisite-patch-id: 1ea7f33d692e87828d54e84b13b7d1861bcdfe1f
prerequisite-patch-id: d5c2e5001921fea8753de756117ee871901db5dd
prerequisite-patch-id: 1c4b32ebc9866b2b5bb663d37120b536c01c4827
prerequisite-patch-id: 791200f791274b7949adf2647709ea3a3da0c5b5
prerequisite-patch-id: f4d10617fe3bcc1eff1594458dacca2ed58a3701
prerequisite-patch-id: a161a6b004f6db0c2d1cb5ea2bf2572227a570d9
prerequisite-patch-id: 02ed4e94d5724ac41b05f687ec635b74d187590b
prerequisite-patch-id: f87342068219596aed2b364a830b2c24873260d0
prerequisite-patch-id: e0f38b64a1425583162aaccd417c04c00bbd680f
prerequisite-patch-id: 3672697e33f44d57db418270cb3e25a979628ff9
prerequisite-patch-id: 288ff9c3160dabe6d74f448687c0d3be651c7105
prerequisite-patch-id: d0e8ea40474f480264dc5fab3b1bc70a649e932d
prerequisite-patch-id: a24f1049bda0b195180735f050869b91009c4b1c
prerequisite-patch-id: 5b77241785787f607d81f2e0cc07a756fca6011e
prerequisite-patch-id: e5cc0bdbb2d8c859650f848d2ed03f775d5ce638
prerequisite-patch-id: e1ef89c9f82eecb6ab6ecbb830d024814ba28c8a
prerequisite-patch-id: b419b960b8a33c6158e1c76b4fb7473d90961182
prerequisite-patch-id: ef8a1fef403101e5f883abd3dea1efd96bfde9be
prerequisite-patch-id: 5f76f3dedac67909a92617e9492402bea2a41934
prerequisite-patch-id: ae1d0f8ae769b4bf58c1a2f674403d5fe0fd0759
prerequisite-patch-id: e030bda00efeb44cad2592ec53049e4e8cc9bba1
prerequisite-patch-id: 00d98d578c68ff806839b143ac4f2db3128afdbf
prerequisite-patch-id: 5e85d1ddcdcafa8563d8dd8a2d5eedeec660faea
prerequisite-patch-id: b79dff58177f15253b523fd71f4eab4631de280e
prerequisite-patch-id: cbdd3de78ba57ecb97757e253b87d6fb6d15755f
prerequisite-patch-id: f4670d9cddbec127fa3430ab33d5745129fbe22d
prerequisite-patch-id: 7b96c6113b0d9afc8d044cd0290b8babd3fd1e71
prerequisite-patch-id: 8ea65198fddffe3f4391bd34517923da5a8baa5c
prerequisite-patch-id: ae81f9cfdcef6f0be245bc98593ca54b9b49276c
prerequisite-patch-id: 3e8e3aef73cdc63f34f17b151ef46ed6e979c857
prerequisite-patch-id: ed6d04a439d8222ef39ea92afe81251b3f1b250e
prerequisite-patch-id: f368b7e3538a2515ad16dd234a826954c0ef1785
prerequisite-patch-id: 3f8b798a6951c487a35d159eeb4622b09f33d03f
prerequisite-patch-id: 2a16c57f6d4736e8a19890a6864f25a392bdec0a
prerequisite-patch-id: e031d76854186fcc3c47af06e57c6c864b041440
prerequisite-patch-id: 18be5cbce63181202cf68cdeb2e83eb13c1415bb
prerequisite-patch-id: 91281d05c7b9d6e3c57b68c29be7aa837653313a
prerequisite-patch-id: 6bf427e2493fe7209b72e4ea871aa0113e32189c
prerequisite-patch-id: ded68f28b7f83c2953b0e9a9035f5b2ce285f4eb
prerequisite-patch-id: 1e3a707c53e82e927931c75b0bb51bd1f864dfa7
prerequisite-patch-id: de15b8fcc53976db9195a25f3a84d93ac6059bac
prerequisite-patch-id: 24a00012fc29ecfdf7bf6eb415e52a32524a29c4
prerequisite-patch-id: fa8ecaa1e4494312a811841afff31f9f947463dd
prerequisite-patch-id: 2426ead7e9d9b15e4bcb5cec6fe9f9c2406052cc
prerequisite-patch-id: 6342cebcdb60560476712405a4fb6375565c73de
prerequisite-patch-id: 0fe4d6580620e9fb8485c846246491c6dba68261
prerequisite-patch-id: 4202d710f677b4e55288cde605d7da10a880244b
prerequisite-patch-id: 78ea092803fb065e351710a108a066f50950cd4f
prerequisite-patch-id: 019065a06c7b03b64e13489483af04ede7e5d14b
prerequisite-patch-id: cd506c0f1176fa1cd25131945a4d9a65d90dd898
-- 
2.39.1


[-- Attachment #3: Type: text/plain, Size: 19 bytes --]


-- 
Thanks,
Maxim

^ permalink raw reply related	[flat|nested] 228+ messages in thread

* bug#62196: [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates
  2023-03-21 16:03   ` Maxim Cournoyer
@ 2023-03-29  2:48     ` Maxim Cournoyer
  0 siblings, 0 replies; 228+ messages in thread
From: Maxim Cournoyer @ 2023-03-29  2:48 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 62196-done

Hi,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hi!
>
> Christopher Baines <mail@cbaines.net> writes:
>
>> Maxim Cournoyer <maxim.cournoyer@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




^ permalink raw reply	[flat|nested] 228+ messages in thread

end of thread, other threads:[~2023-03-29  2:49 UTC | newest]

Thread overview: 228+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-15  2:59 [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Maxim Cournoyer
2023-03-20 17:12 ` [bug#62196] [PATCH 001/223] gnu: Add ruby-cabin Maxim Cournoyer
2023-03-20 17:12   ` [bug#62196] [PATCH 002/223] gnu: Add ruby-clamp Maxim Cournoyer
2023-03-20 17:12   ` [bug#62196] [PATCH 003/223] gnu: Add ruby-stud Maxim Cournoyer
2023-03-20 17:12   ` [bug#62196] [PATCH 004/223] gnu: Add ruby-insist Maxim Cournoyer
2023-03-20 17:12   ` [bug#62196] [PATCH 005/223] gnu: ruby-standard: Update to 1.25.2 Maxim Cournoyer
2023-03-20 17:12   ` [bug#62196] [PATCH 006/223] gnu: ruby-oedipus-lex: Update to 2.6.0 Maxim Cournoyer
2023-03-20 17:12   ` [bug#62196] [PATCH 007/223] gnu: ruby-oedipus-lex: Fix indentation Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 008/223] gnu: ruby-parser: Update to 3.2.1.1 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 009/223] gnu: ruby-rubocop-ast: Update to 1.27.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 010/223] gnu: Add ruby-rubocop-rake-minimal Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 011/223] gnu: ruby-unicode-display-width: Update to 2.4.2 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 012/223] gnu: Add ruby-rubocop-capybara-minimal Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 013/223] gnu: ruby-rspec: Update to 3.12.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 014/223] gnu: ruby-rspec-core: Update to 3.12.1 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 015/223] gnu: ruby-rspec-support: Update to 3.12.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 016/223] gnu: ruby-given-core: Update to 3.8.2 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 017/223] gnu: ruby-rspec-mocks: Update to 3.12.4 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 018/223] gnu: ruby-rspec-expectations: Update to 3.12.2 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 019/223] gnu: ruby-rspec-given: Update to 3.8.2 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 020/223] gnu: ruby-rubocop-performance: Update to 1.16.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 021/223] gnu: Add ruby-simplecov-json-formatter Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 022/223] gnu: ruby-simplecov-html: Update to 0.12.3 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 023/223] gnu: ruby-simplecov: Update to 0.22.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 024/223] gnu: Add ruby-rubocop-capybara Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 025/223] gnu: ruby-rubocop-rspec: Update to 2.19.0 and inverse inheritance relationship Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 026/223] gnu: Add ruby-rubocop-rake Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 027/223] gnu: ruby-rubocop: Update to 1.48.1 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 028/223] gnu: ruby-thor: Update to 1.2.1 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 029/223] gnu: Add ruby-minitest-power-assert Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 030/223] gnu: Add ruby-m Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 031/223] gnu: Add ruby-language-server-protocol Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 032/223] gnu: ruby-standard: Enable test suite Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 033/223] gnu: ruby-standard: Relax requirements Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 034/223] gnu: Add ruby-dotenv Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 035/223] gnu: Add ruby-minitest-retry Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 036/223] gnu: Add ruby-dalli Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 037/223] gnu: Add ruby-hiredis Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 038/223] gnu: ruby-minitest-5.14: Update to 5.15.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 039/223] gnu: ruby-rake: Update to 13.0.6 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 040/223] gnu: Add ruby-cucumber-compatibility-kit Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 041/223] gnu: ruby-cucumber-messages: Update to 21.0.1 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 042/223] gnu: Remove ruby-protobuf-cucumber Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 043/223] gnu: ruby-cucumber-tag-expressions: Update to 5.0.1, fixing build Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 044/223] gnu: ruby-cucumber-core: Update to 11.1.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 045/223] gnu: ruby-cucumber-wire: Update to 6.2.1 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 046/223] gnu: ruby-cucumber-html-formatter: Update to 20.2.1 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 047/223] gnu: ruby-cucumber-html-formatter: Honor #:tests? argument Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 048/223] gnu: Add ruby-cucumber-ci-environment Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 049/223] gnu: ruby-cucumber-expressions: Update to 16.1.2 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 050/223] gnu: ruby-gherkin: Update to 26.0.3, fixing build Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 051/223] gnu: ruby-gherkin: Rename to ruby-cucumber-gherkin Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 052/223] gnu: ruby-cucumber: Update to 8.0.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 053/223] gnu: Remove ruby-cucumber-create-meta Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 054/223] gnu: Add ruby-rake-manifest Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 055/223] gnu: ruby-aruba: Update to 2.1.0 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 056/223] gnu: ruby-activesupport: Update to 7.0.4.3 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 057/223] gnu: ruby-railties: " Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 058/223] gnu: Add ruby-bcrypt Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 059/223] gnu: ruby-activemodel: Update to 7.0.4.3 and enable tests Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 060/223] gnu: ruby-activerecord: " Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 061/223] gnu: Add ruby-simplecov-lcov Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 062/223] gnu: ruby-actionview: Update to 7.0.4.3 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 063/223] gnu: Add ruby-delayed-job Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 064/223] gnu: Add ruby-minitest-proveit Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 065/223] gnu: ruby-zeitwerk: Update to 2.6.7 Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 066/223] gnu: Add ruby-queue-classic Maxim Cournoyer
2023-03-20 17:13   ` [bug#62196] [PATCH 067/223] gnu: ruby-activejob: Update to 7.0.4.3 and enable tests Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 068/223] gnu: Add ruby-xpath Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 069/223] gnu: ruby-addressable: Update to 2.8.1 Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 070/223] gnu: Add ruby-launchy Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 071/223] gnu: Add ruby-websocket Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 072/223] gnu: Add ruby-selenium-webdriver Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 073/223] gnu: ruby-puma: Build with SSL support Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 074/223] gnu: Add ruby-minitest-stub-const Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 075/223] gnu: ruby-rack: Update to 2.2.6.3 Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 076/223] gnu: ruby-rack: Update home page URL Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 077/223] gnu: Add ruby-rack-next Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 078/223] gnu: Add ruby-rack-cache Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 079/223] gnu: ruby-rack-test: Update to 2.1.0 Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 080/223] gnu: ruby-rack-test: Update home page Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 081/223] gnu: ruby-rack-test: Honor #:tests? argument Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 082/223] gnu: ruby-sinatra: Update to 3.0.5 Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 083/223] gnu: ruby-webrick: Update to 1.8.1 Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 084/223] gnu: Add ruby-rackup Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 085/223] gnu: Add ruby-vcr-expat Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 086/223] gnu: Add ruby-prettier-print Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 087/223] gnu: Add ruby-syntax-tree Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 088/223] gnu: Add ruby-subprocess Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 089/223] gnu: Add ruby-rake-compiler-dock Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 090/223] gnu: Add ruby-concurrent-ruby Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 091/223] gnu: ruby-concurrent: Replace with ruby-concurrent-ruby Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 092/223] gnu: Add ruby-concurrent-ruby-ext Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 093/223] gnu: Add ruby-concurrent-ruby-edge Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 094/223] gnu: Add ruby-sorbet-runtime Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 095/223] gnu: Add ruby-rdiscount Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 096/223] gnu: Add ruby-ruby2-keywords Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 097/223] gnu: Add ruby-faraday-net-http Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 098/223] gnu: ruby-faraday: Update to 2.7.4 and enable test suite Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 099/223] gnu: ruby-octokit: Update to 6.1.0 Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 100/223] gnu: ruby-faraday: Propagate ruby-faraday-net-http Maxim Cournoyer
2023-03-20 17:14   ` [bug#62196] [PATCH 101/223] gnu: ruby-sawyer: Update to 0.9.2 Maxim Cournoyer
2023-03-20 17:21 ` [bug#62196] [PATCH 102/223] gnu: ruby-pry-byebug: Avoid depending on ruby-chandler Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 103/223] gnu: ruby-pry-byebug: Update to 3.10.1 Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 104/223] gnu: ruby-byebug: Do not depend on ruby-chandler Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 105/223] gnu: Remove ruby-chandler Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 106/223] gnu: Add ruby-multipart-parser Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 107/223] gnu: Add ruby-faraday-multipart Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 108/223] gnu: ruby-maxitest: Update to 4.4.1 Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 109/223] gnu: Add ruby-fileutils Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 110/223] gnu: ruby-faraday-middleware: Add a deprecation comment and re-indent Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 111/223] gnu: ruby-bandwidth-iris: Fix indentation Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 112/223] gnu: ruby-bandwidth-iris: Update to 7.0.0 Maxim Cournoyer
2023-03-20 17:21   ` [bug#62196] [PATCH 113/223] gnu: ruby-octokit: Enable tests Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 114/223] gnu: Add ruby-mapping Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 115/223] gnu: Add ruby-fiber-local Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 116/223] gnu: Add ruby-console Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 117/223] gnu: Add ruby-ruby-memcheck Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 118/223] gnu: Add ruby-msgpack Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 119/223] gnu: Add ruby-covered Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 120/223] gnu: Add ruby-samovar Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 121/223] gnu: Add ruby-io-console Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 122/223] gnu: Add ruby-reline Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 123/223] gnu: Add ruby-irb Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 124/223] gnu: Add ruby-debug Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 125/223] gnu: Add ruby-rspec-debug Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 126/223] gnu: Add ruby-bake Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 127/223] gnu: Add ruby-bake-test Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 128/223] gnu: Add ruby-bake-test-external Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 129/223] gnu: Add ruby-sus Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 130/223] gnu: Add ruby-timers Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 131/223] gnu: Add ruby-localhost Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 132/223] gnu: bundler: Update to 2.4.8 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 133/223] gnu: ruby-puma: Update to 6.1.1 and enable test suite Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 134/223] gnu: Add ruby-capybara Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 135/223] gnu: Add ruby-rack-session Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 136/223] gnu: ruby-rubyzip: Update to 2.3.2 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 137/223] gnu: ruby-actionpack: Update to 7.0.4.3 and enable test suite Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 138/223] gnu: Add ruby-event-emitter Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 139/223] gnu: Add ruby-websocket-native Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 140/223] gnu: Add ruby-websocket-eventmachine-base Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 141/223] gnu: Add ruby-websocket-eventmachine-server Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 142/223] gnu: Add ruby-websocket-client-simple Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 143/223] gnu: ruby-actioncable: Update to 7.0.4.3 and enable tests Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 144/223] gnu: ruby-mini-mime: Update to 1.1.2 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 145/223] gnu: ruby-marcel: Update to 1.0.2 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 146/223] gnu: ruby-marcel: Relocate to (gnu packages rails) Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 147/223] gnu: ruby-marcel: Enable tests Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 148/223] gnu: ruby-activestorage: Update to 7.0.4.3 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 149/223] gnu: ruby-actiontext: " Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 150/223] gnu: Add ruby-timeout Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 151/223] gnu: Add ruby-net-protocol Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 152/223] gnu: Add ruby-date Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 153/223] gnu: Add ruby-net-imap Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 154/223] gnu: Add ruby-net-pop Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 155/223] gnu: Add ruby-net-smtp Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 156/223] gnu: ruby-actionmailbox: Update to 7.0.4.3 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 157/223] gnu: ruby-actionmailer: " Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 158/223] gnu: ruby-sprockets: Update to 4.2.0 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 159/223] gnu: ruby-sprockets: Move to (gnu packages rails) Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 160/223] gnu: ruby-sprockets-rails: Update to 3.4.2 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 161/223] gnu: Add ruby-bootsnap Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 162/223] gnu: ruby-globalid: Update to 1.1.0 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 163/223] gnu: ruby-globalid: Move to (gnu packages rails) Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 164/223] gnu: Add ruby-importmap-rails Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 165/223] gnu: ruby-railties: Enable test suite Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 166/223] gnu: Add ruby-propshaft Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 167/223] gnu: Add ruby-stimulus-rails Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 168/223] gnu: Add ruby-turbo-rails Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 169/223] gnu: ruby-rails: Update to 7.0.4.3 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 170/223] gnu: ruby-spring: Update to 4.1.1 Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 171/223] gnu: Add ruby-dotenv-rails Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 172/223] gnu: Add ruby-flores Maxim Cournoyer
2023-03-20 17:22   ` [bug#62196] [PATCH 173/223] gnu: Add ruby-pleaserun Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 174/223] gnu: Add ruby-arr-pm Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 175/223] gnu: Add perl-app-cpanminus Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 176/223] gnu: ruby-minitest: Update home page URL Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 177/223] gnu: ruby-minitest: Update to 5.18.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 178/223] gnu: ruby-rubocop-rspec-minimal: Update source and home page URL Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 179/223] gnu: Add fpm Maxim Cournoyer
2023-03-23  4:04     ` [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 180/223] gnu: ruby-braintree: Update to 4.10.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 181/223] gnu: ruby-protobuf: Update to 3.10.3 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 182/223] gnu: ruby-temple: Update to 0.10.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 183/223] gnu: ruby-slim: Update to 5.1.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 184/223] gnu: ruby-prawn-svg: Fix build Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 185/223] gnu: ruby-web-console: Update to 4.2.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 186/223] gnu: Add ruby-minitest-profile Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 187/223] gnu: ruby-terminal-table: Update to 3.0.2 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 188/223] gnu: ruby-liquid: Update to 4.0.3 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 189/223] gnu: ruby-shoulda-context: Update to 2.0.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 190/223] gnu: ruby-shoulda-context: Honor #:tests? Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 191/223] gnu: ruby-shoulda-matchers: Update to 5.3.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 192/223] gnu: ruby-shoulda-matchers: Honor #:tests? Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 193/223] gnu: ruby-shoulda: Update to 4.0.0 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 194/223] gnu: ruby-shoulda: Honor #:tests? Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 195/223] gnu: ruby-unf-ext: Update to 0.0.8.2 Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 196/223] gnu: jekyll: Use gexps and remove input labels Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 197/223] gnu: jekyll: Update to 4.3.2 and enable tests Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 198/223] gnu: Add ruby-rspec-stubbed-env Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 199/223] gnu: Add ruby-silent-stream Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 200/223] gnu: Add ruby-ruby-version Maxim Cournoyer
2023-03-20 17:23   ` [bug#62196] [PATCH 201/223] gnu: Add ruby-rspec-pending-for Maxim Cournoyer
2023-03-20 17:29 ` [bug#62196] [PATCH 202/223] gnu: Add ruby-rspec-block-is-expected Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 203/223] gnu: Add ruby-version-gem Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 204/223] gnu: ruby-hashie: Update to 5.0.0 and enable tests Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 205/223] gnu: Add ruby-snaky-hash Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 206/223] gnu: ruby-oauth2: Update to 2.0.9 and enable tests Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 207/223] gnu: ruby-omniauth: Update to 2.1.1 Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 208/223] gnu: ruby-omniauth-oauth2: Update to 1.8.0 Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 209/223] gnu: ruby-cuke-modeler: Update to 3.19.0 and enable tests Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 210/223] gnu: ruby-single-cov: Update to 1.9.1 Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 211/223] gnu: ruby-parallel-tests: Update to 4.2.0 Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 212/223] gnu: Add ruby-sassc-rails Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 213/223] gnu: Add ruby-ammeter-bootstrap Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 214/223] gnu: ruby-rspec-rails: Update to 6.0.1 and enable tests Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 215/223] gnu: Add ruby-ammeter Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 216/223] gnu: ruby-autoprefixer-rails: Update to 10.4.13.0 Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 217/223] gnu: Add ruby-truthy Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 218/223] gnu: ruby-coveralls: Propagate ruby-simplecov and enable tests Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 219/223] gnu: Add ruby-spy Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 220/223] gnu: Add ruby-liquid-c-bootstrap Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 221/223] gnu: ruby-liquid: Update to 5.4.0 and enable tests Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 222/223] gnu: Add ruby-liquid-c Maxim Cournoyer
2023-03-20 17:29   ` [bug#62196] [PATCH 223/223] gnu: ruby-net-scp: Update to 4.0.0 Maxim Cournoyer
2023-03-21  7:50 ` [bug#62196] [PATCH 000/182] Add FPM, update Rails and other Ruby additions/updates Christopher Baines
2023-03-21 16:03   ` Maxim Cournoyer
2023-03-29  2:48     ` bug#62196: " Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).