Date: Sunday, September 25, 2022 @ 19:06:46
  Author: segaja
Revision: 1309766

upgpkg: ruby-bundler 2.3.22-2: restructure stdlib to fit into ruby structure

Modified:
  ruby-bundler/trunk/PKGBUILD

----------+
 PKGBUILD |   73 +++++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 50 insertions(+), 23 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-09-25 19:06:30 UTC (rev 1309765)
+++ PKGBUILD    2022-09-25 19:06:46 UTC (rev 1309766)
@@ -1,4 +1,5 @@
 # Maintainer: George Rawlinson <[email protected]>
+# Maintainer: Andreas 'Segaja' Schleifer <segaja at archlinux dot org>
 # Contributor: Felix Yan <[email protected]>
 # Contributor: Jonne Haß <[email protected]>
 # Contributor: Hyacinthe Cartiaux <[email protected]>
@@ -5,52 +6,78 @@
 # Contributor: Anatol Pomozov <[email protected]>
 # Contributor: Alexsandr Pavlov <kidoz at mail dot ru>
 
-pkgname=ruby-bundler
-_gemname="${pkgname#ruby-}"
+_gemname='bundler'
+pkgname="ruby-${_gemname}"
 pkgver=2.3.22
-pkgrel=1
+pkgrel=2
 pkgdesc="Manages an application's dependencies through its entire life, across 
many machines, systematically and repeatably"
 arch=('any')
 url='https://bundler.io'
 license=('MIT')
-depends=('ruby' 'rubygems')
-makedepends=('git' 'ruby-rdoc' 'ruby-rake')
+depends=('ruby')
+makedepends=('ruby-rake' 'ruby-rdoc')
+#checkdepends=('git' 'ruby-parallel_tests' 'ruby-rspec')
 options=('!emptydirs')
-_commit='44fb4c9ef5a8b4892132d302daf0d50ec08c06b0'
-source=("$pkgname::git+https://github.com/rubygems/rubygems#commit=$_commit";)
-b2sums=('SKIP')
+source=("https://github.com/rubygems/rubygems/archive/bundler-v${pkgver}/${pkgname}-${pkgver}.tar.gz";)
+sha256sums=('95f1732f00606243992541eba3dee863e71c2900e4ceaf4317d5ff1fcb03a0ed')
 
-pkgver() {
-  cd "$pkgname"
+prepare() {
+  cd "rubygems-${_gemname}-v${pkgver}/${_gemname}"
 
-  git describe --tags | sed -e 's/^bundler-v//'
+  # update gemspec/Gemfile to allow newer version of the dependencies
+  sed --in-place --regexp-extended 's|~>|>=|g' "${_gemname}.gemspec"
 }
 
 build() {
-  cd "$pkgname/bundler"
+  cd "rubygems-${_gemname}-v${pkgver}/${_gemname}"
 
   rake build
 }
 
+# So far tests are not working reliably and hang often
+#check() {
+#  cd "rubygems-${_gemname}-v${pkgver}/${_gemname}"
+#
+#  rake spec:all
+#}
+
 package() {
+  cd "rubygems-${_gemname}-v${pkgver}/${_gemname}"
+
   local _gemdir="$(gem env gemdir)"
+  local _platform="$(gem env platform | cut -d':' -f2)"
+  local _extension_api_version="$(ruby -e 'puts Gem.extension_api_version')"
 
   gem install \
     --local \
+    --verbose \
     --ignore-dependencies \
     --no-user-install \
-    --install-dir "$pkgdir/$_gemdir" \
-    --bindir "$pkgdir/usr/bin" \
-    "$pkgname/$_gemname/pkg/$_gemname-$pkgver.gem"
+    --install-dir "${pkgdir}/${_gemdir}" \
+    --bindir "${pkgdir}/usr/bin" \
+    "pkg/${_gemname}-${pkgver}.gem"
 
-  # remove unreproducible/unnecessary files
-  rm -vrf "$pkgdir/$_gemdir/cache"
+  install --verbose --directory --mode=0755 \
+    "${pkgdir}/usr/lib/ruby/${_extension_api_version}/${_platform}" \
+    "${pkgdir}${_gemdir}/specifications/default" \
+    "${pkgdir}/usr/share/man/man1" \
+    "${pkgdir}/usr/share/man/man5"
 
-  # license
-  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" 
"$pkgdir/$_gemdir/gems/$_gemname-$pkgver/LICENSE.md"
+  mv --verbose 
"${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/lib/bundler/man"/*.1 
"${pkgdir}/usr/share/man/man1"
+  mv --verbose 
"${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/lib/bundler/man"/*.5 
"${pkgdir}/usr/share/man/man5"
+  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}"
 
-  # move man pages
-  install -vd "$pkgdir/usr/share/man/"{man1,man5}
-  mv -vt "$pkgdir/usr/share/man/man1" 
"$pkgdir/$_gemdir/gems/$_gemname-$pkgver/lib/bundler/man"/*.1
-  mv -vt "$pkgdir/usr/share/man/man5" 
"$pkgdir/$_gemdir/gems/$_gemname-$pkgver/lib/bundler/man"/*.5
+  # remove unrepreducible files
+  rm --force --recursive --verbose \
+    "${pkgdir}${_gemdir}/cache/" \
+    "${pkgdir}${_gemdir}/build_info/" \
+    "${pkgdir}${_gemdir}/extensions/" \
+    "${pkgdir}${_gemdir}/gems/${_gemname}-${pkgver}/"{.gitignore,Rakefile,*.*} 
\
+    "${pkgdir}${_gemdir}/plugins/" \
+    "${pkgdir}${_gemdir}/doc/${_gemname}-${pkgver}/ri/ext/"
+
+  install --verbose -D --mode=0644 LICENSE.md --target-directory 
"${pkgdir}/usr/share/licenses/${pkgname}"
+  install --verbose -D --mode=0644 *.md --target-directory 
"${pkgdir}/usr/share/doc/${pkgname}"
 }

Reply via email to