[PATCH ruby-team 000/118] Update ruby to version 3.2.

  • Open
  • quality assurance status badge
Details
One participant
  • Nicolas Graves
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal
N
N
Nicolas Graves wrote 10 hours ago
[PATCH ruby-team 000/118] Update ruby to version 3.2.
(address . guix-patches@gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121182831.31309-1-ngraves@ngraves.fr
Can you open a branch for this patch series? It should be really
close to completion for a Ruby update to its version 3.2. Thanks!

Nicolas Graves (118):
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: ruby-web-console: Fix build.
gnu: ruby-importmap-rails: Update to 2.1.0.
gnu: ruby-importmap-rails: Update package.
gnu: ruby-cuke-modeler: Update to 3.20.1.
gnu: ruby-spinach: Update to 0.12.0.
gnu: ruby-parallel-tests: Update to 4.9.0.
gnu: ruby-prawn-svg: Update to 0.36.0.
gnu: Remove ruby-interception.
gnu: Remove ruby-pry-rescue.
gnu: ruby-yaml-lint: Update to 0.1.2-0.d6a253f.
gnu: ruby-rubocop-rspec-minimal: Avoid ruby-danger dependency.
gnu: ruby-rubocop-rspec: Fix tests.
gnu: ruby-fakefs: Update to 2.8.0.
gnu: ruby-sqlite3: Update to 2.5.0.
gnu: ruby-fast-gettext: Update to 4.1.0.
gnu: ruby-rubocop-packaging: Fix tests.
gnu: ruby-shindo: Update to 0.3.11.
gnu: Remove ruby-minitest-tu-shim.
gnu: ruby-fog-xml: Update to 0.1.5.
gnu: Remove ruby-minitest-pretty-diff.
gnu: Remove ruby-turn.
gnu: Remove ruby-minitest-4.
gnu: ruby-oauth2: Fix test.
gnu: ruby-ci-reporter: Update to 2.1.0.
gnu: ruby-asciidoctor-pdf: Update to 2.3.19.
gnu: ruby-chunky-png: Pin ruby package.
gnu: ruby: Update to ruby-3.2.
gnu: ruby-rspec-rails: Support ruby-sqlite3.

gnu/local.mk | 5 +-
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 +-
...ciidoctor-pdf-support-prawn-svg-0_36.patch | 107 +
.../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 | 191 +-
gnu/packages/ruby.scm | 2032 ++++++++---------
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 +
18 files changed, 1461 insertions(+), 1174 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-asciidoctor-pdf-support-prawn-svg-0_36.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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 002/118] gnu: Add ruby-3.4.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-2-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 003/118] gnu: ruby-3.3: Inherit from ruby-3.4.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-3-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 004/118] gnu: ruby-3.3: Update to 3.3.7.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-4-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 007/118] gnu: ruby-3.1: Inherit from ruby-3.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-7-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 006/118] gnu: ruby-3.2: Update to 3.2.6.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-6-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 011/118] gnu: ruby-flores: Update to 0.0.8-0.92fded0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-11-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 5091f93eb8..847708b873 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2183,6 +2183,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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 014/118] gnu: ruby-listen: Remove uneeded ruby-dep propagated-input.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-14-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 005/118] gnu: ruby-3.2: Inherit from ruby-3.3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-5-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 009/118] gnu: Remove ruby-3.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-9-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 008/118] gnu: ruby-3.1: Update to 3.1.6.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-8-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 019/118] gnu: ruby-hashie: Update to 5.0.0-0.7351055.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-19-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 015/118] gnu: ruby-immutable-struct: Update to 2.4.1-0.bb67ad8.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-15-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 016/118] gnu: ruby-net-scp: Update to 4.0.1.rc3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-16-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 010/118] gnu: Remove ruby-2.6.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-10-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 018/118] gnu: Remove ruby-dep.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-18-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 017/118] gnu: ruby-vagrant-spec: Remove uneeded ruby-dep propagated-input.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-17-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 29f29e0b53..6e613faae2 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2444,7 +2444,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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 013/118] gnu: ruby-contracts: Update to 0.17.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-13-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 012/118] gnu: ruby-stackprof: Update to 0.2.27.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-12-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 022/118] gnu: ruby-minitest-hooks: Update to 1.5.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-22-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 020/118] gnu: ruby-latex-decode: Remove uneeded ruby-ritex propagated-input.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-20-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 027/118] gnu: ruby-rake-compiler: Update to 1.2.9.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-27-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 050/118] gnu: Add ruby-ice-nine.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-50-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 029/118] gnu: ruby-benchmark: Update to 0.4.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-29-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 046/118] gnu: ruby-tilt: Update to 2.1.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-46-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 042/118] gnu: ruby-zeitwerk: Update to 2.7.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-42-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 024/118] gnu: ruby-pg: Update to 1.5.9-0.378b7a3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-24-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 847708b873..74778a8791 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2187,6 +2187,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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 038/118] gnu: ruby-selenium-webdriver: Update to 4.22.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-38-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 035/118] gnu: ruby-rails-html-sanitizer: Update to 1.6.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-35-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 044/118] gnu: ruby-taskjuggler: Update to 3.8.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-44-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 028/118] gnu: Add ruby-securerandom.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-28-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 049/118] gnu: ruby-parser: Update to 3.3.7.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-49-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 041/118] gnu: Add ruby-warning.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-41-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 040/118] gnu: ruby-actionpack: Patch source.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-40-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 74778a8791..76e0e6bdd2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2179,6 +2179,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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 034/118] gnu: ruby-erubi: Update to 1.11.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-34-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 048/118] gnu: ruby-asciidoctor: Update to 2.0.20.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-48-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 033/118] gnu: Add ruby-rackup-1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-33-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 051/118] gnu: ruby-regexp-parser: Update to 2.5.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-51-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 002/118] gnu: Add ruby-3.4.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-2-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 003/118] gnu: ruby-3.3: Inherit from ruby-3.4.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-3-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 001/118] gnu: ruby: Remove uneeded trailing #t.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-1-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 10 hours ago
[PATCH v2 004/118] gnu: ruby-3.3: Update to 3.3.7.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-4-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 006/118] gnu: ruby-3.2: Update to 3.2.6.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-6-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 005/118] gnu: ruby-3.2: Inherit from ruby-3.3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-5-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 007/118] gnu: ruby-3.1: Inherit from ruby-3.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-7-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 008/118] gnu: ruby-3.1: Update to 3.1.6.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-8-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 030/118] gnu: ruby-rails: Update to 7.1.5.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-30-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 032/118] gnu: ruby-concurrent-ruby: Update to 1.3.5.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-32-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 023/118] gnu: packages: Add comments for migration to ruby@3
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-23-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 6091d1ea6d..cc783cfc56 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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 039/118] gnu: Add ruby-base64.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-39-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 037/118] gnu: ruby-puma: Update to 6.5.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-37-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 047/118] gnu: ruby-tilt: Update to 2.2.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-47-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 043/118] gnu: ruby-mail: Update to 2.8.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-43-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 045/118] gnu: jekyll: Update to 4.3.4.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-45-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 036/118] gnu: ruby-rails-dom-testing: Update to 2.2.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-36-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 010/118] gnu: Remove ruby-2.6.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-10-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 009/118] gnu: Remove ruby-3.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-9-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 017/118] gnu: ruby-vagrant-spec: Remove uneeded ruby-dep propagated-input.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-17-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 29f29e0b53..6e613faae2 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2444,7 +2444,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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 012/118] gnu: ruby-stackprof: Update to 0.2.27.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-12-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 020/118] gnu: ruby-latex-decode: Remove uneeded ruby-ritex propagated-input.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-20-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 011/118] gnu: ruby-flores: Update to 0.0.8-0.92fded0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-11-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 5091f93eb8..847708b873 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2183,6 +2183,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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 018/118] gnu: Remove ruby-dep.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-18-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 014/118] gnu: ruby-listen: Remove uneeded ruby-dep propagated-input.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-14-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 016/118] gnu: ruby-net-scp: Update to 4.0.1.rc3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-16-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 024/118] gnu: ruby-pg: Update to 1.5.9-0.378b7a3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-24-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 847708b873..74778a8791 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2187,6 +2187,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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 023/118] gnu: packages: Add comments for migration to ruby@3
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-23-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 6091d1ea6d..cc783cfc56 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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 027/118] gnu: ruby-rake-compiler: Update to 1.2.9.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-27-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 028/118] gnu: Add ruby-securerandom.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-28-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 001/118] gnu: ruby: Remove uneeded trailing #t.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-1-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 10 hours ago
[PATCH 031/118] gnu: ruby-timeout: Update to 0.4.3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-31-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 025/118] gnu: ruby-msgpack: Update to 1.7.5.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-25-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 021/118] gnu: Remove ruby-ritex.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-21-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH 026/118] gnu: ruby-hoe: Update to 4.2.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183646.32696-26-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 013/118] gnu: ruby-contracts: Update to 0.17.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-13-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 015/118] gnu: ruby-immutable-struct: Update to 2.4.1-0.bb67ad8.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-15-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 021/118] gnu: Remove ruby-ritex.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-21-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 022/118] gnu: ruby-minitest-hooks: Update to 1.5.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-22-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 019/118] gnu: ruby-hashie: Update to 5.0.0-0.7351055.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-19-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 026/118] gnu: ruby-hoe: Update to 4.2.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-26-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 029/118] gnu: ruby-benchmark: Update to 0.4.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-29-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 025/118] gnu: ruby-msgpack: Update to 1.7.5.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-25-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 031/118] gnu: ruby-timeout: Update to 0.4.3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-31-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 030/118] gnu: ruby-rails: Update to 7.1.5.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-30-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 033/118] gnu: Add ruby-rackup-1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-33-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 035/118] gnu: ruby-rails-html-sanitizer: Update to 1.6.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-35-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 034/118] gnu: ruby-erubi: Update to 1.11.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-34-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 036/118] gnu: ruby-rails-dom-testing: Update to 2.2.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-36-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 037/118] gnu: ruby-puma: Update to 6.5.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-37-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 039/118] gnu: Add ruby-base64.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-39-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 038/118] gnu: ruby-selenium-webdriver: Update to 4.22.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-38-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.47.1
N
N
Nicolas Graves wrote 10 hours ago
[PATCH v2 032/118] gnu: ruby-concurrent-ruby: Update to 1.3.5.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121183835.2080-32-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 041/118] gnu: Add ruby-warning.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-41-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 040/118] gnu: ruby-actionpack: Patch source.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-40-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 74778a8791..76e0e6bdd2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2179,6 +2179,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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 043/118] gnu: ruby-mail: Update to 2.8.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-43-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 042/118] gnu: ruby-zeitwerk: Update to 2.7.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-42-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 044/118] gnu: ruby-taskjuggler: Update to 3.8.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-44-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 039/118] gnu: Add ruby-base64.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-39-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 045/118] gnu: jekyll: Update to 4.3.4.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-45-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 047/118] gnu: ruby-tilt: Update to 2.2.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-47-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 048/118] gnu: ruby-asciidoctor: Update to 2.0.20.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-48-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 049/118] gnu: ruby-parser: Update to 3.3.7.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-49-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 046/118] gnu: ruby-tilt: Update to 2.1.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-46-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 050/118] gnu: Add ruby-ice-nine.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-50-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 051/118] gnu: ruby-regexp-parser: Update to 2.5.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-51-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 052/118] gnu: ruby-regexp-parser: Update to 2.6.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-52-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 053/118] gnu: Add ruby-lint-roller.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-53-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 054/118] gnu: ruby-slim: Update to 5.2.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-54-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 055/118] gnu: Add ruby-standard-custom.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-55-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 056/118] gnu: Add ruby-standard-performance.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-56-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 060/118] gnu: ruby-rubocop-ast: Update to 1.37.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-60-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 059/118] gnu: ruby-rubocop-rspec-minimal: Update to 2.26.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-59-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 058/118] gnu: ruby-rubocop-capybara-minimal: Update to 2.21.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-58-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 062/118] gnu: ruby-rubocop: Update to 1.68.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-62-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 057/118] gnu: Add ruby-rubocop-factory-bot.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-57-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 063/118] gnu: ruby-rubocop-capybara: Relax ruby-danger requirement.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-63-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 064/118] gnu: ruby-standard: Update to 1.37.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-64-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 061/118] gnu: ruby-rubocop-performance: Update to 1.23.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-61-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 065/118] gnu: Remove ruby-gimme.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-65-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 067/118] gnu: ruby-protobuf: Update to 3.10.9.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-67-ngraves@ngraves.fr
* gnu/packages/protobuf.scm (ruby-protobuf): Update to 3.10.9.
---
gnu/packages/protobuf.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index d4b48e585b..10339dfe3c 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -593,7 +593,7 @@ (define-public emacs-protobuf-mode
(define-public ruby-protobuf
(package
(name "ruby-protobuf")
- (version "3.10.7")
+ (version "3.10.9")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -602,7 +602,7 @@ (define-public ruby-protobuf
(file-name (git-file-name name version))
(sha256
(base32
- "12hp1clg83jfl35x1h2ymzpj5w83wrnqw7hjfc6mqa8lsvpw535r"))))
+ "1d6fihqwrq46sg5vjm0nps8bbin7zcbz5m358wgzh76iapwij2rq"))))
(build-system ruby-build-system)
(arguments
(list
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 070/118] gnu: ruby-anystyle-data: Update to 1.3.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-70-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-anystyle-data): Update to 1.3.0.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 9732afef3b..6f6100b5c6 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17680,15 +17680,15 @@ (define-public ruby-gli
(define-public ruby-anystyle-data
(package
(name "ruby-anystyle-data")
- (version "1.2.0")
+ (version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/inukshuk/anystyle-data")
- (commit version)))
+ (commit (string-append "v" version))))
(sha256
(base32
- "025mxa7r9d7izqn6bc1wr40ijp64da0jh211prlpjl6svilgd6rm"))
+ "1jh880310m3gjdrk4m8rwwnsf0824zkf26clpr8p64sac2fyy907"))
(snippet
;; remove pre-built file
#~(delete-file "lib/anystyle/data/dict.txt.gz"))
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 069/118] gnu: fpm: Update to 1.16.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-69-ngraves@ngraves.fr
* gnu/packages/package-management.scm (fpm): Update to 1.16.0.
[source]<origin>(patches): Remove patch.
* gnu/local.mk: Remove patch.
* gnu/packages/patches/fpm-newer-clamp-fix.patch: Remove patch.
---
gnu/local.mk | 1 -
gnu/packages/package-management.scm | 5 ++-
.../patches/fpm-newer-clamp-fix.patch | 33 -------------------
3 files changed, 2 insertions(+), 37 deletions(-)
delete mode 100644 gnu/packages/patches/fpm-newer-clamp-fix.patch

