#!/bin/sh NAME="ruby-nokogiri" DESC="An HTML, XML, SAX, and Reader parser" MAKEDEPS="libxml2 libxslt ruby ruby-mini_portile2" _gemname=${NAME#ruby-} PKG_VER=1.13.8 SOURCE="https://github.com/sparklemotion/$_gemname/archive/v$PKG_VER/$_gemname-$PKG_VER.tar.gz" ADDITIONAL=" gemspec-fix-deps.patch shutdown-libxml2-warning.patch test-helper-remove-unnecessary-deps.patch " build() { gem build $_gemname.gemspec gem install \ --local \ --install-dir dist \ --ignore-dependencies \ --no-document \ --verbose \ $_gemname-$PKG_VER.gem -- \ --use-system-libraries # Remove unnecessary files and rubbish... find dist/extensions/ -name mkmf.log -delete cd dist/gems/$_gemname-$PKG_VER/ 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-$PKG_VER/gem_make.out) case "$CARCH" in # Fix NotImplementedError: Compaction isn't available on this platform. ppc64le) export NOKOGIRI_TEST_GC_LEVEL=major;; esac # Note: This is based on Fedora package. LANG="C.UTF-8" RUBYLIB=".:dist/gems/$_gemname-$PKG_VER/lib:test:$extpath" ruby \ -e 'require "test/helper"' \ -e 'Dir.glob("test/**/test_*.rb") {|f| require f }' } package() { local gemdir="$PKG_DEST/$(ruby -e 'puts Gem.default_dir')" cd "$BUILD_ROOT"/dist mkdir -p "$gemdir" cp -r bin extensions gems specifications "$gemdir"/ }