Date: Monday, October 31, 2022 @ 14:48:34 Author: segaja Revision: 1339827
upgpkg: ruby-nokogiri 1.13.9-1; update version and migrate to src build Modified: ruby-nokogiri/trunk/PKGBUILD ----------+ PKGBUILD | 81 +++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 61 insertions(+), 20 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-10-31 14:29:24 UTC (rev 1339826) +++ PKGBUILD 2022-10-31 14:48:34 UTC (rev 1339827) @@ -1,37 +1,64 @@ -# Generated by gem2arch (https://github.com/anatol/gem2arch) # Maintainer: Anatol Pomozov <[email protected]> # Maintainer: Andreas 'Segaja' Schleifer <segaja at archlinux dot org> _gemname='nokogiri' pkgname="ruby-${_gemname}" -pkgver=1.13.8 -pkgrel=2 +pkgver=1.13.9 +pkgrel=1 pkgdesc='Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser' arch=('x86_64') url='https://nokogiri.org' license=('MIT') -depends=('ruby' 'ruby-mini_portile2' 'libxslt') -options=(!emptydirs) -source=("https://rubygems.org/downloads/${_gemname}-${pkgver}.gem") -noextract=("${_gemname}-${pkgver}.gem") -sha512sums=('5fd9a62e76e7b59342245ae41b15b46a408eabd289afa0ef6238b3d01af5c44c737c1ffd7f17791d7501dd240aa1c53e6d49c2e97580fc226de90f5a60b62e33') +depends=('libxslt' 'ruby' 'ruby-mini_portile2') +checkdepends=('ruby-minitest-reporters' 'ruby-rake-compiler' 'ruby-rake-compiler-dock' 'ruby-ruby_memcheck' 'ruby-simplecov') +options=('!emptydirs') +source=("https://github.com/sparklemotion/${_gemname}/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha512sums=('d24698221e916c043f0ef8c22f0e224da3c14df4b3780a867b93ba680600bdc8f4b0411dc5d149df2c7122d4f56347f750a609f3526ee3b100f72292b1c8a3e9') -package() { - CFLAGS+=' -ffat-lto-objects' +prepare() { + cd "${_gemname}-${pkgver}" - local _gemdir="$(ruby -e'puts Gem.default_dir')" + # update gemspec/Gemfile to allow newer version of the dependencies + sed --in-place --regexp-extended 's|~>|>=|g' "${_gemname}.gemspec" - gem install --ignore-dependencies --no-user-install -i "${pkgdir}/${_gemdir}" -n "${pkgdir}/usr/bin" "${_gemname}-${pkgver}.gem" -- --use-system-libraries + # we don't do jruby + sed --in-place '/\.java/d' "${_gemname}.gemspec" + sed --in-place '/\.jar/d' "${_gemname}.gemspec" - sed -r 's|~>|>=|g' -i "${pkgdir}/${_gemdir}/specifications/${_gemname}-${pkgver}.gemspec" + # we don't have hoe/markdown in the repos + rm --verbose rakelib/markdown.rake + # we don't have rubocop in the repos + rm --verbose rakelib/rubocop.rake +} + +build() { + cd "${_gemname}-${pkgver}" + + local _gemdir="$(gem env gemdir)" + + export CFLAGS+=' -ffat-lto-objects' + + gem build "${_gemname}.gemspec" -- --use-system-libraries + + gem install \ + --local \ + --verbose \ + --ignore-dependencies \ + --no-user-install \ + --install-dir "tmp_install/${_gemdir}" \ + --bindir "tmp_install/usr/bin" \ + "${_gemname}-${pkgver}.gem" \ + -- \ + --use-system-libraries + # remove unrepreducible files rm --force --recursive --verbose \ - "${pkgdir}/${_gemdir}/cache/" \ - "${pkgdir}/${_gemdir}/gems/${_gemname}-${pkgver}/vendor/" \ - "${pkgdir}/${_gemdir}/doc/${_gemname}-${pkgver}/ri/ext/" + "tmp_install/${_gemdir}/cache/" \ + "tmp_install/${_gemdir}/gems/${_gemname}-${pkgver}/vendor/" \ + "tmp_install/${_gemdir}/doc/${_gemname}-${pkgver}/ri/ext/" - find "${pkgdir}/${_gemdir}/gems/" \ + find "tmp_install/${_gemdir}/gems/" \ -type f \ \( \ -iname "*.o" -o \ @@ -43,7 +70,7 @@ \) \ -delete - find "${pkgdir}/${_gemdir}/extensions/" \ + find "tmp_install/${_gemdir}/extensions/" \ -type f \ \( \ -iname "mkmf.log" -o \ @@ -50,7 +77,21 @@ -iname "gem_make.out" \ \) \ -delete +} - install -D -m644 "${pkgdir}/${_gemdir}/gems/${_gemname}-${pkgver}/LICENSE-DEPENDENCIES.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-DEPENDENCIES.md" - install -D -m644 "${pkgdir}/${_gemdir}/gems/${_gemname}-${pkgver}/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md" +check() { + cd "${_gemname}-${pkgver}" + + local _gemdir="$(gem env gemdir)" + + GEM_HOME="tmp_install/${_gemdir}" rake test } + +package() { + cd "${_gemname}-${pkgver}" + + cp --archive --verbose tmp_install/* "${pkgdir}" + + install --verbose -D --mode=0644 LICENSE* --target-directory "${pkgdir}/usr/share/licenses/${pkgname}" + install --verbose -D --mode=0644 *.md --target-directory "${pkgdir}/usr/share/doc/${pkgname}" +}
