From 039ae15f337f65ff9bebbf12f788c79307e1af20 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka <jakub@jirutka.cz> Date: Mon, 31 May 2021 01:43:05 +0200 Subject: [PATCH] community/ruby-nokogiri: upgrade to 1.11.6 and re-enable tests Resolves #12703 Resolves #12359 --- community/ruby-nokogiri/APKBUILD | 45 +++++++------------ .../ruby-nokogiri/gemspec-fix-deps.patch | 15 +++++++ .../ruby-nokogiri/remove-simplecov.patch | 11 ----- .../skip-tests-broken-on-musl.patch | 10 ----- .../test-helper-remove-unnecessary-deps.patch | 22 +++++++++ 5 files changed, 54 insertions(+), 49 deletions(-) create mode 100644 community/ruby-nokogiri/gemspec-fix-deps.patch delete mode 100644 community/ruby-nokogiri/remove-simplecov.patch delete mode 100644 community/ruby-nokogiri/skip-tests-broken-on-musl.patch create mode 100644 community/ruby-nokogiri/test-helper-remove-unnecessary-deps.patch diff --git a/community/ruby-nokogiri/APKBUILD b/community/ruby-nokogiri/APKBUILD index b34cfac04b7e..b4e84bd5b081 100644 --- a/community/ruby-nokogiri/APKBUILD +++ b/community/ruby-nokogiri/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Jakub Jirutka <jakub@jirutka.cz> pkgname=ruby-nokogiri _gemname=${pkgname#ruby-} -pkgver=1.10.10 +pkgver=1.11.6 pkgrel=0 pkgdesc="An HTML, XML, SAX, and Reader parser" url="https://nokogiri.org/" @@ -12,32 +12,17 @@ depends="ruby" makedepends="ruby-dev ruby-mini_portile2 libxml2-dev libxslt-dev" checkdepends="ruby-minitest ruby-test-unit" source="https://github.com/sparklemotion/$_gemname/archive/v$pkgver/$_gemname-$pkgver.tar.gz - https://rubygems.org/downloads/$_gemname-$pkgver.gem - remove-simplecov.patch - skip-tests-broken-on-musl.patch + gemspec-fix-deps.patch + test-helper-remove-unnecessary-deps.patch " builddir="$srcdir/$_gemname-$pkgver" -options="!check" # some tests check error messages generated by libxml2 # secfixes: +# 1.11.6-r0: +# - CVE-2020-26247 # 1.10.4-r0: # - CVE-2019-5477 -prepare() { - default_prepare - - # Generate gemspec (there's no gemspec in the source). - gem specification -l --ruby "$srcdir"/$_gemname-$pkgver.gem \ - > "$builddir"/$_gemname.gemspec - - # Remove bundled external libraries etc. - sed -i \ - -e 's|, "ports/archives/[^"][^"]*"||g' \ - -e 's|, "ports/patches/[^"][^"]*"||g' \ - -e '\@mini_portile@d' \ - $_gemname.gemspec -} - build() { gem build $_gemname.gemspec gem install \ @@ -52,15 +37,18 @@ build() { # Remove unnecessary files and rubbish... find dist/extensions/ -name mkmf.log -delete cd dist/gems/$_gemname-$pkgver/ - rm -rf ext/ patches/ lib/nokogiri/*.so *.md *.yml + rm -rf ext/ patches/ + rm *.md *.yml + rm lib/*.jar + rm lib/nokogiri/*.so + rm lib/nokogiri/css/*.rex lib/nokogiri/css/*.y } check() { local extpath=$(dirname dist/extensions/*/*/$_gemname-$pkgver/gem_make.out) - # Note: This is copied from Fedora package. - export LANG=ja_JP.UTF-8 - ruby -I.:test:dist/gems/$_gemname-$pkgver/lib:$extpath \ + # Note: This is based on Fedora package. + LANG="C.UTF-8" RUBYLIB=".:dist/gems/$_gemname-$pkgver/lib:test:$extpath" ruby \ -e 'require "test/helper"' \ -e 'Dir.glob("test/**/test_*.rb") {|f| require f }' } @@ -74,7 +62,8 @@ package() { cp -r bin extensions gems specifications "$gemdir"/ } -sha512sums="2d0bf09af417f0f5e7b07b9f2c555ce04e22d69ce73b484906d8a35745f90d6467824d0d56d8dadc53f020c56a7806e7152cd6347e47596e79ddaaadea1ff65a nokogiri-1.10.10.tar.gz -b4628df47dbd8b9123a6f0625829e745a19d26539d54b2748c985d6fdda978072bdcd136df2f47535984186eae7fb318b67d59f1ea413777f1a146bc78e0dae2 nokogiri-1.10.10.gem -b3346647e55ded3c20775458f35f85c81222a7147c8e4040db0e09f1161e999d824570e29f4fc5bd34b9808ea047b9d2308ea32718b46143cceb777ffa2e63a6 remove-simplecov.patch -5f92d4cf87751c404a33dfbdc035dd5b54163eccdc46b4f515e6d6367a9573cf3fc4ef3c12c5b9e099b20f6c563d5a573acb1c2716890e492bfb26aa91f2cb5d skip-tests-broken-on-musl.patch" +sha512sums=" +a9d2977ba5a12cb252ee615cffbbf043227e78d746ecba4bfcd82fa825f5ef9fdb74feae27115b16cd65da6dd189e4ac88f1d605e776dfbc52aaf2e0e3044381 nokogiri-1.11.6.tar.gz +87911f3fa1fa26f2bb5f2abc851fa29527aeab276da05ddb45d92be960a2d742361f388c91d836fad8d43550a7b05822e05806f1591868edd1c82f09f6f1e20e gemspec-fix-deps.patch +81c05ac93387a5f6f0b3e7389f7c14cc9398344f91061e2cf57682a53979cecbf5c0f05913d8f1b320887fa123fa18421fea8043bb757a9bcca692e4fec84448 test-helper-remove-unnecessary-deps.patch +" diff --git a/community/ruby-nokogiri/gemspec-fix-deps.patch b/community/ruby-nokogiri/gemspec-fix-deps.patch new file mode 100644 index 000000000000..fb02733bc62d --- /dev/null +++ b/community/ruby-nokogiri/gemspec-fix-deps.patch @@ -0,0 +1,15 @@ +racc and mini_portile2 are needed only to build native extension. + +--- a/nokogiri.gemspec ++++ b/nokogiri.gemspec +@@ -262,8 +262,8 @@ + spec.extra_rdoc_files += Dir.glob("README.md") + spec.rdoc_options = ["--main", "README.md"] + +- spec.add_runtime_dependency("racc", "~> 1.4") +- spec.add_runtime_dependency("mini_portile2", "~> 2.5.0") unless java_p # keep version in sync with extconf.rb ++ spec.add_development_dependency("racc", "~> 1.4") ++ spec.add_development_dependency("mini_portile2", "~> 2.5.0") unless java_p # keep version in sync with extconf.rb + + spec.add_development_dependency("bundler", "~> 2.2") + spec.add_development_dependency("concourse", "~> 0.41") diff --git a/community/ruby-nokogiri/remove-simplecov.patch b/community/ruby-nokogiri/remove-simplecov.patch deleted file mode 100644 index 14dea51496ec..000000000000 --- a/community/ruby-nokogiri/remove-simplecov.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/test/helper.rb -+++ b/test/helper.rb -@@ -1,8 +1,3 @@ --require 'simplecov' --SimpleCov.start do -- add_filter "/test/" --end -- - $VERBOSE = true - require 'minitest/autorun' - require 'minitest/pride' diff --git a/community/ruby-nokogiri/skip-tests-broken-on-musl.patch b/community/ruby-nokogiri/skip-tests-broken-on-musl.patch deleted file mode 100644 index f07717a98a43..000000000000 --- a/community/ruby-nokogiri/skip-tests-broken-on-musl.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/test/html/test_document_encoding.rb -+++ b/test/html/test_document_encoding.rb -@@ -19,6 +19,7 @@ - end - - def test_encoding_without_charset -+ skip 'Not supported on musl' - doc = Nokogiri::HTML File.open(SHIFT_JIS_NO_CHARSET, 'r:cp932:cp932').read - - hello = "ã“ã‚“ã«ã¡ã¯" diff --git a/community/ruby-nokogiri/test-helper-remove-unnecessary-deps.patch b/community/ruby-nokogiri/test-helper-remove-unnecessary-deps.patch new file mode 100644 index 000000000000..53d41eaaae1e --- /dev/null +++ b/community/ruby-nokogiri/test-helper-remove-unnecessary-deps.patch @@ -0,0 +1,22 @@ +--- a/test/helper.rb ++++ b/test/helper.rb +@@ -11,19 +11,12 @@ + # - "stress" - run tests with GC.stress set to true + # - NOKOGIRI_GC: read more in test/test_memory_leak.rb + # +-require 'simplecov' +-SimpleCov.start do +- add_filter "/test/" +-end + + $VERBOSE = true + + require 'minitest/autorun' +-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' -- GitLab