From: gemmaro <gemmaro.dev@gmail.com>
To: 64083@debbugs.gnu.org
Cc: gemmaro <gemmaro.dev@gmail.com>, Christopher Baines <mail@cbaines.net>
Subject: [bug#64083] [PATCH 2/2] gnu: ruby-nokogiri: Update to 1.15.2.
Date: Fri, 16 Jun 2023 02:08:28 +0900 [thread overview]
Message-ID: <50a3eff1756272bb051471e4f2be6888fd2c431c.1686848553.git.gemmaro.dev@gmail.com> (raw)
In-Reply-To: <cover.1686848553.git.gemmaro.dev@gmail.com>
* 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.
---
gnu/packages/patches/ruby-nokogiri.patch | 29 +++++++++++++
gnu/packages/ruby.scm | 54 ++++++++++++++----------
2 files changed, 61 insertions(+), 22 deletions(-)
create mode 100644 gnu/packages/patches/ruby-nokogiri.patch
diff --git a/gnu/packages/patches/ruby-nokogiri.patch b/gnu/packages/patches/ruby-nokogiri.patch
new file mode 100644
index 00000000000..b55b4302344
--- /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 9587c29a0ab..ae345bd5bfc 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -6254,38 +6254,48 @@ (define-public ruby-mini-portile-2
(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
--
2.40.1
next prev parent reply other threads:[~2023-06-15 17:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-15 17:04 [bug#64083] [PATCH 0/2] gnu: ruby-nokogiri: Update to 1.15.2 gemmaro
2023-06-15 17:08 ` [bug#64083] [PATCH 1/2] gnu: ruby-mini-portile-2: Update to 2.8.2 gemmaro
2023-06-15 17:08 ` gemmaro [this message]
2023-06-24 14:29 ` bug#64083: [PATCH 0/2] gnu: ruby-nokogiri: Update to 1.15.2 Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50a3eff1756272bb051471e4f2be6888fd2c431c.1686848553.git.gemmaro.dev@gmail.com \
--to=gemmaro.dev@gmail.com \
--cc=64083@debbugs.gnu.org \
--cc=mail@cbaines.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.