Toggle diff (76 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 76e0e6bdd2..07895bf9da 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1310,7 +1310,6 @@ dist_patch_DATA = \
%D%/packages/patches/fp16-system-libraries.patch \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fpc-glibc-2.34-compat.patch \
- %D%/packages/patches/fpm-newer-clamp-fix.patch \
%D%/packages/patches/freedict-tools-fix-determinism.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeimage-libtiff-compat.patch \
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index af1760c2fd..1641456c64 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -2146,7 +2146,7 @@ (define-public flatpak
(define-public fpm
(package
(name "fpm")
- (version "1.15.1")
+ (version "1.16.0")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -2155,8 +2155,7 @@ (define-public fpm
(file-name (git-file-name name version))
(sha256
(base32
- "1m2zxf7wyk7psvm611yxs68hnwm0pyqilsmcq3x791hz7rvbg68w"))
- (patches (search-patches "fpm-newer-clamp-fix.patch"))))
+ "0h4yw57y0p0x335767y058lbv46f6xjf3jvv49vxw5vfzzhqbl3c"))))
(build-system ruby-build-system)
(arguments
(list #:phases
diff --git a/gnu/packages/patches/fpm-newer-clamp-fix.patch b/gnu/packages/patches/fpm-newer-clamp-fix.patch
deleted file mode 100644
index 9fbb15ee29..0000000000
--- a/gnu/packages/patches/fpm-newer-clamp-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Retrieved from: https://github.com/jordansissel/fpm/pull/1561.patch
-
-From 956a218a7b35de08ea35da3b702ffdc716656b68 Mon Sep 17 00:00:00 2001
-From: Jordan Sissel <jls@semicomplete.com>
-Date: Mon, 15 Oct 2018 21:05:47 -0700
-Subject: [PATCH] Check if an option has a default value before we try to look
- it up.
-
-This fixes fpm when used with clamp 1.3.0 or above.
-
-Fixes #1543
----
- lib/fpm/command.rb | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/lib/fpm/command.rb b/lib/fpm/command.rb
-index a204001e1..a99ddb627 100644
---- a/lib/fpm/command.rb
-+++ b/lib/fpm/command.rb
-@@ -394,7 +394,12 @@ def execute
- set = proc do |object, attribute|
- # if the package's attribute is currently nil *or* the flag setting for this
- # attribute is non-default, use the value.
-- if object.send(attribute).nil? || send(attribute) != send("default_#{attribute}")
-+
-+ # Not all options have a default value, so we assume `nil` if there's no default. (#1543)
-+ # In clamp >= 1.3.0, options without `:default => ..` will not have any # `default_xyz`
-+ # methods generated, so we need to check for the presence of this method first.
-+ default = respond_to?("default_#{attribute}") ? send("default_#{attribute}") : nil
-+ if object.send(attribute).nil? || send(attribute) != default
- logger.info("Setting from flags: #{attribute}=#{send(attribute)}")
- object.send("#{attribute}=", send(attribute))
- end
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 072/118] gnu: ruby-anystyle: Update to 1.4.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-72-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-anystyle): Update to 1.4.2.
[native-inputs]: Add ruby-gdbm.
* gnu/packages/patches/ruby-anystyle-fix-dictionary-populate.patch:
Update patch.
---
...uby-anystyle-fix-dictionary-populate.patch | 2 +-
gnu/packages/ruby.scm | 175 +++++++++---------
2 files changed, 87 insertions(+), 90 deletions(-)

