[PATCH ruby-team 00/71] Update ruby.

  • Done
  • quality assurance status badge
Details
2 participants
  • Nicolas Graves
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Nicolas Graves
Severity
normal

Debbugs page

Nicolas Graves wrote 3 weeks ago
(address . guix-patches@gnu.org)
20250216002750.3541-1-ngraves@ngraves.fr
This is a follow-up series after the first merge. Thanks Oleg!

Nicolas Graves (71):
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-yaml-lint: Update to 0.1.2-0.d6a253f.
gnu: ruby-rubocop-rspec-minimal: Avoid ruby-danger dependency.
gnu: ruby-fakefs: Update to 2.8.0.
gnu: ruby-asciidoctor-pdf: Update to 2.3.19.
gnu: ruby: Update to ruby-3.2.

gnu/local.mk | 4 +
gnu/packages/julia.scm | 1 +
...ruby-actionpack-remove-browser-tests.patch | 33 +
...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/qt.scm | 2 +
gnu/packages/rails.scm | 17 +-
gnu/packages/ruby.scm | 1393 ++++++++---------
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 +
14 files changed, 1058 insertions(+), 719 deletions(-)
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.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 01/71] gnu: ruby: Remove uneeded trailing #t.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-1-ngraves@ngraves.fr
---
gnu/packages/ruby.scm | 286 ++++++++++++++----------------------------
1 file changed, 96 insertions(+), 190 deletions(-)

