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}"
+}

Reply via email to