Toggle diff (214 lines)
diff --git a/gnu/packages/patches/ruby-anystyle-fix-dictionary-populate.patch b/gnu/packages/patches/ruby-anystyle-fix-dictionary-populate.patch
index b2e0498e8d..439df1244b 100644
--- a/gnu/packages/patches/ruby-anystyle-fix-dictionary-populate.patch
+++ b/gnu/packages/patches/ruby-anystyle-fix-dictionary-populate.patch
@@ -52,7 +52,7 @@ index 761ca36..b9529d0 100644
end
def open
-- if File.exists?(options[:path])
+- if File.exist?(options[:path])
- @db = ::Marshal.load(File.open(options[:path]))
- else
- @db = {}
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ed4b3b5833..55d293ae2e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17749,100 +17749,97 @@ (define-public ruby-anystyle-data
(license license:bsd-2)))
(define-public ruby-anystyle
- (let ((commit "50f1dd547d28ab4b830e45d70e840cb1898a37b0")
- (revision "1"))
- ;; Releases point to specific commits, but recent releases haven't been
- ;; tagged in Git. Meanwhile, the rubygems archive lacks tests.
- (package
- (name "ruby-anystyle")
- (version (git-version "1.3.14" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/inukshuk/anystyle")
- (commit commit)))
- (sha256
- (base32
- "0f4qcrywl1kl6qysn24lj3yp85ln4i7za7b7ld2fglyzwcggxwb0"))
- (snippet
- ;; There is an optional dependency on
- ;; <https://github.com/feedbackmine/language_detector>, which
- ;; seems like it was intended to be free software, but
- ;; doesn't have a clear license statement. Maybe someone can
- ;; do more sleuthing, or else find a replacement? See also
- ;; <https://github.com/inukshuk/anystyle/issues/186>. For
- ;; now, patch it out, but leave a pointer to follow up.
- #~(begin
- (use-modules (guix build utils))
- (substitute* "Gemfile"
- (("gem 'language_detector', github: '[^']*'" orig)
- (string-append "# " orig " # unclear license")))
- (substitute* "spec/anystyle/parser_spec.rb"
- (("language: 'en'," orig)
- (string-append "# " orig " # no lanugage_detector")))))
- (patches
- (search-patches
- "ruby-anystyle-fix-dictionary-populate.patch"))
- (file-name (git-file-name name version))))
- (build-system ruby-build-system)
- (propagated-inputs
- (list ruby-anystyle-data
- ruby-bibtex-ruby
- ruby-namae
- ruby-wapiti))
- (native-inputs
- (list ruby-byebug
- ruby-citeproc
- ruby-edtf
- ruby-rspec
- ruby-unicode-scripts))
- (arguments
- (list
- #:test-target "spec"
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'extract-gemspec 'avoid-bundler
- (lambda args
- (substitute* "Rakefile"
- (("require 'bundler" orig)
- (string-append "# " orig " # patched for Guix"))
- (("Bundler\\.setup" orig)
- (string-append "true # " orig " # patched for Guix")))))
- (add-after 'replace-git-ls-files 'replace-another-git-ls-files
- (lambda args
- (substitute* "anystyle.gemspec"
- (("`git ls-files spec`")
- "`find spec -type f | sort`"))))
- (add-after 'wrap 'populate-dictionaries
- (lambda args
- ;; We must initiallize these files here, or they will never be
- ;; usable with the default settings. A more flexible approach
- ;; might use something like `Gem.find_files()` or
- ;; XDG_DATA_DIRS.
- (with-output-to-file "initialize-dictionaries.rb"
- (lambda ()
- (display "
+ (package
+ (name "ruby-anystyle")
+ (version "1.4.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/inukshuk/anystyle")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0xhy7wj8v7iahikck6vxbdpncaz5w2gb11b32kmvg5ckgi2kz23p"))
+ (snippet
+ ;; There is an optional dependency on
+ ;; <https://github.com/feedbackmine/language_detector>, which
+ ;; seems like it was intended to be free software, but
+ ;; doesn't have a clear license statement. Maybe someone can
+ ;; do more sleuthing, or else find a replacement? See also
+ ;; <https://github.com/inukshuk/anystyle/issues/186>. For
+ ;; now, patch it out, but leave a pointer to follow up.
+ #~(begin
+ (use-modules (guix build utils))
+ (substitute* "Gemfile"
+ (("gem 'language_detector', github: '[^']*'" orig)
+ (string-append "# " orig " # unclear license")))
+ (substitute* "spec/anystyle/parser_spec.rb"
+ (("language: 'en'," orig)
+ (string-append "# " orig " # no lanugage_detector")))))
+ (patches
+ (search-patches
+ "ruby-anystyle-fix-dictionary-populate.patch"))
+ (file-name (git-file-name name version))))
+ (build-system ruby-build-system)
+ (propagated-inputs
+ (list ruby-anystyle-data
+ ruby-bibtex-ruby
+ ruby-namae
+ ruby-wapiti))
+ (native-inputs
+ (list ruby-byebug
+ ruby-citeproc
+ ruby-edtf
+ ruby-gdbm
+ ruby-rspec
+ ruby-unicode-scripts))
+ (arguments
+ (list
+ #:test-target "spec"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'extract-gemspec 'avoid-bundler
+ (lambda args
+ (substitute* "Rakefile"
+ (("require 'bundler" orig)
+ (string-append "# " orig " # patched for Guix"))
+ (("Bundler\\.setup" orig)
+ (string-append "true # " orig " # patched for Guix")))))
+ (add-after 'replace-git-ls-files 'replace-another-git-ls-files
+ (lambda args
+ (substitute* "anystyle.gemspec"
+ (("`git ls-files spec`")
+ "`find spec -type f | sort`"))))
+ (add-after 'wrap 'populate-dictionaries
+ (lambda args
+ ;; We must initialize these files here, or they will never be
+ ;; usable with the default settings. A more flexible approach
+ ;; might use something like `Gem.find_files()` or
+ ;; XDG_DATA_DIRS.
+ (with-output-to-file "initialize-dictionaries.rb"
+ (lambda ()
+ (display "\
require 'anystyle/dictionary' # must come before 'anystyle/data'
require 'anystyle/data'
[:marshal, :gdbm].each do |adapter|
AnyStyle::Dictionary.create({adapter: adapter}).open().close()
end
")))
- (let* ((old-gems (getenv "GEM_PATH"))
- (new-gems (string-append #$output
- "/lib/ruby/vendor_ruby:"
- old-gems)))
- (dynamic-wind
- (lambda ()
- (setenv "GEM_PATH" new-gems))
- (lambda ()
- (invoke "ruby" "initialize-dictionaries.rb"))
- (lambda ()
- (setenv "GEM_PATH" old-gems)))))))))
- (home-page "https://anystyle.io")
- (synopsis "Fast and smart citation reference parsing (Ruby library)")
- (description
- "AnyStyle is a very fast and smart parser for academic reference lists
+ (let* ((old-gems (getenv "GEM_PATH"))
+ (new-gems (string-append #$output
+ "/lib/ruby/vendor_ruby:"
+ old-gems)))
+ (dynamic-wind
+ (lambda ()
+ (setenv "GEM_PATH" new-gems))
+ (lambda ()
+ (invoke "ruby" "initialize-dictionaries.rb"))
+ (lambda ()
+ (setenv "GEM_PATH" old-gems)))))))))
+ (home-page "https://anystyle.io")
+ (synopsis "Fast and smart citation reference parsing (Ruby library)")
+ (description
+ "AnyStyle is a very fast and smart parser for academic reference lists
and bibliographies. AnyStyle uses powerful machine learning heuristics based
on Conditional Random Fields and aims to make it easy to train the model with
data that is relevant to your parsing needs.
@@ -17850,7 +17847,7 @@ (define-public ruby-anystyle
This package provides the Ruby module @code{AnyStyle}. AnyStyle can also be
used via the @command{anystyle} command-line utility or a web application,
though the later has not yet been packaged for Guix.")
- (license license:bsd-2))))
+ (license license:bsd-2)))
(define-public anystyle
(package
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 066/118] gnu: ruby-dotenv: Update to 3.1.7.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-66-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.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 081/118] gnu: ruby-rspec-rails: Update to 7.0.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-81-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-rspec-rails): Update to 7.0.2.
---
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 133737c2d8..38a8ef0bbc 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -361,7 +361,7 @@ (define-public ruby-activerecord
(define-public ruby-rspec-rails
(package
(name "ruby-rspec-rails")
- (version "6.0.1")
+ (version "7.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -370,7 +370,7 @@ (define-public ruby-rspec-rails
(file-name (git-file-name name version))
(sha256
(base32
- "0wmrpwv2vgrwmby01pld6r6sdfa265lb6pd3fp2kifs40nn7ff6b"))))
+ "1ixm9h2sdd8varnkyxccxhp9dyr8fxk6q5ibrkrk2c83v2xa7bjc"))))
(build-system ruby-build-system)
(arguments
(list
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 082/118] gnu: ruby-activerecord: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-82-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-activerecord):
[propagated-inputs]: Add ruby-timeout.
---
gnu/packages/rails.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 38a8ef0bbc..000cdcadc7 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -350,7 +350,10 @@ (define-public ruby-activerecord
(native-inputs
(list tzdata-for-tests
ruby-mini-portile-2))
- (propagated-inputs (list ruby-activemodel ruby-activesupport ruby-sqlite3))
+ (propagated-inputs (list ruby-activemodel
+ ruby-activesupport
+ ruby-sqlite3
+ ruby-timeout))
(synopsis "Ruby library to connect to relational databases")
(description
"Active Record connects classes to relational database table to establish
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 084/118] gnu: ruby-actioncable: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-84-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-actioncable):
[arguments]<#:phases>: Update phase 'disable-problematic-tests.
[native-inputs]: Add ruby-zeitwerk.
---
gnu/packages/rails.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 1eba31afd6..a411acc37e 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -686,7 +686,9 @@ (define-public ruby-actioncable
(lambda _
;; There are multiple client test failures (see:
;; https://github.com/rails/rails/issues/47617).
- (delete-file "test/client_test.rb")))
+ (delete-file "test/client_test.rb")
+ ;; This requires yarn.
+ (delete-file "test/javascript_package_test.rb")))
(add-before 'check 'start-redis
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
@@ -697,7 +699,8 @@ (define-public ruby-actioncable
ruby-pg
ruby-puma
ruby-redis
- ruby-websocket-client-simple))
+ ruby-websocket-client-simple
+ ruby-zeitwerk))
(propagated-inputs
(list ruby-actionpack
ruby-activesupport
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 080/118] gnu: ruby-activesupport: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-80-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-activesupport):
[native-inputs]: Remove ruby-connection-pool.
[propagated-inputs]: Add ruby-benchmark, ruby-concurrent,
ruby-connection-ppol, ruby-msgpack, ruby-securerandom.
---
gnu/packages/rails.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 4d0670429e..133737c2d8 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -100,7 +100,6 @@ (define-public ruby-activesupport
(list memcached
redis
ruby-builder
- ruby-connection-pool
ruby-dalli
ruby-hiredis
ruby-libxml
@@ -110,9 +109,13 @@ (define-public ruby-activesupport
ruby-rexml
tzdata-for-tests))
(propagated-inputs
- (list ruby-concurrent
+ (list ruby-benchmark
+ ruby-concurrent
+ ruby-connection-pool
ruby-i18n
ruby-minitest
+ ruby-msgpack
+ ruby-securerandom
ruby-tzinfo
ruby-tzinfo-data))
(synopsis "Ruby on Rails utility library")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 083/118] gnu: ruby-actionpack: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-83-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-actionpack):
[arguments]<#:phases>: Update 'delete-problematic-tests phase with new
test failures.
---
gnu/packages/rails.scm | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 000cdcadc7..1eba31afd6 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -610,8 +610,30 @@ (define-public ruby-actionpack
(skip-tests "dispatch/system_testing/driver_test.rb"
;; These tests require Firefox.
+ "initializing the driver with a headless firefox"
"define extra capabilities using headless_firefox"
- "define extra capabilities using firefox")
+ "define extra capabilities using firefox"
+ ;; These tests require Chrome.
+ "initializing the driver with a browser"
+ "initializing the driver with a headless chrome"
+ "define extra capabilities using headless_chrome"
+ "define extra capabilities using chrome"
+ ;; This test requires geckodriver.
+ "does not define extra capabilities")
+
+ ;; These depends on firefox or chrome.
+ (delete-file "dispatch/system_testing/system_test_case_test.rb")
+ (delete-file "dispatch/system_testing/screenshot_helper_test.rb")
+
+ ;; Small translation errors.
+ (skip-tests "abstract/translation_test.rb" "\
+test_translate_marks_translation_with_missing_nested_html_key_as_safe" "\
+test_translate_marks_translation_with_missing_html_key_as_safe")
+
+ ;; IPSpoofAttackError
+ (skip-tests "dispatch/request_test.rb"
+ "remote ip spoof detection"
+ "remote ip v6 spoof detection")
(skip-tests "dispatch/session/cache_store_test.rb"
;; This test fails with: "NoMethodError:
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 085/118] gnu: ruby-actionmailbox: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-85-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-actionmailbox):
[propagated-inputs]: Remove ruby-net-imap, ruby-net-pop,
ruby-net-smtp.

The reason for this removal is that they are bundled with Ruby from
3.1.0 onwards, and were conflicting for some reason.
---
gnu/packages/rails.scm | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index a411acc37e..61443f34a3 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -802,10 +802,7 @@ (define-public ruby-actionmailbox
ruby-activerecord
ruby-activestorage
ruby-activesupport
- ruby-mail
- ruby-net-imap
- ruby-net-pop
- ruby-net-smtp))
+ ruby-mail))
(synopsis "Receive and process incoming emails in Rails applications")
(description
"ActionMailbox receives and processes incoming emails in Rails applications.")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 086/118] gnu: ruby-actionmailer: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-86-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-actionmailer):
[propagated-inputs]: Remove ruby-net-imap, ruby-net-pop,
ruby-net-smtp.

The reason for this removal is that they are bundled with Ruby from
3.1.0 onwards, and were conflicting for some reason.
---
gnu/packages/rails.scm | 3 ---
1 file changed, 3 deletions(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 61443f34a3..35f1a2bbc0 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -829,9 +829,6 @@ (define-public ruby-actionmailer
ruby-activejob
ruby-activesupport
ruby-mail
- ruby-net-imap
- ruby-net-pop
- ruby-net-smtp
ruby-rails-dom-testing))
(synopsis "Work with emails using the controller/view pattern")
(description
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 087/118] gnu: ruby-railties: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-87-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-railties):
[arguments]<#:phases>: Update phase 'disable-problematic-tests with
new failures. Cleanup old failures.
[native-inputs]: Remove ruby-webrick.
[propagated-inputs]: Add ruby-rackup-1 and ruby-webrick.
---
gnu/packages/rails.scm | 84 +++++++++++++++++++++++++-----------------
1 file changed, 51 insertions(+), 33 deletions(-)

