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