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