aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgemmaro <gemmaro.dev@gmail.com>2023-06-16 02:08:28 +0900
committerLudovic Courtès <ludo@gnu.org>2023-06-24 16:25:50 +0200
commite8975697782c0ea10ce278a3304032b4cc60f81c (patch)
tree576707736dba8692f93262e07037116590725f4d
parentfa52b9a64fc5ff3c4e450df0aa93fa5676b57c37 (diff)
downloadguix-e8975697782c0ea10ce278a3304032b4cc60f81c.tar.gz
guix-e8975697782c0ea10ce278a3304032b4cc60f81c.zip
gnu: ruby-nokogiri: Update to 1.15.2.
* gnu/packages/ruby.scm (ruby-nokogiri): Update to 1.15.2. [source]<uri>: Use Git repository. <patches>: apply a patch to disable unneeded test setups. [arguments]: Enable check by running plain minitest. [home-page]: Update to current URL. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/patches/ruby-nokogiri.patch29
-rw-r--r--gnu/packages/ruby.scm54
2 files changed, 61 insertions, 22 deletions
diff --git a/gnu/packages/patches/ruby-nokogiri.patch b/gnu/packages/patches/ruby-nokogiri.patch
new file mode 100644
index 0000000000..b55b430234
--- /dev/null
+++ b/gnu/packages/patches/ruby-nokogiri.patch
@@ -0,0 +1,29 @@
+Description: Removed some unnecessary test setup such as SimpleCov and
+ minitest-reporters.
+diff --git a/test/helper.rb b/test/helper.rb
+index ed3133c6..4f5d4f1b 100644
+--- a/test/helper.rb
++++ b/test/helper.rb
+@@ -13,22 +13,10 @@
+ # - NOKOGIRI_GC: read more in test/test_memory_leak.rb
+ #
+
+-require "simplecov"
+-SimpleCov.start do
+- add_filter "/test/"
+- enable_coverage :branch
+-end
+-
+ $VERBOSE = true
+
+ require "minitest/autorun"
+ require "minitest/benchmark"
+-require "minitest/reporters"
+-
+-nokogiri_minitest_reporters_options = { color: true, slow_count: 10, detailed_skip: false }
+-nokogiri_minitest_reporters_options[:fast_fail] = true if ENV["NOKOGIRI_TEST_FAIL_FAST"]
+-puts "Minitest::Reporters options: #{nokogiri_minitest_reporters_options}"
+-Minitest::Reporters.use!(Minitest::Reporters::DefaultReporter.new(nokogiri_minitest_reporters_options))
+
+ require "fileutils"
+ require "tempfile"
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index c7275ba5fb..888c1912c3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6284,38 +6284,48 @@ to reproduce user environments.")
(define-public ruby-nokogiri
(package
(name "ruby-nokogiri")
- (version "1.13.10")
+ (version "1.15.2")
(source (origin
- (method url-fetch)
- (uri (rubygems-uri "nokogiri" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sparklemotion/nokogiri")
+ (commit "a6ad20b3edc8f020043ccfe5d9ec6ae9af103720")))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk"))))
+ "1n0vlg6v58jw3qzgyihz1dh5fvp4js1qgdh75j0kn47nvyiw3jxj"))
+ (patches (search-patches "ruby-nokogiri.patch"))))
(build-system ruby-build-system)
(arguments
- ;; Tests fail because Nokogiri can only test with an installed extension,
- ;; and also because many test framework dependencies are missing.
- (list
- #:tests? #f
- #:gem-flags #~(list "--" "--use-system-libraries"
- (string-append "--with-xml2-include="
- #$(this-package-input "libxml2")
- "/include/libxml2" ))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'delete-mkmf.log
- (lambda _
- ;; Rubygems installs build log files that embed volatile file
- ;; names (see:
- ;; https://github.com/rubygems/rubygems/issues/6259).
- (for-each delete-file (find-files #$output "^mkmf\\.log$")))))))
- (native-inputs (list ruby-hoe))
+ (list #:gem-flags #~(list "--" "--use-system-libraries"
+ (string-append "--with-xml2-include="
+ #$(this-package-input "libxml2")
+ "/include/libxml2"))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'delete-mkmf.log
+ (lambda _
+ ;; Rubygems installs build log files that embed volatile file
+ ;; names (see:
+ ;; https://github.com/rubygems/rubygems/issues/6259).
+ (for-each delete-file
+ (find-files #$output "^mkmf\\.log$"))))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (setenv "GEM_PATH" (string-append
+ (getenv "GEM_PATH") ":"
+ #$output "/lib/ruby/vendor_ruby"))
+ (when tests?
+ (for-each (lambda (file)
+ (invoke "ruby" "-Itest" file))
+ (find-files "test" "^test_.*\\.rb"))))))))
+ (native-inputs (list ruby-hoe ruby-rubyzip))
(inputs (list zlib libxml2 libxslt))
(propagated-inputs (list ruby-mini-portile-2 ruby-pkg-config))
(synopsis "HTML, XML, SAX, and Reader parser for Ruby")
(description "Nokogiri (鋸) parses and searches XML/HTML, and features
both CSS3 selector and XPath 1.0 support.")
- (home-page "https://www.nokogiri.org/")
+ (home-page "https://nokogiri.org/")
(license license:expat)))
(define-public ruby-method-source