aports/community/ruby-nokogiri/APKBUILD
2025-04-26 00:08:08 +02:00

97 lines
2.6 KiB
Text

# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
#
# TODO: Unbundle gombo-parser.
pkgname=ruby-nokogiri
_gemname=${pkgname#ruby-}
pkgver=1.18.8
pkgrel=0
pkgdesc="An HTML, XML, SAX, and Reader parser"
url="https://nokogiri.org/"
arch="all"
license="MIT"
depends="
ruby
ruby-racc"
makedepends="
libxml2-dev
libxslt-dev
ruby-dev
ruby-mini_portile2
"
checkdepends="ruby-minitest ruby-test-unit"
source="https://github.com/sparklemotion/$_gemname/archive/v$pkgver/$_gemname-$pkgver.tar.gz
gemspec-fix-deps.patch
shutdown-libxml2-warning.patch
test-skip-zip.patch
"
builddir="$srcdir/$_gemname-$pkgver"
# secfixes:
# 1.13.10-r0:
# - CVE-2022-23476
# 1.13.6-r0:
# - CVE-2022-29181
# 1.13.4-r0:
# - CVE-2022-24836
# 1.11.6-r0:
# - CVE-2020-26247
# 1.10.4-r0:
# - CVE-2019-5477
prepare() {
default_prepare
case "$CARCH" in
# NotImplementedError: Compaction isn't available on this platform.
ppc64le) rm test/test_compaction.rb ;;
esac
}
build() {
gem build $_gemname.gemspec
gem install \
--local \
--install-dir dist \
--ignore-dependencies \
--no-document \
--verbose \
$_gemname-$pkgver.gem -- \
--use-system-libraries
# Remove unnecessary files and rubbish...
find dist/extensions/ -name mkmf.log -delete
cd dist/gems/$_gemname-$pkgver/
rm -rf ext/ gumbo-parser/ patches/
rm ./*.md ./*.yml
rm -rf lib/nokogiri/jruby/ # TODO: move into subpackage?
rm lib/nokogiri/*.so
rm lib/nokogiri/css/*.rex lib/nokogiri/css/*.y
}
check() {
case "$CARCH" in
# Fix NotImplementedError: Compaction isn't available on this platform.
ppc64le) export NOKOGIRI_TEST_GC_LEVEL=major;;
esac
LANG="C.UTF-8" GEM_PATH="dist" \
ruby -I lib -I test -r helper \
-e "Dir.glob('./test/**/test_*.rb', &method(:require))" -- --verbose
}
package() {
local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
cd "$builddir"/dist
mkdir -p "$gemdir"
cp -r bin extensions gems specifications "$gemdir"/
}
sha512sums="
cefec463825c7664dc81b8668d8bf18a9fa4b659dbece0d1251c913eeccac1c762fb30fdd183e8fdd4a3da89e8cfa1bf828a1d9b11809c6f8c61fd4efa990306 nokogiri-1.18.8.tar.gz
55c73affd7dc63071b910bdfe6ec144c1675b1aa1a3e37142e3b77c16287e350aee5a996a1f5846bb90b3ffa0497f3f6476819a4f32b7f27772e875cbfbc2b7d gemspec-fix-deps.patch
55f8bf6dde84cc4d82fecff672b46230fc3fc5c2cf51959baec98ea8e6c09a053a54a5ef994d6cb1bb45dda6a3999f561aa092b7e957051f5562e09ad447c028 shutdown-libxml2-warning.patch
0d9ed7bdcf1cd6212fee1f27da82a1ebf55fa5420e2436be4e0cc984868ca9441154917c93777c2d7d1fff8851fa7ba0c32f6a01517879e0da157b8960941bc3 test-skip-zip.patch
"