[PATCH] gnu: git-filter-repo: Update to 2.47.0.

  • Done
  • quality assurance status badge
Details
3 participants
  • Hilton Chain
  • Nicolas Graves
  • Roman Scherer
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal
N
N
Nicolas Graves wrote on 30 Jan 01:45 +0100
(address . guix-patches@gnu.org)
87tt9hqg8g.fsf@ngraves.fr
* gnu/packages/version-control.scm (git-filter-repo): Update to
2.47.0.
[arguments]<#:phases>: Adapt phase 'unpack-git-source to handle the
asciidoc.conf renamed to asciidoc.conf.in in upstream git.
* gnu/packages/patches/git-filter-repo-generate-doc.patch: Refresh
patch.
---
.../git-filter-repo-generate-doc.patch | 20 +++++++++----------
gnu/packages/version-control.scm | 11 +++++++---
2 files changed, 17 insertions(+), 14 deletions(-)

Toggle diff (96 lines)
diff --git a/gnu/packages/patches/git-filter-repo-generate-doc.patch b/gnu/packages/patches/git-filter-repo-generate-doc.patch
index 4535ae5bc4..baf6fd4f8f 100644
--- a/gnu/packages/patches/git-filter-repo-generate-doc.patch
+++ b/gnu/packages/patches/git-filter-repo-generate-doc.patch
@@ -1,4 +1,4 @@
-From 56e6857e71d2b2a2236625f3c8b112bd40a8b164 Mon Sep 17 00:00:00 2001
+From d44e90189f3dfc47b86a457cb3493478207fa14d Mon Sep 17 00:00:00 2001
From: Josselin Poiret <dev@jpoiret.xyz>
Date: Fri, 16 Feb 2024 00:21:06 +0800
Subject: [PATCH] Add documentation generation.
@@ -53,13 +53,13 @@ index 0000000..d81ffbe
+man: man1/git-filter-repo.1
+html: html/git-filter-repo.html
diff --git a/Makefile b/Makefile
-index a443450..d965ae5 100644
+index 3330a1d..801da8f 100644
--- a/Makefile
+++ b/Makefile
-@@ -20,21 +20,10 @@ test:
+@@ -21,21 +21,10 @@ test:
fixup_locale:
sed -ie s%@@LOCALEDIR@@%$(localedir)% git-filter-repo
-
+
-# People installing from tarball will already have man1/git-filter-repo.1 and
-# html/git-filter-repo.html. But let's support people installing from a git
-# clone too; for them, just cheat and snag a copy of the built docs that I
@@ -67,7 +67,7 @@ index a443450..d965ae5 100644
-snag_docs: Documentation/man1/git-filter-repo.1 Documentation/html/git-filter-repo.html
+doc:
+ $(MAKE) -C Documentation man html
-
+
-Documentation/man1/git-filter-repo.1:
- mkdir -p Documentation/man1
- git show origin/docs:man1/git-filter-repo.1 >Documentation/man1/git-filter-repo.1
@@ -78,11 +78,9 @@ index a443450..d965ae5 100644
-
-install: snag_docs #fixup_locale
+install: doc #fixup_locale
- install -Dm0755 git-filter-repo "$(DESTDIR)/$(bindir)/git-filter-repo"
- install -dm0755 "$(DESTDIR)/$(pythondir)"
+ $(INSTALL) -Dm0755 git-filter-repo "$(DESTDIR)/$(bindir)/git-filter-repo"
+ $(INSTALL) -dm0755 "$(DESTDIR)/$(pythondir)"
ln -sf "$(bindir)/git-filter-repo" "$(DESTDIR)/$(pythondir)/git_filter_repo.py"
-
-base-commit: cbc6535694380d3a3bf3e5c96410d4ce7e8de94f
---
-2.41.0
+--
+2.47.1
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 636509d6c5..523ce00333 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -4392,7 +4392,7 @@ (define-public qgit
(define-public git-filter-repo
(package
(name "git-filter-repo")
- (version "2.38.0")
+ (version "2.47.0")
(source
(origin
(method git-fetch)
@@ -4402,7 +4402,7 @@ (define-public git-filter-repo
(file-name (git-file-name name version))
(sha256
(base32
- "1al43zpw1mdfy9i05w4xw178abypjwnkk52lqvmbl19lr1l47r4i"))
+ "15gwl1gax7rxwjd7q4az25xc1wmmxd1f5q63wkv4n9dab6i4ighx"))
;; Modified from <https://github.com/newren/git-filter-repo/pull/477>.
;; Used with 'unpack-git-source phase.
(patches (search-patches "git-filter-repo-generate-doc.patch"))))
@@ -4434,7 +4434,12 @@ (define-public git-filter-repo
#:source #+(package-source git))
(for-each
(cut install-file <> doc-source)
- (find-files "." "asciidoc\\.conf$|manpage.*\\.xsl$"))
+ (find-files "." "asciidoc\\.conf\\.in$|manpage.*\\.xsl$"))
+ ;; This attributes are not needed.
+ (with-directory-excursion doc-source
+ (substitute* "asciidoc.conf.in"
+ (("@GIT_(VERSION|DATE)@") ""))
+ (rename-file "asciidoc.conf.in" "asciidoc.conf"))
(chdir old-path)
(delete-file-recursively "git-source"))))
(add-before 'build 'set-pythondir
--
2.47.1



--
Best regards,
Nicolas Graves
N
N
Nicolas Graves wrote on 30 Jan 10:04 +0100
[PATCH v2 1/2] gnu: git-filter-repo: Fix build.
(address . 75937@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250130090639.13934-2-ngraves@ngraves.fr
* gnu/packages/version-control.scm (git-filter-repo):
[arguments]<#:phases>: Adapt phase 'unpack-git-source to handle the
asciidoc.conf renamed to asciidoc.conf.in in upstream git.
* gnu/packages/patches/git-filter-repo-generate-doc.patch: Refresh
patch.
---
.../git-filter-repo-generate-doc.patch | 20 +++++++++----------
gnu/packages/version-control.scm | 7 ++++++-
2 files changed, 15 insertions(+), 12 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/patches/git-filter-repo-generate-doc.patch b/gnu/packages/patches/git-filter-repo-generate-doc.patch
index 4535ae5bc4..baf6fd4f8f 100644
--- a/gnu/packages/patches/git-filter-repo-generate-doc.patch
+++ b/gnu/packages/patches/git-filter-repo-generate-doc.patch
@@ -1,4 +1,4 @@
-From 56e6857e71d2b2a2236625f3c8b112bd40a8b164 Mon Sep 17 00:00:00 2001
+From d44e90189f3dfc47b86a457cb3493478207fa14d Mon Sep 17 00:00:00 2001
From: Josselin Poiret <dev@jpoiret.xyz>
Date: Fri, 16 Feb 2024 00:21:06 +0800
Subject: [PATCH] Add documentation generation.
@@ -53,13 +53,13 @@ index 0000000..d81ffbe
+man: man1/git-filter-repo.1
+html: html/git-filter-repo.html
diff --git a/Makefile b/Makefile
-index a443450..d965ae5 100644
+index 3330a1d..801da8f 100644
--- a/Makefile
+++ b/Makefile
-@@ -20,21 +20,10 @@ test:
+@@ -21,21 +21,10 @@ test:
fixup_locale:
sed -ie s%@@LOCALEDIR@@%$(localedir)% git-filter-repo
-
+
-# People installing from tarball will already have man1/git-filter-repo.1 and
-# html/git-filter-repo.html. But let's support people installing from a git
-# clone too; for them, just cheat and snag a copy of the built docs that I
@@ -67,7 +67,7 @@ index a443450..d965ae5 100644
-snag_docs: Documentation/man1/git-filter-repo.1 Documentation/html/git-filter-repo.html
+doc:
+ $(MAKE) -C Documentation man html
-
+
-Documentation/man1/git-filter-repo.1:
- mkdir -p Documentation/man1
- git show origin/docs:man1/git-filter-repo.1 >Documentation/man1/git-filter-repo.1
@@ -78,11 +78,9 @@ index a443450..d965ae5 100644
-
-install: snag_docs #fixup_locale
+install: doc #fixup_locale
- install -Dm0755 git-filter-repo "$(DESTDIR)/$(bindir)/git-filter-repo"
- install -dm0755 "$(DESTDIR)/$(pythondir)"
+ $(INSTALL) -Dm0755 git-filter-repo "$(DESTDIR)/$(bindir)/git-filter-repo"
+ $(INSTALL) -dm0755 "$(DESTDIR)/$(pythondir)"
ln -sf "$(bindir)/git-filter-repo" "$(DESTDIR)/$(pythondir)/git_filter_repo.py"
-
-base-commit: cbc6535694380d3a3bf3e5c96410d4ce7e8de94f
---
-2.41.0
+--
+2.47.1
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 636509d6c5..09973c1f9c 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -4434,7 +4434,12 @@ (define-public git-filter-repo
#:source #+(package-source git))
(for-each
(cut install-file <> doc-source)
- (find-files "." "asciidoc\\.conf$|manpage.*\\.xsl$"))
+ (find-files "." "asciidoc\\.conf\\.in$|manpage.*\\.xsl$"))
+ ;; These attributes are probably not needed.
+ (with-directory-excursion doc-source
+ (substitute* "asciidoc.conf.in"
+ (("@GIT_(VERSION|DATE)@") ""))
+ (rename-file "asciidoc.conf.in" "asciidoc.conf"))
(chdir old-path)
(delete-file-recursively "git-source"))))
(add-before 'build 'set-pythondir
--
2.48.1
N
N
Nicolas Graves wrote on 30 Jan 10:04 +0100
[PATCH v2 0/2] Fix and update git-filter-repo
(address . 75937@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250130090639.13934-1-ngraves@ngraves.fr
This is a fixup to the previously sent patch series.
Changes:
- cleanly separated the fix build and the update part.
- downgraded update from 2.47.0 to 2.45.0 because 2.47.0 breaks b4 package test suite. See https://github.com/newren/git-filter-repo/issues/638

Nicolas Graves (2):
gnu: git-filter-repo: Fix build.
gnu: git-filter-repo: Update to 2.45.0.

.../git-filter-repo-generate-doc.patch | 20 +++++++++----------
gnu/packages/version-control.scm | 11 +++++++---
2 files changed, 17 insertions(+), 14 deletions(-)

--
2.48.1
N
N
Nicolas Graves wrote on 30 Jan 10:04 +0100
[PATCH v2 2/2] gnu: git-filter-repo: Update to 2.45.0.
(address . 75937@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250130090639.13934-3-ngraves@ngraves.fr
* gnu/packages/version-control.scm (git-filter-repo): Update to 2.45.0.
---
gnu/packages/version-control.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 09973c1f9c..39d5c33b20 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -4392,7 +4392,7 @@ (define-public qgit
(define-public git-filter-repo
(package
(name "git-filter-repo")
- (version "2.38.0")
+ (version "2.45.0")
(source
(origin
(method git-fetch)
@@ -4402,7 +4402,7 @@ (define-public git-filter-repo
(file-name (git-file-name name version))
(sha256
(base32
- "1al43zpw1mdfy9i05w4xw178abypjwnkk52lqvmbl19lr1l47r4i"))
+ "03sjxscj7pkldvwcvlqi6k79rcxkd2fyy1rjvpwyp4jgni5kddkx"))
;; Modified from <https://github.com/newren/git-filter-repo/pull/477>.
;; Used with 'unpack-git-source phase.
(patches (search-patches "git-filter-repo-generate-doc.patch"))))
--
2.48.1
R
R
Roman Scherer wrote on 30 Jan 11:02 +0100
[PATCH] gnu: git-filter-repo: Update to 2.47.0.
(address . 75937@debbugs.gnu.org)
87tt9gmxge.fsf@burningswell.com
Hi Nicolas,

I also run into this issue. I applied your patches locally and can
confirm that git-filter-repo now builds again.

The patch looks good to me.

Thanks for fixing it!

Roman
-----BEGIN PGP SIGNATURE-----

iQFTBAEBCAA9FiEE0iajOdjfRIFd3gygPdpSUn0qwZkFAmebTiEfHHJvbWFuLnNj
aGVyZXJAYnVybmluZ3N3ZWxsLmNvbQAKCRA92lJSfSrBmUKLB/9jVY4ZmRSSQXv2
soKWq+zRJomZZp7fVY6F8yKRtgezCMNFBPdkJWfhoT8sWpGbDFV836lZwZqBpTTL
c8CFoDq69sljmlsKmQA+nIxnC21soN3YwI7SYXH4c92I/HB9TA5LN+x5PLdhWZSd
SK9xvWZ6aFe64XaR+lPC0ADDwM7Qp8FHM6Go3kDTy6/vd4yxl88Rt8KP7BGg7x9E
PZxtL7cdkhPPXHsxAipMeFTIqtzvT2IXNL8XftTRmsMy7uZjQDlzBwEjD4zs5Ohz
MrkGX6ipekRtmULWHTzAnh4zC7Qx3gW/2bAVDnHbAjpcBHOWZpQGB3qTzRfRuOWA
sO3aRk15
=mwjv
-----END PGP SIGNATURE-----

H
H
Hilton Chain wrote on 30 Jan 13:22 +0100
Re: [bug#75937] [PATCH v2 0/2] Fix and update git-filter-repo
(name . Nicolas Graves)(address . ngraves@ngraves.fr)(address . 75937-done@debbugs.gnu.org)
87lduscwzm.wl-hako@ultrarare.space
On Thu, 30 Jan 2025 17:04:22 +0800,
Nicolas Graves via Guix-patches via wrote:
Toggle quote (17 lines)
>
> This is a fixup to the previously sent patch series.
> Changes:
> - cleanly separated the fix build and the update part.
> - downgraded update from 2.47.0 to 2.45.0 because 2.47.0 breaks b4 package test suite. See https://github.com/newren/git-filter-repo/issues/638
>
> Nicolas Graves (2):
> gnu: git-filter-repo: Fix build.
> gnu: git-filter-repo: Update to 2.45.0.
>
> .../git-filter-repo-generate-doc.patch | 20 +++++++++----------
> gnu/packages/version-control.scm | 11 +++++++---
> 2 files changed, 17 insertions(+), 14 deletions(-)
>
> --
> 2.48.1

Applied as
a400f3d754c gnu: git-filter-repo: Update to 2.45.0.
c5a4937f0e1 gnu: git-filter-repo: Fix build.

Thanks!
Closed
N
N
Nicolas Graves wrote on 31 Jan 07:52 +0100
[PATCH v3 ruby-team 00/90] Updating ruby
(address . 75937@debbugs.gnu.org)
20250131065542.18548-1-ngraves@ngraves.fr
These are the first 90 patches of v2. I'll send the rest in a new issue.

Nicolas Graves (90):
gnu: ruby: Remove uneeded trailing #t.
gnu: Add ruby-3.4.
gnu: ruby-3.3: Inherit from ruby-3.4.
gnu: ruby-3.3: Update to 3.3.7.
gnu: ruby-3.2: Inherit from ruby-3.3.
gnu: ruby-3.2: Update to 3.2.6.
gnu: ruby-3.1: Inherit from ruby-3.2.
gnu: ruby-3.1: Update to 3.1.6.
gnu: Remove ruby-3.0.
gnu: Remove ruby-2.6.
gnu: ruby-flores: Update to 0.0.8-0.92fded0.
gnu: ruby-stackprof: Update to 0.2.27.
gnu: ruby-contracts: Update to 0.17.2.
gnu: ruby-listen: Remove uneeded ruby-dep propagated-input.
gnu: ruby-immutable-struct: Update to 2.4.1-0.bb67ad8.
gnu: ruby-net-scp: Update to 4.0.1.rc3.
gnu: ruby-vagrant-spec: Remove uneeded ruby-dep propagated-input.
gnu: Remove ruby-dep.
gnu: ruby-hashie: Update to 5.0.0-0.7351055.
gnu: ruby-latex-decode: Remove uneeded ruby-ritex propagated-input.
gnu: Remove ruby-ritex.
gnu: ruby-minitest-hooks: Update to 1.5.2.
gnu: packages: Add comments for migration to ruby@3
gnu: ruby-pg: Update to 1.5.9-0.378b7a3.
gnu: ruby-msgpack: Update to 1.7.5.
gnu: ruby-hoe: Update to 4.2.2.
gnu: ruby-rake-compiler: Update to 1.2.9.
gnu: Add ruby-securerandom.
gnu: ruby-benchmark: Update to 0.4.0.
gnu: ruby-rails: Update to 7.1.5.1.
gnu: ruby-timeout: Update to 0.4.3.
gnu: ruby-concurrent-ruby: Update to 1.3.5.
gnu: Add ruby-rackup-1.
gnu: ruby-erubi: Update to 1.11.0.
gnu: ruby-rails-html-sanitizer: Update to 1.6.0.
gnu: ruby-rails-dom-testing: Update to 2.2.0.
gnu: ruby-puma: Update to 6.5.0.
gnu: ruby-selenium-webdriver: Update to 4.22.0.
gnu: Add ruby-base64.
gnu: ruby-actionpack: Patch source.
gnu: Add ruby-warning.
gnu: ruby-zeitwerk: Update to 2.7.1.
gnu: ruby-mail: Update to 2.8.1.
gnu: ruby-taskjuggler: Update to 3.8.1.
gnu: jekyll: Update to 4.3.4.
gnu: ruby-tilt: Update to 2.1.0.
gnu: ruby-tilt: Update to 2.2.0.
gnu: ruby-asciidoctor: Update to 2.0.20.
gnu: ruby-parser: Update to 3.3.7.0.
gnu: Add ruby-ice-nine.
gnu: ruby-regexp-parser: Update to 2.5.0.
gnu: ruby-regexp-parser: Update to 2.6.0.
gnu: Add ruby-lint-roller.
gnu: ruby-slim: Update to 5.2.1.
gnu: Add ruby-standard-custom.
gnu: Add ruby-standard-performance.
gnu: Add ruby-rubocop-factory-bot.
gnu: ruby-rubocop-capybara-minimal: Update to 2.21.0.
gnu: ruby-rubocop-rspec-minimal: Update to 2.26.0.
gnu: ruby-rubocop-ast: Update to 1.37.0.
gnu: ruby-rubocop-performance: Update to 1.23.1.
gnu: ruby-rubocop: Update to 1.68.0.
gnu: ruby-rubocop-capybara: Relax ruby-danger requirement.
gnu: ruby-standard: Update to 1.37.0.
gnu: Remove ruby-gimme.
gnu: ruby-dotenv: Update to 3.1.7.
gnu: ruby-protobuf: Update to 3.10.9.
gnu: ruby-pleaserun: Fix check phase.
gnu: fpm: Update to 1.16.0.
gnu: ruby-anystyle-data: Update to 1.3.0.
gnu: Add ruby-gdbm.
gnu: ruby-anystyle: Update to 1.4.2.
gnu: anystyle: Update to 1.4.5.
gnu: ruby-rspec-support: Update to 3.13.2.
gnu: ruby-rspec-core: Update to 3.13.2.
gnu: ruby-rspec-mocks: Update to 3.13.2.
gnu: ruby-bcrypt: Update to 3.1.20.
gnu: ruby-rspec-expectations: Update to 3.13.3.
gnu: ruby-rspec: Update to 3.13.0.
gnu: ruby-activesupport: Update package.
gnu: ruby-rspec-rails: Update to 7.0.2.
gnu: ruby-activerecord: Update package.
gnu: ruby-actionpack: Update package.
gnu: ruby-actioncable: Update package.
gnu: ruby-actionmailbox: Update package.
gnu: ruby-actionmailer: Update package.
gnu: ruby-railties: Update package.
gnu: ruby-treetop: Update to 1.6.12.
gnu: ruby-rspec-rails: Update package.
gnu: Add ruby-bindex.

gnu/local.mk | 4 +-
gnu/packages/julia.scm | 1 +
gnu/packages/package-management.scm | 5 +-
.../patches/fpm-newer-clamp-fix.patch | 33 -
...ruby-actionpack-remove-browser-tests.patch | 33 +
...uby-anystyle-fix-dictionary-populate.patch | 2 +-
.../ruby-flores-fix-deprecations.patch | 38 +
.../patches/ruby-pg-fix-connect-timeout.patch | 176 ++
gnu/packages/protobuf.scm | 4 +-
gnu/packages/qt.scm | 2 +
gnu/packages/rails.scm | 162 +-
gnu/packages/ruby.scm | 1589 +++++++++--------
gnu/packages/tex.scm | 1 +
gnu/packages/texlive.scm | 1 +
gnu/packages/textutils.scm | 1 +
gnu/packages/virtualization.scm | 2 +-
gnu/packages/webkit.scm | 1 +
17 files changed, 1168 insertions(+), 887 deletions(-)
delete mode 100644 gnu/packages/patches/fpm-newer-clamp-fix.patch
create mode 100644 gnu/packages/patches/ruby-actionpack-remove-browser-tests.patch
create mode 100644 gnu/packages/patches/ruby-flores-fix-deprecations.patch
create mode 100644 gnu/packages/patches/ruby-pg-fix-connect-timeout.patch

--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:52 +0100
[PATCH v3 01/90] gnu: ruby: Remove uneeded trailing #t.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-2-ngraves@ngraves.fr
---
gnu/packages/ruby.scm | 286 ++++++++++++++----------------------------
1 file changed, 96 insertions(+), 190 deletions(-)

Toggle diff (461 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bbfa5c1b39..c34fdb952d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023, 2024 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -130,8 +131,7 @@ (define-public ruby-2.6
(modules '((guix build utils)))
(snippet `(begin
;; Remove bundled libffi
- (delete-file-recursively "ext/fiddle/libffi-3.2.1")
- #t))))
+ (delete-file-recursively "ext/fiddle/libffi-3.2.1")))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -157,8 +157,7 @@ (define-public ruby-2.6
"test/ruby/test_process.rb"
"test/ruby/test_system.rb"
"tool/rbinstall.rb")
- (("/bin/sh") (which "sh")))
- #t)))))
+ (("/bin/sh") (which "sh"))))))))
(native-inputs (if (%current-target-system)
(list this-package)
'()))
@@ -215,8 +214,7 @@ (define-public ruby-2.7
"test/ruby/test_process.rb"
"test/ruby/test_system.rb"
"tool/rbinstall.rb")
- (("/bin/sh") (which "sh")))
- #t))
+ (("/bin/sh") (which "sh")))))
,@(if (system-hurd?)
'((add-after 'unpack 'skip-tests
(lambda _
@@ -317,8 +315,7 @@ (define-public mruby
(lambda _
(substitute* "Makefile"
(("ruby ./minirake" m)
- (string-append m " --verbose")))
- #t))
+ (string-append m " --verbose")))))
(add-after 'unpack 'disable-broken-tests
(lambda _
(substitute* "mrbgems/mruby-io/test/io.rb"
@@ -326,8 +323,7 @@ (define-public mruby
(string-append m "skip \"Hangs in the Guix build environment\"\n"))
;; This one is really weird. The *expected* output is all wrong.
(("assert\\('`cmd`.*" m)
- (string-append m "skip \"Disable for Guix\"\n")))
- #t))
+ (string-append m "skip \"Disable for Guix\"\n")))))
;; There is no install target
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@@ -337,8 +333,7 @@ (define-public mruby
(mkdir-p bin)
(copy-recursively "build/host/bin" bin)
(mkdir-p lib)
- (copy-recursively "build/host/lib" lib))
- #t)))))
+ (copy-recursively "build/host/lib" lib)))))))
(native-inputs
(list ruby bison))
(home-page "https://github.com/mruby/mruby")
@@ -505,8 +500,7 @@ (define-public ruby-rsync
(lambda _
(substitute* "spec/spec_helper.rb"
(("require 'coveralls'") "")
- (("Coveralls.wear!") ""))
- #t)))))
+ (("Coveralls.wear!") "")))))))
(native-inputs
(list bundler rsync ruby-rspec-core ruby-rspec-expectations
ruby-rspec-mocks))
@@ -637,8 +631,7 @@ (define-public ruby-iruby
(string-append
"Kernel.exec('"
(assoc-ref inputs "python-ipython")
- "/bin/")))
- #t)))))
+ "/bin/"))))))))
(inputs
(list python-ipython))
(propagated-inputs
@@ -949,15 +942,13 @@ (define-public ruby-rspec-its
(lambda _
(substitute* "Gemfile"
(("rspec rspec-core rspec-expectations rspec-mocks rspec-support")
- ""))
- #t))
+ ""))))
(add-before 'build 'loosen-ffi-requirement
(lambda _
;; Accept any version of ruby-ffi.
(substitute* "Gemfile"
((" gem 'ffi', '~> 1\\.9\\.25'")
- " gem 'ffi'"))
- #t))
+ " gem 'ffi'"))))
(add-before 'build 'remove-unnecessary-dependency-versions-from-gemfile
(lambda _
(substitute* "rspec-its.gemspec"
@@ -965,8 +956,7 @@ (define-public ruby-rspec-its
(("spec.add_development_dependency 'cucumber'.*")
"spec.add_development_dependency 'cucumber'\n")
(("bundler.*") "bundler'\n")
- (("\"aruba.*") "'aruba'\n"))
- #t)))))
+ (("\"aruba.*") "'aruba'\n")))))))
(propagated-inputs
(list ruby-rspec-core ruby-rspec-expectations))
(native-inputs
@@ -1899,13 +1889,11 @@ (define-public ruby-prawn-templates
(add-after 'unpack 'do-not-use-bundler
(lambda _
(substitute* "spec/spec_helper.rb"
- ((".*[Bb]undler.*") ""))
- #t))
+ ((".*[Bb]undler.*") ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "rspec"))
- #t)))))
+ (invoke "rspec")))))))
(native-inputs
(list ruby-pdf-inspector ruby-rspec))
(propagated-inputs
@@ -2238,8 +2226,7 @@ (define-public ruby-gimme
((".*(add|gem).*jeweler.*") "")
((".*(add|gem).*pry.*") "")
((".*(add|gem).*growl.*") "")
- ((".*(add|gem).*rb-fsevent.*") ""))
- #t)))))
+ ((".*(add|gem).*rb-fsevent.*") "")))))))
(synopsis "Lightweight test double library for Ruby")
(description "Gimme is a very lightweight test double library for Ruby,
based on Mockito (a mocking framework for Java). It is an opinionated (but
@@ -2549,8 +2536,7 @@ (define-public ruby-ast
(lambda _
(substitute* "test/helper.rb"
(("require 'coveralls'") "")
- (("Coveralls::SimpleCov::Formatter") ""))
- #t))
+ (("Coveralls::SimpleCov::Formatter") ""))))
(add-after 'extract-gemspec 'remove-unnecessary-requirements
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "ast.gemspec"
@@ -2558,8 +2544,7 @@ (define-public ruby-ast
(("%q<rest-client>.*") "%q<rest-client>.freeze, [\">= 0\"])\n")
(("%q<mime-types>.*") "%q<mime-types>.freeze, [\">= 0\"])\n")
(("%q<rake>.*") "%q<rake>.freeze, [\">= 0\"])\n")
- (("12\\.3") "13.0"))
- #t)))))
+ (("12\\.3") "13.0")))))))
(native-inputs
(list bundler
ruby-bacon
@@ -2718,8 +2703,7 @@ (define-public ruby-crack
(for-each (lambda (file)
(display file)(display "\n")
(invoke "ruby" "-Ilib" "-Itest" "-rrubygems" file))
- (find-files "test" ".*rb$")))
- #t)))))
+ (find-files "test" ".*rb$"))))))))
(synopsis "Simple JSON and XML parsing for Ruby")
(description
"@code{crack} provides really simple JSON and XML parsing, extracted from
@@ -2777,8 +2761,7 @@ (define-public ruby-cliver
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "rspec"))
- #t)))))
+ (invoke "rspec")))))))
(native-inputs
(list bundler ruby-rspec-2))
(synopsis "Assertions for command-line dependencies in Ruby")
@@ -3030,13 +3013,11 @@ (define-public ruby-open4
(substitute* "rakefile"
;; Update the Rakefile so it works
(("-rubygems") "-rrubygems")
- (("Config") "RbConfig"))
- #t))
+ (("Config") "RbConfig"))))
(add-before 'check 'set-LIB
(lambda _
;; This is used in the rakefile when running the tests
- (setenv "LIB" "open4")
- #t)))))
+ (setenv "LIB" "open4"))))))
(synopsis "Open child processes from Ruby and manage them easily")
(description
"@code{Open4} is a Ruby library to run child processes and manage their
@@ -3064,8 +3045,7 @@ (define-public ruby-options
(lambda _
;; This is used in the Rakefile, and setting it avoids an issue
;; with running the tests.
- (setenv "LIB" "options")
- #t)))))
+ (setenv "LIB" "options"))))))
(synopsis "Ruby library to parse options from *args cleanly")
(description
"The @code{options} library helps with parsing keyword options in Ruby
@@ -3202,15 +3182,13 @@ (define-public ruby-fakefs
(lambda _
(substitute* "fakefs.gemspec"
(("`git ls-files lib README.md LICENSE`")
- "`find lib README.md LICENSE -type f | sort`"))
- #t))
+ "`find lib README.md LICENSE -type f | sort`"))))
(add-before 'check 'remove-version-constraints
(lambda _
;; Drop hard version requirements for test dependencies.
(substitute* "fakefs.gemspec"
(("(.*add_development_dependency .*), .*" _ dep)
- (string-append dep "\n")))
- #t)))))
+ (string-append dep "\n"))))))))
(native-inputs
(list ruby-bump ruby-maxitest ruby-rubocop ruby-rspec))
(synopsis "Fake file system for Ruby")
@@ -3679,8 +3657,7 @@ (define-public ruby-permutation
(substitute* "Rakefile"
(("require 'rake/gempackagetask'")
"require 'rubygems/package_task'")
- (("include Config") ""))
- #t))
+ (("include Config") ""))))
(replace 'check
(lambda _
(invoke "ruby" "-Ilib" "test/test.rb"))))))
@@ -3708,8 +3685,7 @@ (define-public ruby-shellany
(add-after 'unpack 'fix-version-test
(lambda _
(substitute* "spec/shellany_spec.rb"
- (("^RSpec") "require \"shellany\"\nRSpec"))
- #t)))))
+ (("^RSpec") "require \"shellany\"\nRSpec")))))))
(native-inputs
(list ruby-rspec ruby-nenv bundler))
(synopsis "Capture command output")
@@ -3765,19 +3741,16 @@ (define-public ruby-forking-test-runner
(lambda _
(substitute* "forking_test_runner.gemspec"
(("`git ls-files lib/ bin/ MIT-LICENSE`")
- "`find lib/ bin/ MIT-LICENSE -type f | sort`"))
- #t))
+ "`find lib/ bin/ MIT-LICENSE -type f | sort`"))))
(add-before 'check 'remove-version-constraints
(lambda _
;; Ignore hard coded version constraints for the tests.
- (delete-file "Gemfile.lock")
- #t))
+ (delete-file "Gemfile.lock")))
(add-before 'check 'set-HOME
(lambda _
;; Many tests invoke Bundler, and fails when Bundler
;; warns that /homeless-shelter does not exist.
- (setenv "HOME" "/tmp")
- #t)))))
+ (setenv "HOME" "/tmp"))))))
(native-inputs
(list ruby-activerecord ruby-bump ruby-rspec ruby-sqlite3 ruby-wwtd))
(propagated-inputs
@@ -3836,13 +3809,11 @@ (define-public ruby-fuubar
;; Remove 's.cert_chain' as we do not build with a private key
(substitute* "fuubar.gemspec"
((".*cert_chain.*") "")
- ((".*signing_key.*") ""))
- #t))
+ ((".*signing_key.*") ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "rspec"))
- #t)))))
+ (invoke "rspec")))))))
(native-inputs
(list bundler))
(propagated-inputs
@@ -3947,8 +3918,7 @@ (define-public ruby-hashdiff
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "rspec"))
- #t)))))
+ (invoke "rspec")))))))
(native-inputs
(list bundler ruby-rspec-2))
(synopsis "HashDiff computes the smallest difference between two hashes")
@@ -5193,8 +5163,7 @@ (define-public ruby-maruku
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "rspec"))
- #t)))))
+ (invoke "rspec")))))))
(native-inputs
(list ruby-rspec ruby-simplecov ruby-nokogiri-diff))
(synopsis "Markdown interpreter in Ruby")
@@ -5227,8 +5196,7 @@ (define-public ruby-metaclass
test-unit "/lib/ruby/vendor_ruby"
"/gems/test-unit-"
,(package-version ruby-test-unit)
- "/lib\""))))
- #t)))))
+ "/lib\"")))))))))
(native-inputs
(list bundler ruby-test-unit/minimal))
(synopsis "Ruby library adding metaclass method to all objects")
@@ -5322,13 +5290,11 @@ (define-public ruby-mspec
(lambda _
(substitute* "mspec.gemspec"
(("rake.*") "rake>)\n")
- (("rspec.*") "rspec>)\n"))
- #t))
+ (("rspec.*") "rspec>)\n"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "rspec" "spec"))
- #t)))))
+ (invoke "rspec" "spec")))))))
(native-inputs
(list bundler ruby-rake ruby-rspec))
(synopsis "MSpec is a specialized framework for RubySpec")
@@ -5362,15 +5328,13 @@ (define-public ruby-mysql2
(replace 'replace-git-ls-files
(lambda _
(substitute* "mysql2.gemspec"
- (("git ls-files .*`") "find . -type f |sort`"))
- #t))
+ (("git ls-files .*`") "find . -type f |sort`"))))
(add-before 'install 'set-MAKEFLAGS
(lambda* (#:key outputs #:allow-other-keys)
(setenv "MAKEFLAGS"
(string-append
"V=1 "
- "prefix=" (assoc-ref outputs "out")))
- #t))
+ "prefix=" (assoc-ref outputs "out")))))
;; Move the 'check phase to after 'install, as then you can test
;; using the installed mysql2 gem in the store.
(delete 'check)
@@ -5382,8 +5346,7 @@ (define-public ruby-mysql2
":"
(assoc-ref outputs "out") "/lib/ruby/vendor_ruby"))
(when tests?
- (invoke "rspec"))
- #t)))))
+ (invoke "rspec")))))))
(inputs
`(("mariadb-dev" ,mariadb "dev")
("zlib" ,zlib)))
@@ -5481,8 +5444,7 @@ (define-public ruby-idn-ruby
"/lib/ruby/vendor_ruby/gems/"
name-and-version
"/lib")
- (find-files "./test" ".*\\.rb"))))
- #t)))))
+ (find-files "./test" ".*\\.rb")))))))))
(inputs
(list libidn))
(synopsis "Ruby Bindings for the GNU LibIDN library")
@@ -5564,8 +5526,7 @@ (define-public ruby-redcarpet
(lambda _
(substitute* "Rakefile"
(("task :test => %w\\[test:unit test:conformance\\]")
- "task :test => %w[test:unit]"))
- #t)))))
+ "task :test => %w[test:unit]")))))))
(native-inputs
(list bundler ruby-test-unit ruby-rake-compiler))
(synopsis "Extensible Markdown to (X)HTML converter")
@@ -5915,8 +5876,7 @@ (define-public ruby-minitest-around
(add-after 'extract-gemspec 'remove-unnecessary-dependency-versions
(lambda _
(substitute* "minitest-around.gemspec"
- (("%q<cucumber>.*") "%q<cucumber>, [\">= 0\"])\n"))
- #t)))))
+ (("%q<cucumber>.*") "%q<cucumber>, [\">= 0\"])\n")))))))
(propagated-inputs
(list ruby-minitest))
(native-inputs
@@ -6144,8 +6104,7 @@ (define-public ruby-minitest-moar
(("gem .*") ""))
;; Remove byebug as not needed to run tests.
(substitute* "test/test_helper.rb"
- (("require 'byebug'") ""))
- #t)))))
+ (("require 'byebug'") "")))))))
(native-inputs
(list bundler ruby-minitest))
(synopsis "Extra features and changes to MiniTest")
@@ -6211,13 +6170,11 @@ (define-public ruby-minitest-reporters
(lambda _
(substitute* "Rakefile"
(("require 'rubocop/rake\\_task'") "")
- (("RuboCop::RakeTask\\.new\\(:rubocop\\)") "[].each"))
- #t))
+ (("RuboCop::RakeTask\\.new\\(:rubocop\\)") "[].each"))))
(add-after 'extract-gemspec 'remove-rubocop-from-gemspec
(lambda _
(substitute* "minitest-reporters.gemspec"
- ((".*%q<rubocop>.*") "\n"))
- #t)))))
+ ((".*%q<rubocop>.*") "\n")))))))
(propagated-inputs
(list ruby-ansi ruby-builder ruby-minitest ruby-progressbar))
(native-inputs
@@ -6498,8 +6455,7 @@ (define-public ruby-git
,version "/lib/git/config.rb")))
(substitute* (list config)
(("'git'")
- (string-append "'" git "'")))
- #t))))))
+ (string-append "'" git "'")))))))))
(inputs
(list git))
(synopsis "Ruby wrappers for Git")
@@ -6876,8 +6832,7 @@ (define-public ruby-method-source
(add-after 'unpack 'remove-git-ls-files
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Rakefile"
- (("git ls-files") "find . -type f"))
- #t)))))
+ (("git ls-files") "find . -type f")))))))
(native-inputs
(list ruby-rspec))
(synopsis "Retrieve the source code for Ruby methods")
@@ -7445,8 +7400,7 @@ (define-public ruby-guard
(add-after 'unpack 'remove-git-ls-files
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "guard.gemspec"
- (("git ls-files -z") "find . -type f -print0"))
- #t))
+ (("git ls-files -z") "find . -type f -print0"))))
(replace 'build
(lambda _
(invoke "gem" "build" "guard.gemspec"))))))
@@ -7823,8 +7777,7 @@ (define-public ruby-sdoc
(("s.add_dependency.*") "\n"))
(substitute* "Gemfile"
(("gem \"rake\".*")
- "gem 'rake'\ngem 'rdoc'\ngem 'json'\n"))
- #t)))))
+ "gem 'rake'\ngem 'rdoc'\ngem 'json'\n")))))))
(propagated-inputs
(list ruby-json))
(native-inputs
@@ -9083,8 +9036,7 @@ (define-public ruby-rainbow
(replace 'ch
This message was truncated. Download the full message here.
N
N
Nicolas Graves wrote on 31 Jan 07:52 +0100
[PATCH v3 03/90] gnu: ruby-3.3: Inherit from ruby-3.4.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-4-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.3): Move after ruby-3.4.
[inherit]: Switch to ruby-3.4.
---
gnu/packages/ruby.scm | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)

Toggle diff (48 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index de98a3c8b2..0299836a83 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -175,6 +175,20 @@ (define-public ruby-3.4
(home-page "https://www.ruby-lang.org")
(license license:ruby)))
+(define-public ruby-3.3
+ (package
+ (inherit ruby-3.4)
+ (version "3.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
+ (version-major+minor version)
+ "/ruby-" version ".tar.xz"))
+ (sha256
+ (base32
+ "07pwf3zkf7idl95agfjbv2lvamcp0spp0znqp9arb71ri19rkh43"))))))
+
(define-public ruby-2.6
(package
(name "ruby")
@@ -335,20 +349,6 @@ (define-public ruby-3.2
(modify-inputs (package-inputs ruby-3.1)
(prepend libyaml)))))
-(define-public ruby-3.3
- (package
- (inherit ruby-3.2)
- (version "3.3.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "07pwf3zkf7idl95agfjbv2lvamcp0spp0znqp9arb71ri19rkh43"))))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:52 +0100
[PATCH v3 02/90] gnu: Add ruby-3.4.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-3-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.4): New variable.
---
gnu/packages/ruby.scm | 60 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)

Toggle diff (73 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c34fdb952d..de98a3c8b2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -115,6 +115,66 @@ (define %prawn-project-licenses
license:gpl2+
license:gpl3+))
+(define-public ruby-3.4
+ (package
+ (name "ruby")
+ (version "3.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
+ (version-major+minor version)
+ "/ruby-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1bvhzbdwdj502wsrs97fvw6jvid2swzjvqj7v2kc1qrbnpzmk381"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:configure-flags
+ ,(if (%current-target-system)
+ '(list (string-append
+ "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib")
+ "--enable-shared")
+ ''("--enable-shared")) ; dynamic linking
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'replace-bin-sh-and-remove-libffi
+ (lambda _
+ (substitute* '("configure.ac"
+ "template/Makefile.in"
+ "lib/rubygems/installer.rb"
+ "ext/pty/pty.c"
+ "io.c"
+ "lib/mkmf.rb"
+ "process.c"
+ "test/rubygems/test_gem_ext_configure_builder.rb"
+ "test/rdoc/test_rdoc_parser.rb"
+ "test/ruby/test_rubyoptions.rb"
+ "test/ruby/test_process.rb"
+ "test/ruby/test_system.rb"
+ "tool/rbinstall.rb")
+ (("/bin/sh") (which "sh"))))))))
+ (native-inputs
+ (append (if (%current-target-system)
+ (list this-package)
+ '())
+ (list autoconf libyaml)))
+ (inputs
+ (list readline openssl-1.1 libffi gdbm))
+ (propagated-inputs
+ (list zlib))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GEM_PATH")
+ (files (list (string-append "lib/ruby/vendor_ruby"))))))
+ (synopsis "Programming language interpreter")
+ (description "Ruby is a dynamic object-oriented programming language with
+a focus on simplicity and productivity.")
+ (home-page "https://www.ruby-lang.org")
+ (license license:ruby)))
+
(define-public ruby-2.6
(package
(name "ruby")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:52 +0100
[PATCH v3 04/90] gnu: ruby-3.3: Update to 3.3.7.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-5-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.3): Update to 3.3.7.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0299836a83..73a38545c7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -178,7 +178,7 @@ (define-public ruby-3.4
(define-public ruby-3.3
(package
(inherit ruby-3.4)
- (version "3.3.3")
+ (version "3.3.7")
(source
(origin
(method url-fetch)
@@ -187,7 +187,7 @@ (define-public ruby-3.3
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "07pwf3zkf7idl95agfjbv2lvamcp0spp0znqp9arb71ri19rkh43"))))))
+ "0wmdnqcmfa5mf961hzklvjic7vdpgrbl2ckhaafb1m0fbrhbrg2x"))))))
(define-public ruby-2.6
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 05/90] gnu: ruby-3.2: Inherit from ruby-3.3.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-6-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.2): Move after ruby-3.3.
[inherit]: Switch to ruby-3.3.
---
gnu/packages/ruby.scm | 31 ++++++++++++++-----------------
1 file changed, 14 insertions(+), 17 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 73a38545c7..0d11c1bcb8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -189,6 +189,20 @@ (define-public ruby-3.3
(base32
"0wmdnqcmfa5mf961hzklvjic7vdpgrbl2ckhaafb1m0fbrhbrg2x"))))))
+(define-public ruby-3.2
+ (package
+ (inherit ruby-3.3)
+ (version "3.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
+ (version-major+minor version)
+ "/ruby-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0ss7pb7f62sakq5ywpw3dl0v586cl61cd91qlm1i094c9fak3cng"))))))
+
(define-public ruby-2.6
(package
(name "ruby")
@@ -332,23 +346,6 @@ (define-public ruby-3.1
(base32
"0kzr792rk9n9yrqlyrkc1a0cmbk5y194f7v7p4vwjdk0ww860v8v"))))))
-(define-public ruby-3.2
- (package
- (inherit ruby-3.1)
- (version "3.2.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "0ss7pb7f62sakq5ywpw3dl0v586cl61cd91qlm1i094c9fak3cng"))))
- (inputs
- (modify-inputs (package-inputs ruby-3.1)
- (prepend libyaml)))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 06/90] gnu: ruby-3.2: Update to 3.2.6.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-7-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.2): Update to 3.2.6.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0d11c1bcb8..454746cc38 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -192,7 +192,7 @@ (define-public ruby-3.3
(define-public ruby-3.2
(package
(inherit ruby-3.3)
- (version "3.2.3")
+ (version "3.2.6")
(source
(origin
(method url-fetch)
@@ -201,7 +201,7 @@ (define-public ruby-3.2
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0ss7pb7f62sakq5ywpw3dl0v586cl61cd91qlm1i094c9fak3cng"))))))
+ "1jvyl8szfhinhqjiv40pfqck95lhikjx3iwxsylw9hiq481384b7"))))))
(define-public ruby-2.6
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 07/90] gnu: ruby-3.1: Inherit from ruby-3.2.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-8-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.1): Move after ruby-3.2.
[inherit]: Switch to ruby-3.2.
---
gnu/packages/ruby.scm | 31 +++++++++++++++++--------------
1 file changed, 17 insertions(+), 14 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 454746cc38..9937524fbe 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -203,6 +203,23 @@ (define-public ruby-3.2
(base32
"1jvyl8szfhinhqjiv40pfqck95lhikjx3iwxsylw9hiq481384b7"))))))
+(define-public ruby-3.1
+ (package
+ (inherit ruby-3.2)
+ (version "3.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
+ (version-major+minor version)
+ "/ruby-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0kzr792rk9n9yrqlyrkc1a0cmbk5y194f7v7p4vwjdk0ww860v8v"))))
+ (inputs
+ (modify-inputs (package-inputs ruby-3.2)
+ (delete "libyaml")))))
+
(define-public ruby-2.6
(package
(name "ruby")
@@ -332,20 +349,6 @@ (define-public ruby-3.0
(modify-inputs (package-inputs ruby-2.7)
(replace "openssl" openssl)))))
-(define-public ruby-3.1
- (package
- (inherit ruby-3.0)
- (version "3.1.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "0kzr792rk9n9yrqlyrkc1a0cmbk5y194f7v7p4vwjdk0ww860v8v"))))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 08/90] gnu: ruby-3.1: Update to 3.1.6.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-9-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.1): Update to 3.1.6.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9937524fbe..d4016713b2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -206,7 +206,7 @@ (define-public ruby-3.2
(define-public ruby-3.1
(package
(inherit ruby-3.2)
- (version "3.1.4")
+ (version "3.1.6")
(source
(origin
(method url-fetch)
@@ -215,7 +215,7 @@ (define-public ruby-3.1
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0kzr792rk9n9yrqlyrkc1a0cmbk5y194f7v7p4vwjdk0ww860v8v"))))
+ "00k17kkajmk3dwawlvf312sm4hf5980khpfbcdl8lb95ky2d2ysr"))))
(inputs
(modify-inputs (package-inputs ruby-3.2)
(delete "libyaml")))))
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 09/90] gnu: Remove ruby-3.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-10-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-3.0): Delete variable.
---
gnu/packages/ruby.scm | 17 -----------------
1 file changed, 17 deletions(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index d4016713b2..614e0ea0da 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -332,23 +332,6 @@ (define-public ruby-2.7
'())
(list autoconf)))))
-(define-public ruby-3.0
- (package
- (inherit ruby-2.7)
- (version "3.0.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "1lfvgm6jbspmwmc3haww83l1l8vl1airzi08ljrcz19dws9yxjxm"))))
- (inputs
- (modify-inputs (package-inputs ruby-2.7)
- (replace "openssl" openssl)))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 10/90] gnu: Remove ruby-2.6.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-11-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-2.6): Delete variable.
---
gnu/packages/ruby.scm | 80 +++++++++----------------------------------
1 file changed, 17 insertions(+), 63 deletions(-)

Toggle diff (111 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 614e0ea0da..3d72567fce 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -220,79 +220,20 @@ (define-public ruby-3.1
(modify-inputs (package-inputs ruby-3.2)
(delete "libyaml")))))
-(define-public ruby-2.6
- (package
- (name "ruby")
- (version "2.6.10")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "1wn12klc44hn2nh5v1lkqbdyvljip6qhwjqvkkf8zf112gaxxn2z"))
- (modules '((guix build utils)))
- (snippet `(begin
- ;; Remove bundled libffi
- (delete-file-recursively "ext/fiddle/libffi-3.2.1")))))
- (build-system gnu-build-system)
- (arguments
- `(#:test-target "test"
- #:configure-flags
- ,(if (%current-target-system)
- '(list (string-append
- "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib")
- "--enable-shared")
- ''("--enable-shared")) ; dynamic linking
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'replace-bin-sh-and-remove-libffi
- (lambda _
- (substitute* '("Makefile.in"
- "ext/pty/pty.c"
- "io.c"
- "lib/mkmf.rb"
- "process.c"
- "test/rubygems/test_gem_ext_configure_builder.rb"
- "test/rdoc/test_rdoc_parser.rb"
- "test/ruby/test_rubyoptions.rb"
- "test/ruby/test_process.rb"
- "test/ruby/test_system.rb"
- "tool/rbinstall.rb")
- (("/bin/sh") (which "sh"))))))))
- (native-inputs (if (%current-target-system)
- (list this-package)
- '()))
- (inputs
- (list readline openssl-1.1 libffi gdbm))
- (propagated-inputs
- (list zlib))
- (native-search-paths
- (list (search-path-specification
- (variable "GEM_PATH")
- (files (list (string-append "lib/ruby/vendor_ruby"))))))
- (synopsis "Programming language interpreter")
- (description "Ruby is a dynamic object-oriented programming language with
-a focus on simplicity and productivity.")
- (home-page "https://www.ruby-lang.org")
- (license license:ruby)))
-
(define-public ruby-2.7
(package
- (inherit ruby-2.6)
+ (name "ruby")
(version "2.7.8")
(source
(origin
- (inherit (package-source ruby-2.6))
+ (method url-fetch)
(uri (string-append "https://cache.ruby-lang.org/pub/ruby/"
(version-major+minor version)
"/ruby-" version ".tar.gz"))
(sha256
(base32
"182vni66djmiqagwzfsd0za7x9k3zag43b88c590aalgphybdnn2"))))
+ (build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:configure-flags
@@ -330,7 +271,20 @@ (define-public ruby-2.7
(append (if (%current-target-system)
(list this-package)
'())
- (list autoconf)))))
+ (list autoconf)))
+ (inputs
+ (list readline openssl-1.1 libffi gdbm))
+ (propagated-inputs
+ (list zlib))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GEM_PATH")
+ (files (list (string-append "lib/ruby/vendor_ruby"))))))
+ (synopsis "Programming language interpreter")
+ (description "Ruby is a dynamic object-oriented programming language with
+a focus on simplicity and productivity.")
+ (home-page "https://www.ruby-lang.org")
+ (license license:ruby)))
(define-public ruby ruby-3.1)
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 11/90] gnu: ruby-flores: Update to 0.0.8-0.92fded0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-12-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-flores): Update to 0.0.8-0.92fded0.
[origin]<source>: Move to git-fetch to be able to choose latest
commit. Use snippet to list files in flores.gemspec. Record patch to
fix deprecations.
* gnu/local.mk: Record patch.
* gnu/packages/patches/ruby-flores-fix-deprecations.patch: Add patch.
---
gnu/local.mk | 1 +
.../ruby-flores-fix-deprecations.patch | 38 +++++++++++++
gnu/packages/ruby.scm | 56 +++++++++++--------
3 files changed, 72 insertions(+), 23 deletions(-)
create mode 100644 gnu/packages/patches/ruby-flores-fix-deprecations.patch

