Date: Sunday, September 25, 2022 @ 19:03:04
  Author: segaja
Revision: 1309758

upgpkg: rubygems 3.3.21-2: restructure stdlib to fit into ruby structure

Added:
  rubygems/trunk/rubygems_stop_so_duplication.patch
    (from rev 1309757, rubygems/trunk/stop_so_duplication.patch)
Modified:
  rubygems/trunk/PKGBUILD
Deleted:
  rubygems/trunk/stop_so_duplication.patch

------------------------------------+
 PKGBUILD                           |   83 ++++++++++++++++++++++-------------
 rubygems_stop_so_duplication.patch |   26 ++++++++++
 stop_so_duplication.patch          |   26 ----------
 3 files changed, 80 insertions(+), 55 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-09-25 19:02:44 UTC (rev 1309757)
+++ PKGBUILD    2022-09-25 19:03:04 UTC (rev 1309758)
@@ -1,45 +1,70 @@
 # Maintainer: Anatol Pomozov <[email protected]>
+# Maintainer: Andreas 'Segaja' Schleifer <segaja at archlinux dot org>
 
-pkgname=rubygems
+pkgname='rubygems'
+pkgver=3.3.21
+pkgrel=2
 pkgdesc='Package management framework for Ruby'
-pkgver=3.3.21
-pkgrel=1
-arch=(any)
+arch=('any')
 url='https://rubygems.org/'
