Date: Friday, September 23, 2022 @ 19:11:05
  Author: segaja
Revision: 1309205

upgpkg: ruby-irb 1.4.1-2: restructure stdlib to fit into ruby structure

Modified:
  ruby-irb/trunk/PKGBUILD

----------+
 PKGBUILD |   82 ++++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 65 insertions(+), 17 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-09-23 17:48:18 UTC (rev 1309204)
+++ PKGBUILD    2022-09-23 19:11:05 UTC (rev 1309205)
@@ -1,27 +1,75 @@
 # Maintainer: Anatol Pomozov
+# Maintainer: Andreas 'Segaja' Schleifer <segaja at archlinux dot org>
 
-_gemname=irb
-pkgname=ruby-$_gemname
+_gemname='irb'
+pkgname="ruby-${_gemname}"
 pkgver=1.4.1
-pkgrel=1
-pkgdesc="Interactive Ruby command-line tool for REPL (Read Eval Print Loop)."
+pkgrel=2
+pkgdesc='Interactive Ruby command-line tool for REPL (Read Eval Print Loop).'
 arch=('any')
-url='https://github.com/ruby/irb'
-license=('BSD-2')
-depends=('ruby' 'ruby-reline' 'ruby-rdoc')
+url="https://github.com/ruby/${_gemname}";
+license=('RUBY' 'BSD-2')
+depends=('ruby' 'ruby-reline')
+makedepends=('ruby-rdoc')
+checkdepends=('ruby-rake')
 options=('!emptydirs')
-source=("https://rubygems.org/downloads/$_gemname-$pkgver.gem";)
-noextract=("$_gemname-$pkgver.gem")
-sha512sums=('601c834f66346a432638e9205f62c809a6d4987aed1657ab8398cc2593d2b20465412b94d78a2a0e472e07baf4d46b69cb727a1e45b6992c88174c02fa17dcf5')
+source=("${url}/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
+sha512sums=('2b015821046e2fc9173c90cdd676c90d448937036dfd3808a219d58d4e982a5e6dd93f42e8962d09c4893f9d1507c3e5b353de6a4a6a712c53c4724469903311')
 
+prepare() {
+  cd "${_gemname}-${pkgver}"
+
+  # update gemspec/Gemfile to allow newer version of the dependencies
+  sed --in-place --regexp-extended 's|~>|>=|g' "${_gemname}.gemspec"
+}
+
+build() {
+  cd "${_gemname}-${pkgver}"
+
+  gem build "${_gemname}.gemspec"
+}
+
+check() {
+  cd "${_gemname}-${pkgver}"
+
+  rake test
+  rake test_yamatanooroti
+}
+
 package() {
-  cd "$srcdir"
+  cd "${_gemname}-${pkgver}"
 
-  local _gemdir="$(ruby -e'puts Gem.default_dir')"
-  HOME="/tmp" GEM_HOME="$_gemdir" GEM_PATH="$_gemdir" gem install -N 
--no-user-install --ignore-dependencies \
-     -i "$pkgdir/$_gemdir" -n "$pkgdir/usr/bin" "$_gemname-$pkgver.gem"
-  rm "$pkgdir/$_gemdir/cache/$_gemname-$pkgver.gem"
-  install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/LICENSE.txt" 
"$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+  local _gemdir="$(gem env gemdir)"
+  local _platform="$(gem env platform | cut -d':' -f2)"
+  local _extension_api_version="$(ruby -e 'puts Gem.extension_api_version')"
 
-  install -D -m644 "$pkgdir/$_gemdir/gems/$_gemname-$pkgver/man/irb.1" 
"$pkgdir/usr/share/man/man1/irb.1"
+  gem install \
+    --local \
+    --verbose \
+    --ignore-dependencies \
+    --no-user-install \
+    --install-dir "${pkgdir}/${_gemdir}" \
+    --bindir "${pkgdir}/usr/bin" \
+    "${_gemname}-${pkgver}.gem"
+
+  install --verbose --directory --mode=0755 \
+    "${pkgdir}/usr/lib/ruby/${_extension_api_version}/${_platform}" \
+    "${pkgdir}${_gemdir}/specifications/default"
+
+  mv --verbose 
"${pkgdir}${_gemdir}/specifications/${_gemname}-${pkgver}.gemspec" 
"${pkgdir}${_gemdir}/specifications/default/${_gemname}-${pkgver}.gemspec"
+  mv --verbose 
"${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/lib/${_gemname}.rb" 
"${pkgdir}/usr/lib/ruby/${_extension_api_version}/${_gemname}.rb"
+  mv --verbose 
"${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/lib/${_gemname}" 
"${pkgdir}/usr/lib/ruby/${_extension_api_version}/${_gemname}"
+
+  # remove unrepreducible files
+  rm --force --recursive --verbose \
+    "${pkgdir}${_gemdir}/cache/" \
+    "${pkgdir}${_gemdir}/build_info/" \
+    "${pkgdir}${_gemdir}/extensions/" \
+    
"${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/"{.git*,.document,bin,doc,man,*.*,Gemfile,Rakefile}
 \
+    "${pkgdir}${_gemdir}/plugins/" \
+    "${pkgdir}${_gemdir}/doc/${_gemname}-${pkgver}/ri/ext/"
+
+  install --verbose -D --mode=0644 man/irb.1 --target-directory 
"${pkgdir}/usr/share/man/man1"
+  install --verbose -D --mode=0644 LICENSE.txt --target-directory 
"${pkgdir}/usr/share/licenses/${pkgname}"
+  install --verbose -D --mode=0644 *.md --target-directory 
"${pkgdir}/usr/share/doc/${pkgname}"
 }

Reply via email to