Toggle diff (165 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 35f1a2bbc0..086b2374c2 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -1144,16 +1144,8 @@ (define (touch file-name)
(with-directory-excursion "test"
;; This test requires 'rails' and Bundler.
(delete-file "application/server_test.rb")
- ;; These tests are incompatible with MiniTest 5.17 (see:
- ;; https://github.com/rails/rails/issues/47657).
- (skip-tests "generators_test.rb"
- "test_invoke_with_config_values"
- "test_simple_invoke"
- "test_should_give_higher_preference_to_rails_generators"
- "test_nested_fallbacks_for_generators"
- "test_fallbacks_for_generators_on_invoke"
- "test_invoke_with_default_values"
- "test_invoke_with_nested_namespaces")
+ ;; These depends on firefox or chrome.
+ (delete-file "application/system_test_case_test.rb")
;; These tests requires the assets which we lack.
(delete-file "application/assets_test.rb")
(delete-file "railties/generators_test.rb")
@@ -1162,12 +1154,31 @@ (define (touch file-name)
;; shebang and fails.
"test_shebang_when_is_the_same_as_default_use_env")
(skip-tests "generators/app_generator_test.rb"
- ;; This test requires networking.
+ ;; These tests requires networking.
+ "test_app_update_create_new_framework_defaults"
+ "test_app_update_does_not_change_config_target_version"
+ "test_app_update_does_not_change_app_name_when_app_name_\
+is_hyphenated_name"
+ "test_app_update_does_not_create_rack_cors"
+ "test_app_update_does_not_generate_bootsnap_contents_\
+when_skip_bootsnap_is_given"
+ "test_app_update_does_not_remove_rack_cors_if_already_present"
+ "test_app_update_does_not_generate_manifest_config_\
+when_propshaft_is_used"
+ "test_app_update_does_not_generate_action_cable_\
+contents_when_skip_action_cable_is_given"
+ "test_app_update_preserves_propshaft"
+ "test_app_update_preserves_skip_action_mailbox"
+ "test_app_update_preserves_skip_action_text"
+ "test_app_update_preserves_skip_system_test"
+ "test_app_update_preserves_skip_test"
+ "test_application_name_is_detected_if_it_exists_and_app_folder_renamed"
"test_template_from_url"
;; This test requires Bundler.
"test_generation_use_original_bundle_environment"
- ;; This test requires assets.
+ ;; These tests require assets.
"test_css_option_with_cssbundling_gem"
+ "test_css_option_with_asset_pipeline_sass"
;; These tests require the rails/command
;; namespace provided by the 'ruby-rails'
;; package, which depends on this one.
@@ -1186,10 +1197,11 @@ (define (touch file-name)
"test_generate_application_job_when_does_not_exist_in_mountable_engine"
"test_run_default"
;; This test expects a /usr/bin/env shebang.
- "test_shebang")
- ;; The following generator tests require assets.
- (skip-tests "generators/plugin_test_runner_test.rb"
- "test_run_default")
+ "test_shebang"
+ ;; This test requires Bundler.
+ "test_plugin_passes_generated_test")
+ ;; The following tests require Gemfile or .bundle in their setup.
+ (delete-file "generators/plugin_test_runner_test.rb")
(skip-tests
"generators/scaffold_controller_generator_test.rb"
"test_controller_tests_pass_by_default_inside_full_engine"
@@ -1203,9 +1215,8 @@ (define (touch file-name)
"test_scaffold_tests_pass_by_default_inside_full_engine"
"test_scaffold_tests_pass_by_default_inside_namespaced_\
mountable_engine")
- (skip-tests "generators/test_runner_in_engine_test.rb"
- "test_run_default"
- "test_rerun_snippet_is_relative_path")
+ ;; Tests in this file require Bundler.
+ (delete-file "generators/test_runner_in_engine_test.rb")
;; The actions_test tests depend on assets or the rails gem.
(delete-file "generators/actions_test.rb")
(skip-tests "engine/commands_test.rb"
@@ -1221,9 +1232,16 @@ (define (touch file-name)
"test_generated_scaffold_works_with_rails_test"
"test_load_fixtures_when_running_test_suites"
"test_run_in_parallel_with_unmarshable_exception"
- "test_run_in_parallel_with_unknown_object")
+ "test_run_in_parallel_with_unknown_object"
+ "test_system_tests_are_run_through_rake_test_when_given_in_TEST"
+ "test_reset_sessions_before_rollback_on_system_tests"
+ "test_reset_sessions_on_failed_system_test_screenshot"
+ "test_parallel_testing_when_schema_is_not_up_to_date"
+ "test_failed_system_test_screenshot_should_be_\
+taken_before_other_teardown")
(skip-tests
"application/test_test.rb"
+ "schema for all the models is loaded when tests are run in eager load context"
"automatically synchronizes test schema after rollback"
"hooks for plugins"
"sql structure migrations when adding column to existing table"
@@ -1237,9 +1255,9 @@ (define (touch file-name)
(delete-file "application/rake/dbs_test.rb")
(delete-file "application/rake/migrations_test.rb")
(delete-file "application/rake/multi_dbs_test.rb")
- (skip-tests "engine/test_test.rb"
- "automatically synchronize test schema")
(skip-tests "isolation/abstract_unit.rb" "use_postgresql")
+ ;; Requires rails gem.
+ (delete-file "engine/test_test.rb")
(skip-tests "railties/engine_test.rb"
"active_storage:install task works within engine"
"active_storage:update task works within engine"
@@ -1252,21 +1270,20 @@ (define (touch file-name)
"setting priority for engines with config.railties_order")
;; This test requires a database server or networking.
(delete-file "application/bin_setup_test.rb")
- (skip-tests "application/middleware/cache_test.rb"
- ;; This test produces "miss, store" instead of
- ;; "fresh".
- "test_cache_works_with_expires"
- ;; This one produces "miss" instead of "stale,
- ;; valid, store".
- "test_cache_works_with_etags"
- ;; Likewise.
- "test_cache_works_with_last_modified")
(skip-tests "application/initializers/frameworks_test.rb"
;; These tests are either broken, or rely on
;; database availability
"expire schema cache dump if the version can't be checked because the database is unhealthy"
"does not expire schema cache dump if check_schema_cache_dump_version is false and the database unhealthy"
- "does not expire schema cache dump if check_schema_cache_dump_version is false")))))
+ "does not expire schema cache dump if check_schema_cache_dump_version is false")
+ (skip-tests "commands/credentials_test.rb"
+ "edit command does not display save confirmation message if interrupted")
+ (skip-tests "commands/encrypted_test.rb"
+ "edit command does not display save confirmation message if interrupted")
+ (skip-tests "commands/routes_test.rb"
+ "rails routes with expanded option")
+ (skip-tests "commands/server_test.rb"
+ "test_served_url_when_server_prints_it")))))
(add-before 'check 'set-paths
(lambda _
(setenv "PATH" (string-append (getenv "PATH") ":"
@@ -1296,14 +1313,15 @@ (define (touch file-name)
ruby-pg
ruby-selenium-webdriver
ruby-sprockets-rails
- ruby-webrick
sqlite))
(propagated-inputs
(list ruby-actionpack
ruby-activesupport
ruby-method-source
+ ruby-rackup-1
ruby-rake
ruby-thor
+ ruby-webrick
ruby-zeitwerk))
(synopsis "Rails internals, including application bootup and generators")
(description "@code{railties} provides the core Rails internals including
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 091/118] gnu: ruby-web-console: Fix build.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-91-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-web-console)[native-inputs]: Add ruby-bindex.
---
gnu/packages/rails.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 5b8aa4a1fc..a973ccd061 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -1486,7 +1486,7 @@ (define-public ruby-web-console
(propagated-inputs
(list ruby-actionview ruby-activemodel ruby-arel ruby-skiptrace ruby-railties))
(native-inputs
- (list bundler ruby-rails ruby-mocha ruby-simplecov))
+ (list bundler ruby-bindex ruby-rails ruby-mocha ruby-simplecov))
(synopsis "Debugging tool for your Ruby on Rails applications")
(description
"This package allows you to create an interactive Ruby session in your
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 088/118] gnu: ruby-treetop: Update to 1.6.12.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-88-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-treetop): Update to 1.6.12.
---
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 adc1fd8a49..cdd0e1ca91 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1965,7 +1965,7 @@ (define-public ruby-polyglot
(define-public ruby-treetop
(package
(name "ruby-treetop")
- (version "1.6.10")
+ (version "1.6.12")
(source
(origin
(method git-fetch) ;no test suite in distributed gem
@@ -1975,7 +1975,7 @@ (define-public ruby-treetop
(file-name (git-file-name name version))
(sha256
(base32
- "1dmk94z6ivhrz5hsq68vl5vgydhkz89n394rha1ymddw3rymbfcv"))))
+ "0cgs6f9z0a9dq5fc03710zsch4gmh1771wq36mq81qsql4x9vksf"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"))
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 089/118] gnu: ruby-rspec-rails: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-89-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-rspec-rails)[arguments]<#:phases>:
Adapt phases to the current %ruby-rails-version.
---
gnu/packages/rails.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 086b2374c2..5b8aa4a1fc 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -395,9 +395,7 @@ (define-public ruby-rspec-rails
(substitute* "Gemfile-rspec-dependencies"
((", :git => \"https://github.com/rspec.*")
"\n"))
- (substitute* "Gemfile-rails-dependencies"
- (("gem 'puma', '< 6.0.0'")
- "gem 'puma', '>= 6.0.0'"))
+ (setenv "RAILS_VERSION" #$%ruby-rails-version)
(substitute* "rspec-rails.gemspec"
(("'aruba', '~> 0.14.12'")
"'aruba', '>= 0.14.12'")
@@ -410,6 +408,8 @@ (define-public ruby-rspec-rails
"`find lib -type f |sort`"))))
(add-before 'check 'patch-tests
(lambda _
+ ;; Requires chrome or firefox.
+ (delete-file "spec/rspec/rails/example/system_example_group_spec.rb")
(substitute* "spec/rspec/rails_spec.rb"
(("`git ls-files -z`")
"`find . -type f -not -regex '.*\\.gem$' -print0 | \
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 092/118] gnu: ruby-importmap-rails: Update to 2.1.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-92-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-importmap-rails): Update to 2.1.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 a973ccd061..6195409858 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -922,7 +922,7 @@ (define-public ruby-bootsnap
(define ruby-importmap-rails-bootstrap
(package
(name "ruby-importmap-rails-bootstrap")
- (version "1.1.5")
+ (version "2.1.0")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -931,7 +931,7 @@ (define ruby-importmap-rails-bootstrap
(file-name (git-file-name name version))
(sha256
(base32
- "1d8pqqqrvsnm8rpr7qkpcxpscif61xymi509v1c62laadvhcmklg"))))
+ "1mv223davpm0z50i787yiy49fiakd8ay5slmimyrg5cl3cjrvzm9"))))
(build-system ruby-build-system)
(arguments (list #:tests? #f)) ;avoid all extra dependencies
;; Leave out ruby-railties, for bootstrapping purposes.
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 094/118] gnu: ruby-cuke-modeler: Update to 3.20.1.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-94-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-cuke-modeler): Update to 3.20.1.
[arguments]<#:phases>: Add phase 'improve-reproducibility. Enrich
phase relax-requirements to automatically set the gherkin version
used.
---
gnu/packages/ruby.scm | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 54959496ff..2cbd10d798 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6943,7 +6943,7 @@ (define-public ruby-coderay
(define-public ruby-cuke-modeler
(package
(name "ruby-cuke-modeler")
- (version "3.19.0")
+ (version "3.20.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6952,12 +6952,17 @@ (define-public ruby-cuke-modeler
(file-name (git-file-name name version))
(sha256
(base32
- "0bizla3k124lj4r7f2k5cdfm2sawzd6rdmb6rgbkbng2fygxsjib"))))
+ "0xbnx1blxm4kfhfwfh58n2ja40p2kfw8hbbz60dlzvghz25vcwy6"))))
(build-system ruby-build-system)
(arguments
(list #:test-target "default"
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'improve-reproducibility
+ (lambda _
+ (substitute*
+ "testing/rspec/spec/unit/cuke_modeler_unit_spec.rb"
+ (("#\\{Time.now.year\\}") ""))))
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "Gemfile"
@@ -6965,7 +6970,15 @@ (define-public ruby-cuke-modeler
;; particular reason (see:
;; https://github.com/enkessler/cuke_modeler/issues/14).
(("'cucumber', '2.2.0'")
- "'cucumber', '>= 2.2.0'"))
+ "'cucumber', '>= 2.2.0'")
+ (("^gherkin_major_version_used = .*")
+ (string-append
+ "gherkin_major_version_used = "
+ #$(car
+ (string-split
+ (package-version
+ (this-package-input "ruby-cucumber-gherkin")) #\.))
+ "\n")))
;; Disable Bundler.
(substitute* "bin/console"
(("require 'bundler/setup'") ""))
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 097/118] gnu: ruby-prawn-svg: Update to 0.36.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-97-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-prawn-svg): Update to 0.36.0.
[arguments]<#:test-target>: Add spec configuration.
[propagated-inputs]: Add ruby-matrix, ruby-rexml.
---
gnu/packages/ruby.scm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

Toggle diff (37 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cfd7450f18..fb99fa492e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1872,17 +1872,17 @@ (define-public ruby-prism
(define-public ruby-prawn-svg
(package
(name "ruby-prawn-svg")
- (version "0.32.0")
+ (version "0.36.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "prawn-svg" version))
(sha256
- (base32
- "0mbxzw7r7hv43db9422flc24ib9d8bdy1nasbni2h998jc5a5lb6"))))
+ (base32 "008p1p334h3019x5w5bqvwgmly3g5n08s63va1261nwyvfb955jv"))))
(build-system ruby-build-system)
(arguments
- (list #:phases
+ (list #:test-target "spec"
+ #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-use-bundler
(lambda _
@@ -1896,7 +1896,7 @@ (define-public ruby-prawn-svg
(delete-file "spec/prawn/svg/interface_spec.rb")
(invoke "rspec" "-Ilib" "-rprawn-svg")))))))
(native-inputs (list ruby-rspec))
- (propagated-inputs (list ruby-css-parser ruby-prawn))
+ (propagated-inputs (list ruby-css-parser ruby-matrix ruby-prawn ruby-rexml))
(synopsis "SVG renderer for the Prawn PDF library")
(description "This library allows rendering Scalable Vector Graphics (SVG)
graphics directly into a Portable Document Format (PDF) document using the
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 090/118] gnu: Add ruby-bindex.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-90-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-bindex): New variable.
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cdd0e1ca91..54959496ff 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9983,6 +9983,32 @@ (define-public ruby-stackprof
(home-page "https://github.com/tmm1/stackprof")
(license license:expat)))
+(define-public ruby-bindex
+ (package
+ (name "ruby-bindex")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "bindex" version))
+ (sha256
+ (base32 "0zmirr3m02p52bzq4xgksq4pn8j641rx5d4czk68pv9rqnfwq7kv"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:test-target "default"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-bundler
+ (lambda _
+ (substitute* "Rakefile"
+ (("^Bundler::.*") "")))))))
+ (native-inputs (list bundler ruby-rake-compiler))
+ (synopsis "Bindings for Ruby exceptions")
+ (description
+ "This package provides bindings for any kind of Ruby exceptions.")
+ (home-page "https://github.com/gsamokovarov/bindex")
+ (license license:expat)))
+
(define-public ruby-binding-of-caller
(package
(name "ruby-binding-of-caller")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 096/118] gnu: ruby-parallel-tests: Update to 4.9.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-96-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-parallel-tests): Update to 4.9.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 a153b43b61..cfd7450f18 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7016,7 +7016,7 @@ (define-public ruby-cuke-modeler
(define-public ruby-parallel-tests
(package
(name "ruby-parallel-tests")
- (version "4.2.0")
+ (version "4.9.0")
(home-page "https://github.com/grosser/parallel_tests")
(source (origin
(method git-fetch)
@@ -7026,7 +7026,7 @@ (define-public ruby-parallel-tests
(file-name (string-append name version))
(sha256
(base32
- "00gbg5q36ayspkzd6r0kg4gk46lsw9s6misx14rczxaf9kqcdrmv"))))
+ "0ljb17i1bvlr0y1avwishcrg60h48bj6iwgkp8yrck08wcs7b338"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec" ;avoid rubocop dependency
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 100/118] gnu: ruby-yaml-lint: Update to 0.1.2-0.d6a253f.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-100-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-yaml-lint): Update to 0.1.2-0.d6a253f.
---
gnu/packages/ruby.scm | 56 ++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 27 deletions(-)

Toggle diff (71 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f4f71bdd89..fd57bce732 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14579,35 +14579,37 @@ (define-public ruby-safe-yaml
(license license:expat)))
(define-public ruby-yaml-lint
- (package
- (name "ruby-yaml-lint")
- (version "0.0.10")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
+ ;; No tags for releases.
+ (let ((commit "d6a253f7d33234a9c24660d582cf7014e882c0c2")
+ (revision "0"))
+ (package
+ (name "ruby-yaml-lint")
+ (version (git-version "0.1.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
(url "https://github.com/Pryz/yaml-lint")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1jz26mxjkdyjbgqp7f9isnzd1i6vkizsswyj1v639nmq31hwfh0d"))))
- (build-system ruby-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "rspec")))))))
- (native-inputs
- (list ruby-coveralls ruby-rspec ruby-simplecov))
- (synopsis "Simple YAML check tool")
- (description
- "@code{yaml-lint} will simply try to load the YAML file with the built-in
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zk0jwzmcaaiyixjvkzdb54xhiqcnjkma72nkv0vm5csaphfdjkx"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "rspec")))))))
+ (native-inputs
+ (list ruby-coveralls ruby-rspec ruby-simplecov))
+ (synopsis "Simple YAML check tool")
+ (description
+ "@code{yaml-lint} will simply try to load the YAML file with the built-in
Ruby yaml library.")
- (home-page "https://github.com/Pryz/yaml-lint")
- (license license:expat)))
+ (home-page "https://github.com/Pryz/yaml-lint")
+ (license license:expat))))
(define-public ruby-matrix
(package
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 095/118] gnu: ruby-spinach: Update to 0.12.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-95-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-spinach): Update to 0.12.0.
[propagated-inputs]: Remove ruby-json.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2cbd10d798..a153b43b61 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7494,14 +7494,14 @@ (define-public ruby-guard
(define-public ruby-spinach
(package
(name "ruby-spinach")
- (version "0.11.0")
+ (version "0.12.0")
(home-page "https://github.com/codegram/spinach")
(source (origin
(method url-fetch)
(uri (rubygems-uri "spinach" version))
(sha256
(base32
- "1mv053mqz9c8ngqa6wp1ymk2fax6j0yqzax6918akrdr7c3fx3c6"))))
+ "1v9nvpvlgjx698dc4q2p1l45sxm5fjjzfxayrkyzb9nv0q0xfjsp"))))
(build-system ruby-build-system)
(arguments
;; FIXME: Disable tests altogether because they depend on 'capybara'
@@ -7509,7 +7509,7 @@ (define-public ruby-spinach
;; capybara is available.
'(#:tests? #f))
(propagated-inputs
- (list ruby-colorize ruby-gherkin-ruby ruby-json))
+ (list ruby-colorize ruby-gherkin-ruby))
(synopsis "Gherkin-based BDD framework")
(description
"Spinach is a high-level @acronym{BDD, Behavior-driven development}
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 107/118] gnu: ruby-shindo: Update to 0.3.11.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-107-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-shindo): Update to 0.3.11.
[arguments]<#:test-target>: Update value.
<#phases>: Update phase 'fix-tests. Move 'check phase after
'install. Add 'configure-tests phase after 'install.
---
gnu/packages/ruby.scm | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)