Toggle diff (126 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 313aab2d65..19542cae23 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2186,6 +2186,7 @@ dist_patch_DATA = \
%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 \
+ %D%/packages/patches/ruby-flores-fix-deprecations.patch \
%D%/packages/patches/ruby-latex-decode-fix-test.patch \
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
%D%/packages/patches/ruby-nokogiri.patch \
diff --git a/gnu/packages/patches/ruby-flores-fix-deprecations.patch b/gnu/packages/patches/ruby-flores-fix-deprecations.patch
new file mode 100644
index 0000000000..036c308edf
--- /dev/null
+++ b/gnu/packages/patches/ruby-flores-fix-deprecations.patch
@@ -0,0 +1,38 @@
+From b1c38d58d5e94df8c74c9c69c2f9b5841589a4bd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?C=C3=A9dric=20Boutillier?= <boutil@debian.org>
+Date: Mon, 23 Sep 2024 23:47:22 +0200
+Subject: [PATCH] Replace deprecated Fixnum by Integer
+
+https://github.com/jordansissel/ruby-flores/pull/14
+
+---
+ lib/flores/random.rb | 2 +-
+ spec/flores/random_spec.rb | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/flores/random.rb b/lib/flores/random.rb
+index e512b80..ec44f8b 100644
+--- a/lib/flores/random.rb
++++ b/lib/flores/random.rb
+@@ -32,7 +32,7 @@ module Flores::Random
+ # * The length can be a number or a range `x..y`. If a range, it must be ascending (x < y)
+ # * Negative lengths are not permitted and will raise an ArgumentError
+ #
+- # @param length [Fixnum or Range] the length of text to generate
++ # @param length [Integer or Range] the length of text to generate
+ # @return [String] the generated text
+ def self.text(length)
+ return text_range(length) if length.is_a?(Range)
+diff --git a/spec/flores/random_spec.rb b/spec/flores/random_spec.rb
+index 9e479fb..0e792c3 100644
+--- a/spec/flores/random_spec.rb
++++ b/spec/flores/random_spec.rb
+@@ -108,7 +108,7 @@
+ end
+
+ describe "#integer" do
+- it_behaves_like Numeric, Fixnum do
++ it_behaves_like Numeric, Integer do
+ subject { Flores::Random.integer(range) }
+ end
+ end
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3d72567fce..8374b0496e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4538,30 +4538,40 @@ (define-public ruby-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 #:ruby ruby-2.7
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ruby" (which "rspec"))))))))
- (native-inputs (list ruby-rspec ruby-simplecov))
- (synopsis "Fuzzing, randomization, and stress testing library")
- (description "Flores is a fuzzing, randomization, and stress library to
+ (let ((commit "92fded00b04b1e3d308edb7440d7b7ab2c89ab5e")
+ (revision "0"))
+ (package
+ (name "ruby-flores")
+ (version (git-version "0.0.8" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jordansissel/ruby-flores")
+ (commit commit)))
+ (sha256
+ (base32 "0jvnw0jli2zzxklfk751vfbi4acf9lijppk67346j3b2qxqi8xms"))
+ (patches
+ (search-patches "ruby-flores-fix-deprecations.patch"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-gemspec
+ (lambda _
+ (substitute* "flores.gemspec"
+ ;; Since this is not a git repository, do not call 'git'.
+ (("git ls-files") "find . -type f |sort"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ruby" (which "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)))
+ (home-page "https://github.com/jordansissel/ruby-flores")
+ (license license:asl2.0))))
(define-public ruby-ipaddr
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 12/90] gnu: ruby-stackprof: Update to 0.2.27.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-13-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-stackprof): Update to 0.2.27.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8374b0496e..c3ec81c803 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9898,13 +9898,13 @@ (define-public ruby-pry-byebug
(define-public ruby-stackprof
(package
(name "ruby-stackprof")
- (version "0.2.26")
+ (version "0.2.27")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "stackprof" version))
(sha256
- (base32 "1gdqqwnampxmc54nf6zfy9apkmkpdavzipvfssmjlhnrrjy8qh7f"))))
+ (base32 "03788mbipmihq2w7rznzvv0ks0s9z1321k1jyr6ffln8as3d5xmg"))))
(build-system ruby-build-system)
(arguments
(list
@@ -9926,7 +9926,7 @@ (define-public ruby-stackprof
;; This test often fails
(("def test_gc") "def skip_test_gc")
;; This test is known to fail on 32-bit systems.
- ;; /gnu/store/...-stackprof-0.2.26.gem
+ ;; /gnu/store/...-stackprof-0.2.27.gem
(("def test_raw") "def skip_test_raw"))))
(add-before 'check 'build-tests
(lambda _
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 13/90] gnu: ruby-contracts: Update to 0.17.2.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-14-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-contracts): Update to 0.17.2.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c3ec81c803..f69b76c136 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2648,14 +2648,14 @@ (define-public ruby-console
(define-public ruby-contracts
(package
(name "ruby-contracts")
- (version "0.17")
+ (version "0.17.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "contracts" version))
(sha256
(base32
- "0gfybfsb6kqxvvcrv1q7bfjaxmq73pf3vqy4bbzarkbajil05ii5"))))
+ "1sclvlwnlxfaj1595xd0rn3x3w0ljic3vqgnx6476lr7x8xbpbiv"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 17/90] gnu: ruby-vagrant-spec: Remove uneeded ruby-dep propagated-input.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-18-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-vagrant-spec)[propagated-inputs]: Remove
ruby-dep.
---
gnu/packages/virtualization.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index b8819bb14d..c9ed54bc57 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2446,7 +2446,7 @@ (define-public ruby-vagrant-spec
"1bkzz3mj7kzsv6k0ii8w31cgkpiqw3wvmvv2c6rknsavqqnagb4g"))))
(build-system ruby-build-system)
;; (native-inputs (list ruby-rubocop ruby-vagrant-spec-helper-basic))
- (propagated-inputs (list ruby-coveralls ruby-serverspec ruby-dep))
+ (propagated-inputs (list ruby-coveralls ruby-serverspec))
(arguments
(list
#:tests? #f ;; tests require vagrant
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 18/90] gnu: Remove ruby-dep.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-19-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-dep): Delete variable.
---
gnu/packages/ruby.scm | 23 -----------------------
1 file changed, 23 deletions(-)