-license=(MIT)
-# To avoid circular dependency with ruby, move it to makedepends
-makedepends=(ruby)
-backup=(etc/gemrc)
-checkdepends=(rake)
-source=(rubygems-$pkgver.zip::https://github.com/rubygems/rubygems/archive/v${pkgver}.zip
-        stop_so_duplication.patch
-       gemrc)
-sha512sums=('5b551eb15a68efcca6b351b44f3089263a43314e977da1d341296fe98eb424311680ac140e78b13944dc60e23d41e73f948bc70eb3bdec4837f374c3105a87b8'
+license=('MIT')
+depends=('ruby')
+#checkdepends=('git' 'ruby-rake' 'ruby-webrick')
+backup=('etc/gemrc')
+options=('!emptydirs')
+source=("https://github.com/rubygems/rubygems/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz";
+        "${pkgname}_stop_so_duplication.patch"
+        'gemrc')
+sha512sums=('aff9e9357f415053db18354b102f560a1a82c771e206551ceeb386ed42966ebfcb6480f8b493f94455323a5d74cd48a53cc8637ba7a87abdabc7a32c9cf50be7'
             
'9919490bbf7dba979a1df7543e62eb3fca48e8a516e6b6ab0a73080952e1b58599b7f233259d122dc66bf93f032b434d70e0dd448a1cb86513f01acb51b2120e'
             
'8cafd14d414ee3c16aa94f79072bc6c100262f925dc1300e785846c3fabbbbffc1356b8e2223af5684e3340c55032d41231179ffa948bb12e01dbae0f4131911')
 
 prepare() {
-  cd rubygems-${pkgver}
-  patch -p1 < ../stop_so_duplication.patch
+  cd "rubygems-${pkgver}"
+
+  patch --verbose --strip=1 --input="../${pkgname}_stop_so_duplication.patch"
 }
 
-check() {
-  cd rubygems-${pkgver}
+# https://github.com/rubygems/rubygems/issues/5951
+#check() {
+#  cd "rubygems-${pkgver}"
+#
+#  rake test
+#}
 
-  # disable as it requires a lot of ruby-* dependencies
-  #rake test
-}
-
 package() {
-  depends+=(ruby)
-  cd rubygems-${pkgver}
+  cd "rubygems-${pkgver}"
 
-  install -D -m644 "${srcdir}"/gemrc "${pkgdir}/etc/gemrc"
 
-  local rubyver=$(ruby --version | sed -r 's|^ruby 
([[:digit:]]+\.[[:digit:]]+\.).*$|\1|')0
+  local _gemdir="$(ruby -e 'puts Gem.dir')"
+  local _extension_api_version="$(ruby -e 'puts Gem.extension_api_version')"
 
-  install -d "${pkgdir}/usr/lib/ruby/${rubyver}/"
-  install -D -m755 bin/gem "${pkgdir}/usr/bin/gem"
-  cp -r lib/* "${pkgdir}/usr/lib/ruby/${rubyver}/"
-  install -D -m644 MIT.txt "${pkgdir}/usr/share/licenses/rubygems/MIT.txt"
+  export GEM_HOME="${pkgdir}${_gemdir}"
+
+  install --verbose -d --mode=0755 \
+      "${GEM_HOME}" \
+      "${pkgdir}/usr/lib/ruby/${_extension_api_version}"
+
+  # define the current version as previous version to avoid printing the 
changelog
+  ruby setup.rb \
+    --destdir="${pkgdir}" \
+    --prefix="/usr" \
+    --previous-version="${pkgver}" \
+    --verbose
+
+  # fix package structure
+  mv --verbose "${pkgdir}/usr/lib/${pkgname}.rb" 
"${pkgdir}/usr/lib/ruby/${_extension_api_version}"
+  mv --verbose "${pkgdir}/usr/lib/${pkgname}" 
"${pkgdir}/usr/lib/ruby/${_extension_api_version}"
+
+  # cleanup - remove any bundler references as they are provided by 
https://archlinux.org/packages/community/any/ruby-bundler/
+  rm --verbose --recursive \
+    "${pkgdir}/usr/bin/"{bundle*,rake} \
+    "${pkgdir}/usr/gems" \
+    "${pkgdir}/usr/lib/bundler.rb" \
+    "${pkgdir}/usr/lib/bundler" \
+    "${pkgdir}/usr/specifications"
+
+  install --verbose -D --mode=0644 ../gemrc "${pkgdir}/etc/gemrc"
+  install --verbose -D --mode=0644 LICENSE.txt MIT.txt --target-directory 
"${pkgdir}/usr/share/licenses/${pkgname}"
+  install --verbose -D --mode=0644 *.md --target-directory 
"${pkgdir}/usr/share/doc/${pkgname}"
 }

Copied: rubygems/trunk/rubygems_stop_so_duplication.patch (from rev 1309757, 
rubygems/trunk/stop_so_duplication.patch)
===================================================================
--- rubygems_stop_so_duplication.patch                          (rev 0)
+++ rubygems_stop_so_duplication.patch  2022-09-25 19:03:04 UTC (rev 1309758)
@@ -0,0 +1,26 @@
+commit ac83e58d1b9af68042433ae7ca8c9ff55b379770
+Author: Anatol Pomozov <[email protected]>
+Date:   Fri Dec 27 15:43:14 2019 -0800
+
+    Do not put generated *.so file to 'lib/'
+    
+    Keep the *.so files under extension directory only. 'lib/' is for ruby
+    sources only.
+    
+    References:
+      
https://src.fedoraproject.org/rpms/rubygems/blob/master/f/operating_system.rb
+      https://github.com/rubygems/rubygems/issues/749
+
+diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
+index d4ff4a26..4926f322 100644
+--- a/lib/rubygems/defaults.rb
++++ b/lib/rubygems/defaults.rb
+@@ -144,7 +144,7 @@ module Gem
+   # Install extensions into lib as well as into the extension directory.
+ 
+   def self.install_extension_in_lib # :nodoc:
+-    true
++    false
+   end
+ 
+   ##

Deleted: stop_so_duplication.patch
===================================================================
--- stop_so_duplication.patch   2022-09-25 19:02:44 UTC (rev 1309757)
+++ stop_so_duplication.patch   2022-09-25 19:03:04 UTC (rev 1309758)
@@ -1,26 +0,0 @@
-commit ac83e58d1b9af68042433ae7ca8c9ff55b379770
-Author: Anatol Pomozov <[email protected]>
-Date:   Fri Dec 27 15:43:14 2019 -0800
-
-    Do not put generated *.so file to 'lib/'
-    
-    Keep the *.so files under extension directory only. 'lib/' is for ruby
-    sources only.
-    
-    References:
-      
https://src.fedoraproject.org/rpms/rubygems/blob/master/f/operating_system.rb
-      https://github.com/rubygems/rubygems/issues/749
-
-diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
-index d4ff4a26..4926f322 100644
---- a/lib/rubygems/defaults.rb
-+++ b/lib/rubygems/defaults.rb
-@@ -144,7 +144,7 @@ module Gem
-   # Install extensions into lib as well as into the extension directory.
- 
-   def self.install_extension_in_lib # :nodoc:
--    true
-+    false
-   end
- 
-   ##

Reply via email to