Toggle diff (53 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 653372be7b..2c4c26bcfc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4061,28 +4061,37 @@ (define-public ruby-hydra
(define-public ruby-shindo
(package
(name "ruby-shindo")
- (version "0.3.10")
+ (version "0.3.11")
(source (origin
(method url-fetch)
(uri (rubygems-uri "shindo" version))
(sha256
(base32
- "0qnqixhi0g8v44v13f3gynpbvvw6xqi1wajsxdjsx5rhzizfsj91"))))
+ "1wccg3a4g3agfyszipkdnbcgsazcfwdbz1gv51q8m17m9plvpzdp"))))
(build-system ruby-build-system)
(arguments
(list
- #:test-target "shindo_tests"
+ #:test-target "tests"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
(substitute* "tests/tests_helper.rb"
- (("-rubygems") ""))
- (substitute* "Rakefile"
- (("system \"shindo") "system \"./bin/shindo")
- ;; This test doesn't work, so we disable it.
- (("fail \"The build_error test should fail") "#")
- ((" -rubygems") "")))))))
+ (("-rrubygems") ""))))
+ ;; Move the 'check phase to after 'install, to use installed shindo.
+ (delete 'check)
+ (add-after 'install 'configure-tests
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "GEM_PATH"
+ (string-append
+ (getenv "GEM_PATH") ":"
+ #$output "/lib/ruby/vendor_ruby"))
+ (setenv "PATH"
+ (string-append
+ (getenv "PATH") ":" #$output "/bin")))))
+ (add-after 'configure-tests 'check
+ (assoc-ref %standard-phases 'check)))))
(propagated-inputs
(list ruby-formatador))
(synopsis "Simple depth first Ruby testing")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 106/118] gnu: ruby-rubocop-packaging: Fix tests.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-106-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-packaging):
[arguments]<#:phases>: Add phase 'skip-problematic-tests.
---
gnu/packages/ruby.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 1b9d2bac15..653372be7b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2181,7 +2181,15 @@ (define-public ruby-rubocop-packaging
"08jsfp42z0aj32002z2hz8vkmza0jvnrqk9rk2v0xb8qdxkgbx3l"))))
(build-system ruby-build-system)
(arguments
- (list #:test-target "spec"))
+ (list #:test-target "spec"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'skip-problematic-tests
+ (lambda _
+ ;; Tests are actually running fine, except for a prefix.
+ ;; This doesn't impair functionality, ignored for now.
+ (delete-file
+ "spec/rubocop/cop/packaging/gemspec_git_spec.rb"))))))
(propagated-inputs
(list ruby-rubocop))
(native-inputs
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 109/118] gnu: ruby-fog-xml: Update to 0.1.5.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-109-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-fog-xml): Update to 0.1.5.
[native-inputs]: Remove ruby-turn. Replace ruby-minitest-4 by
ruby-minitest.
---
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 9075576df2..783ee5b4d5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9840,7 +9840,7 @@ (define-public ruby-fog-json
(define-public ruby-fog-xml
(package
(name "ruby-fog-xml")
- (version "0.1.4")
+ (version "0.1.5")
(source (origin
(method git-fetch) ; for tests
(uri (git-reference
@@ -9849,7 +9849,7 @@ (define-public ruby-fog-xml
(file-name (git-file-name name version))
(sha256
(base32
- "0d0n201qzcjxis5wb26bi3s7yfhlmqkwsl6lb9w4szq3b8l1xbwn"))))
+ "1v896k9j44axhgvwjvk1j0amy27a9fm6ynv656fxqa1m2wib6dzh"))))
(build-system ruby-build-system)
(arguments
(list
@@ -9863,7 +9863,7 @@ (define-public ruby-fog-xml
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bundle" "exec" "rake")))))))
- (native-inputs (list ruby-minitest-4 ruby-turn ruby-pry ruby-coveralls))
+ (native-inputs (list ruby-minitest ruby-pry ruby-coveralls))
(propagated-inputs (list ruby-fog-core ruby-nokogiri))
(synopsis "XML parsing tools used by @code{fog} providers")
(description "This package containse the XML parsing tools shared between
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 068/118] gnu: ruby-pleaserun: Fix check phase.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-68-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-pleaserun)[arguments]<#:phases>: Fix
'check phase.
---
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 70e121cf01..9732afef3b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4863,7 +4863,8 @@ (define-public ruby-pleaserun
;; The cli_spec.rb test fails non-deterministically with
;; a Errno::EISDIR error (see:
;; https://github.com/jordansissel/pleaserun/issues/155)
- (invoke "rspec" "--exclude-pattern" "cli_spec.rb")))))))
+ (invoke "rspec" "--exclude-pattern"
+ "spec/pleaserun/cli_spec.rb")))))))
(native-inputs (list ruby-flores ruby-rspec))
(propagated-inputs (list ruby-cabin
ruby-clamp
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 073/118] gnu: anystyle: Update to 1.4.5.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-73-ngraves@ngraves.fr
* gnu/packages/ruby.scm (anystyle): Update to 1.4.5.
[native-inputs]: Add ruby-gdbm.
---
gnu/packages/ruby.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

Toggle diff (34 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 55d293ae2e..4f7ecb7095 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17852,7 +17852,7 @@ (define-public ruby-anystyle
(define-public anystyle
(package
(name "anystyle")
- (version "1.3.2")
+ (version "1.4.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -17860,7 +17860,7 @@ (define-public anystyle
(commit (string-append "v" version))))
(sha256
(base32
- "0yigfyn0n255nc53nx40yqak11dm4fva46hx5db177jh7mnksjd6"))
+ "10jx830mx9vh7rsz87ndvz8w5b5azd9s231vwyb0dqxs921v6qwy"))
(file-name (git-file-name name version))))
(build-system ruby-build-system)
(propagated-inputs
@@ -17868,7 +17868,8 @@ (define-public anystyle
ruby-bibtex-ruby
ruby-gli))
(native-inputs
- (list txt2man))
+ (list ruby-gdbm
+ txt2man))
(arguments
(list
#:modules
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 111/118] gnu: Remove ruby-turn.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-111-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-turn): Delete variable.

This package is now a leaf package and unmaintained for 10 years.
---
gnu/packages/ruby.scm | 32 --------------------------------
1 file changed, 32 deletions(-)

Toggle diff (45 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 04f973c74b..ece21c8184 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -11219,38 +11219,6 @@ (define-public ruby-ruby-engine
(home-page "https://github.com/janlelis/ruby_engine")
(license license:expat)))
-(define-public ruby-turn
- (package
- (name "ruby-turn")
- (version "0.9.7")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "turn" version))
- (sha256
- (base32
- "1691rc2sq04cw8mxxh340k2j04ll90kwgcy8ddrp6rligmfrf8fw"))))
- (build-system ruby-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Tests fail because turn changes its environment so can no longer
- ;; find test/unit. Instead simply test if the executable runs
- ;; without issue.
- (replace 'check
- (lambda _
- (invoke "ruby" "-Ilib" "bin/turn" "-h"))))))
- (propagated-inputs
- (list ruby-ansi ruby-minitest-4))
- (synopsis "Alternate set of alternative runners for MiniTest")
- (description
- "TURN provides a set of alternative runners for MiniTest which are both
-colorful and informative. TURN displays each test on a separate line with
-failures being displayed immediately instead of at the end of the tests. Note
-that TURN is no longer being maintained.")
- (home-page "https://rubygems.org/gems/turn")
- (license license:expat)))
-
(define-public ruby-mimemagic
(package
(name "ruby-mimemagic")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 104/118] gnu: ruby-sqlite3: Update to 2.5.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-104-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-sqlite3): Update to 2.5.0.
[arguments]<#:phases>: Add phase 'relax-requirements to only run
useful tests.
<#:modules>: Add required modules.
[native-inputs]: Remove ruby-ruby-memcheck.
---
gnu/packages/ruby.scm | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)

Toggle diff (59 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 98c10ff378..e2c3a6e838 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -11472,7 +11472,7 @@ (define-public ruby-fivemat
(define-public ruby-sqlite3
(package
(name "ruby-sqlite3")
- (version "1.6.3")
+ (version "2.5.0")
(source
(origin
(method git-fetch) ;for tests
@@ -11482,13 +11482,34 @@ (define-public ruby-sqlite3
(file-name (git-file-name name version))
(sha256
(base32
- "0ijj8z8fpk2lczydkxv71k250g5gd8ip8klsscxc9f16b01gh9qs"))))
+ "1fanv7bv5lszd5g752yy8nmpjhrl9gqwbbkbis2xbh83y96f2zfm"))))
(build-system ruby-build-system)
(arguments
(list
#:gem-flags #~(list "--" "--enable-system-libraries")
+ #:modules '((guix build ruby-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 textual-ports))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ ;; Don't try to format C code, remove rubocop-rake.
+ (delete-file "rakelib/format.rake")
+ ;; Don't try to run valgrind-like memory tests.
+ ;; This cuts all lines after Minitest::TestTask.create
+ (with-atomic-file-replacement
+ "rakelib/test.rake"
+ (lambda (in out)
+ (let loop ()
+ (let ((line (read-line in)))
+ (cond
+ ((eof-object? line) #f)
+ ((string-prefix? "Minitest::TestTask.create" line) #f)
+ (else
+ (format out "~a~%" line)
+ (loop)))))))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
@@ -11503,7 +11524,6 @@ (define-public ruby-sqlite3
(list sqlite))
(native-inputs
(list ruby-hoe
- ruby-ruby-memcheck
ruby-rake-compiler
ruby-rake-compiler-dock))
(synopsis "Interface with SQLite3 databases")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 110/118] gnu: Remove ruby-minitest-pretty-diff.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-110-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-minitest-pretty-diff): Delete variable.

This is a leaf package in Guix, unmaintained for 11 years.
---
gnu/packages/ruby.scm | 35 -----------------------------------
1 file changed, 35 deletions(-)

Toggle diff (48 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 783ee5b4d5..04f973c74b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6137,41 +6137,6 @@ (define-public ruby-minitest-profile
(home-page "https://github.com/nmeans/minitest-profile")
(license license:expat)))
-(define-public ruby-minitest-pretty-diff
- ;; Use git reference because gem is out of date and does not contain testing
- ;; script. There are no releases on GitHub.
- (let ((commit "11f32e930f574225432f42e5e1ef6e7471efe572"))
- (package
- (name "ruby-minitest-pretty-diff")
- (version (string-append "0.1-1." (string-take commit 8)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/adammck/minitest-pretty_diff")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "13y5dhmcckhzd83gj1nfwh41iykbjcm2w7y4pr6j6rpqa5as122r"))))
- (build-system ruby-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "sh" "script/test")))))))
- (native-inputs
- (list bundler ruby-turn))
- (synopsis "Pretty-print hashes and arrays in MiniTest")
- (description
- "@code{minitest-pretty_diff} monkey-patches
-@code{MiniTest::Assertions#mu_pp} to pretty-print hashes and arrays before
-diffing them. This makes it easier to spot differences between nested
-structures when tests fail.")
- (home-page "https://github.com/adammck/minitest-pretty_diff")
- (license license:expat))))
-
(define-public ruby-minitest-proveit
(package
(name "ruby-minitest-proveit")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 113/118] gnu: ruby-oauth2: Fix test.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-113-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-oauth2):
[arguments]<#:phases>: Add phase 'skip-problematic-test.
<#:modules>: Record required modules.
[native-inputs]: Add bundler.
[propagated-inputs]: Remove ruby-multi-json. Add ruby-version-gem.
---
gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++------
1 file changed, 28 insertions(+), 6 deletions(-)

Toggle diff (64 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bd20101d02..fad7085824 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2954,8 +2954,13 @@ (define-public ruby-oauth2
"191j1f4gjw8wij1jy2fvddgi8cv1mm0ki7v0b0795clix1avnj29"))))
(build-system ruby-build-system)
(arguments
- (list #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
+ (list #:modules '((guix build ruby-build-system)
+ (guix build utils)
+ (ice-9 regex)
+ (ice-9 textual-ports))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
(lambda _
(substitute* "Gemfile"
(("^linting = .*")
@@ -2968,9 +2973,26 @@ (define-public ruby-oauth2
(("^RUN_COVERAGE = .*")
"RUN_COVERAGE = false\n")
(("^ALL_FORMATTERS = .*")
- "ALL_FORMATTERS = false\n")))))))
+ "ALL_FORMATTERS = false\n"))))
+ (add-after 'unpack 'skip-problematic-test
+ (lambda _
+ ;; XXX: substitute* can't match 2 lines.
+ (with-atomic-file-replacement
+ "spec/oauth2/client_spec.rb"
+ (lambda (in out)
+ (let* ((pattern "\
+ context 'when parse: :xml but response is JSON' do\n\
+ it 'returns a configured AccessToken' do\n")
+ (content (get-string-all in))
+ (matched (string-match pattern content)))
+ (if matched
+ (format out "~a skip('fails on guix')~%~a"
+ (string-take content (match:end matched))
+ (string-drop content (match:end matched)))
+ (display content out))))))))))
(native-inputs
- (list ruby-addressable
+ (list bundler
+ ruby-addressable
ruby-backports
ruby-rexml
ruby-rspec-block-is-expected
@@ -2980,10 +3002,10 @@ (define-public ruby-oauth2
(propagated-inputs
(list ruby-faraday
ruby-jwt
- ruby-multi-json
ruby-multi-xml
ruby-rack
- ruby-snaky-hash))
+ ruby-snaky-hash
+ ruby-version-gem))
(synopsis "Ruby wrapper for the OAuth 2.0")
(description
"This package provides a Ruby wrapper for the OAuth 2.0 protocol built
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 112/118] gnu: Remove ruby-minitest-4.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-112-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-minitest-4): Delete variable.

No package relies on this package anymore.
---
gnu/packages/ruby.scm | 33 ---------------------------------
1 file changed, 33 deletions(-)

Toggle diff (46 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ece21c8184..bd20101d02 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5936,39 +5936,6 @@ (define-public ruby-minitest
facilities supporting TDD, BDD, mocking, and benchmarking.")
(license license:expat)))
-;; This is the last release of Minitest 4, which is used by some packages.
-(define-public ruby-minitest-4
- (package
- (inherit ruby-minitest)
- (version "4.7.5")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "minitest" version))
- (sha256
- (base32
- "03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy"))))
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-unsupported-method
- (lambda _
- (substitute* "Rakefile"
- (("self\\.rubyforge_name = .*") ""))))
- (add-after 'build 'patch-tests
- (lambda _
- ;; test_no_method_error_on_unexpected_methods
- ;; This test fails due to some extra information in the message
- (substitute* "test/minitest/test_minitest_mock.rb"
- (("assert_equal expected, e.message")
- "assert_equal expected, e.message.lines.first.strip"))
- ;; Some tests are failing on Ruby 2.4 due to the deprecation of
- ;; Fixnum.
- (delete-file "test/minitest/test_minitest_spec.rb"))))))
- (native-inputs
- (list ruby-minitest
- ruby-hoe))))
-
(define-public ruby-minitest-around
(package
(name "ruby-minitest-around")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 116/118] gnu: ruby-chunky-png: Pin ruby package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-116-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-chunky-png)
[arguments]<#:ruby>: Pin ruby-3.1.
---
gnu/packages/ruby.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 62879d585a..8ba81397f5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2411,6 +2411,7 @@ (define-public ruby-chunky-png
(build-system ruby-build-system)
(arguments
(list
+ #:ruby ruby-3.1
#:test-target "spec"
#:phases
#~(modify-phases %standard-phases
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 114/118] gnu: ruby-ci-reporter: Update to 2.1.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-114-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-ci-reporter): Update to 2.1.0.
[propagated-inputs]: Add ruby-rexml.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fad7085824..e71875f74b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2664,18 +2664,18 @@ (define-public ruby-sporkmonger-rack-mount
(define-public ruby-ci-reporter
(package
(name "ruby-ci-reporter")
- (version "2.0.0")
+ (version "2.1.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "ci_reporter" version))
(sha256
(base32
- "17fm20jmw3ajdryhkkxpjahcfx7bgswqzxrskivlkns2718ayyyg"))))
+ "0qcafasmjjr8a5gzr4k92ncm6h2943skwllhjzwz8spawdwc7dla"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "rspec"))
(propagated-inputs
- (list ruby-builder))
+ (list ruby-builder ruby-rexml))
(native-inputs
(list bundler ruby-rspec))
(synopsis "Generate XML reports of runs test")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 108/118] gnu: Remove ruby-minitest-tu-shim.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-108-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-minitest-tu-shim): Delete variable.

This package is a leaf in Guix, unmaintained for 10 years.
---
gnu/packages/ruby.scm | 46 -------------------------------------------
1 file changed, 46 deletions(-)

Toggle diff (59 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2c4c26bcfc..9075576df2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7937,52 +7937,6 @@ (define-public ruby-gem-hadar
(home-page "https://github.com/flori/gem_hadar")
(license license:expat)))
-(define-public ruby-minitest-tu-shim
- (package
- (name "ruby-minitest-tu-shim")
- (version "1.3.3")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "minitest_tu_shim" version))
- (sha256
- (base32
- "0xlyh94iirvssix157ng2akr9nqhdygdd0c6094hhv7dqcfrn9fn"))))
- (build-system ruby-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'fix-test-include-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((minitest (assoc-ref inputs "ruby-minitest")))
- (substitute* "Rakefile"
- (("Hoe\\.add_include_dirs .*")
- (string-append "Hoe.add_include_dirs \""
- minitest "/lib/ruby/vendor_ruby"
- "/gems/minitest-"
- #$(package-version ruby-minitest-4)
- "/lib" "\""))))))
- (add-before 'check 'fix-test-assumptions
- (lambda _
- ;; The test output includes the file name, so a couple of tests
- ;; fail. Changing the regular expressions slightly fixes this
- ;; problem.
- (substitute* "test/test_mini_test.rb"
- (("output.sub!\\(.*, 'FILE:LINE'\\)")
- "output.sub!(/\\/.+-[\\w\\/\\.]+:\\d+/, 'FILE:LINE')")
- (("gsub\\(/.*, 'FILE:LINE'\\)")
- "gsub(/\\/.+-[\\w\\/\\.]+:\\d+/, 'FILE:LINE')")))))))
- (propagated-inputs
- (list ruby-minitest-4))
- (native-inputs
- (list ruby-hoe-3))
- (synopsis "Adapter library between minitest and test/unit")
- (description
- "This library bridges the gap between the small and fast minitest and
-Ruby's large and slower test/unit.")
- (home-page "https://rubygems.org/gems/minitest_tu_shim")
- (license license:expat)))
-
(define-public ruby-term-ansicolor
(package
(name "ruby-term-ansicolor")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 117/118] gnu: ruby: Update to ruby-3.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-117-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby): Update to ruby-3.2.
---
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 8ba81397f5..628741bb01 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -286,7 +286,7 @@ (define-public ruby-2.7
(home-page "https://www.ruby-lang.org")
(license license:ruby)))
-(define-public ruby ruby-3.1)
+(define-public ruby ruby-3.2)
(define-public mruby
(package
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 115/118] gnu: ruby-asciidoctor-pdf: Update to 2.3.19.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-115-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-asciidoctor-pdf): Update to 2.3.19.
[origin]<patches>: Record patch.
[arguments]<#:phases>: Remove 'strip-version-requirements phase.
[propagated-inputs]: Remove old dependencies ruby-open-uri-cached,
ruby-safe-yaml, ruby-thread-safe.
* gnu/packages/patches/ruby-asciidoctor-pdf-support-prawn-svg-0_36.patch:
Add patch.
* gnu/local.mk: Record patch.
---
gnu/local.mk | 1 +
...ciidoctor-pdf-support-prawn-svg-0_36.patch | 107 ++++++++++++++++++
gnu/packages/ruby.scm | 15 +--
3 files changed, 113 insertions(+), 10 deletions(-)
create mode 100644 gnu/packages/patches/ruby-asciidoctor-pdf-support-prawn-svg-0_36.patch

Toggle diff (179 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 07895bf9da..0a28bd7030 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2179,6 +2179,7 @@ dist_patch_DATA = \
%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-asciidoctor-pdf-support-prawn-svg-0_36.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-asciidoctor-pdf-support-prawn-svg-0_36.patch b/gnu/packages/patches/ruby-asciidoctor-pdf-support-prawn-svg-0_36.patch
new file mode 100644
index 0000000000..2f616e1c0d
--- /dev/null
+++ b/gnu/packages/patches/ruby-asciidoctor-pdf-support-prawn-svg-0_36.patch
@@ -0,0 +1,107 @@
+From b5240141cde2a6428cb84d792991294c84f9f530 Mon Sep 17 00:00:00 2001
+From: Fethbita <Fethbita@users.noreply.github.com>
+Date: Tue, 7 Jan 2025 16:20:31 +0200
+Subject: [PATCH] Update prawn-svg to 0.36.0
+https://github.com/asciidoctor/asciidoctor-pdf/pull/2553
+
+---
+ asciidoctor-pdf.gemspec | 4 ++--
+ spec/admonition_spec.rb | 4 ++--
+ spec/cover_page_spec.rb | 2 +-
+ spec/image_spec.rb | 2 +-
+ spec/page_spec.rb | 2 +-
+ spec/running_content_spec.rb | 2 +-
+ 6 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/asciidoctor-pdf.gemspec b/asciidoctor-pdf.gemspec
+index 997e260e..c09a110d 100644
+--- a/asciidoctor-pdf.gemspec
++++ b/asciidoctor-pdf.gemspec
+@@ -39,8 +39,8 @@ Gem::Specification.new do |s|
+ s.add_runtime_dependency 'matrix', '~> 0.4' # required until prawn >= 2.5.0 is released
+ s.add_runtime_dependency 'prawn-table', '~> 0.2.0'
+ s.add_runtime_dependency 'prawn-templates', '~> 0.1.0'
+- s.add_runtime_dependency 'prawn-svg', '~> 0.34.0'
+- s.add_runtime_dependency 'prawn-icon', '~> 3.0.0'
++ s.add_runtime_dependency 'prawn-svg', '~> 0.36.0'
++ s.add_runtime_dependency 'prawn-icon', '~> 3.1.0'
+ s.add_runtime_dependency 'concurrent-ruby', '~> 1.1'
+ s.add_runtime_dependency 'treetop', '~> 1.6.0'
+
+diff --git a/spec/admonition_spec.rb b/spec/admonition_spec.rb
+index 0131a097..ca3eb74a 100644
+--- a/spec/admonition_spec.rb
++++ b/spec/admonition_spec.rb
+@@ -709,7 +709,7 @@
+ label_text = pdf.find_unique_text 'TIP'
+ (expect label_text).not_to be_nil
+ (expect label_text[:font_name]).to include 'Bold'
+- end).to log_message severity: :WARN, message: %(~could not embed admonition icon image: #{fixture_file 'broken.svg'}; Missing end tag for 'rect')
++ end).to log_message severity: :WARN, message: %(~could not embed admonition icon image: #{fixture_file 'broken.svg'}; The data supplied is not a valid SVG document.)
+ end
+
+ it 'should resize fallback admonition label to fit in available space if icon fails to embed' do
+@@ -726,7 +726,7 @@
+ label_text = pdf.find_unique_text 'WARNING'
+ (expect label_text).not_to be_nil
+ (expect label_text[:font_size]).to be < 10.5
+- end).to log_message severity: :WARN, message: %(~could not embed admonition icon image: #{fixture_file 'broken.svg'}; Missing end tag for 'rect')
++ end).to log_message severity: :WARN, message: %(~could not embed admonition icon image: #{fixture_file 'broken.svg'}; The data supplied is not a valid SVG document.)
+ end
+
+ # NOTE: this test also verifies the text transform is applied as requested by theme
+diff --git a/spec/cover_page_spec.rb b/spec/cover_page_spec.rb
+index bd487eb1..cd034120 100644
+--- a/spec/cover_page_spec.rb
++++ b/spec/cover_page_spec.rb
+@@ -75,7 +75,7 @@
+
+ (expect pdf.pages).to have_size 1
+ (expect pdf.lines pdf.find_text page_number: 1).to eql ['content page']
+- end).to log_message severity: :WARN, message: %(~could not embed front cover image: #{fixture_file 'broken.svg'}; Missing end tag for 'rect')
++ end).to log_message severity: :WARN, message: %(~could not embed front cover image: #{fixture_file 'broken.svg'}; The data supplied is not a valid SVG document.)
+ end
+
+ it 'should not add cover page if value is ~' do
+diff --git a/spec/image_spec.rb b/spec/image_spec.rb
+index c6c83e96..7c97c54b 100644
+--- a/spec/image_spec.rb
++++ b/spec/image_spec.rb
+@@ -1084,7 +1084,7 @@ def traverse node
+ (expect do
+ pdf = to_pdf %(image#{macro_delim}broken.svg[Broken SVG]), analyze: true
+ (expect pdf.lines).to eql [alt_text]
+- end).to log_message severity: :WARN, message: %(~could not embed image: #{fixture_file 'broken.svg'}; Missing end tag for 'rect')
++ end).to log_message severity: :WARN, message: %(~could not embed image: #{fixture_file 'broken.svg'}; The data supplied is not a valid SVG document.)
+ end
+ end
+
+diff --git a/spec/page_spec.rb b/spec/page_spec.rb
+index 261c4ca1..2b01fa7d 100644
+--- a/spec/page_spec.rb
++++ b/spec/page_spec.rb
+@@ -1698,7 +1698,7 @@
+ content
+ EOS
+ (expect pdf.images).to be_empty
+- end).to log_message severity: :WARN, message: %(~Missing end tag for 'rect')
++ end).to log_message severity: :WARN, message: %(~The data supplied is not a valid SVG document.)
+ end
+
+ it 'should only warn once if background image cannot be loaded' do
+diff --git a/spec/running_content_spec.rb b/spec/running_content_spec.rb
+index 8e1264dd..7196bde8 100644
+--- a/spec/running_content_spec.rb
++++ b/spec/running_content_spec.rb
+@@ -3046,7 +3046,7 @@
+ pdf = to_pdf 'body', analyze: true, pdf_theme: pdf_theme, enable_footer: true
+ footer_text = pdf.find_unique_text font_color: '0000FF'
+ (expect footer_text[:string]).to eql '[no worky]'
+- end).to log_message severity: :WARN, message: %(~could not embed image in running content: #{fixture_file 'broken.svg'}; Missing end tag for 'rect')
++ end).to log_message severity: :WARN, message: %(~could not embed image in running content: #{fixture_file 'broken.svg'}; The data supplied is not a valid SVG document.)
+ end
+
+ it 'should resolve attribute references in target of inline image' do
+--
+2.47.1
+
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index e71875f74b..62879d585a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2501,7 +2501,7 @@ (define-public ruby-open-uri-cached
(define-public ruby-asciidoctor-pdf
(package
(name "ruby-asciidoctor-pdf")
- (version "2.3.4")
+ (version "2.3.19")
(source
(origin
(method git-fetch) ;no test suite in the distributed gem
@@ -2511,18 +2511,16 @@ (define-public ruby-asciidoctor-pdf
(file-name (git-file-name name version))
(sha256
(base32
- "07krhpj2ylz7h7hy8vg0js8yv828qxh3mkhx0bsrfh0p24xwbjrm"))))
+ "1l8my8jj4aww2yad80n6f7hs76lq5gicld8dy014pw90pk3x43mp"))
+ (patches
+ (search-patches
+ "ruby-asciidoctor-pdf-support-prawn-svg-0_36.patch"))))
(build-system ruby-build-system)
(arguments
(list
#:test-target "spec"
#:phases
#~(modify-phases %standard-phases
- (add-after 'extract-gemspec 'strip-version-requirements
- (lambda _
- (substitute* "asciidoctor-pdf.gemspec"
- (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped)
- (string-append stripped "\n")))))
;; The tests rely on the Gem being installed, so move the check
;; phase after the install phase.
(delete 'check)
@@ -2543,15 +2541,12 @@ (define-public ruby-asciidoctor-pdf
(propagated-inputs
(list ruby-asciidoctor
ruby-concurrent
- ruby-open-uri-cached
ruby-prawn
ruby-prawn-icon
ruby-prawn-svg
ruby-prawn-table
ruby-prawn-templates
- ruby-safe-yaml
ruby-text-hyphen
- ruby-thread-safe
ruby-treetop
ruby-ttfunk))
(synopsis"AsciiDoc to Portable Document Format (PDF)} converter")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 118/118] gnu: ruby-rspec-rails: Support ruby-sqlite3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-118-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-rspec-rails):
[arguments]<#:phases>: Patch sqlite3 versions in phase 'relax-requirements.
---
gnu/packages/rails.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 13d2541164..8fd80d33bb 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -372,8 +372,7 @@ (define-public ruby-rspec-rails
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1ixm9h2sdd8varnkyxccxhp9dyr8fxk6q5ibrkrk2c83v2xa7bjc"))))
+ (base32 "1ixm9h2sdd8varnkyxccxhp9dyr8fxk6q5ibrkrk2c83v2xa7bjc"))))
(build-system ruby-build-system)
(arguments
(list
@@ -396,6 +395,13 @@ (define-public ruby-rspec-rails
((", :git => \"https://github.com/rspec.*")
"\n"))
(setenv "RAILS_VERSION" #$%ruby-rails-version)
+ (substitute* '("Gemfile-rails-dependencies"
+ "example_app_generator/generate_app.rb")
+ (("'sqlite3', .*")
+ (string-append
+ "'sqlite3', '~> "
+ #$(package-version
+ (this-package-native-input "ruby-sqlite3")) "'")))
(substitute* "rspec-rails.gemspec"
(("'aruba', '~> 0.14.12'")
"'aruba', '>= 0.14.12'")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 099/118] gnu: Remove ruby-pry-rescue.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-99-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-pry-rescue): Delete variable.

This package is unbuildable using any of our ruby versions. It
relies on an unmaintained ruby package. This package has no dependencies.
---
gnu/packages/ruby.scm | 31 -------------------------------
1 file changed, 31 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index eec726bbda..f4f71bdd89 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17084,37 +17084,6 @@ (define-public ruby-websocket
(home-page "https://github.com/imanel/websocket-ruby")
(license license:expat))))
-(define-public ruby-pry-rescue
- (package
- (name "ruby-pry-rescue")
- (version "1.5.2")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "pry-rescue" version))
- (sha256
- (base32 "1wn72y8y3d3g0ng350ld92nyjln012432q2z2iy9lhwzjc4dwi65"))))
- (build-system ruby-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'nuke-bad-test
- (lambda _
- (substitute* "spec/source_location_spec.rb"
- (("time = Time.now") "skip")))))))
- (native-inputs
- (list ruby-rspec
- ruby-pry-stack-explorer))
- (propagated-inputs
- (list ruby-interception
- ruby-pry))
- (home-page
- "https://github.com/ConradIrwin/pry-rescue")
- (synopsis "Start Pry session for rescue")
- (description "Pry-Rescue allows you to wrap code, to open a pry session at
-any unhandled exceptions.")
- (license license:expat)))
-
(define-public ruby-braintree
(package
(name "ruby-braintree")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 101/118] gnu: ruby-rubocop-rspec-minimal: Avoid ruby-danger dependency.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-101-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-rspec-minimal):
[arguments]<#:phases>: Add phase 'relax-requirements.
---
gnu/packages/ruby.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Toggle diff (22 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fd57bce732..2ceddc0fc2 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2128,7 +2128,14 @@ (define ruby-rubocop-rspec-minimal
(base32
"1w9whadx60kv4vlbnk77b5yyhhfcg717r9cr334zqznqr1bqr8mh"))))
(build-system ruby-build-system)
- (arguments (list #:tests? #f)) ;avoid extra dependencies
+ (arguments
+ (list #:tests? #f ;avoid extra dependencies
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "Gemfile"
+ (("gem 'danger'.*") "")))))))
(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
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 093/118] gnu: ruby-importmap-rails: Update package.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-93-ngraves@ngraves.fr
* gnu/packages/rails.scm (ruby-importmap-rails):
[arguments]<#:phases>: Adapt all phases to ruby-rails update.
[native-inputs]: Add git-minimal/pinned.
---
gnu/packages/rails.scm | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

Toggle diff (42 lines)
diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 6195409858..13d2541164 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -955,8 +955,8 @@ (define-public ruby-importmap-rails
#~(modify-phases %standard-phases
(add-after 'extract-gemspec 'relax-requirements
(lambda _
- (delete-file "gemfiles/rails_7_propshaft.gemfile.lock")
- (substitute* "gemfiles/rails_7_propshaft.gemfile"
+ (delete-file "gemfiles/rails_7_1_propshaft.gemfile.lock")
+ (substitute* "gemfiles/rails_7_1_propshaft.gemfile"
((".*gem \"byebug\".*") "")
;; Remove appraisal, and add tzinfo-data, which needs to
;; be in the Gemfile to become available.
@@ -967,16 +967,21 @@ (define-public ruby-importmap-rails
((".*gem \"webdrivers\".*") ""))))
(add-before 'check 'set-BUNDLE_GEMFILE
(lambda _
- ;; The default Gemfile is for Rails 6.
(setenv "BUNDLE_GEMFILE"
- "gemfiles/rails_7_propshaft.gemfile")))
+ "gemfiles/rails_7_1_propshaft.gemfile")))
(add-before 'check 'disable-problematic-tests
(lambda _
+ ;; All bin/importmap invocation fail.
+ ;; At least one requires networking.
+ (delete-file "test/commands_test.rb")
+ ;; Bundler, probably requires networking
+ (delete-file "test/installer_test.rb")
;; The integration tests require networking; disable them.
(delete-file "test/npm_integration_test.rb")
(delete-file "test/packager_integration_test.rb"))))))
(native-inputs
- (list ruby-capybara
+ (list git-minimal/pinned
+ ruby-capybara
ruby-propshaft
ruby-rails
ruby-rexml
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 098/118] gnu: Remove ruby-interception.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-98-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-interception): Delete variable.

This package is unbuildable using any of our ruby versions. It is
unmaintained for 10 years.
---
gnu/packages/ruby.scm | 18 ------------------
1 file changed, 18 deletions(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index fb99fa492e..eec726bbda 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17084,24 +17084,6 @@ (define-public ruby-websocket
(home-page "https://github.com/imanel/websocket-ruby")
(license license:expat))))
-(define-public ruby-interception
- (package
- (name "ruby-interception")
- (version "0.5")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "interception" version))
- (sha256
- (base32 "01vrkn28psdx1ysh5js3hn17nfp1nvvv46wc1pwqsakm6vb1hf55"))))
- (build-system ruby-build-system)
- (native-inputs (list ruby-rspec))
- (home-page "https://github.com/ConradIrwin/interception")
- (synopsis "Listen to raise in Ruby")
- (description "Interception provides a cross-platform ability to intercept all
-exceptions as they are raised.")
- (license license:expat)))
-
(define-public ruby-pry-rescue
(package
(name "ruby-pry-rescue")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 103/118] gnu: ruby-fakefs: Update to 2.8.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-103-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-fakefs): Update to 2.8.0.
[native-inputs]: Add ruby-pry.
---
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 a3cf9f28c3..98c10ff378 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3228,7 +3228,7 @@ (define-public ruby-execjs
(define-public ruby-fakefs
(package
(name "ruby-fakefs")
- (version "1.2.2")
+ (version "2.8.0")
(home-page "https://github.com/fakefs/fakefs")
(source (origin
;; The Rubygems release does not contain tests.
@@ -3239,7 +3239,7 @@ (define-public ruby-fakefs
(file-name (git-file-name name version))
(sha256
(base32
- "008dq9knyip2bfbl0mrk8b8r7bv0k3bf128wcfqsgy1rqal4mgwk"))))
+ "0a3vq6cllml279j77hxipmbln31pjw6di3zdgpzqvhqgazv55v10"))))
(build-system ruby-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -3255,7 +3255,7 @@ (define-public ruby-fakefs
(("(.*add_development_dependency .*), .*" _ dep)
(string-append dep "\n"))))))))
(native-inputs
- (list ruby-bump ruby-maxitest ruby-rubocop ruby-rspec))
+ (list ruby-bump ruby-maxitest ruby-pry ruby-rubocop ruby-rspec))
(synopsis "Fake file system for Ruby")
(description
"This package provides a fake file system for use in test suites. It
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 102/118] gnu: ruby-rubocop-rspec: Fix tests.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-102-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rubocop-rspec):
[arguments]: Inherit from ruby-rubocop-rspec-minimal.
[propagated-inputs]: Add ruby-rubocop-factory-bot.
---
gnu/packages/ruby.scm | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2ceddc0fc2..a3cf9f28c3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2146,7 +2146,11 @@ (define ruby-rubocop-rspec-minimal
(define-public ruby-rubocop-rspec
(package
(inherit ruby-rubocop-rspec-minimal)
- (arguments '(#:test-target "spec"))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments ruby-rubocop-rspec-minimal)
+ ((#:tests? _ #f) #t)
+ ((#:test-target _ "test") "spec")))
(native-inputs
(list ruby-bump
ruby-rack
@@ -2158,7 +2162,8 @@ (define-public ruby-rubocop-rspec
(propagated-inputs
(list ruby-rubocop
ruby-rubocop-ast
- ruby-rubocop-capybara))))
+ ruby-rubocop-capybara
+ ruby-rubocop-factory-bot))))
(define-public ruby-rubocop-packaging
(package
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 105/118] gnu: ruby-fast-gettext: Update to 4.1.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-105-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-fast-gettext): Update to 4.1.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 e2c3a6e838..1b9d2bac15 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4529,7 +4529,7 @@ (define-public ruby-connection-pool
(define-public ruby-fast-gettext
(package
(name "ruby-fast-gettext")
- (version "2.3.0")
+ (version "4.1.0")
(home-page "https://github.com/grosser/fast_gettext")
(source (origin
(method git-fetch)
@@ -4538,7 +4538,7 @@ (define-public ruby-fast-gettext
(file-name (git-file-name name version))
(sha256
(base32
- "0ba1wv96qarvvh19s8m1cgd26a9jgil4wl8nwgv4sl9fg5sqgksm"))))
+ "04p9s0r67xgvckab9ydb3fbnrc7g20p5c05z2zsacynlkp9x5jp9"))))
(build-system ruby-build-system)
(arguments
(list
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 076/118] gnu: ruby-rspec-mocks: Update to 3.13.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-76-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rspec-mocks): Update to 3.13.2.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4915256559..4de429f3f1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -998,18 +998,18 @@ (define-public ruby-rspec-its-minimal
(define-public ruby-rspec-mocks
(package
(name "ruby-rspec-mocks")
- (version "3.12.4")
+ (version "3.13.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rspec-mocks" version))
(sha256
(base32
- "1dcfh85m3ksir6n8gydsal4d85chpww1b2nahb05nl8xhgh0r2ij"))))
+ "1vxxkb2sf2b36d8ca2nq84kjf85fz4x7wqcvb8r6a5hfxxfk69r3"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
(propagated-inputs
- (list ruby-rspec-support ruby-diff-lcs))
+ (list ruby-diff-lcs ruby-rspec-support))
(synopsis "RSpec stubbing and mocking library")
(description "Rspec-mocks provides RSpec's \"test double\" framework, with
support for stubbing and mocking.")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 075/118] gnu: ruby-rspec-core: Update to 3.13.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-75-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rspec-core): Update to 3.13.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 7b07b170c1..4915256559 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -689,13 +689,13 @@ (define-public ruby-rspec-support
(define-public ruby-rspec-core
(package
(name "ruby-rspec-core")
- (version "3.12.1")
+ (version "3.13.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rspec-core" version))
(sha256
(base32
- "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f"))))
+ "001kazj244cb6fbkmh7ap74csbr78717qaskqzqpir1q8xpdmywl"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 077/118] gnu: ruby-bcrypt: Update to 3.1.20.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-77-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-bcrypt): Update to 3.1.20.
[source]<origin>: Switch to git-fetch.
---
gnu/packages/ruby.scm | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4de429f3f1..0b13117097 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12227,14 +12227,17 @@ (define-public ruby-systemu
(define-public ruby-bcrypt
(package
(name "ruby-bcrypt")
- (version "3.1.18")
+ (version "3.1.20")
;; FIXME: Unbundle the bcrypt library used.
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "bcrypt" version))
- (sha256
- (base32
- "048z3fvcknqx7ikkhrcrykxlqmf9bzc7l0y5h1cnvrc9n2qf0k8m"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bcrypt-ruby/bcrypt-ruby")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q6h8kmjb34hg6qjv31v374n3cavv00drsfyzv6nybdwipgyg62i"))))
(build-system ruby-build-system)
(arguments (list #:test-target "default")) ;compile + spec
(native-inputs (list ruby-rake-compiler ruby-rspec))
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 078/118] gnu: ruby-rspec-expectations: Update to 3.13.3.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-78-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rspec-expectations): Update to 3.13.3.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0b13117097..c6f53b8931 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -797,18 +797,18 @@ (define-public ruby-diff-lcs
(define-public ruby-rspec-expectations
(package
(name "ruby-rspec-expectations")
- (version "3.12.2")
+ (version "3.13.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rspec-expectations" version))
(sha256
(base32
- "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6"))))
+ "0n3cyrhsa75x5wwvskrrqk56jbjgdi2q1zx0irllf0chkgsmlsqf"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
(propagated-inputs
- (list ruby-rspec-support ruby-diff-lcs))
+ (list ruby-diff-lcs ruby-rspec-support))
(synopsis "RSpec expectations library")
(description "Rspec-expectations provides a simple API to express expected
outcomes of a code example.")
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 079/118] gnu: ruby-rspec: Update to 3.13.0.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-79-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rspec): Update to 3.13.0.
---
gnu/packages/ruby.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c6f53b8931..adc1fd8a49 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1181,18 +1181,18 @@ (define-public ruby-rspec-wait
(define-public ruby-rspec
(package
(name "ruby-rspec")
- (version "3.12.0")
+ (version "3.13.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rspec" version))
(sha256
(base32
- "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c"))))
+ "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
(propagated-inputs
- (list ruby-rspec-core ruby-rspec-mocks ruby-rspec-expectations))
+ (list ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks))
(synopsis "Behavior-driven development framework for Ruby")
(description "RSpec is a behavior-driven development (BDD) framework for
Ruby. This meta-package includes the RSpec test runner, along with the
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 074/118] gnu: ruby-rspec-support: Update to 3.13.2.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-74-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-rspec-support): Update to 3.13.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 4f7ecb7095..7b07b170c1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -671,13 +671,13 @@ (define-public ruby-iruby
(define-public ruby-rspec-support
(package
(name "ruby-rspec-support")
- (version "3.12.0")
+ (version "3.13.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rspec-support" version))
(sha256
(base32
- "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx"))))
+ "1v6v6xvxcpkrrsrv7v1xgf7sl0d71vcfz1cnrjflpf6r7x3a58yf"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
--
2.47.1
N
N
Nicolas Graves wrote 8 hours ago
[PATCH v2 071/118] gnu: Add ruby-gdbm.
(address . 75737@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250121205917.6222-71-ngraves@ngraves.fr
* gnu/packages/ruby.scm (ruby-gdbm): 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 6f6100b5c6..ed4b3b5833 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5004,6 +5004,24 @@ (define-public ruby-text
(home-page "https://github.com/threedaymonk/text")
(license license:expat)))
+(define-public ruby-gdbm
+ (package
+ (name "ruby-gdbm")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "gdbm" version))
+ (sha256
+ (base32 "0xxygf50b2fvy8lcn2vip27vq32p607d3lwd1diplvkajijq8q8b"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No bundled tests.
+ (inputs (list gdbm))
+ (synopsis "Ruby extension for GNU dbm")
+ (description "This package provides a Ruby extension for GNU dbm.")
+ (home-page "https://github.com/ruby/gdbm")
+ (license license:bsd-2)))
+
(define-public ruby-gettext
(package
(name "ruby-gettext")
--
2.47.1
?
Your comment

Commenting via the web interface is currently disabled.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 75737
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