Toggle diff (36 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 678ed33aa0..4e445e4bb5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7200,29 +7200,6 @@ (define-public ruby-progress_bar
(home-page "https://github.com/paul/progress_bar")
(license license:wtfpl2)))
-(define-public ruby-dep
- (package
- (name "ruby-dep")
- (version "1.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "ruby_dep" version))
- (sha256
- (base32
- "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"))))
- (build-system ruby-build-system)
- (arguments
- (list
- #:ruby ruby-2.7
- #:tests? #f)) ; No included tests
- (synopsis "Creates a version constraint of supported Rubies")
- (description
- "This package helps create a version constraint of supported Rubies,
-suitable for a gemspec file.")
- (home-page "https://github.com/e2/ruby_dep")
- (license license:expat)))
-
(define-public ruby-progressbar
(package
(name "ruby-progressbar")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 19/90] gnu: ruby-hashie: Update to 5.0.0-0.7351055.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-20-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-hashie): Update to 5.0.0-0.7351055.
---
gnu/packages/ruby.scm | 74 ++++++++++++++++++++++---------------------
1 file changed, 38 insertions(+), 36 deletions(-)

Toggle diff (88 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4e445e4bb5..9d09a9391b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14362,43 +14362,45 @@ (define-public ruby-rouge
license:bsd-2))))
(define-public ruby-hashie
- (package
- (name "ruby-hashie")
- (version "5.0.0")
- (source (origin
- (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
- "0ihami0cdn71cvwzwgr3vxqvqi0ifqsna0vlyqiqlhsnf93w0cm8"))))
- (build-system ruby-build-system)
- (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
+ (let ((commit "73510552ba580867e9882fe092568916cbcd810b")
+ (revision "0"))
+ (package
+ (name "ruby-hashie")
+ (version (git-version "5.0.0" revision commit))
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/hashie/hashie")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08rpx040h6vgx6ynk6w029f7z7c8aj2p4v135k2l1zxvnw617ddw"))))
+ (build-system ruby-build-system)
+ (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.")
- (license license:expat)))
+ (license license:expat))))
(define-public ruby-heredoc-unindent
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 20/90] gnu: ruby-latex-decode: Remove uneeded ruby-ritex propagated-input.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-21-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-latex-decode)[propagated-inputs]: Remove
ruby-ritex.
---
gnu/packages/ruby.scm | 1 -
1 file changed, 1 deletion(-)