Toggle diff (452 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 8ae32d575b..758e6e9d44 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 @@
(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 @@
"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 @@ a focus on simplicity and productivity.")
"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 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
(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 @@ Windows and Mac).")
(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 @@ Eval Print Loop).")
(string-append
"Kernel.exec('"
(assoc-ref inputs "python-ipython")
- "/bin/")))
- #t)))))
+ "/bin/"))))))))
(inputs
(list python-ipython))
(propagated-inputs
@@ -949,15 +942,13 @@ the Cucumber Gherkin language.")
(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 @@ the Cucumber Gherkin language.")
(("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 @@ Prawn module.")
(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
@@ -2251,8 +2239,7 @@ for performance optimizations in Ruby code.")
((".*(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
@@ -2563,8 +2550,7 @@ PDF library. It has features such as:
(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"
@@ -2572,8 +2558,7 @@ PDF library. It has features such as:
(("%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
@@ -2732,8 +2717,7 @@ value is found.")
(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
@@ -2791,8 +2775,7 @@ It handles parsing of command-line options, and generation of usage help.")
(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")
@@ -3066,13 +3049,11 @@ building block for authentication strategies.")
(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
@@ -3100,8 +3081,7 @@ input and output.")
(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
@@ -3238,15 +3218,13 @@ a Ruby object.")
(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")
@@ -3715,8 +3693,7 @@ lines of a file, @code{File.wc} to count words, and so on.")
(substitute* "Rakefile"
(("require 'rake/gempackagetask'")
"require 'rubygems/package_task'")
- (("include Config") ""))
- #t))
+ (("include Config") ""))))
(replace 'check
(lambda _
(invoke "ruby" "-Ilib" "test/test.rb"))))))
@@ -3744,8 +3721,7 @@ operations with permutations of sequences, such as strings and arrays.")
(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")
@@ -3801,19 +3777,16 @@ libraries such as Libnotify.")
(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
@@ -3872,13 +3845,11 @@ standard output stream.")
;; 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
@@ -3983,8 +3954,7 @@ immutable queue or stack).")
(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")
@@ -5257,8 +5227,7 @@ mixture of HTML and additional ERB syntax.")
(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")
@@ -5291,8 +5260,7 @@ HTML, and PDF through LaTeX.")
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")
@@ -5386,13 +5354,11 @@ like JSON. Unlike JSON, it is very fast and small.")
(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")
@@ -5426,15 +5392,13 @@ specs for Ruby implementations in ruby/spec.")
(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)
@@ -5446,8 +5410,7 @@ specs for Ruby implementations in ruby/spec.")
":"
(assoc-ref outputs "out") "/lib/ruby/vendor_ruby"))
(when tests?
- (invoke "rspec"))
- #t)))))
+ (invoke "rspec")))))))
(inputs
`(("mariadb-dev" ,mariadb "dev")
("zlib" ,zlib)))
@@ -5545,8 +5508,7 @@ irb's last-word approach.")
"/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")
@@ -5628,8 +5590,7 @@ definitions on a Ruby object.")
(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")
@@ -5946,8 +5907,7 @@ facilities supporting TDD, BDD, mocking, and benchmarking.")
(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
@@ -6140,8 +6100,7 @@ absence of failure.")
(("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")
@@ -6207,13 +6166,11 @@ instance, it provides @code{assert_true}, @code{assert_false} and
(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
@@ -6494,8 +6451,7 @@ core tasks.")
,version "/lib/git/config.rb")))
(substitute* (list config)
(("'git'")
- (string-append "'" git "'")))
- #t))))))
+ (string-append "'" git "'")))))))))
(inputs
(list git))
(synopsis "Ruby wrappers for Git")
@@ -6872,8 +6828,7 @@ both CSS3 selector and XPath 1.0 support.")
(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")
@@ -7454,8 +7409,7 @@ Oedipus matches on the first match, not the longest.")
(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"))))))
@@ -7832,8 +7786,7 @@ current line in an external editor.")
(("s.add_dependency.*") "\n"))
(su
This message was truncated. Download the full message here.
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 02/71] gnu: Add ruby-3.4.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 758e6e9d44..1edd7cbe91 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -115,6 +115,66 @@
license:gpl2+
license:gpl3+))
+(define-public ruby-3.4
+ (package
+ (name "ruby")
+ (version "3.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
+ (version-major+minor version)
+ "/ruby-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1bvhzbdwdj502wsrs97fvw6jvid2swzjvqj7v2kc1qrbnpzmk381"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:configure-flags
+ ,(if (%current-target-system)
+ '(list (string-append
+ "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib")
+ "--enable-shared")
+ ''("--enable-shared")) ; dynamic linking
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'replace-bin-sh-and-remove-libffi
+ (lambda _
+ (substitute* '("configure.ac"
+ "template/Makefile.in"
+ "lib/rubygems/installer.rb"
+ "ext/pty/pty.c"
+ "io.c"
+ "lib/mkmf.rb"
+ "process.c"
+ "test/rubygems/test_gem_ext_configure_builder.rb"
+ "test/rdoc/test_rdoc_parser.rb"
+ "test/ruby/test_rubyoptions.rb"
+ "test/ruby/test_process.rb"
+ "test/ruby/test_system.rb"
+ "tool/rbinstall.rb")
+ (("/bin/sh") (which "sh"))))))))
+ (native-inputs
+ (append (if (%current-target-system)
+ (list this-package)
+ '())
+ (list autoconf libyaml)))
+ (inputs
+ (list readline openssl-1.1 libffi gdbm))
+ (propagated-inputs
+ (list zlib))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GEM_PATH")
+ (files (list (string-append "lib/ruby/vendor_ruby"))))))
+ (synopsis "Programming language interpreter")
+ (description "Ruby is a dynamic object-oriented programming language with
+a focus on simplicity and productivity.")
+ (home-page "https://www.ruby-lang.org")
+ (license license:ruby)))
+
(define-public ruby-2.6
(package
(name "ruby")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 03/71] gnu: ruby-3.3: Inherit from ruby-3.4.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 1edd7cbe91..ead1f338cf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -175,6 +175,20 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
(modify-inputs (package-inputs ruby-3.1)
(prepend libyaml)))))
-(define-public ruby-3.3
- (package
- (inherit ruby-3.2)
- (version "3.3.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "07pwf3zkf7idl95agfjbv2lvamcp0spp0znqp9arb71ri19rkh43"))))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 04/71] gnu: ruby-3.3: Update to 3.3.7.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 ead1f338cf..7246ecb2e7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -178,7 +178,7 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "07pwf3zkf7idl95agfjbv2lvamcp0spp0znqp9arb71ri19rkh43"))))))
+ "0wmdnqcmfa5mf961hzklvjic7vdpgrbl2ckhaafb1m0fbrhbrg2x"))))))
(define-public ruby-2.6
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 05/71] gnu: ruby-3.2: Inherit from ruby-3.3.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 7246ecb2e7..f185c8a145 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -189,6 +189,20 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
(base32
"0kzr792rk9n9yrqlyrkc1a0cmbk5y194f7v7p4vwjdk0ww860v8v"))))))
-(define-public ruby-3.2
- (package
- (inherit ruby-3.1)
- (version "3.2.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "0ss7pb7f62sakq5ywpw3dl0v586cl61cd91qlm1i094c9fak3cng"))))
- (inputs
- (modify-inputs (package-inputs ruby-3.1)
- (prepend libyaml)))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 06/71] gnu: ruby-3.2: Update to 3.2.6.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 f185c8a145..9c64077d61 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -192,7 +192,7 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0ss7pb7f62sakq5ywpw3dl0v586cl61cd91qlm1i094c9fak3cng"))))))
+ "1jvyl8szfhinhqjiv40pfqck95lhikjx3iwxsylw9hiq481384b7"))))))
(define-public ruby-2.6
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 07/71] gnu: ruby-3.1: Inherit from ruby-3.2.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 9c64077d61..0e644d5a1b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -203,6 +203,23 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
(modify-inputs (package-inputs ruby-2.7)
(replace "openssl" openssl)))))
-(define-public ruby-3.1
- (package
- (inherit ruby-3.0)
- (version "3.1.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "0kzr792rk9n9yrqlyrkc1a0cmbk5y194f7v7p4vwjdk0ww860v8v"))))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 08/71] gnu: ruby-3.1: Update to 3.1.6.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 0e644d5a1b..e4c52c8e2a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -206,7 +206,7 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0kzr792rk9n9yrqlyrkc1a0cmbk5y194f7v7p4vwjdk0ww860v8v"))))
+ "00k17kkajmk3dwawlvf312sm4hf5980khpfbcdl8lb95ky2d2ysr"))))
(inputs
(modify-inputs (package-inputs ruby-3.2)
(delete "libyaml")))))
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 09/71] gnu: Remove ruby-3.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 e4c52c8e2a..d938f72ffc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -332,23 +332,6 @@ a focus on simplicity and productivity.")
'())
(list autoconf)))))
-(define-public ruby-3.0
- (package
- (inherit ruby-2.7)
- (version "3.0.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
- (version-major+minor version)
- "/ruby-" version ".tar.xz"))
- (sha256
- (base32
- "1lfvgm6jbspmwmc3haww83l1l8vl1airzi08ljrcz19dws9yxjxm"))))
- (inputs
- (modify-inputs (package-inputs ruby-2.7)
- (replace "openssl" openssl)))))
-
(define-public ruby ruby-3.1)
(define-public mruby
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 10/71] gnu: Remove ruby-2.6.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 d938f72ffc..9afd5590da 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -220,79 +220,20 @@ a focus on simplicity and productivity.")
(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 @@ a focus on simplicity and productivity.")
(append (if (%current-target-system)
(list this-package)
'())
- (list autoconf)))))
+ (list autoconf)))
+ (inputs
+ (list readline openssl-1.1 libffi gdbm))
+ (propagated-inputs
+ (list zlib))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GEM_PATH")
+ (files (list (string-append "lib/ruby/vendor_ruby"))))))
+ (synopsis "Programming language interpreter")
+ (description "Ruby is a dynamic object-oriented programming language with
+a focus on simplicity and productivity.")
+ (home-page "https://www.ruby-lang.org")
+ (license license:ruby)))
(define-public ruby ruby-3.1)
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 11/71] gnu: ruby-flores: Update to 0.0.8-0.92fded0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 8f88654ef6..ecb91de430 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2182,6 +2182,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 9afd5590da..09d3ed9ee1 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4583,30 +4583,40 @@ fiber, and defaults to a shared thread-local state.")
(license license:expat)))
(define-public ruby-flores
- (package
- (name "ruby-flores")
- (version "0.0.8")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "flores" version))
- (sha256
- (base32
- "0pd8gqgy67rp1baq5r7himl0r9jzv5kqlhdmqh8wngynv548w2ai"))))
- (build-system ruby-build-system)
- (arguments
- (list #:ruby ruby-2.7
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ruby" (which "rspec"))))))))
- (native-inputs (list ruby-rspec ruby-simplecov))
- (synopsis "Fuzzing, randomization, and stress testing library")
- (description "Flores is a fuzzing, randomization, and stress library to
+ (let ((commit "92fded00b04b1e3d308edb7440d7b7ab2c89ab5e")
+ (revision "0"))
+ (package
+ (name "ruby-flores")
+ (version (git-version "0.0.8" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jordansissel/ruby-flores")
+ (commit commit)))
+ (sha256
+ (base32 "0jvnw0jli2zzxklfk751vfbi4acf9lijppk67346j3b2qxqi8xms"))
+ (patches
+ (search-patches "ruby-flores-fix-deprecations.patch"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-gemspec
+ (lambda _
+ (substitute* "flores.gemspec"
+ ;; Since this is not a git repository, do not call 'git'.
+ (("git ls-files") "find . -type f |sort"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ruby" (which "rspec"))))))))
+ (native-inputs (list ruby-rspec ruby-simplecov))
+ (synopsis "Fuzzing, randomization, and stress testing library")
+ (description "Flores is a fuzzing, randomization, and stress library to
help tests uncover more bugs.")
- (home-page "https://github.com/jordansissel/ruby-flores")
- (license license:asl2.0)))
+ (home-page "https://github.com/jordansissel/ruby-flores")
+ (license license:asl2.0))))
(define-public ruby-ipaddr
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 12/71] gnu: ruby-stackprof: Update to 0.2.27.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 09d3ed9ee1..45f8b15b11 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9861,13 +9861,13 @@ navigation capabilities to @code{pry}, using @code{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
@@ -9889,7 +9889,7 @@ navigation capabilities to @code{pry}, using @code{byebug}.")
;; This test often fails
(("def test_gc") "def skip_test_gc")
;; This test is known to fail on 32-bit systems.
- ;; /gnu/store/...-stackprof-0.2.26.gem
+ ;; /gnu/store/...-stackprof-0.2.27.gem
(("def test_raw") "def skip_test_raw"))))
(add-before 'check 'build-tests
(lambda _
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 13/71] gnu: ruby-contracts: Update to 0.17.2.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 45f8b15b11..f21b64fbbf 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2662,14 +2662,14 @@ features:
(define-public ruby-contracts
(package
(name "ruby-contracts")
- (version "0.17")
+ (version "0.17.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "contracts" version))
(sha256
(base32
- "0gfybfsb6kqxvvcrv1q7bfjaxmq73pf3vqy4bbzarkbajil05ii5"))))
+ "1sclvlwnlxfaj1595xd0rn3x3w0ljic3vqgnx6476lr7x8xbpbiv"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 14/71] gnu: ruby-listen: Remove uneeded ruby-dep propagated-input.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 f21b64fbbf..cb61ee11fc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8312,7 +8312,7 @@ a native C extension.")
;; in the wrapper, and therefore just needs to be an input.
ruby-thor))
(propagated-inputs
- (list ruby-rb-fsevent ruby-rb-inotify ruby-dep))
+ (list ruby-rb-fsevent ruby-rb-inotify))
(synopsis "Listen to file modifications")
(description "The Listen gem listens to file modifications and notifies
you about the changes.")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 15/71] gnu: ruby-immutable-struct: Update to 2.4.1-0.bb67ad8.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 cb61ee11fc..46512b3489 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7924,37 +7924,38 @@ of terminal output.")
(license license:gpl2)))
(define-public ruby-immutable-struct
- (package
- (name "ruby-immutable-struct")
- (version "2.4.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/stitchfix/immutable-struct")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "17hlmy9jfwn3i5h2rwv832ycwcdqwxq7dkkd2yly28klwj0l52rq"))))
- (build-system ruby-build-system)
- (arguments
- (list
- ;; Issues with the lack of Set in Ruby 3
- #:ruby ruby-2.7
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ruby" (which "rspec"))))))))
- (native-inputs
- (list ruby-rspec))
- (synopsis "Ruby library for creating immutable struct classes")
- (description
- "Easily create value objects without the pain of Ruby's Struct (or its setters)")
- (home-page "https://stitchfix.github.io/immutable-struct/")
- (license license:expat)))
+ (let ((commit "bb67ad8fa2117e8031c3f4333b4c25c8bcd3afff")
+ (revision "0"))
+ (package
+ (name "ruby-immutable-struct")
+ (version (git-version "2.4.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stitchfix/immutable-struct")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vsr2spypjf0i7ppg2a0gj3mjj5k3dyqsx224cbsxw51p6cc11c1"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ruby" (which "rspec"))))))))
+ (native-inputs
+ (list ruby-rspec))
+ (synopsis "Ruby library for creating immutable struct classes")
+ (description
+ "This package provides a library to help create value objects without
+the pain of Ruby's Struct (or its setters).")
+ (home-page "https://stitchfix.github.io/immutable-struct/")
+ (license license:expat))))
(define-public ruby-faker
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 17/71] gnu: ruby-vagrant-spec: Remove uneeded ruby-dep propagated-input.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 e2ecd3e722..08e7d5c18f 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -2461,7 +2461,7 @@ use it.")
"1bkzz3mj7kzsv6k0ii8w31cgkpiqw3wvmvv2c6rknsavqqnagb4g"))))
(build-system ruby-build-system)
;; (native-inputs (list ruby-rubocop ruby-vagrant-spec-helper-basic))
- (propagated-inputs (list ruby-coveralls ruby-serverspec ruby-dep))
+ (propagated-inputs (list ruby-coveralls ruby-serverspec))
(arguments
(list
#:tests? #f ;; tests require vagrant
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 16/71] gnu: ruby-net-scp: Update to 4.0.1.rc3.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 46512b3489..447209338b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5806,7 +5806,7 @@ with processes on remote servers, via SSH2.")
(define-public ruby-net-scp
(package
(name "ruby-net-scp")
- (version "4.0.0")
+ (version "4.0.1.rc3")
(source
(origin
(method git-fetch)
@@ -5815,7 +5815,7 @@ with processes on remote servers, via SSH2.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1mdxh81z2hkcc359g6z96fywbr57azlv2yj4zq76adn5lyqq4hgw"))))
+ (base32 "136mb8idxdkxkadx827027nyxcsvvv2wivz5dnjqy8g6ic0h9dzn"))))
(build-system ruby-build-system)
(native-inputs
(list bundler ruby-test-unit ruby-mocha-1))
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 18/71] gnu: Remove ruby-dep.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 447209338b..78c46ac289 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7209,29 +7209,6 @@ rate.")
(home-page "https://github.com/paul/progress_bar")
(license license:wtfpl2)))
-(define-public ruby-dep
- (package
- (name "ruby-dep")
- (version "1.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (rubygems-uri "ruby_dep" version))
- (sha256
- (base32
- "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"))))
- (build-system ruby-build-system)
- (arguments
- (list
- #:ruby ruby-2.7
- #:tests? #f)) ; No included tests
- (synopsis "Creates a version constraint of supported Rubies")
- (description
- "This package helps create a version constraint of supported Rubies,
-suitable for a gemspec file.")
- (home-page "https://github.com/e2/ruby_dep")
- (license license:expat)))
-
(define-public ruby-progressbar
(package
(name "ruby-progressbar")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 19/71] gnu: ruby-hashie: Update to 5.0.0-0.7351055.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 78c46ac289..bdbbd9da8c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14342,43 +14342,45 @@ is compatible with stylesheets designed for pygments.")
license:bsd-2))))
(define-public ruby-hashie
- (package
- (name "ruby-hashie")
- (version "5.0.0")
- (source (origin
- (method git-fetch) ;for tests
- (uri (git-reference
- (url "https://github.com/hashie/hashie")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0ihami0cdn71cvwzwgr3vxqvqi0ifqsna0vlyqiqlhsnf93w0cm8"))))
- (build-system ruby-build-system)
- (arguments
- (list #:test-target "spec"
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-bundler
- (lambda _
- (substitute* "Rakefile"
- ((".*require 'bundler'.*") "")
- ((".*Bundler.setup.*") "")
- (("Bundler::GemHelper\\.install_tasks") ""))))
- (add-after 'unpack 'disable-rubocop
- (lambda _
- (substitute* "Rakefile"
- (("require 'rubocop/rake_task'") "")
- (("RuboCop::RakeTask.new") ""))))
- (add-after 'unpack 'relax-requirements
- (lambda _
- ;; Contains multiple extraneous dependencies.
- (delete-file "Gemfile"))))))
- (native-inputs (list ruby-json ruby-pry ruby-rspec ruby-rspec-pending-for))
- (home-page "https://github.com/hashie/hashie")
- (synopsis "Extensions to Ruby Hashes")
- (description "Hashie is a collection of classes and mixins that make Ruby
+ (let ((commit "73510552ba580867e9882fe092568916cbcd810b")
+ (revision "0"))
+ (package
+ (name "ruby-hashie")
+ (version (git-version "5.0.0" revision commit))
+ (source (origin
+ (method git-fetch) ;for tests
+ (uri (git-reference
+ (url "https://github.com/hashie/hashie")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08rpx040h6vgx6ynk6w029f7z7c8aj2p4v135k2l1zxvnw617ddw"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:test-target "spec"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-bundler
+ (lambda _
+ (substitute* "Rakefile"
+ ((".*require 'bundler'.*") "")
+ ((".*Bundler.setup.*") "")
+ (("Bundler::GemHelper\\.install_tasks") ""))))
+ (add-after 'unpack 'disable-rubocop
+ (lambda _
+ (substitute* "Rakefile"
+ (("require 'rubocop/rake_task'") "")
+ (("RuboCop::RakeTask.new") ""))))
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ ;; Contains multiple extraneous dependencies.
+ (delete-file "Gemfile"))))))
+ (native-inputs (list ruby-json ruby-pry ruby-rspec ruby-rspec-pending-for))
+ (home-page "https://github.com/hashie/hashie")
+ (synopsis "Extensions to Ruby Hashes")
+ (description "Hashie is a collection of classes and mixins that make Ruby
hashes more powerful.")
- (license license:expat)))
+ (license license:expat))))
(define-public ruby-heredoc-unindent
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 20/71] gnu: ruby-latex-decode: Remove uneeded ruby-ritex propagated-input.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 bdbbd9da8c..89cf3d67eb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17161,7 +17161,6 @@ into HTML pages easy. It supports most TeX math syntax as well as macros.")
(build-system ruby-build-system)
(native-inputs
(list ruby-cucumber
- ruby-ritex
ruby-rspec))
(arguments
(list
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 21/71] gnu: Remove ruby-ritex.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 89cf3d67eb..8512972ebe 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17102,49 +17102,6 @@ of various cultural backgrounds and tries to split them into their component
parts (e.g., given and family names, honorifics etc.).")
(license (list license:bsd-2 license:agpl3+))))
-(define-public ruby-ritex
- (package
- (name "ruby-ritex")
- (version "1.0.1")
- (source (origin
- (method url-fetch)
- (uri (rubygems-uri "ritex" version))
- (sha256
- (base32
- "07rlm3nyz9sxzy1srxs6a31hw81r6w7swrb85fiwi393z8npwc3a"))))
- (build-system ruby-build-system)
- (native-inputs
- (list itex2mml))
- (arguments
- ;; thanks to the Gentoo packagers for figuring this out
- (list
- #:ruby ruby-2.7
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'extract-gemspec 'fix-tests
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (substitute* "test/mathml.rb"
- (("\\./itex2MML")
- ;; don't use the absolute path to avoid keeping a reference
- "itex2MML")
- (("cmp ',\\\\,\\\\,,,\\\\,'" orig)
- (string-append "# " orig " # patched for Guix")))
- (substitute* "test/answer-key.yaml"
- (("- ,\\\\,\\\\,,,\\\\," orig)
- (string-append "# " orig " # patched for Guix")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "ruby" "-Ilib:." "test/all.rb")))))))
- (home-page "https://rubygems.org/gems/ritex")
- (synopsis "Convert expressions from WebTeX into MathML")
- (description
- "Ritex converts expressions from WebTeX into MathML. WebTeX is an
-adaptation of TeX math syntax for web display. Ritex makes inserting math
-into HTML pages easy. It supports most TeX math syntax as well as macros.")
- ;; doesn't clearly state -only vs -or-later
- (license license:gpl2)))
-
(define-public ruby-latex-decode
(package
(name "ruby-latex-decode")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 22/71] gnu: ruby-minitest-hooks: Update to 1.5.2.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 8512972ebe..09d595004d 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6242,20 +6242,16 @@ minitest 5.12, and is planned to be removed from minitest 6.")
(define-public ruby-minitest-hooks
(package
(name "ruby-minitest-hooks")
- (version "1.5.0")
+ (version "1.5.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "minitest-hooks" version))
(sha256
- (base32
- "05z8r6sw3fz4s44fs1150ndlcmcy82vlxmhps5nncg8vk59k3gmf"))))
+ (base32 "11jb31dl5kbpyl3kgxql0p7da9066r2aqw54y5q6cni9nmld3zf5"))))
(build-system ruby-build-system)
(arguments
- '(#:test-target "spec"
- ;; Test suite is incompatible with ruby-2.7.
- ;; https://github.com/jeremyevans/minitest-hooks/issues/19
- #:tests? #f))
+ '(#:tests? #f)) ; No tests bundled.
(native-inputs
(list ruby-sequel ruby-sqlite3))
(synopsis "Hooks for the minitest framework")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 23/71] gnu: packages: Add comments for migration to ruby@3
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
("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 432282f9cf..cffe496201 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -573,6 +573,7 @@ system, and the core design of Django is reused in Grantlee.")
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 @@ linux/libcurl_wrapper.h")
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 @@ of user-specified directories similar to how shells look up executables.")
(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 @@
("pixman" ,pixman)
("potrace" ,potrace)
("python" ,python)
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
("ruby" ,ruby-2.7)
("tcsh" ,tcsh)
("teckit" ,teckit)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 229e69a2b3..c5cf76704f 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -267,6 +267,7 @@ encoding, supporting Unicode version 9.0.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 @@ engine that uses Wayland for graphics output.")
pkg-config
python-wrapper
gi-docgen
+ ;; TODO Move to ruby@3 on the next rebuild cycle.
ruby-2.7
unifdef))
(propagated-inputs
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 24/71] gnu: ruby-pg: Update to 1.5.9-0.378b7a3.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 ecb91de430..6b457b57ec 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2186,6 +2186,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 09d595004d..1c311ead85 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8503,20 +8503,23 @@ alternative to Marshal for Object serialization.")
(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
@@ -8543,7 +8546,7 @@ alternative to Marshal for Object serialization.")
(synopsis "Ruby interface to PostgreSQL")
(description "Pg is the Ruby interface to the PostgreSQL RDBMS. It works
with PostgreSQL 9.3 and later.")
- (license license:ruby)))
+ (license license:ruby))))
(define-public ruby-byebug
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 25/71] gnu: ruby-msgpack: Update to 1.7.5.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 1c311ead85..59fb09e5f9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -5313,7 +5313,7 @@ to check for the presence of header files, constants, and so on.")
(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
@@ -5322,7 +5322,7 @@ to check for the presence of header files, constants, and so on.")
(file-name (git-file-name name version))
(sha256
(base32
- "08wi853nv02clrdwx8s6dg9lmcyzq5fk84l4rb94pglps76rlvz7"))))
+ "0d759pjgxgrxw18kmk81yv9brc141b4d8gszlp4vdnpvwvb96nln"))))
(build-system ruby-build-system)
(arguments (list #:test-target "spec"))
(native-inputs
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 26/71] gnu: ruby-hoe: Update to 4.2.2.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 59fb09e5f9..b2fb570282 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -406,13 +406,13 @@ a menu system for providing multiple options to the user.")
(define-public ruby-hoe
(package
(name "ruby-hoe")
- (version "4.0.4")
+ (version "4.2.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "hoe" version))
(sha256
(base32
- "0r2hy7mq9jd9hsbvskd9sxfbagc92adnn7abzxbda05sscbf46hn"))))
+ "1rhj1zs02mpdw6f4fh3mpfmj0p5pfar7rfxm758pk7l931mm8pyn"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 27/71] gnu: ruby-rake-compiler: Update to 1.2.9.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 b2fb570282..acd08f4452 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -442,13 +442,13 @@ announcement.")
(define-public ruby-rake-compiler
(package
(name "ruby-rake-compiler")
- (version "1.1.1")
+ (version "1.2.9")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rake-compiler" version))
(sha256
(base32
- "11sxgw10jrd6a4irb51jjwam9wikixn5kss11pw4b80cmh32yvpf"))))
+ "01rnl94p1sr84xkbnh66db42qsndykbfx2z2fggxyxx9vnji6cjs"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; needs cucumber
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 28/71] gnu: Add ruby-securerandom.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 acd08f4452..d77ba500f7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16771,6 +16771,24 @@ requests.")
Dashboard. It is a Ruby Client library for IRIS / BBS API.")
(license license:expat)))
+(define-public ruby-securerandom
+ (package
+ (name "ruby-securerandom")
+ (version "0.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "securerandom" version))
+ (sha256
+ (base32 "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests found.
+ (synopsis "Interface for secure random number generator")
+ (description "This package provides a Ruby interface for secure random
+number generators.")
+ (home-page "https://github.com/ruby/securerandom")
+ (license (list license:bsd-2))))
+
(define-public ruby-selenium-webdriver
(package
(name "ruby-selenium-webdriver")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 29/71] gnu: ruby-benchmark: Update to 0.4.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 d77ba500f7..5063c452e4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16106,14 +16106,14 @@ exceptions with predefined messages.")
(define-public ruby-benchmark
(package
(name "ruby-benchmark")
- (version "0.1.1")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "benchmark" version))
(sha256
(base32
- "1jvrl7400fv7v2jjri1r7ilj3sri36hzipwwgpn5psib4c9c59c6"))))
+ "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg"))))
(build-system ruby-build-system)
(synopsis "Performance benchmarking library")
(description "This package provides methods for benchmarking Ruby code,
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 30/71] gnu: ruby-rails: Update to 7.1.5.1.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 78e988dd1d..d512776650 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -35,7 +35,7 @@
#: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 @@
(file-name (git-file-name "ruby-rails" %ruby-rails-version))
(sha256
(base32
- "0s16i73rqzlrx5icn848mf2nmblmgxk06wj9576dkadsb8pspv0l"))))
+ "0wzlnfs3k6ahhzcqznk43y1lq8a3dq3i7q1aqracx891hjmr19n2"))))
(define-public ruby-activesupport
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 32/71] gnu: ruby-concurrent-ruby: Update to 1.3.5.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 51da850068..ccf0b0233a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12853,7 +12853,7 @@ call.")
(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
@@ -12862,7 +12862,7 @@ call.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vz4rl0nplq14dk9nx45g59i1sk2h53w1mjlrdiyjf780q4a1i38"))))
+ "0f0apna8k9cwnpa4lddwimywxzznrd4rjv4m0lka2i54z49iky73"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 31/71] gnu: ruby-timeout: Update to 0.4.3.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 5063c452e4..51da850068 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15512,7 +15512,7 @@ minimal effort.")
(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
@@ -15521,8 +15521,9 @@ minimal effort.")
(file-name (git-file-name name version))
(sha256
(base32
- "0lzhs2c4znzg781w146dhvczhbx7h3wkb90i4v6h68zvm2zfylgj"))))
+ "1mw2dwyp2j05fl2gmw8cj132kk145sbxj5i0whpxcnddlc8gw781"))))
(build-system ruby-build-system)
+ (native-inputs (list ruby-test-unit-ruby-core))
(synopsis "Timeout library for Ruby")
(description "Timeout provides a way to auto-terminate a potentially
long-running operation if it hasn't finished in a fixed amount of time.")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 33/71] gnu: Add ruby-rackup-1.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 ccf0b0233a..0c7c6ae023 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -8853,6 +8853,21 @@ for Rack applications.")
(home-page "https://github.com/rack/rackup")
(license license:expat)))
+(define-public ruby-rackup-1
+ (package
+ (inherit ruby-rackup)
+ (name "ruby-rackup")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rack/rackup")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1xdfxsz7jx2gwfq212y9mca6q0i5s7kyqbfcscy1315awg57ynyp"))))))
+
(define-public ruby-rack-cache
(package
(name "ruby-rack-cache")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 34/71] gnu: ruby-erubi: Update to 1.11.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 0c7c6ae023..11a85a825e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3089,15 +3089,21 @@ functions.")
(define-public ruby-erubi
(package
(name "ruby-erubi")
- (version "1.8.0")
+ (version "1.11.0")
(source
(origin
- (method url-fetch)
- (uri (rubygems-uri "erubi" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jeremyevans/erubi")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1"))))
+ (base32 "0y4qskz260fjwbnjps5z5yygjwgh6ds0f97lfa9gsmh6zqa1lvvx"))))
(build-system ruby-build-system)
+ (arguments
+ (list #:test-target "spec"))
+ (native-inputs (list ruby-minitest
+ ruby-minitest-global-expectations))
(synopsis "ERB template engine for Ruby")
(description
"Erubi is a ERB template engine for Ruby. It is a simplified fork of
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 40/71] gnu: ruby-actionpack: Patch source.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 6b457b57ec..a6e10263ff 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2178,6 +2178,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 772253ad05..8fd80d33bb 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -27,6 +27,7 @@
#: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 @@
(file-name (git-file-name "ruby-rails" %ruby-rails-version))
(sha256
(base32
- "0wzlnfs3k6ahhzcqznk43y1lq8a3dq3i7q1aqracx891hjmr19n2"))))
+ "0wzlnfs3k6ahhzcqznk43y1lq8a3dq3i7q1aqracx891hjmr19n2"))
+ (patches
+ (search-patches "ruby-actionpack-remove-browser-tests.patch"))))
(define-public ruby-activesupport
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 45/71] gnu: jekyll: Update to 4.3.4.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 d82708f33f..0d74cf0876 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14874,7 +14874,7 @@ Unicode formatted tables.")
(define-public jekyll
(package
(name "jekyll")
- (version "4.3.2")
+ (version "4.3.4")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -14883,7 +14883,7 @@ Unicode formatted tables.")
(file-name (git-file-name name version))
(sha256
(base32
- "1d588d7zhp526r21f9mnm204m8qy0c8h3lq3ghyg6qp8mj6hnwj4"))))
+ "0sz285x5ppbifrnixi9sdzv28kg4x3qbzds3qniiwh1ip9hi1yk4"))))
(build-system ruby-build-system)
(arguments
(list #:modules '((guix build ruby-build-system)
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 35/71] gnu: ruby-rails-html-sanitizer: Update to 1.6.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 d512776650..5f2238ca88 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -445,20 +445,20 @@ applications, in pace of the default Minitest testing library.")
(define-public ruby-rails-html-sanitizer
(package
(name "ruby-rails-html-sanitizer")
- (version "1.3.0")
+ (version "1.6.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "rails-html-sanitizer" version))
(sha256
(base32
- "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f"))))
+ "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6"))))
(build-system ruby-build-system)
(arguments
'(;; No included tests
#:tests? #f))
(propagated-inputs
- (list ruby-loofah))
+ (list ruby-loofah ruby-nokogiri))
(synopsis "HTML sanitization for Rails applications")
(description
"This gem is used to handle HTML sanitization in Rails applications. If
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 43/71] gnu: ruby-mail: Update to 2.8.1.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 9697a8ca6e..dabdca47c3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -13049,14 +13049,13 @@ of the more insecure basic authentication scheme.")
(define-public ruby-mail
(package
(name "ruby-mail")
- (version "2.7.1")
+ (version "2.8.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "mail" version))
(sha256
- (base32
- "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc"))))
+ (base32 "1bf9pysw1jfgynv692hhaycfxa8ckay1gjw5hz3madrbrynryfzc"))))
(build-system ruby-build-system)
(propagated-inputs
(list ruby-mini-mime))
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 39/71] gnu: Add ruby-base64.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 9565212100..651b7808d0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1304,6 +1304,25 @@ specified in a \"Gemfile\", as well as their dependencies.")
(home-page "https://bundler.io/")
(license license:expat)))
+(define-public ruby-base64
+ (package
+ (name "ruby-base64")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "base64" version))
+ (sha256
+ (base32 "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests bundled.
+ (synopsis "Base64 encoding/decoding in Ruby")
+ (description
+ "This package provides support for encoding and decoding binary data
+using a Base64 representation.")
+ (home-page "https://github.com/ruby/base64")
+ (license (list license:bsd-2))))
+
(define-public ruby-builder
(package
(name "ruby-builder")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 38/71] gnu: ruby-selenium-webdriver: Update to 4.22.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 bb156da927..9565212100 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16821,19 +16821,22 @@ number generators.")
(define-public ruby-selenium-webdriver
(package
(name "ruby-selenium-webdriver")
- (version "4.8.5")
+ (version "4.22.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "selenium-webdriver" version))
(sha256
(base32
- "0wh44vpsyz4mgyq4h482prgiv7hqa5jsj4i7i5hnvv39jb0rfiwm"))))
+ "0rjxlivsh32xvjq78p1m1sr366aa04wms4hwb2r187ygrnmp0hv4"))))
(build-system ruby-build-system)
;; FIXME: The gem release lacks test files, and the git checkout lacks
;; JavaScript source that is generated using Bazel, which isn't available
;; in Guix yet, so disable the test suite for now.
(arguments (list #:tests? #f))
- (propagated-inputs (list ruby-rexml ruby-rubyzip ruby-websocket))
+ (propagated-inputs (list ruby-base64
+ ruby-rexml
+ ruby-rubyzip
+ ruby-websocket))
(synopsis "Selenium browser automation bindings for Ruby")
(description "Selenium implements the W3C WebDriver protocol to automate
popular browsers. It aims to mimic the behaviour of a real user as it
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 47/71] gnu: ruby-tilt: Update to 2.2.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 d446fa3190..a350232f18 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7512,7 +7512,7 @@ intended for use with event loops such as async.")
(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
@@ -7521,35 +7521,12 @@ intended for use with event loops such as async.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0v7s38r86ammqpqm1diyk0yqz1k285argkpy5c8s1vq46983m9lv"))))
+ (base32 "056zm4vzx9xjwl7zgmb17hzb91qx5cvzk60wvsxchfybvl03gn5d"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'remove-some-dependencies
- (lambda _
- (substitute* "Gemfile"
- (("gem 'less'") "\n")
- (("gem 'coffee-script'") "\n")
- (("gem 'livescript'") "\n")
- (("gem 'babel-transpiler'") "\n")
- (("gem 'typescript-node'") "\n")
- (("gem 'typescript-node'") "\n")
- (("gem 'duktape'.*") "\n")
- ;; TODO ronn is used for generating the manual
- (("gem 'ronn'.*") "\n")
- ;; ruby-haml has a runtime dependency on ruby-tilt, so don't
- ;; pass it in as a native-input
- (("gem 'haml'.*") "\n")
- ;; TODO Not all of these gems are packaged for Guix yet:
- ;; less, coffee-script, livescript, babel-transpiler,
- ;; typescript-node
- (("if can_execjs") "if false")
- ;; Disable the secondary group to reduce the number of
- ;; dependencies. None of the normal approaches work, so patch
- ;; the Gemfile instead.
- (("group :secondary") "[].each"))))
(add-before 'check 'set-SASS_IMPLEMENTATION
(lambda _
(setenv "SASS_IMPLEMENTATION" "sassc"))))))
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 42/71] gnu: ruby-zeitwerk: Update to 2.7.1.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 67dc723299..9697a8ca6e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15947,7 +15947,7 @@ which snapshots to consider and what files to include.")
(define-public ruby-zeitwerk
(package
(name "ruby-zeitwerk")
- (version "2.6.7")
+ (version "2.7.1")
(source
(origin
(method git-fetch) ;for tests
@@ -15957,13 +15957,14 @@ which snapshots to consider and what files to include.")
(file-name (git-file-name name version))
(sha256
(base32
- "10p1ycv72yas1fdqrmdyz1aiqf8axj6q1kyllni2wknhk059jvi0"))))
+ "19qmcdpbh4bl878zd1w19064yjkpb8sxaydcasqfa7p8cfg3hnsr"))))
(build-system ruby-build-system)
(native-inputs
(list ruby-minitest
ruby-minitest-focus
ruby-minitest-proveit
- ruby-minitest-reporters))
+ ruby-minitest-reporters
+ ruby-warning))
(synopsis "Efficient and thread-safe code loader for Ruby")
(description
"Zeitwerk implements constant autoloading with Ruby semantics. Each gem
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 48/71] gnu: ruby-asciidoctor: Update to 2.0.20.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 a350232f18..ed51e04bb3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1664,7 +1664,7 @@ syntax to the minimum while remaining clear.")
(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 @@ syntax to the minimum while remaining clear.")
(file-name (git-file-name name version))
(sha256
(base32
- "1mpk3y69lqz9ywfkjmr40dm3mkabrnf92bb011qq1axj73yyrajv"))))
+ "19qvilhwa9plg80ppspn5ys0ybl8qfyaicqbl9w316hk5ldwi1jq"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 36/71] gnu: ruby-rails-dom-testing: Update to 2.2.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 5f2238ca88..772253ad05 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -470,7 +470,7 @@ directly.")
(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)
@@ -480,7 +480,7 @@ directly.")
(file-name (git-file-name name version))
(sha256
(base32
- "17vdh273cmmfpzy5m546dd13zqmimv54jjx0f7sl0zi5lwz0gnck"))))
+ "0ydzwdmssapp0x9gy19qy11b3f1yp56zc1kc971dajq9x7jl3jfa"))))
(build-system ruby-build-system)
(arguments
(list
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 41/71] gnu: Add ruby-warning.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 651b7808d0..67dc723299 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -15973,6 +15973,28 @@ eager loading.")
(home-page "https://github.com/fxn/zeitwerk")
(license license:expat)))
+(define-public ruby-warning
+ (package
+ (name "ruby-warning")
+ (version "1.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "warning" version))
+ (sha256
+ (base32 "0lwcf7fsz1sda1fdbqq1i4q9kzg4f5vwrzgfg1vpa1hcxagw84hg"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests bundled.
+ (synopsis "Custom processing for warnings")
+ (description
+ "This package adds custom processing for warnings for Ruby, including the
+ability to ignore specific warning messages, ignore warnings in specific
+files/directories, include backtraces with warnings, treat warnings as errors,
+deduplicate warnings, and add custom handling for all warnings in specific
+files/directories.")
+ (home-page "https://github.com/jeremyevans/ruby-warning")
+ (license license:expat)))
+
(define-public ruby-wwtd
(package
(name "ruby-wwtd")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 46/71] gnu: ruby-tilt: Update to 2.1.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 0d74cf0876..d446fa3190 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7512,28 +7512,21 @@ intended for use with event loops such as async.")
(define-public ruby-tilt
(package
(name "ruby-tilt")
- (version "2.0.11")
+ (version "2.1.0")
(source
(origin
(method git-fetch) ;the distributed gem lacks tests
(uri (git-reference
- (url "https://github.com/rtomayko/tilt")
+ (url "https://github.com/jeremyevans/tilt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0a75s6ci2rwai5q1bnlqbz8kxqnfp2497jhkcry1n4g29lcxq9ja"))))
+ (base32 "0v7s38r86ammqpqm1diyk0yqz1k285argkpy5c8s1vq46983m9lv"))))
(build-system ruby-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'patch-tests
- (lambda _
- ;; Patch some tests
- (substitute* "test/tilt_sasstemplate_test.rb"
- (("}\",") "}
-\","))))
(add-after 'unpack 'remove-some-dependencies
(lambda _
(substitute* "Gemfile"
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 44/71] gnu: ruby-taskjuggler: Update to 3.8.1.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 dabdca47c3..d82708f33f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16269,16 +16269,16 @@ and social networks to better index and display your site's content.")
(define-public ruby-taskjuggler
(package
(name "ruby-taskjuggler")
- (version "3.7.1")
+ (version "3.8.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "taskjuggler" version))
(sha256
(base32
- "1jrsajzhzpnfa8hj6lbf7adn8hls56dz3yw1gvzgz9y4zkka3k9v"))))
+ "16d5vgz54all8vl3haqy6j69plny3np4kc3wq7wy3xa3i0h7v60z"))))
(build-system ruby-build-system)
- (native-inputs (list tzdata-for-tests))
+ (native-inputs (list ruby-rspec tzdata-for-tests))
(propagated-inputs
(list ruby-mail ruby-term-ansicolor))
(arguments
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 50/71] gnu: Add ruby-ice-nine.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 4c0c17de76..f74df01aea 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -532,6 +532,25 @@ an extensible architecture with a swappable backend.")
(home-page "https://github.com/ruby-i18n/i18n")
(license license:expat)))
+(define-public ruby-ice-nine
+ (package
+ (name "ruby-ice-nine")
+ (version "0.11.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "ice_nine" version))
+ (sha256
+ (base32 "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"))))
+ (build-system ruby-build-system)
+ (arguments
+ (list #:tests? #f)) ;Dependency on convoluted unpackaged ruby-devtools.
+ (synopsis "Deep Freeze Ruby Objects")
+ (description
+ "This package provides a function to deep freeze Ruby objects.")
+ (home-page "https://github.com/dkubb/ice_nine")
+ (license license:expat)))
+
(define-public ruby-io-console
(package
(name "ruby-io-console")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 51/71] gnu: ruby-regexp-parser: Update to 2.5.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 f74df01aea..2de58e0905 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9270,7 +9270,7 @@ they match.")
(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
@@ -9280,7 +9280,7 @@ they match.")
(file-name (git-file-name name version))
(sha256
(base32
- "09ddxdwlml30q6j4rqf06bbjj1mwx00rs0bksnyblhv85anrqz3k"))))
+ "0kj5bpnksagxbxi4y1gw5nam1gm948d0gm6869vsyapiqg6000zz"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "default"
@@ -9293,7 +9293,7 @@ they match.")
;; gem file.
(delete-file-recursively "pkg"))))))
(native-inputs
- (list ragel ruby-regexp-property-values ruby-rspec))
+ (list ragel ruby-ice-nine ruby-regexp-property-values ruby-rspec))
(synopsis "Regular expression parser library for Ruby")
(description "A Ruby gem for tokenizing, parsing, and transforming regular
expressions. It comprises the following components:
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 56/71] gnu: Add ruby-standard-performance.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 489500407a..b7163eeafa 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2340,6 +2340,26 @@ as defaults in Standard Ruby.")
(home-page "https://github.com/standardrb/standard-custom")
(license license:expat)))
+(define-public ruby-standard-performance
+ (package
+ (name "ruby-standard-performance")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "standard-performance" version))
+ (sha256
+ (base32 "1x298w3wmq8cavbsg903wc3arxp3xh2x8263brvy128436m732rd"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ;Circular dependency on ruby-standard.
+ (propagated-inputs (list ruby-lint-roller ruby-rubocop-performance))
+ (synopsis "Standard Ruby Plugin for rubocop-performance")
+ (description
+ "This package is a Standard Ruby Plugin providing configuration for
+@code{rubocop-performance}.")
+ (home-page "https://github.com/standardrb/standard-performance")
+ (license license:expat)))
+
(define-public ruby-standard
(package
(name "ruby-standard")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 57/71] gnu: Add ruby-rubocop-factory-bot.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 b7163eeafa..a767ff71d0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2058,6 +2058,25 @@ code style checking of Capybara test files (RSpec, Cucumber, Minitest).")
ruby-simplecov
ruby-yard))))
+(define-public ruby-rubocop-factory-bot
+ (package
+ (name "ruby-rubocop-factory-bot")
+ (version "2.26.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "rubocop-factory_bot" version))
+ (sha256
+ (base32 "1aljadsjx7affcarzbhz7pydpy6fgqb8hl951y0cmrffxpa3rqcd"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ; No tests bundled.
+ (synopsis "Code style checking for factory_bot files")
+ (description
+ "This package provides a plugin for the @code{RuboCop} code style
+enforcing & linting tool for @code{factory_bot} files.")
+ (home-page "https://github.com/rubocop/rubocop-factory_bot")
+ (license license:expat)))
+
;;; A minimal variant used to build ruby-rubocop itself.
(define ruby-rubocop-rake-minimal
(package
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 58/71] gnu: ruby-rubocop-capybara-minimal: Update to 2.21.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 a767ff71d0..9293de713e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2017,7 +2017,7 @@ logic.")
(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 @@ logic.")
(file-name (git-file-name name version))
(sha256
(base32
- "137y21b6g0kj1001zp95gwchx2cvgz8pglw2ik1cw647lh77qdsp"))))
+ "19r2s782r9ch2g1lxgrvk22d9qqkxi69brza16bfwp2rl2064qnc"))))
(build-system ruby-build-system)
(arguments (list #:tests? #f))
(synopsis "Capybara plugin for RuboCop")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 59/71] gnu: ruby-rubocop-rspec-minimal: Update to 2.26.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 9293de713e..c1838add6b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2115,7 +2115,7 @@ enforcing & linting tool for @code{factory_bot} files.")
(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 @@ enforcing & linting tool for @code{factory_bot} files.")
(file-name (git-file-name name version))
(sha256
(base32
- "0mgjyrzi8r44v3gb8xscdwspirz9kqkaf7zlsjhhlxr0di0rlj2r"))))
+ "1w9whadx60kv4vlbnk77b5yyhhfcg717r9cr334zqznqr1bqr8mh"))))
(build-system ruby-build-system)
(arguments (list #:tests? #f)) ;avoid extra dependencies
+ (propagated-inputs (list ruby-rubocop-factory-bot))
(synopsis "Code style checking for RSpec files")
(description "This package provides a plugin for the RuboCop code style
enforcing & linting tool.")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 60/71] gnu: ruby-rubocop-ast: Update to 1.37.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 c1838add6b..37a07e7efb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9162,7 +9162,7 @@ inspired by the Sinatra microframework style of specifying actions:
(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
@@ -9172,7 +9172,7 @@ inspired by the Sinatra microframework style of specifying actions:
(file-name (git-file-name name version))
(sha256
(base32
- "1dp09gcmahmdfi3s6xsksr3ka9dddjpy9ymhr9wjwv67y1falffr"))))
+ "1ww1vxcx6qaih4g68mrbq4xlgrqbv8w7cqxdaz629sazpw2hkycs"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"
@@ -9194,7 +9194,7 @@ inspired by the Sinatra microframework style of specifying actions:
(native-inputs
(list ruby-bump
ruby-oedipus-lex
- ruby-pry
+ ruby-prism
ruby-racc
ruby-rake
ruby-rspec
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 61/71] gnu: ruby-rubocop-performance: Update to 1.23.1.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 37a07e7efb..dd06457ef9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2199,7 +2199,7 @@ downstream compatibility issues in the Ruby code.")
(define-public ruby-rubocop-performance
(package
(name "ruby-rubocop-performance")
- (version "1.16.0")
+ (version "1.23.1")
(source
(origin
(method git-fetch)
@@ -2209,7 +2209,7 @@ downstream compatibility issues in the Ruby code.")
(file-name (git-file-name name version))
(sha256
(base32
- "1axafki2mpdz38y7i0afmnxcan5wj54l8crp8pbs7h1cip7y4s49"))))
+ "0d1p6pgrcnj58q1g0np5j4vbk7wavj31b4bapi5p4gckqlnc7xjd"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f ; tests require a git checkout of rubocop's source code.
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 62/71] gnu: ruby-rubocop: Update to 1.68.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 dd06457ef9..7ada2cb99e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9399,7 +9399,7 @@ run.")
(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
@@ -9409,7 +9409,7 @@ run.")
(file-name (git-file-name name version))
(sha256
(base32
- "1l4j99mbrdjy2bzcnky30pjgjv8sxjr187jzliyqmldvpf7dizbp"))))
+ "0pfsrgkg2dhb6a2rknciqskgxgmb9kf48rvbkhay9n8n6m712v2w"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "default"
@@ -9435,6 +9435,7 @@ run.")
ruby-rspec
ruby-rubocop-ast
ruby-rubocop-capybara-minimal
+ ruby-rubocop-factory-bot
ruby-rubocop-minimal
ruby-rubocop-performance-minimal
ruby-rubocop-rake-minimal
@@ -9446,6 +9447,7 @@ run.")
ruby-yard))
(propagated-inputs
(list ruby-json
+ ruby-language-server-protocol
ruby-parallel
ruby-parser
ruby-progressbar
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 37/71] gnu: ruby-puma: Update to 6.5.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 11a85a825e..bb156da927 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12633,7 +12633,7 @@ part of the Prawn PDF generator.")
(define-public ruby-puma
(package
(name "ruby-puma")
- (version "6.3.0")
+ (version "6.5.0")
(source
(origin
(method git-fetch) ;for tests
@@ -12643,7 +12643,7 @@ part of the Prawn PDF generator.")
(file-name (git-file-name name version))
(sha256
(base32
- "0qnayzgyr23w87jc849r00394hv1gw2rk9080nws43ilnycagzxq"))))
+ "1z3njlmywins9yjl4a0c32vhkx9c4q4nia0snz7n45723jv96690"))))
(build-system ruby-build-system)
(arguments
(list
@@ -12717,7 +12717,11 @@ part of the Prawn PDF generator.")
"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.
@@ -12744,11 +12748,14 @@ part of the Prawn PDF generator.")
ruby-minitest-retry
ruby-minitest-stub-const
ruby-rack
+ ruby-rackup-1
ruby-rake-compiler
ruby-webrick))
(inputs
(list openssl
ruby-nio4r))
+ (propagated-inputs
+ (list ruby-concurrent-ruby))
(synopsis "Simple, concurrent HTTP server for Ruby/Rack")
(description
"Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 53/71] gnu: Add ruby-lint-roller.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 d924f84b22..f0a10d8c7a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -17253,6 +17253,26 @@ JSON-friendly @code{Array} representation. They can also be used to generate
corresponding HTML @code{link} elements.")
(license license:expat)))
+(define-public ruby-lint-roller
+ (package
+ (name "ruby-lint-roller")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "lint_roller" version))
+ (sha256
+ (base32 "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ;Circular dependency on ruby-standard.
+ (native-inputs (list ruby-minitest))
+ (synopsis "Specification for linter and formatter rulesets")
+ (description
+ "This package provides a plugin specification for Ruby linter and
+formatter rulesets.")
+ (home-page "https://github.com/standardrb/lint_roller")
+ (license license:expat)))
+
(define-public ruby-rdf
(package
(name "ruby-rdf")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 52/71] gnu: ruby-regexp-parser: Update to 2.6.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 2de58e0905..d924f84b22 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -9270,7 +9270,7 @@ they match.")
(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
@@ -9280,7 +9280,7 @@ they match.")
(file-name (git-file-name name version))
(sha256
(base32
- "0kj5bpnksagxbxi4y1gw5nam1gm948d0gm6869vsyapiqg6000zz"))))
+ "07dx96gjvpa07dsdnzpwhhwc7qpxakjgws7d7wbnkbs20fyvx55x"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "default"
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 49/71] gnu: ruby-parser: Update to 3.3.7.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 ed51e04bb3..4c0c17de76 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7033,19 +7033,19 @@ across multiple CPU cores.")
(define-public ruby-parser
(package
(name "ruby-parser")
- (version "3.2.2.0")
+ (version "3.3.7.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "parser" version))
(sha256
(base32
- "0s5afi89p76k8vpwiqvh343pm5l23ijqlpszhz65afym3zpkxhzx"))))
+ "16qi2qhpszm842awxghmsp64yvvawafq96w5jw98irz3f4bh2jbl"))))
(build-system ruby-build-system)
(arguments '(#:tests? #f)) ; tests not included in gem
- (native-inputs (list bundler ruby-cliver ruby-simplecov ruby-racc))
+ (native-inputs (list bundler ruby-cliver ruby-simplecov))
(inputs (list ragel))
- (propagated-inputs (list ruby-ast))
+ (propagated-inputs (list ruby-ast ruby-racc))
(synopsis "Ruby parser written in pure Ruby")
(description
"This package provides a Ruby parser written in pure Ruby.")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 54/71] gnu: ruby-slim: Update to 5.2.1.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 f0a10d8c7a..0f32dd7c8a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1641,14 +1641,14 @@ under the hood.")
(define-public ruby-slim
(package
(name "ruby-slim")
- (version "5.1.0")
+ (version "5.2.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "slim" version))
(sha256
(base32
- "1rp437r8hr9kdgabb7c96yw4z2wyrajl4cxiij038y10f8i6hbn4"))))
+ "1rqk7jn66wgx50b18ndhbppjq55rbcwgqg1rbhnhxwiggvzisdbj"))))
(build-system ruby-build-system)
(arguments
`(#:phases
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 55/71] gnu: Add ruby-standard-custom.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 0f32dd7c8a..489500407a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2320,6 +2320,26 @@ Batch and flush behavior.
(home-page "https://github.com/jordansissel/ruby-stud")
(license license:asl2.0)))
+(define-public ruby-standard-custom
+ (package
+ (name "ruby-standard-custom")
+ (version "1.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "standard-custom" version))
+ (sha256
+ (base32 "0av55ai0nv23z5mhrwj1clmxpgyngk7vk6rh58d4y1ws2y2dqjj2"))))
+ (build-system ruby-build-system)
+ (arguments '(#:tests? #f)) ;Circular dependency on ruby-standard.
+ (propagated-inputs (list ruby-lint-roller ruby-rubocop))
+ (synopsis "Plugin of custom cops for Standard Ruby")
+ (description
+ "This package provides a implementations of custom cops that are bundled
+as defaults in Standard Ruby.")
+ (home-page "https://github.com/standardrb/standard-custom")
+ (license license:expat)))
+
(define-public ruby-standard
(package
(name "ruby-standard")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 63/71] gnu: ruby-rubocop-capybara: Relax ruby-danger requirement.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 7ada2cb99e..95e575f7b7 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2045,7 +2045,8 @@ code style checking of Capybara test files (RSpec, Cucumber, Minitest).")
(lambda _
(substitute* "Gemfile"
(("gem 'rubocop-rspec', '~> 2.16.0'")
- "gem 'rubocop-rspec', '>= 2.16.0'")))))))
+ "gem 'rubocop-rspec', '>= 2.16.0'")
+ (("gem 'danger'.*") "")))))))
(native-inputs
(list ruby-bump
ruby-rack
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 64/71] gnu: ruby-standard: Update to 1.37.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 95e575f7b7..5dfadb2e72 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2384,7 +2384,7 @@ as defaults in Standard Ruby.")
(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
@@ -2393,39 +2393,49 @@ as defaults in Standard Ruby.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0q42gv7wgrc818a5hm599sy07vjq69hbijzpkpgh6jws6x7wzyh3"))))
+ (base32 "0gm9fn6fz41aya34xz7kzda8xxs7h98n7cjx66qbcy2w0qhs40wc"))))
(build-system ruby-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-HOME
- (lambda _
- ;; Some tests fail otherwise.
- (setenv "HOME" "/tmp")))
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "standard.gemspec"
- (("\"rubocop\", \"1.44.1\"")
- "\"rubocop\", \">= 1.44.1\"")
- (("\"rubocop-performance\", \"1.15.2\"")
- "\"rubocop-performance\", \">= 1.15.2\""))))
- (add-after 'unpack 'delete-problematic-tests
- ;; These tests fail for unknown reasons (see:
- ;; https://github.com/testdouble/standard/issues/532).
- (lambda _
- (for-each
- delete-file
- '("test/standard_test.rb"
- "test/standard/cop/block_single_line_braces_test.rb")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-HOME
+ (lambda _
+ ;; Some tests fail otherwise.
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "standard.gemspec"
+ (("\"rubocop\", \".*\"")
+ (string-append
+ "\"rubocop\", \"~> "
+ #$(package-version
+ (this-package-input "ruby-rubocop"))
+ "\""))
+ (("\"rubocop-performance\", \".*\"")
+ (string-append
+ "\"rubocop-performance\", \"~> "
+ #$(package-version
+ (this-package-input "ruby-rubocop-performance"))
+ "\"")))))
+ (add-after 'unpack 'delete-problematic-tests
+ ;; These tests fail for unknown reasons (see:
+ ;; https://github.com/testdouble/standard/issues/532).
+ (lambda _
+ (delete-file "test/standard_test.rb")
+ (substitute* "test/standard/base_test.rb"
+ ((".*test_configures_all_rubocop_cops.*" all)
+ (string-append all
+ " skip('fails on guix')\n"))))))))
(native-inputs
- (list ruby-gimme
- ruby-pry
- ruby-simplecov))
+ (list ruby-simplecov))
(propagated-inputs
(list ruby-language-server-protocol
+ ruby-lint-roller
ruby-rubocop
- ruby-rubocop-performance))
+ ruby-rubocop-performance
+ ruby-standard-custom
+ ruby-standard-performance))
(synopsis "Ruby Style Guide, with linter & automatic code fixer")
(description "Standard is a port of StandardJS. Like StandardJS, it aims
to save time in the following ways:
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 65/71] gnu: Remove ruby-gimme.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 5dfadb2e72..dfe5693800 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2245,65 +2245,6 @@ for performance optimizations in Ruby code.")
(propagated-inputs '())
(native-inputs '()))))
-(define-public ruby-gimme
- (let ((revision "1")
- (commit "4e71f0236f1271871916dd403261d26533db34c0"))
- (package
- (name "ruby-gimme")
- (version (git-version "0.5.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/searls/gimme")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0hrd32ygvf3i7h47ak8f623cz8ns9q7g60nnnvvlnywbggjaz3h6"))))
- (build-system ruby-build-system)
- (native-inputs
- (list ruby-coveralls ruby-cucumber ruby-pry ruby-simplecov
- ruby-rspec-given))
- (arguments
- `(;; The cucumber task fails with error: "index 3 out of matches
- ;; (IndexError)", apparently due to our newer Cucumber version.
- ;; TODO: Try the "default" task with a future release.
- #:test-target "spec"
- #:phases
- (modify-phases %standard-phases
- (add-after 'extract-gemspec 'prepare-for-tests
- (lambda _
- ;; Delete failing tests (possibly due to our newer rspec
- ;; version).
- (delete-file "spec/gimme/gives_class_methods_spec.rb")
- (delete-file "spec/gimme/rspec_adapter_spec.rb")
- (delete-file "spec/gimme/verifies_class_methods_spec.rb")
- ;; Fix duplicate version requirements and de-register files.
- (delete-file "Gemfile")
- (delete-file "Gemfile.lock")
- (substitute* "gimme.gemspec"
- ((".*\"Gemfile\".*") "")
- ((".*\"Gemfile\\.lock\",.*") "")
- ((".*(rspec|cucumber).*\">= 0\".*") "")
- (("\"spec/gimme/gives_class_methods_spec.rb\",") "")
- (("\"spec/gimme/rspec_adapter_spec.rb\",") "")
- (("\"spec/gimme/verifies_class_methods_spec.rb\",") "")
- ;; All of these gems relate to development, and are
- ;; unnecessary when running the tests.
- ((".*(add|gem).*guard-.*") "")
- ((".*(add|gem).*jeweler.*") "")
- ((".*(add|gem).*pry.*") "")
- ((".*(add|gem).*growl.*") "")
- ((".*(add|gem).*rb-fsevent.*") "")))))))
- (synopsis "Lightweight test double library for Ruby")
- (description "Gimme is a very lightweight test double library for Ruby,
-based on Mockito (a mocking framework for Java). It is an opinionated (but
-not noisy) means to facilitate test-driving by enabling the authors to specify
-only what they care about.")
- (home-page "https://github.com/searls/gimme")
- (license license:expat))))
-
(define-public ruby-stud
(package
(name "ruby-stud")
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 66/71] gnu: ruby-dotenv: Update to 3.1.7.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-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 dfe5693800..966802dacb 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -11891,7 +11891,7 @@ Suffix List.")
(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
@@ -11900,7 +11900,7 @@ Suffix List.")
(file-name (git-file-name name version))
(sha256
(base32
- "0s1a71jxppa20fsm2rd1vym099ib48m039rmhggmz99hc3z1fvvr"))))
+ "19j0acy12si537hwi4q54q8n5ycmlvfd2ik5y6r7jir6ww06l8yx"))))
(build-system ruby-build-system)
(arguments
(list
@@ -11915,6 +11915,10 @@ Suffix List.")
;; 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\"")
"")
@@ -11923,9 +11927,10 @@ Suffix List.")
(replace 'replace-git-ls-files
(lambda _
(substitute* "dotenv.gemspec"
- (("`git ls-files README.md LICENSE lib bin \\| grep -v rails`")
- "`find README.md LICENSE lib bin -type f | sort | \
-grep -v rails`")))))))
+ (("`git ls-files (README.md LICENSE lib bin) \\| ([^`]*`)"
+ all files command)
+ (string-append
+ "`find " files " -type f | sort | " command))))))))
(native-inputs (list ruby-standard ruby-rspec))
(synopsis "Ruby library for setting environment variables")
(description "Dotenv is a Ruby library for setting environment variables
--
2.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 67/71] gnu: ruby-yaml-lint: Update to 0.1.2-0.d6a253f.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-67-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 966802dacb..e3ae6b71e0 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -14498,35 +14498,37 @@ YAML.load suitable for accepting user input in Ruby applications.")
(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.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 68/71] gnu: ruby-rubocop-rspec-minimal: Avoid ruby-danger dependency.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-68-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 e3ae6b71e0..42a4e8592b 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2128,7 +2128,14 @@ enforcing & linting tool for @code{factory_bot} files.")
(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.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 69/71] gnu: ruby-fakefs: Update to 2.8.0.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-69-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 42a4e8592b..76911896a8 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3259,7 +3259,7 @@ a Ruby object.")
(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.
@@ -3270,7 +3270,7 @@ a Ruby object.")
(file-name (git-file-name name version))
(sha256
(base32
- "008dq9knyip2bfbl0mrk8b8r7bv0k3bf128wcfqsgy1rqal4mgwk"))))
+ "0a3vq6cllml279j77hxipmbln31pjw6di3zdgpzqvhqgazv55v10"))))
(build-system ruby-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -3286,7 +3286,7 @@ a Ruby object.")
(("(.*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.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 71/71] gnu: ruby: Update to ruby-3.2.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-71-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 @@ a focus on simplicity and productivity.")
(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.48.1
Nicolas Graves wrote 3 weeks ago
[PATCH ruby-team 70/71] gnu: ruby-asciidoctor-pdf: Update to 2.3.19.
(address . 76314@debbugs.gnu.org)(name . Nicolas Graves)(address . ngraves@ngraves.fr)
20250216003503.6348-70-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 a6e10263ff..9bcf469a11 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 76911896a8..8ba81397f5 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2502,7 +2502,7 @@ web pages.")
(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
@@ -2512,18 +2512,16 @@ web pages.")
(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)
@@ -2544,15 +2542,12 @@ web pages.")
(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.48.1
Sharlatan Hellseher wrote 3 weeks ago
[PATCH ruby-team 00/71] Update ruby.
(address . 76314-done@debbugs.gnu.org)
87eczwddbh.fsf@gmail.com
Hi Nicolas,

I could build some Ruby packages locally after applying this series!

Pushed to ruby-team.

Closing this thread, if you need more to go for this iteration please
open a new one.

--
Thanks,
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmezHFIACgkQdtcnv/Ys
0rXnfRAAwzK6v7Ndc7M6ZSowejXua11kWGQdCJSWVaGvSQ+PJH7vFEPTMGgOrYAO
B75B+j5lBxCOpD7+d3gnRvYbl/AvFSVRk2ZJwot79olQXcj4mj7zf6HmWKA0BuLQ
jEb4WtULlC7NgDJ2T3N5+pX4s/6izJ3AWjSRcrXZQRZkCO2B6xiYQ2hK7uwW2InG
KwGmv39dmwZ7ApofwdTpnZVJln7cngWe0KzGzwOH/r9K8aJKnojaFz+U6dwDSnWi
YuWqdvF4gDXv+/CE798aDWlVgL6Spaazm5+oM9SdFJVBPlQYwZcTTDNx1YAUCi3q
rAv5+aWiW7LpFQJtOEytx5kqn3fUN2smVL8rbG56IBSR9Ata/gUnRihLnMXsSvio
eleo57gXfPVm3En9pI9/+dSsYekp3yW01+hU6i2/OQzfRKPlrfvngREYHL95u8oy
cMzQWtJt9p4XYvlWvPbSs6VL92xfLeVpKLhNJA21574pU07p2rn3UxxHNk/GYtqr
y115i8785qFWp62mi3IzAheMZNT/07uRFSm/GdTvsMY5ATYGVOTOtdaAJtPMC8u/
9CXane0lyUFPARJz/lGTzi1PMm2D+zv1cZNx4BmmxOMwC6BYoJX5+Q4kITAU2L6F
eAzBTvPJggatjgXyz7gVi9AasQ286RefNTB1p+0cAefzhL++3jU=
=0Ff7
-----END PGP SIGNATURE-----

Closed
?
Your comment

Commenting via the web interface is currently disabled.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 76314
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
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help