Toggle diff (14 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9d09a9391b..f2b9d20b58 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17230,7 +17230,6 @@ (define-public ruby-latex-decode
(build-system ruby-build-system)
(native-inputs
(list ruby-cucumber
- ruby-ritex
ruby-rspec))
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 21/90] gnu: Remove ruby-ritex.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-22-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-ritex): Delete variable.
---
gnu/packages/ruby.scm | 43 -------------------------------------------
1 file changed, 43 deletions(-)

Toggle diff (56 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f2b9d20b58..9d411b96ee 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17171,49 +17171,6 @@ (define-public ruby-namae
parts (e.g., given and family names, honorifics etc.).")
(license (list license:bsd-2 license:agpl3+))))
-(define-public ruby-ritex
- (package
- (name "ruby-ritex")
- (version "1.0.1")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "ritex" version))
- (sha256
- (base32
- "07rlm3nyz9sxzy1srxs6a31hw81r6w7swrb85fiwi393z8npwc3a"))))
- (build-system ruby-build-system)
- (native-inputs
- (list itex2mml))
- (arguments
- ;; thanks to the Gentoo packagers for figuring this out
- (list
- #:ruby ruby-2.7
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'extract-gemspec 'fix-tests
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (substitute* "test/mathml.rb"
- (("\\./itex2MML")
- ;; don't use the absolute path to avoid keeping a reference
- "itex2MML")
- (("cmp ',\\\\,\\\\,,,\\\\,'" orig)
- (string-append "# " orig " # patched for Guix")))
- (substitute* "test/answer-key.yaml"
- (("- ,\\\\,\\\\,,,\\\\," orig)
- (string-append "# " orig " # patched for Guix")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ruby" "-Ilib:." "test/all.rb")))))))
- (home-page "https://rubygems.org/gems/ritex")
- (synopsis "Convert expressions from WebTeX into MathML")
- (description
- "Ritex converts expressions from WebTeX into MathML. WebTeX is an
-adaptation of TeX math syntax for web display. Ritex makes inserting math
-into HTML pages easy. It supports most TeX math syntax as well as macros.")
- ;; doesn't clearly state -only vs -or-later
- (license license:gpl2)))
-
(define-public ruby-latex-decode
(package
(name "ruby-latex-decode")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 22/90] gnu: ruby-minitest-hooks: Update to 1.5.2.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-23-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-minitest-hooks): Update to 1.5.2.
[arguments]<test-target>: Remove field. Update comment.
---
gnu/packages/ruby.scm | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9d411b96ee..af0152bb74 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6246,20 +6246,16 @@ (define-public ruby-minitest-global-expectations
(define-public ruby-minitest-hooks
(package
(name "ruby-minitest-hooks")
- (version "1.5.0")
+ (version "1.5.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "minitest-hooks" version))
(sha256
- (base32
- "05z8r6sw3fz4s44fs1150ndlcmcy82vlxmhps5nncg8vk59k3gmf"))))
+ (base32 "11jb31dl5kbpyl3kgxql0p7da9066r2aqw54y5q6cni9nmld3zf5"))))
(build-system ruby-build-system)
(arguments
- '(#:test-target "spec"
- ;; Test suite is incompatible with ruby-2.7.
- ;; https://github.com/jeremyevans/minitest-hooks/issues/19
- #:tests? #f))
+ '(#:tests? #f)) ; No tests bundled.
(native-inputs
(list ruby-sequel ruby-sqlite3))
(synopsis "Hooks for the minitest framework")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 14/90] gnu: ruby-listen: Remove uneeded ruby-dep propagated-input.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-15-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-listen)[propagated-inputs]: Remove
ruby-dep.
---
gnu/packages/ruby.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f69b76c136..cc3a83509e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8349,7 +8349,7 @@ (define-public ruby-listen
;; in the wrapper, and therefore just needs to be an input.
ruby-thor))
(propagated-inputs
- (list ruby-rb-fsevent ruby-rb-inotify ruby-dep))
+ (list ruby-rb-fsevent ruby-rb-inotify))
(synopsis "Listen to file modifications")
(description "The Listen gem listens to file modifications and notifies
you about the changes.")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 15/90] gnu: ruby-immutable-struct: Update to 2.4.1-0.bb67ad8.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-16-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-immutable-struct): Update to 2.4.1-0.bb67ad8.
---
gnu/packages/ruby.scm | 63 ++++++++++++++++++++++---------------------
1 file changed, 32 insertions(+), 31 deletions(-)

Toggle diff (76 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cc3a83509e..0e98af7ad9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7961,37 +7961,38 @@ (define-public ruby-term-ansicolor
(license license:gpl2)))
(define-public ruby-immutable-struct
- (package
- (name "ruby-immutable-struct")
- (version "2.4.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/stitchfix/immutable-struct")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "17hlmy9jfwn3i5h2rwv832ycwcdqwxq7dkkd2yly28klwj0l52rq"))))
- (build-system ruby-build-system)
- (arguments
- (list
- ;; Issues with the lack of Set in Ruby 3
- #:ruby ruby-2.7
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ruby" (which "rspec"))))))))
- (native-inputs
- (list ruby-rspec))
- (synopsis "Ruby library for creating immutable struct classes")
- (description
- "Easily create value objects without the pain of Ruby's Struct (or its setters)")
- (home-page "https://stitchfix.github.io/immutable-struct/")
- (license license:expat)))
+ (let ((commit "bb67ad8fa2117e8031c3f4333b4c25c8bcd3afff")
+ (revision "0"))
+ (package
+ (name "ruby-immutable-struct")
+ (version (git-version "2.4.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stitchfix/immutable-struct")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vsr2spypjf0i7ppg2a0gj3mjj5k3dyqsx224cbsxw51p6cc11c1"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ruby" (which "rspec"))))))))
+ (native-inputs
+ (list ruby-rspec))
+ (synopsis "Ruby library for creating immutable struct classes")
+ (description
+ "This package provides a library to help create value objects without
+the pain of Ruby's Struct (or its setters).")
+ (home-page "https://stitchfix.github.io/immutable-struct/")
+ (license license:expat))))
(define-public ruby-faker
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 16/90] gnu: ruby-net-scp: Update to 4.0.1.rc3.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-17-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-net-scp): Update to 4.0.1.rc3.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0e98af7ad9..678ed33aa0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5742,7 +5742,7 @@ (define-public ruby-net-ssh
(define-public ruby-net-scp
(package
(name "ruby-net-scp")
- (version "4.0.0")
+ (version "4.0.1.rc3")
(source
(origin
(method git-fetch)
@@ -5751,7 +5751,7 @@ (define-public ruby-net-scp
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mdxh81z2hkcc359g6z96fywbr57azlv2yj4zq76adn5lyqq4hgw"))))
+ (base32 "136mb8idxdkxkadx827027nyxcsvvv2wivz5dnjqy8g6ic0h9dzn"))))
(build-system ruby-build-system)
(native-inputs
(list bundler ruby-test-unit ruby-mocha-1))
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 23/90] gnu: packages: Add comments for migration to ruby@3
(address . 75937@debbugs.gnu.org)
20250131065542.18548-24-ngraves@ngraves.fr
* gnu/packages/qt.scm (qtbase-5),
gnu/packages/tex.scm (texlive-hyphen-complete),
gnu/packages/texlive.scm (texlivebin),
gnu/packages/webkit.scm (webkitgtk),
gnu/packages/julia.scm (julia),
gnu/packages/textutils.scm (utf8proc-2.7.0): Add comments for
migration to ruby@3.
---
gnu/packages/julia.scm | 1 +
gnu/packages/qt.scm | 2 ++
gnu/packages/tex.scm | 1 +
gnu/packages/texlive.scm | 1 +
gnu/packages/textutils.scm | 1 +
gnu/packages/webkit.scm | 1 +
6 files changed, 7 insertions(+)

Toggle diff (82 lines)
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 9668b3fd1e..e2f87307da 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -526,6 +526,7 @@ (define-public julia
("p7zip" ,p7zip)
("pcre2" ,pcre2)
("suitesparse" ,suitesparse)
+ ;; TODO Move dependent ruby to ruby@3 on the next rebuild cycle.
("utf8proc" ,utf8proc-2.7.0)
("wget" ,wget)
("which" ,which)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 76c11af543..603ef505a8 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -573,6 +573,7 @@ (define-public qtbase-5
pkg-config
python
vulkan-headers
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
ruby-2.7))
(arguments
`(#:disallowed-references ,(list python)
@@ -3337,6 +3338,7 @@ (define-public qtwebengine-5
pkg-config
python2-six
python-2
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
ruby-2.7))
(inputs
(list alsa-lib
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index bfc923c8e3..c9f2132751 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -707,6 +707,7 @@ (define-public texlive-hyphen-complete
(invoke "ruby" "generate-ptex-patterns.rb"))))))))
(native-inputs
;; TODO: Remove input labels on next rebuild cycle.
+ ;; TODO: Update to ruby@3 on next rebuild-cycle.
`(("ruby" ,ruby-2.7)
("ruby-hydra-minimal" ,ruby-hydra-minimal/pinned)
;; Build phase requires "docstrip.tex" from TEXLIVE-LATEX.
diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm
index 36bbf4beb8..c2a35e120e 100644
--- a/gnu/packages/texlive.scm
+++ b/gnu/packages/texlive.scm
@@ -136,6 +136,7 @@ (define texlivebin
("pixman" ,pixman)
("potrace" ,potrace)
("python" ,python)
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
("ruby" ,ruby-2.7)
("tcsh" ,tcsh)
("teckit" ,teckit)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 229e69a2b3..c5cf76704f 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -267,6 +267,7 @@ (define-public utf8proc-2.7.0
(sha256
(base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3"))))
;; For tests
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
("ruby" ,ruby-2.7)))))))
(define-public libconfuse
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index b71e7e3e29..176d72685e 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -235,6 +235,7 @@ (define-public webkitgtk
pkg-config
python-wrapper
gi-docgen
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
ruby-2.7
unifdef))
(propagated-inputs
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 24/90] gnu: ruby-pg: Update to 1.5.9-0.378b7a3.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-25-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-pg): Update to 1.5.9-0.378b7a3. Avoid
indenting (the package is maintained and a version will soon catch
up). Add patch.
* gnu/packages/patches/ruby-pg-fix-connect-timeout.patch: Add patch.
* gnu/local.mk: Record patch.
---
gnu/local.mk | 1 +
.../patches/ruby-pg-fix-connect-timeout.patch | 176 ++++++++++++++++++
gnu/packages/ruby.scm | 13 +-
3 files changed, 185 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/patches/ruby-pg-fix-connect-timeout.patch

Toggle diff (237 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 19542cae23..bf05e32c19 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2190,6 +2190,7 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-latex-decode-fix-test.patch \
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
%D%/packages/patches/ruby-nokogiri.patch \
+ %D%/packages/patches/ruby-pg-fix-connect-timeout.patch \
%D%/packages/patches/ruby-x25519-automatic-fallback-non-x86_64.patch \
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
diff --git a/gnu/packages/patches/ruby-pg-fix-connect-timeout.patch b/gnu/packages/patches/ruby-pg-fix-connect-timeout.patch
new file mode 100644
index 0000000000..16fa10707d
--- /dev/null
+++ b/gnu/packages/patches/ruby-pg-fix-connect-timeout.patch
@@ -0,0 +1,176 @@
+From: "Alexander J. Maidak" <amaidak@equinix.com>
+https://github.com/ged/ruby-pg/pull/619
+
+---
+ lib/pg/connection.rb | 16 ++++++++++-
+ spec/helpers.rb | 13 +++++++++
+ spec/pg/connection_spec.rb | 57 +++++++++++++++++++++++++-------------
+ 3 files changed, 65 insertions(+), 21 deletions(-)
+
+diff --git a/lib/pg/connection.rb b/lib/pg/connection.rb
+index 2c9ecd8..572a2bf 100644
+--- a/lib/pg/connection.rb
++++ b/lib/pg/connection.rb
+@@ -680,6 +680,7 @@ class PG::Connection
+ host_count = conninfo_hash[:host].to_s.count(",") + 1
+ stop_time = timeo * host_count + Process.clock_gettime(Process::CLOCK_MONOTONIC)
+ end
++ connection_errors = []
+
+ poll_status = PG::PGRES_POLLING_WRITING
+ until poll_status == PG::PGRES_POLLING_OK ||
+@@ -720,7 +721,13 @@ class PG::Connection
+ else
+ connhost = "at \"#{host}\", port #{port}"
+ end
+- raise PG::ConnectionBad.new("connection to server #{connhost} failed: timeout expired", connection: self)
++ connection_errors << "connection to server #{connhost} failed: timeout expired"
++ if connection_errors.count < host_count.to_i
++ new_conninfo_hash = rotate_hosts(conninfo_hash.compact)
++ send(:reset_start2, self.class.send(:parse_connect_args, new_conninfo_hash))
++ else
++ raise PG::ConnectionBad.new(connection_errors.join("\n"), connection: self)
++ end
+ end
+
+ # Check to see if it's finished or failed yet
+@@ -733,6 +740,13 @@ class PG::Connection
+ raise PG::ConnectionBad.new(msg, connection: self)
+ end
+ end
++
++ private def rotate_hosts(conninfo_hash)
++ conninfo_hash[:host] = conninfo_hash[:host].split(",").rotate.join(",") if conninfo_hash[:host]
++ conninfo_hash[:port] = conninfo_hash[:port].split(",").rotate.join(",") if conninfo_hash[:port]
++ conninfo_hash[:hostaddr] = conninfo_hash[:hostaddr].split(",").rotate.join(",") if conninfo_hash[:hostaddr]
++ conninfo_hash
++ end
+ end
+
+ include Pollable
+diff --git a/spec/helpers.rb b/spec/helpers.rb
+index 7214ec1..bd546f5 100644
+--- a/spec/helpers.rb
++++ b/spec/helpers.rb
+@@ -475,6 +475,19 @@ EOT
+ end
+ end
+
++ class ListenSocket
++ attr_reader :port
++ def initialize(host = 'localhost', accept: true)
++ TCPServer.open( host, 0 ) do |serv|
++ if accept
++ Thread.new { begin loop do serv.accept end rescue nil end }
++ end
++ @port = serv.local_address.ip_port
++ yield self
++ end
++ end
++ end
++
+ def check_for_lingering_connections( conn )
+ conn.exec( "SELECT * FROM pg_stat_activity" ) do |res|
+ conns = res.find_all {|row| row['pid'].to_i != conn.backend_pid && ["client backend", nil].include?(row["backend_type"]) }
+diff --git a/spec/pg/connection_spec.rb b/spec/pg/connection_spec.rb
+index 63d3585..8a5645a 100644
+--- a/spec/pg/connection_spec.rb
++++ b/spec/pg/connection_spec.rb
+@@ -369,24 +369,38 @@ describe PG::Connection do
+ end
+ end
+
+- it "times out after connect_timeout seconds" do
+- TCPServer.open( 'localhost', 54320 ) do |serv|
++ it "times out after 2 * connect_timeout seconds on two connections" do
++ PG::TestingHelpers::ListenSocket.new do |sock|
+ start_time = Time.now
+ expect {
+ described_class.connect(
+- host: 'localhost',
+- port: 54320,
+- connect_timeout: 1,
+- dbname: "test")
++ host: 'localhost,localhost',
++ port: sock.port,
++ connect_timeout: 1,
++ dbname: "test")
+ }.to raise_error do |error|
+ expect( error ).to be_an( PG::ConnectionBad )
+- expect( error.message ).to match( /timeout expired/ )
++ expect( error.message ).to match( /timeout expired.*timeout expired/m )
+ if PG.library_version >= 120000
+- expect( error.message ).to match( /\"localhost\"/ )
+- expect( error.message ).to match( /port 54320/ )
++ expect( error.message ).to match( /\"localhost\".*\"localhost\"/m )
++ expect( error.message ).to match( /port #{sock.port}/ )
+ end
+ end
+
++ expect( Time.now - start_time ).to be_between(1.9, 10).inclusive
++ end
++ end
++
++ it "succeeds with second host after connect_timeout" do
++ PG::TestingHelpers::ListenSocket.new do |sock|
++ start_time = Time.now
++ conn = described_class.connect(
++ host: 'localhost,localhost,localhost',
++ port: "#{sock.port},#{@port},#{sock.port}",
++ connect_timeout: 1,
++ dbname: "test")
++
++ expect( conn.port ).to eq( @port )
+ expect( Time.now - start_time ).to be_between(0.9, 10).inclusive
+ end
+ end
+@@ -768,7 +782,8 @@ describe PG::Connection do
+ end
+
+ it "raises proper error when sending fails" do
+- conn = described_class.connect_start( '127.0.0.1', 54320, "", "", "me", "xxxx", "somedb" )
++ sock = PG::TestingHelpers::ListenSocket.new('127.0.0.1', accept: false){ }
++ conn = described_class.connect_start( '127.0.0.1', sock.port, "", "", "me", "xxxx", "somedb" )
+ expect{ conn.exec 'SELECT 1' }.to raise_error(PG::UnableToSend, /no connection/){|err| expect(err).to have_attributes(connection: conn) }
+ end
+
+@@ -1650,11 +1665,12 @@ describe PG::Connection do
+
+
+ it "handles server close while asynchronous connect" do
+- serv = TCPServer.new( '127.0.0.1', 54320 )
+- conn = described_class.connect_start( '127.0.0.1', 54320, "", "", "me", "xxxx", "somedb" )
+- expect( [PG::PGRES_POLLING_WRITING, PG::CONNECTION_OK] ).to include conn.connect_poll
+- select( nil, [conn.socket_io], nil, 0.2 )
+- serv.close
++ conn = nil
++ PG::TestingHelpers::ListenSocket.new('127.0.0.1', accept: false)do |sock|
++ conn = described_class.connect_start( '127.0.0.1', sock.port, "", "", "me", "xxxx", "somedb" )
++ expect( [PG::PGRES_POLLING_WRITING, PG::CONNECTION_OK] ).to include conn.connect_poll
++ select( nil, [conn.socket_io], nil, 0.2 )
++ end
+ if conn.connect_poll == PG::PGRES_POLLING_READING
+ select( [conn.socket_io], nil, nil, 0.2 )
+ end
+@@ -1778,12 +1794,13 @@ describe PG::Connection do
+ end
+
+ it "consume_input should raise ConnectionBad for a closed connection" do
+- serv = TCPServer.new( '127.0.0.1', 54320 )
+- conn = described_class.connect_start( '127.0.0.1', 54320, "", "", "me", "xxxx", "somedb" )
+- while [PG::CONNECTION_STARTED, PG::CONNECTION_MADE].include?(conn.connect_poll)
+- sleep 0.1
++ conn = nil
++ PG::TestingHelpers::ListenSocket.new '127.0.0.1', accept: false do |sock|
++ conn = described_class.connect_start( '127.0.0.1', sock.port, "", "", "me", "xxxx", "somedb" )
++ while [PG::CONNECTION_STARTED, PG::CONNECTION_MADE].include?(conn.connect_poll)
++ sleep 0.1
++ end
+ end
+- serv.close
+ expect{ conn.consume_input }.to raise_error(PG::ConnectionBad, /server closed the connection unexpectedly/){|err| expect(err).to have_attributes(connection: conn) }
+ expect{ conn.consume_input }.to raise_error(PG::ConnectionBad, /can't get socket descriptor|connection not open/){|err| expect(err).to have_attributes(connection: conn) }
+ end
+--
+2.47.1
+
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index af0152bb74..511085e9ba 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8540,20 +8540,23 @@ (define-public ruby-redcloth
(license license:expat)))
(define-public ruby-pg
+ (let ((commit "378b7a35c12292625460ef2f33373de7114bf255")
+ (revision "0"))
(package
(name "ruby-pg")
- (version "1.4.6")
+ (version (git-version "1.5.9" revision commit))
(home-page "https://github.com/ged/ruby-pg")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
- (commit (string-append "v" version))))
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0k7jgx7x7p6gbsbrv2l5rq27nff2nphnls1sdq525d82b068qnfm"))))
+ (base32 "1aq6kakyghgbb4yykxxl9ziaaa7jbdbyc7vz6avyxhlby1jkj0m8"))
+ (patches
+ (search-patches "ruby-pg-fix-connect-timeout.patch"))))
(build-system ruby-build-system)
(arguments
(list
@@ -8580,7 +8583,7 @@ (define-public ruby-pg
(synopsis "Ruby interface to PostgreSQL")
(description "Pg is the Ruby interface to the PostgreSQL RDBMS. It works
with PostgreSQL 9.3 and later.")
- (license license:ruby)))
+ (license license:ruby))))
(define-public ruby-byebug
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 26/90] gnu: ruby-hoe: Update to 4.2.2.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-27-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-hoe): Update to 4.2.2.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 77e3e4df8b..dbea9667a5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -406,13 +406,13 @@ (define-public ruby-highline
(define-public ruby-hoe
(package
(name "ruby-hoe")
- (version "4.0.4")
+ (version "4.2.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "hoe" version))
(sha256
(base32
- "0r2hy7mq9jd9hsbvskd9sxfbagc92adnn7abzxbda05sscbf46hn"))))
+ "1rhj1zs02mpdw6f4fh3mpfmj0p5pfar7rfxm758pk7l931mm8pyn"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 25/90] gnu: ruby-msgpack: Update to 1.7.5.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-26-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-msgpack): Update to 1.7.5.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 511085e9ba..77e3e4df8b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5249,7 +5249,7 @@ (define-public ruby-mkmf-lite
(define-public ruby-msgpack
(package
(name "ruby-msgpack")
- (version "1.6.1")
+ (version "1.7.5")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -5258,7 +5258,7 @@ (define-public ruby-msgpack
(file-name (git-file-name name version))
(sha256
(base32
- "08wi853nv02clrdwx8s6dg9lmcyzq5fk84l4rb94pglps76rlvz7"))))
+ "0d759pjgxgrxw18kmk81yv9brc141b4d8gszlp4vdnpvwvb96nln"))))
(build-system ruby-build-system)
(arguments (list #:test-target "spec"))
(native-inputs
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 28/90] gnu: Add ruby-securerandom.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-29-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-securerandom): New variable.
---
gnu/packages/ruby.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 934caf1c3c..3ee87573f4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16791,6 +16791,24 @@ (define-public ruby-bandwidth-iris
Dashboard. It is a Ruby Client library for IRIS / BBS API.")
(license license:expat)))
+(define-public ruby-securerandom
+ (package
+ (name "ruby-securerandom")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "securerandom" version))
+ (sha256
+ (base32 "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests found.
+ (synopsis "Interface for secure random number generator")
+ (description "This package provides a Ruby interface for secure random
+number generators.")
+ (home-page "https://github.com/ruby/securerandom")
+ (license (list license:bsd-2))))
+
(define-public ruby-selenium-webdriver
(package
(name "ruby-selenium-webdriver")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 27/90] gnu: ruby-rake-compiler: Update to 1.2.9.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-28-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rake-compiler): Update to 1.2.9.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dbea9667a5..934caf1c3c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -442,13 +442,13 @@ (define-public ruby-hoe-3
(define-public ruby-rake-compiler
(package
(name "ruby-rake-compiler")
- (version "1.1.1")
+ (version "1.2.9")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rake-compiler" version))
(sha256
(base32
- "11sxgw10jrd6a4irb51jjwam9wikixn5kss11pw4b80cmh32yvpf"))))
+ "01rnl94p1sr84xkbnh66db42qsndykbfx2z2fggxyxx9vnji6cjs"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; needs cucumber
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 29/90] gnu: ruby-benchmark: Update to 0.4.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-30-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-benchmark): Update to 0.4.0.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3ee87573f4..949bba9b9a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16126,14 +16126,14 @@ (define-public ruby-e2mmap
(define-public ruby-benchmark
(package
(name "ruby-benchmark")
- (version "0.1.1")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "benchmark" version))
(sha256
(base32
- "1jvrl7400fv7v2jjri1r7ilj3sri36hzipwwgpn5psib4c9c59c6"))))
+ "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg"))))
(build-system ruby-build-system)
(synopsis "Performance benchmarking library")
(description "This package provides methods for benchmarking Ruby code,
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 30/90] gnu: ruby-rails: Update to 7.1.5.1.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-31-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-rails): Update to 7.1.5.1.
---
gnu/packages/rails.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 537650cc88..749df46f8a 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -35,7 +35,7 @@ (define-module (gnu packages rails)
#:use-module (gnu packages version-control)
#:use-module (guix build-system ruby))
-(define %ruby-rails-version "7.0.5.1")
+(define %ruby-rails-version "7.1.5.1")
(define ruby-rails-monorepo
(origin
@@ -46,7 +46,7 @@ (define ruby-rails-monorepo
(file-name (git-file-name "ruby-rails" %ruby-rails-version))
(sha256
(base32
- "0s16i73rqzlrx5icn848mf2nmblmgxk06wj9576dkadsb8pspv0l"))))
+ "0wzlnfs3k6ahhzcqznk43y1lq8a3dq3i7q1aqracx891hjmr19n2"))))
(define-public ruby-activesupport
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 31/90] gnu: ruby-timeout: Update to 0.4.3.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-32-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-timeout): Update to 0.4.3.
[native-inputs]: Add ruby-test-unit-ruby-core.
---
gnu/packages/ruby.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 949bba9b9a..c852347d1e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15532,7 +15532,7 @@ (define-public ruby-sinatra
(define-public ruby-timeout
(package
(name "ruby-timeout")
- (version "0.3.2")
+ (version "0.4.3")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -15541,8 +15541,9 @@ (define-public ruby-timeout
(file-name (git-file-name name version))
(sha256
(base32
- "0lzhs2c4znzg781w146dhvczhbx7h3wkb90i4v6h68zvm2zfylgj"))))
+ "1mw2dwyp2j05fl2gmw8cj132kk145sbxj5i0whpxcnddlc8gw781"))))
(build-system ruby-build-system)
+ (native-inputs (list ruby-test-unit-ruby-core))
(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.")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 32/90] gnu: ruby-concurrent-ruby: Update to 1.3.5.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-33-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-concurrent-ruby): Update to 1.3.5.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c852347d1e..2b3b600002 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12873,7 +12873,7 @@ (define-public ruby-timecop
(define-public ruby-concurrent-ruby
(package
(name "ruby-concurrent-ruby")
- (version "1.2.2")
+ (version "1.3.5")
(source (origin
(method git-fetch)
(uri (git-reference ;for tests
@@ -12882,7 +12882,7 @@ (define-public ruby-concurrent-ruby
(file-name (git-file-name name version))
(sha256
(base32
- "1vz4rl0nplq14dk9nx45g59i1sk2h53w1mjlrdiyjf780q4a1i38"))))
+ "0f0apna8k9cwnpa4lddwimywxzznrd4rjv4m0lka2i54z49iky73"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 33/90] gnu: Add ruby-rackup-1.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-34-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rackup-1): New variable.
---
gnu/packages/ruby.scm | 15 +++++++++++++++
1 file changed, 15 insertions(+)

Toggle diff (28 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2b3b600002..62b7779ff1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8890,6 +8890,21 @@ (define-public ruby-rackup
(home-page "https://github.com/rack/rackup")
(license license:expat)))
+(define-public ruby-rackup-1
+ (package
+ (inherit ruby-rackup)
+ (name "ruby-rackup")
+ (version "1.0.1")
+ (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
+ "1xdfxsz7jx2gwfq212y9mca6q0i5s7kyqbfcscy1315awg57ynyp"))))))
+
(define-public ruby-rack-cache
(package
(name "ruby-rack-cache")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 34/90] gnu: ruby-erubi: Update to 1.11.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-35-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-erubi): Update to 1.11.0.
[source]<origin>: Swith to git-fetch method to fetch tests.
[arguments]<#:test-target>: Set to "spec".
[native-inputs]: Add ruby-minitest, ruby-minitest-global-expectations.
---
gnu/packages/ruby.scm | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 62b7779ff1..611b7ffc42 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3053,15 +3053,21 @@ (define-public ruby-options
(define-public ruby-erubi
(package
(name "ruby-erubi")
- (version "1.8.0")
+ (version "1.11.0")
(source
(origin
- (method url-fetch)
- (uri (rubygems-uri "erubi" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jeremyevans/erubi")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"))))
+ (base32 "0y4qskz260fjwbnjps5z5yygjwgh6ds0f97lfa9gsmh6zqa1lvvx"))))
(build-system ruby-build-system)
+ (arguments
+ (list #:test-target "spec"))
+ (native-inputs (list ruby-minitest
+ ruby-minitest-global-expectations))
(synopsis "ERB template engine for Ruby")
(description
"Erubi is a ERB template engine for Ruby. It is a simplified fork of
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 45/90] gnu: jekyll: Update to 4.3.4.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-46-ngraves@ngraves.fr
* gnu/packages/ruby.scm (jekyll): Update to 4.3.4.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fdceff387c..79f715c688 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14894,7 +14894,7 @@ (define-public ruby-terminal-table
(define-public jekyll
(package
(name "jekyll")
- (version "4.3.2")
+ (version "4.3.4")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -14903,7 +14903,7 @@ (define-public jekyll
(file-name (git-file-name name version))
(sha256
(base32
- "1d588d7zhp526r21f9mnm204m8qy0c8h3lq3ghyg6qp8mj6hnwj4"))))
+ "0sz285x5ppbifrnixi9sdzv28kg4x3qbzds3qniiwh1ip9hi1yk4"))))
(build-system ruby-build-system)
(arguments
(list #:modules '((guix build ruby-build-system)
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 46/90] gnu: ruby-tilt: Update to 2.1.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-47-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-tilt): Update to 2.1.0.
[arguments]<#:phases>: Remove fixed phase 'patch-tests.
---
gnu/packages/ruby.scm | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 79f715c688..52be273e2f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7503,28 +7503,21 @@ (define-public ruby-timers
(define-public ruby-tilt
(package
(name "ruby-tilt")
- (version "2.0.11")
+ (version "2.1.0")
(source
(origin
(method git-fetch) ;the distributed gem lacks tests
(uri (git-reference
- (url "https://github.com/rtomayko/tilt")
+ (url "https://github.com/jeremyevans/tilt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0a75s6ci2rwai5q1bnlqbz8kxqnfp2497jhkcry1n4g29lcxq9ja"))))
+ (base32 "0v7s38r86ammqpqm1diyk0yqz1k285argkpy5c8s1vq46983m9lv"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'patch-tests
- (lambda _
- ;; Patch some tests
- (substitute* "test/tilt_sasstemplate_test.rb"
- (("}\",") "}
-\","))))
(add-after 'unpack 'remove-some-dependencies
(lambda _
(substitute* "Gemfile"
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 47/90] gnu: ruby-tilt: Update to 2.2.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-48-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-tilt): Update to 2.2.0.
[arguments]<#:phases>: Remove uneeded phase 'remove-some-dependencies.
---
gnu/packages/ruby.scm | 27 ++-------------------------
1 file changed, 2 insertions(+), 25 deletions(-)

Toggle diff (52 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 52be273e2f..cf188aef9b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7503,7 +7503,7 @@ (define-public ruby-timers
(define-public ruby-tilt
(package
(name "ruby-tilt")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method git-fetch) ;the distributed gem lacks tests
@@ -7512,35 +7512,12 @@ (define-public ruby-tilt
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0v7s38r86ammqpqm1diyk0yqz1k285argkpy5c8s1vq46983m9lv"))))
+ (base32 "056zm4vzx9xjwl7zgmb17hzb91qx5cvzk60wvsxchfybvl03gn5d"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'remove-some-dependencies
- (lambda _
- (substitute* "Gemfile"
- (("gem 'less'") "\n")
- (("gem 'coffee-script'") "\n")
- (("gem 'livescript'") "\n")
- (("gem 'babel-transpiler'") "\n")
- (("gem 'typescript-node'") "\n")
- (("gem 'typescript-node'") "\n")
- (("gem 'duktape'.*") "\n")
- ;; TODO ronn is used for generating the manual
- (("gem 'ronn'.*") "\n")
- ;; ruby-haml has a runtime dependency on ruby-tilt, so don't
- ;; pass it in as a native-input
- (("gem 'haml'.*") "\n")
- ;; TODO Not all of these gems are packaged for Guix yet:
- ;; less, coffee-script, livescript, babel-transpiler,
- ;; typescript-node
- (("if can_execjs") "if false")
- ;; Disable the secondary group to reduce the number of
- ;; dependencies. None of the normal approaches work, so patch
- ;; the Gemfile instead.
- (("group :secondary") "[].each"))))
(add-before 'check 'set-SASS_IMPLEMENTATION
(lambda _
(setenv "SASS_IMPLEMENTATION" "sassc"))))))
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 48/90] gnu: ruby-asciidoctor: Update to 2.0.20.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-49-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-asciidoctor): Update to 2.0.20.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cf188aef9b..eedf22c38a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1664,7 +1664,7 @@ (define-public ruby-slim
(define-public ruby-asciidoctor
(package
(name "ruby-asciidoctor")
- (version "2.0.18")
+ (version "2.0.20")
(source
(origin
(method git-fetch) ;the gem release lacks a Rakefile
@@ -1674,7 +1674,7 @@ (define-public ruby-asciidoctor
(file-name (git-file-name name version))
(sha256
(base32
- "1mpk3y69lqz9ywfkjmr40dm3mkabrnf92bb011qq1axj73yyrajv"))))
+ "19qvilhwa9plg80ppspn5ys0ybl8qfyaicqbl9w316hk5ldwi1jq"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 49/90] gnu: ruby-parser: Update to 3.3.7.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-50-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-parser): Update to 3.3.7.0.
[native-inputs]: Remove ruby-racc.
[propagated-inputs]: Add ruby-racc.
---
gnu/packages/ruby.scm | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index eedf22c38a..ebf31ed6bf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7024,19 +7024,19 @@ (define-public ruby-parallel-tests
(define-public ruby-parser
(package
(name "ruby-parser")
- (version "3.2.2.0")
+ (version "3.3.7.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "parser" version))
(sha256
(base32
- "0s5afi89p76k8vpwiqvh343pm5l23ijqlpszhz65afym3zpkxhzx"))))
+ "16qi2qhpszm842awxghmsp64yvvawafq96w5jw98irz3f4bh2jbl"))))
(build-system ruby-build-system)
(arguments '(#:tests? #f)) ; tests not included in gem
- (native-inputs (list bundler ruby-cliver ruby-simplecov ruby-racc))
+ (native-inputs (list bundler ruby-cliver ruby-simplecov))
(inputs (list ragel))
- (propagated-inputs (list ruby-ast))
+ (propagated-inputs (list ruby-ast ruby-racc))
(synopsis "Ruby parser written in pure Ruby")
(description
"This package provides a Ruby parser written in pure Ruby.")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 50/90] gnu: Add ruby-ice-nine.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-51-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-ice-nine): New variable.
---
gnu/packages/ruby.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ebf31ed6bf..8bf2f183e2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -532,6 +532,25 @@ (define-public ruby-i18n
(home-page "https://github.com/ruby-i18n/i18n")
(license license:expat)))
+(define-public ruby-ice-nine
+ (package
+ (name "ruby-ice-nine")
+ (version "0.11.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ice_nine" version))
+ (sha256
+ (base32 "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:tests? #f)) ;Dependency on convoluted unpackaged ruby-devtools.
+ (synopsis "Deep Freeze Ruby Objects")
+ (description
+ "This package provides a function to deep freeze Ruby objects.")
+ (home-page "https://github.com/dkubb/ice_nine")
+ (license license:expat)))
+
(define-public ruby-io-console
(package
(name "ruby-io-console")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 52/90] gnu: ruby-regexp-parser: Update to 2.6.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-53-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-regexp-parser): Update to 2.6.0.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 58211f5ce2..54f8623f0e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9307,7 +9307,7 @@ (define-public ruby-regexp-property-values
(define-public ruby-regexp-parser
(package
(name "ruby-regexp-parser")
- (version "2.5.0")
+ (version "2.6.0")
(source
(origin
(method git-fetch) ;bin/test missing from gem
@@ -9317,7 +9317,7 @@ (define-public ruby-regexp-parser
(file-name (git-file-name name version))
(sha256
(base32
- "0kj5bpnksagxbxi4y1gw5nam1gm948d0gm6869vsyapiqg6000zz"))))
+ "07dx96gjvpa07dsdnzpwhhwc7qpxakjgws7d7wbnkbs20fyvx55x"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "default"
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 51/90] gnu: ruby-regexp-parser: Update to 2.5.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-52-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-regexp-parser): Update to 2.5.0.
[native-inputs]: Add ruby-ice-nine.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8bf2f183e2..58211f5ce2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9307,7 +9307,7 @@ (define-public ruby-regexp-property-values
(define-public ruby-regexp-parser
(package
(name "ruby-regexp-parser")
- (version "2.0.0")
+ (version "2.5.0")
(source
(origin
(method git-fetch) ;bin/test missing from gem
@@ -9317,7 +9317,7 @@ (define-public ruby-regexp-parser
(file-name (git-file-name name version))
(sha256
(base32
- "09ddxdwlml30q6j4rqf06bbjj1mwx00rs0bksnyblhv85anrqz3k"))))
+ "0kj5bpnksagxbxi4y1gw5nam1gm948d0gm6869vsyapiqg6000zz"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "default"
@@ -9330,7 +9330,7 @@ (define-public ruby-regexp-parser
;; gem file.
(delete-file-recursively "pkg"))))))
(native-inputs
- (list ragel ruby-regexp-property-values ruby-rspec))
+ (list ragel ruby-ice-nine ruby-regexp-property-values ruby-rspec))
(synopsis "Regular expression parser library for Ruby")
(description "A Ruby gem for tokenizing, parsing, and transforming regular
expressions. It comprises the following components:
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 53/90] gnu: Add ruby-lint-roller.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-54-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-lint-roller): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 54f8623f0e..0f7b1e11a2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17322,6 +17322,26 @@ (define-public ruby-link-header
corresponding HTML @code{link} elements.")
(license license:expat)))
+(define-public ruby-lint-roller
+ (package
+ (name "ruby-lint-roller")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "lint_roller" version))
+ (sha256
+ (base32 "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ;Circular dependency on ruby-standard.
+ (native-inputs (list ruby-minitest))
+ (synopsis "Specification for linter and formatter rulesets")
+ (description
+ "This package provides a plugin specification for Ruby linter and
+formatter rulesets.")
+ (home-page "https://github.com/standardrb/lint_roller")
+ (license license:expat)))
+
(define-public ruby-rdf
(package
(name "ruby-rdf")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 54/90] gnu: ruby-slim: Update to 5.2.1.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-55-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-slim): Update to 5.2.1.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0f7b1e11a2..511b6d43a2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1641,14 +1641,14 @@ (define-public ruby-patron
(define-public ruby-slim
(package
(name "ruby-slim")
- (version "5.1.0")
+ (version "5.2.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "slim" version))
(sha256
(base32
- "1rp437r8hr9kdgabb7c96yw4z2wyrajl4cxiij038y10f8i6hbn4"))))
+ "1rqk7jn66wgx50b18ndhbppjq55rbcwgqg1rbhnhxwiggvzisdbj"))))
(build-system ruby-build-system)
(arguments
`(#:phases
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 55/90] gnu: Add ruby-standard-custom.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-56-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-standard-custom): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 511b6d43a2..0fde7b1514 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2307,6 +2307,26 @@ (define-public ruby-stud
(home-page "https://github.com/jordansissel/ruby-stud")
(license license:asl2.0)))
+(define-public ruby-standard-custom
+ (package
+ (name "ruby-standard-custom")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "standard-custom" version))
+ (sha256
+ (base32 "0av55ai0nv23z5mhrwj1clmxpgyngk7vk6rh58d4y1ws2y2dqjj2"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ;Circular dependency on ruby-standard.
+ (propagated-inputs (list ruby-lint-roller ruby-rubocop))
+ (synopsis "Plugin of custom cops for Standard Ruby")
+ (description
+ "This package provides a implementations of custom cops that are bundled
+as defaults in Standard Ruby.")
+ (home-page "https://github.com/standardrb/standard-custom")
+ (license license:expat)))
+
(define-public ruby-standard
(package
(name "ruby-standard")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 56/90] gnu: Add ruby-standard-performance.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-57-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-standard-performance): New variable.
---
gnu/packages/ruby.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0fde7b1514..a8c5d3f119 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2327,6 +2327,26 @@ (define-public ruby-standard-custom
(home-page "https://github.com/standardrb/standard-custom")
(license license:expat)))
+(define-public ruby-standard-performance
+ (package
+ (name "ruby-standard-performance")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "standard-performance" version))
+ (sha256
+ (base32 "1x298w3wmq8cavbsg903wc3arxp3xh2x8263brvy128436m732rd"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ;Circular dependency on ruby-standard.
+ (propagated-inputs (list ruby-lint-roller ruby-rubocop-performance))
+ (synopsis "Standard Ruby Plugin for rubocop-performance")
+ (description
+ "This package is a Standard Ruby Plugin providing configuration for
+@code{rubocop-performance}.")
+ (home-page "https://github.com/standardrb/standard-performance")
+ (license license:expat)))
+
(define-public ruby-standard
(package
(name "ruby-standard")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 38/90] gnu: ruby-selenium-webdriver: Update to 4.22.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-39-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-selenium-webdriver): Update to 4.22.0.
---
gnu/packages/ruby.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 778bedf0c6..ef3b29c0a0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16841,19 +16841,22 @@ (define-public ruby-securerandom
(define-public ruby-selenium-webdriver
(package
(name "ruby-selenium-webdriver")
- (version "4.8.5")
+ (version "4.22.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "selenium-webdriver" version))
(sha256
(base32
- "0wh44vpsyz4mgyq4h482prgiv7hqa5jsj4i7i5hnvv39jb0rfiwm"))))
+ "0rjxlivsh32xvjq78p1m1sr366aa04wms4hwb2r187ygrnmp0hv4"))))
(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))
+ (propagated-inputs (list ruby-base64
+ 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
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 40/90] gnu: ruby-actionpack: Patch source.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-41-ngraves@ngraves.fr
* gnu/packages/patches/ruby-actionpack-remove-browser-tests.patch: Add
patch.
* gnu/local.mk: Record patch.
* gnu/packages/rails.scm (ruby-rails-monorepo): Apply patch.
---
gnu/local.mk | 1 +
...ruby-actionpack-remove-browser-tests.patch | 33 +++++++++++++++++++
gnu/packages/rails.scm | 5 ++-
3 files changed, 38 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/ruby-actionpack-remove-browser-tests.patch

Toggle diff (76 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index bf05e32c19..12ee2022ec 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2182,6 +2182,7 @@ dist_patch_DATA = \
%D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
%D%/packages/patches/rottlog-direntry.patch \
+ %D%/packages/patches/ruby-actionpack-remove-browser-tests.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 \
diff --git a/gnu/packages/patches/ruby-actionpack-remove-browser-tests.patch b/gnu/packages/patches/ruby-actionpack-remove-browser-tests.patch
new file mode 100644
index 0000000000..647bf16a2a
--- /dev/null
+++ b/gnu/packages/patches/ruby-actionpack-remove-browser-tests.patch
@@ -0,0 +1,33 @@
+From 02e8665d5ad910807d567536199f81d8e5aa8bce Mon Sep 17 00:00:00 2001
+From: Nicolas Graves <ngraves@ngraves.fr>
+Date: Mon, 20 Jan 2025 04:48:10 +0100
+Subject: [PATCH] Remove abstract units depending on a read browser.
+
+---
+ actionpack/test/abstract_unit.rb | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb
+index 1ab8ea73ab..32ffba71a9 100644
+--- a/actionpack/test/abstract_unit.rb
++++ b/actionpack/test/abstract_unit.rb
+@@ -519,16 +519,4 @@ class DrivenByRackTest < ActionDispatch::SystemTestCase
+ driven_by :rack_test
+ end
+
+-class DrivenBySeleniumWithChrome < ActionDispatch::SystemTestCase
+- driven_by :selenium, using: :chrome
+-end
+-
+-class DrivenBySeleniumWithHeadlessChrome < ActionDispatch::SystemTestCase
+- driven_by :selenium, using: :headless_chrome
+-end
+-
+-class DrivenBySeleniumWithHeadlessFirefox < ActionDispatch::SystemTestCase
+- driven_by :selenium, using: :headless_firefox
+-end
+-
+ require_relative "../../tools/test_common"
+--
+2.47.1
+
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 828227dfca..4d0670429e 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -27,6 +27,7 @@ (define-module (gnu packages rails)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
+ #:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages databases)
#:use-module (gnu packages node)
@@ -46,7 +47,9 @@ (define ruby-rails-monorepo
(file-name (git-file-name "ruby-rails" %ruby-rails-version))
(sha256
(base32
- "0wzlnfs3k6ahhzcqznk43y1lq8a3dq3i7q1aqracx891hjmr19n2"))))
+ "0wzlnfs3k6ahhzcqznk43y1lq8a3dq3i7q1aqracx891hjmr19n2"))
+ (patches
+ (search-patches "ruby-actionpack-remove-browser-tests.patch"))))
(define-public ruby-activesupport
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 41/90] gnu: Add ruby-warning.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-42-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-warning): New variable.
---
gnu/packages/ruby.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7bb0b07971..a5c77a8134 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15993,6 +15993,28 @@ (define-public ruby-zeitwerk
(home-page "https://github.com/fxn/zeitwerk")
(license license:expat)))
+(define-public ruby-warning
+ (package
+ (name "ruby-warning")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "warning" version))
+ (sha256
+ (base32 "0lwcf7fsz1sda1fdbqq1i4q9kzg4f5vwrzgfg1vpa1hcxagw84hg"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests bundled.
+ (synopsis "Custom processing for warnings")
+ (description
+ "This package adds custom processing for warnings for Ruby, including the
+ability to ignore specific warning messages, ignore warnings in specific
+files/directories, include backtraces with warnings, treat warnings as errors,
+deduplicate warnings, and add custom handling for all warnings in specific
+files/directories.")
+ (home-page "https://github.com/jeremyevans/ruby-warning")
+ (license license:expat)))
+
(define-public ruby-wwtd
(package
(name "ruby-wwtd")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 43/90] gnu: ruby-mail: Update to 2.8.1.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-44-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-mail): Update to 2.8.1.
---
gnu/packages/ruby.scm | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1fa132a7c8..a1f7e161bc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13069,14 +13069,13 @@ (define-public ruby-net-http-digest-auth
(define-public ruby-mail
(package
(name "ruby-mail")
- (version "2.7.1")
+ (version "2.8.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "mail" version))
(sha256
- (base32
- "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"))))
+ (base32 "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"))))
(build-system ruby-build-system)
(propagated-inputs
(list ruby-mini-mime))
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 42/90] gnu: ruby-zeitwerk: Update to 2.7.1.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-43-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-zeitwerk): Update to 2.7.1.
[native-inputs]: Add ruby-warning.
---
gnu/packages/ruby.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a5c77a8134..1fa132a7c8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15967,7 +15967,7 @@ (define-public ruby-wayback-machine-downloader
(define-public ruby-zeitwerk
(package
(name "ruby-zeitwerk")
- (version "2.6.7")
+ (version "2.7.1")
(source
(origin
(method git-fetch) ;for tests
@@ -15977,13 +15977,14 @@ (define-public ruby-zeitwerk
(file-name (git-file-name name version))
(sha256
(base32
- "10p1ycv72yas1fdqrmdyz1aiqf8axj6q1kyllni2wknhk059jvi0"))))
+ "19qmcdpbh4bl878zd1w19064yjkpb8sxaydcasqfa7p8cfg3hnsr"))))
(build-system ruby-build-system)
(native-inputs
(list ruby-minitest
ruby-minitest-focus
ruby-minitest-proveit
- ruby-minitest-reporters))
+ ruby-minitest-reporters
+ ruby-warning))
(synopsis "Efficient and thread-safe code loader for Ruby")
(description
"Zeitwerk implements constant autoloading with Ruby semantics. Each gem
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 44/90] gnu: ruby-taskjuggler: Update to 3.8.1.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-45-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-taskjuggler): Update to 3.8.1.
[native-inputs]: Add ruby-rspec.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a1f7e161bc..fdceff387c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16289,16 +16289,16 @@ (define-public ruby-jekyll-seo-tag
(define-public ruby-taskjuggler
(package
(name "ruby-taskjuggler")
- (version "3.7.1")
+ (version "3.8.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "taskjuggler" version))
(sha256
(base32
- "1jrsajzhzpnfa8hj6lbf7adn8hls56dz3yw1gvzgz9y4zkka3k9v"))))
+ "16d5vgz54all8vl3haqy6j69plny3np4kc3wq7wy3xa3i0h7v60z"))))
(build-system ruby-build-system)
- (native-inputs (list tzdata-for-tests))
+ (native-inputs (list ruby-rspec tzdata-for-tests))
(propagated-inputs
(list ruby-mail ruby-term-ansicolor))
(arguments
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 35/90] gnu: ruby-rails-html-sanitizer: Update to 1.6.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-36-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-rails-html-sanitizer): Update to 1.6.0.
[propagated-inputs]: Remove ruby-nokogiri.
---
gnu/packages/rails.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 749df46f8a..9108468695 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -433,20 +433,20 @@ (define-public ruby-rspec-rails
(define-public ruby-rails-html-sanitizer
(package
(name "ruby-rails-html-sanitizer")
- (version "1.3.0")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "rails-html-sanitizer" version))
(sha256
(base32
- "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f"))))
+ "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6"))))
(build-system ruby-build-system)
(arguments
'(;; No included tests
#:tests? #f))
(propagated-inputs
- (list ruby-loofah))
+ (list ruby-loofah ruby-nokogiri))
(synopsis "HTML sanitization for Rails applications")
(description
"This gem is used to handle HTML sanitization in Rails applications. If
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 36/90] gnu: ruby-rails-dom-testing: Update to 2.2.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-37-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-rails-dom-testing): Update to 2.2.0.
---
gnu/packages/rails.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 9108468695..828227dfca 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -458,7 +458,7 @@ (define-public ruby-rails-html-sanitizer
(define-public ruby-rails-dom-testing
(package
(name "ruby-rails-dom-testing")
- (version "2.0.3")
+ (version "2.2.0")
(source
(origin
(method git-fetch)
@@ -468,7 +468,7 @@ (define-public ruby-rails-dom-testing
(file-name (git-file-name name version))
(sha256
(base32
- "17vdh273cmmfpzy5m546dd13zqmimv54jjx0f7sl0zi5lwz0gnck"))))
+ "0ydzwdmssapp0x9gy19qy11b3f1yp56zc1kc971dajq9x7jl3jfa"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 37/90] gnu: ruby-puma: Update to 6.5.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-38-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-puma): Update to 6.5.0.
[native-inputs]: Add ruby-rackup-1.
[propagated-inputs]: Add ruby-concurrent-ruby.
---
gnu/packages/ruby.scm | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

Toggle diff (52 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 611b7ffc42..778bedf0c6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12653,7 +12653,7 @@ (define-public ruby-ttfunk
(define-public ruby-puma
(package
(name "ruby-puma")
- (version "6.3.0")
+ (version "6.5.0")
(source
(origin
(method git-fetch) ;for tests
@@ -12663,7 +12663,7 @@ (define-public ruby-puma
(file-name (git-file-name name version))
(sha256
(base32
- "0qnayzgyr23w87jc849r00394hv1gw2rk9080nws43ilnycagzxq"))))
+ "1z3njlmywins9yjl4a0c32vhkx9c4q4nia0snz7n45723jv96690"))))
(build-system ruby-build-system)
(arguments
(list
@@ -12737,7 +12737,11 @@ (define-public ruby-puma
"test_culling_strategy_oldest_fork_worker"
"test_usr1_fork_worker")
(skip-tests "test/test_integration_pumactl.rb"
- "test_refork_cluster"))))
+ "test_refork_cluster")
+ (skip-tests "test/test_web_concurrency_auto.rb" "\
+test_web_concurrency_with_concurrent_ruby_unavailable")
+ (skip-tests "test/helpers/integration.rb"
+ "test_puma_started_log_writing"))))
(add-before 'check 'relax-test-case-timeout
(lambda _
;; The default value is 45 s and easily causes timeouts.
@@ -12764,11 +12768,14 @@ (define-public ruby-puma
ruby-minitest-retry
ruby-minitest-stub-const
ruby-rack
+ ruby-rackup-1
ruby-rake-compiler
ruby-webrick))
(inputs
(list openssl
ruby-nio4r))
+ (propagated-inputs
+ (list ruby-concurrent-ruby))
(synopsis "Simple, concurrent HTTP server for Ruby/Rack")
(description
"Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 39/90] gnu: Add ruby-base64.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-40-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-base64): New variable.
---
gnu/packages/ruby.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ef3b29c0a0..7bb0b07971 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1304,6 +1304,25 @@ (define-public bundler
(home-page "https://bundler.io/")
(license license:expat)))
+(define-public ruby-base64
+ (package
+ (name "ruby-base64")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "base64" version))
+ (sha256
+ (base32 "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests bundled.
+ (synopsis "Base64 encoding/decoding in Ruby")
+ (description
+ "This package provides support for encoding and decoding binary data
+using a Base64 representation.")
+ (home-page "https://github.com/ruby/base64")
+ (license (list license:bsd-2))))
+
(define-public ruby-builder
(package
(name "ruby-builder")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 57/90] gnu: Add ruby-rubocop-factory-bot.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-58-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-factory-bot): New variable.
---
gnu/packages/ruby.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a8c5d3f119..f7664e6c49 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2058,6 +2058,25 @@ (define-public ruby-rubocop-capybara
ruby-simplecov
ruby-yard))))
+(define-public ruby-rubocop-factory-bot
+ (package
+ (name "ruby-rubocop-factory-bot")
+ (version "2.26.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rubocop-factory_bot" version))
+ (sha256
+ (base32 "1aljadsjx7affcarzbhz7pydpy6fgqb8hl951y0cmrffxpa3rqcd"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests bundled.
+ (synopsis "Code style checking for factory_bot files")
+ (description
+ "This package provides a plugin for the @code{RuboCop} code style
+enforcing & linting tool for @code{factory_bot} files.")
+ (home-page "https://github.com/rubocop/rubocop-factory_bot")
+ (license license:expat)))
+
;;; A minimal variant used to build ruby-rubocop itself.
(define ruby-rubocop-rake-minimal
(package
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 58/90] gnu: ruby-rubocop-capybara-minimal: Update to 2.21.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-59-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-capybara-minimal): Update to
2.21.0.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f7664e6c49..6c28fa26f1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2017,7 +2017,7 @@ (define-public ruby-typhoeus
(define ruby-rubocop-capybara-minimal
(package
(name "ruby-rubocop-capybara")
- (version "2.17.1")
+ (version "2.21.0")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -2026,7 +2026,7 @@ (define ruby-rubocop-capybara-minimal
(file-name (git-file-name name version))
(sha256
(base32
- "137y21b6g0kj1001zp95gwchx2cvgz8pglw2ik1cw647lh77qdsp"))))
+ "19r2s782r9ch2g1lxgrvk22d9qqkxi69brza16bfwp2rl2064qnc"))))
(build-system ruby-build-system)
(arguments (list #:tests? #f))
(synopsis "Capybara plugin for RuboCop")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 59/90] gnu: ruby-rubocop-rspec-minimal: Update to 2.26.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-60-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-rspec-minimal): Update to
2.26.0.
[propagated-inputs]: Add ruby-rubocop-factory-bot.
---
gnu/packages/ruby.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6c28fa26f1..238cd663e0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2115,7 +2115,7 @@ (define-public ruby-rubocop-rake
(define ruby-rubocop-rspec-minimal
(package
(name "ruby-rubocop-rspec")
- (version "2.19.0")
+ (version "2.26.0")
(source
(origin
(method git-fetch)
@@ -2125,9 +2125,10 @@ (define ruby-rubocop-rspec-minimal
(file-name (git-file-name name version))
(sha256
(base32
- "0mgjyrzi8r44v3gb8xscdwspirz9kqkaf7zlsjhhlxr0di0rlj2r"))))
+ "1w9whadx60kv4vlbnk77b5yyhhfcg717r9cr334zqznqr1bqr8mh"))))
(build-system ruby-build-system)
(arguments (list #:tests? #f)) ;avoid extra dependencies
+ (propagated-inputs (list ruby-rubocop-factory-bot))
(synopsis "Code style checking for RSpec files")
(description "This package provides a plugin for the RuboCop code style
enforcing & linting tool.")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 61/90] gnu: ruby-rubocop-performance: Update to 1.23.1.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-62-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-performance): Update to 1.23.1.
---
gnu/packages/ruby.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 519a90e303..79143dd620 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2186,7 +2186,7 @@ (define-public ruby-rubocop-packaging
(define-public ruby-rubocop-performance
(package
(name "ruby-rubocop-performance")
- (version "1.16.0")
+ (version "1.23.1")
(source
(origin
(method git-fetch)
@@ -2196,7 +2196,7 @@ (define-public ruby-rubocop-performance
(file-name (git-file-name name version))
(sha256
(base32
- "1axafki2mpdz38y7i0afmnxcan5wj54l8crp8pbs7h1cip7y4s49"))))
+ "0d1p6pgrcnj58q1g0np5j4vbk7wavj31b4bapi5p4gckqlnc7xjd"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f ; tests require a git checkout of rubocop's source code.
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 62/90] gnu: ruby-rubocop: Update to 1.68.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-63-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop): Update to 1.68.0.
[native-inputs]: Add rub-rubocop-factory-bot.
[propagated-inputs]: ruby-language-server-protocol.
---
gnu/packages/ruby.scm | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 79143dd620..53567d201a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9436,7 +9436,7 @@ (define-public ruby-test-queue
(define-public ruby-rubocop
(package
(name "ruby-rubocop")
- (version "1.48.1")
+ (version "1.68.0")
(source
(origin
(method git-fetch) ;no tests in distributed gem
@@ -9446,7 +9446,7 @@ (define-public ruby-rubocop
(file-name (git-file-name name version))
(sha256
(base32
- "1l4j99mbrdjy2bzcnky30pjgjv8sxjr187jzliyqmldvpf7dizbp"))))
+ "0pfsrgkg2dhb6a2rknciqskgxgmb9kf48rvbkhay9n8n6m712v2w"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "default"
@@ -9472,6 +9472,7 @@ (define-public ruby-rubocop
ruby-rspec
ruby-rubocop-ast
ruby-rubocop-capybara-minimal
+ ruby-rubocop-factory-bot
ruby-rubocop-minimal
ruby-rubocop-performance-minimal
ruby-rubocop-rake-minimal
@@ -9483,6 +9484,7 @@ (define-public ruby-rubocop
ruby-yard))
(propagated-inputs
(list ruby-json
+ ruby-language-server-protocol
ruby-parallel
ruby-parser
ruby-progressbar
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 60/90] gnu: ruby-rubocop-ast: Update to 1.37.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-61-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-ast): Update to 1.37.0.
[native-inputs]: Replace ruby-pry by ruby-prism.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 238cd663e0..519a90e303 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9199,7 +9199,7 @@ (define-public ruby-rest-client
(define-public ruby-rubocop-ast
(package
(name "ruby-rubocop-ast")
- (version "1.28.0")
+ (version "1.37.0")
(source
(origin
(method git-fetch) ;no test suite in distributed gem
@@ -9209,7 +9209,7 @@ (define-public ruby-rubocop-ast
(file-name (git-file-name name version))
(sha256
(base32
- "1dp09gcmahmdfi3s6xsksr3ka9dddjpy9ymhr9wjwv67y1falffr"))))
+ "1ww1vxcx6qaih4g68mrbq4xlgrqbv8w7cqxdaz629sazpw2hkycs"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"
@@ -9231,7 +9231,7 @@ (define-public ruby-rubocop-ast
(native-inputs
(list ruby-bump
ruby-oedipus-lex
- ruby-pry
+ ruby-prism
ruby-racc
ruby-rake
ruby-rspec
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 63/90] gnu: ruby-rubocop-capybara: Relax ruby-danger requirement.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-64-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-capybara)[arguments]<#:phases>:
Relax ruby-danger requirement in phase 'relax-requirements.
---
gnu/packages/ruby.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 53567d201a..f039e50fcc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2045,7 +2045,8 @@ (define-public ruby-rubocop-capybara
(lambda _
(substitute* "Gemfile"
(("gem 'rubocop-rspec', '~> 2.16.0'")
- "gem 'rubocop-rspec', '>= 2.16.0'")))))))
+ "gem 'rubocop-rspec', '>= 2.16.0'")
+ (("gem 'danger'.*") "")))))))
(native-inputs
(list ruby-bump
ruby-rack
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:53 +0100
[PATCH v3 64/90] gnu: ruby-standard: Update to 1.37.0.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-65-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-standard): Update to 1.37.0.
[arguments]<#:phases>: Update phases 'delete-problematic-tests and
'relax-requirements. Use gexp.
[native-inputs]: Remove ruby-gimme, ruby-pry.
[propagated-inputs]: Add ruby-lint-roller, ruby-standard-custom,
ruby-standard-performance.
---
gnu/packages/ruby.scm | 66 +++++++++++++++++++++++++------------------
1 file changed, 38 insertions(+), 28 deletions(-)

Toggle diff (92 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f039e50fcc..03f8a2adbc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2371,7 +2371,7 @@ (define-public ruby-standard-performance
(define-public ruby-standard
(package
(name "ruby-standard")
- (version "1.25.3")
+ (version "1.37.0")
(source
(origin
(method git-fetch) ;no test suite in distributed gem
@@ -2380,39 +2380,49 @@ (define-public ruby-standard
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0q42gv7wgrc818a5hm599sy07vjq69hbijzpkpgh6jws6x7wzyh3"))))
+ (base32 "0gm9fn6fz41aya34xz7kzda8xxs7h98n7cjx66qbcy2w0qhs40wc"))))
(build-system ruby-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-HOME
- (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).
- (lambda _
- (for-each
- delete-file
- '("test/standard_test.rb"
- "test/standard/cop/block_single_line_braces_test.rb")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-HOME
+ (lambda _
+ ;; Some tests fail otherwise.
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "standard.gemspec"
+ (("\"rubocop\", \".*\"")
+ (string-append
+ "\"rubocop\", \"~> "
+ #$(package-version
+ (this-package-input "ruby-rubocop"))
+ "\""))
+ (("\"rubocop-performance\", \".*\"")
+ (string-append
+ "\"rubocop-performance\", \"~> "
+ #$(package-version
+ (this-package-input "ruby-rubocop-performance"))
+ "\"")))))
+ (add-after 'unpack 'delete-problematic-tests
+ ;; These tests fail for unknown reasons (see:
+ ;; https://github.com/testdouble/standard/issues/532).
+ (lambda _
+ (delete-file "test/standard_test.rb")
+ (substitute* "test/standard/base_test.rb"
+ ((".*test_configures_all_rubocop_cops.*" all)
+ (string-append all
+ " skip('fails on guix')\n"))))))))
(native-inputs
- (list ruby-gimme
- ruby-pry
- ruby-simplecov))
+ (list ruby-simplecov))
(propagated-inputs
(list ruby-language-server-protocol
+ ruby-lint-roller
ruby-rubocop
- ruby-rubocop-performance))
+ ruby-rubocop-performance
+ ruby-standard-custom
+ ruby-standard-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.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:54 +0100
[PATCH v3 65/90] gnu: Remove ruby-gimme.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-66-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-gimme): Delete variable.
---
gnu/packages/ruby.scm | 59 -------------------------------------------
1 file changed, 59 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 03f8a2adbc..7756df023a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2232,65 +2232,6 @@ (define-public ruby-rubocop-performance-minimal
(propagated-inputs '())
(native-inputs '()))))
-(define-public ruby-gimme
- (let ((revision "1")
- (commit "4e71f0236f1271871916dd403261d26533db34c0"))
- (package
- (name "ruby-gimme")
- (version (git-version "0.5.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/searls/gimme")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0hrd32ygvf3i7h47ak8f623cz8ns9q7g60nnnvvlnywbggjaz3h6"))))
- (build-system ruby-build-system)
- (native-inputs
- (list ruby-coveralls ruby-cucumber ruby-pry ruby-simplecov
- ruby-rspec-given))
- (arguments
- `(;; The cucumber task fails with error: "index 3 out of matches
- ;; (IndexError)", apparently due to our newer Cucumber version.
- ;; TODO: Try the "default" task with a future release.
- #:test-target "spec"
- #:phases
- (modify-phases %standard-phases
- (add-after 'extract-gemspec 'prepare-for-tests
- (lambda _
- ;; Delete failing tests (possibly due to our newer rspec
- ;; version).
- (delete-file "spec/gimme/gives_class_methods_spec.rb")
- (delete-file "spec/gimme/rspec_adapter_spec.rb")
- (delete-file "spec/gimme/verifies_class_methods_spec.rb")
- ;; Fix duplicate version requirements and de-register files.
- (delete-file "Gemfile")
- (delete-file "Gemfile.lock")
- (substitute* "gimme.gemspec"
- ((".*\"Gemfile\".*") "")
- ((".*\"Gemfile\\.lock\",.*") "")
- ((".*(rspec|cucumber).*\">= 0\".*") "")
- (("\"spec/gimme/gives_class_methods_spec.rb\",") "")
- (("\"spec/gimme/rspec_adapter_spec.rb\",") "")
- (("\"spec/gimme/verifies_class_methods_spec.rb\",") "")
- ;; All of these gems relate to development, and are
- ;; unnecessary when running the tests.
- ((".*(add|gem).*guard-.*") "")
- ((".*(add|gem).*jeweler.*") "")
- ((".*(add|gem).*pry.*") "")
- ((".*(add|gem).*growl.*") "")
- ((".*(add|gem).*rb-fsevent.*") "")))))))
- (synopsis "Lightweight test double library for Ruby")
- (description "Gimme is a very lightweight test double library for Ruby,
-based on Mockito (a mocking framework for Java). It is an opinionated (but
-not noisy) means to facilitate test-driving by enabling the authors to specify
-only what they care about.")
- (home-page "https://github.com/searls/gimme")
- (license license:expat))))
-
(define-public ruby-stud
(package
(name "ruby-stud")
--
2.48.1
N
N
Nicolas Graves wrote on 31 Jan 07:54 +0100
[PATCH v3 66/90] gnu: ruby-dotenv: Update to 3.1.7.
(address . 75937@debbugs.gnu.org)
20250131065542.18548-67-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-dotenv): Update to 3.1.7.
[arguments]<#:phases>: Update phases 'do-not-build-dotenv-rails and
'replace-git-ls-files.
---
gnu/packages/ruby.scm | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

Toggle diff (49 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7756df023a..70e121cf01 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -11914,7 +11914,7 @@ (define-public ruby-domain-name
(define-public ruby-dotenv
(package
(name "ruby-dotenv")
- (version "2.8.1")
+ (version "3.1.7")
(source (origin
(method git-fetch) ;for the tests
(uri (git-reference
@@ -11923,7 +11923,7 @@ (define-public ruby-dotenv
(file-name (git-file-name name version))
(sha256
(base32
- "0s1a71jxppa20fsm2rd1vym099ib48m039rmhggmz99hc3z1fvvr"))))
+ "19j0acy12si537hwi4q54q8n5ycmlvfd2ik5y6r7jir6ww06l8yx"))))
(build-system ruby-build-system)
(arguments
(list
@@ -11938,6 +11938,10 @@ (define-public ruby-dotenv
;; tasks.
(delete-file "dotenv-rails.gemspec")
(delete-file "spec/dotenv/rails_spec.rb")
+ (delete-file "spec/dotenv/log_subscriber_spec.rb")
+ (substitute* "spec/spec_helper.rb"
+ (("require \"dotenv\"" all)
+ (string-append "require \"pathname\"\n" all)))
(substitute* "Rakefile"
(("DotenvRailsGemHelper.install_tasks name: \"dotenv-rails\"")
"")
@@ -11946,9 +11950,10 @@ (define-public ruby-dotenv
(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`")))))))
+ (("`git ls-files (README.md LICENSE lib bin) \\| ([^`]*`)"
+ all files command)
+ (string-append
+ "`find " files " -type f | sort | " command))))))))
(native-inputs (list ruby-standard ruby-rspec))
(synopsis "Ruby library for setting environment variables")
(description "Dotenv is a Ruby library for setting environment variables
--
2.48.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75937@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75937
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch