Date: Friday, March 2, 2018 @ 22:41:59
  Author: anatolik
Revision: 317767

Splir rubygems into separate package

Ruby project copies rubygems sources in their tree and releases together with 
ruby.

But ruby does not bother to bring new rubygems updates. Because of it rubygems 
is stuck at some
old version and misses security bugfixes.

Added:
  rubygems/
  rubygems/repos/
  rubygems/trunk/
  rubygems/trunk/PKGBUILD
  rubygems/trunk/gemrc
    (from rev 317766, ruby/trunk/gemrc)
Modified:
  ruby/trunk/PKGBUILD
Deleted:
  ruby/trunk/gemrc
  ruby/trunk/ruby.install

---------------------+
 gems/trunk/PKGBUILD |   38 ++++++++++++++++++++++++++++++++++++++
 gems/trunk/gemrc    |    5 +++++
 trunk/PKGBUILD      |   30 ++++++++++++++----------------
 trunk/gemrc         |    5 -----
 trunk/ruby.install  |   22 ----------------------
 5 files changed, 57 insertions(+), 43 deletions(-)

Modified: trunk/PKGBUILD
===================================================================
--- trunk/PKGBUILD      2018-03-02 21:04:05 UTC (rev 317766)
+++ trunk/PKGBUILD      2018-03-02 22:41:59 UTC (rev 317767)
@@ -5,16 +5,14 @@
 
 pkgname=(ruby ruby-docs)
 pkgver=2.5.0
-pkgrel=4
+pkgrel=5
 arch=(x86_64)
 url='http://www.ruby-lang.org/en/'
 license=(BSD custom)
 makedepends=(gdbm openssl libffi doxygen graphviz libyaml ttf-dejavu tk)
 options=(!emptydirs)
-source=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz
-        gemrc)
-sha512sums=('55714a33d7661fe8b432f73c34fd67b49699f8b79df1cbd680a74899124d31111ab0f444677672aac1ba725820182940d485efb2db0bf2bc96737c5d40c54578'
-            
'8cafd14d414ee3c16aa94f79072bc6c100262f925dc1300e785846c3fabbbbffc1356b8e2223af5684e3340c55032d41231179ffa948bb12e01dbae0f4131911')
+source=(https://cache.ruby-lang.org/pub/ruby/${pkgver:0:3}/ruby-${pkgver}.tar.xz)
+sha512sums=('55714a33d7661fe8b432f73c34fd67b49699f8b79df1cbd680a74899124d31111ab0f444677672aac1ba725820182940d485efb2db0bf2bc96737c5d40c54578')
 
 prepare() {
   cd ruby-${pkgver}
@@ -46,31 +44,31 @@
 
 package_ruby() {
   pkgdesc='An object-oriented language for quick and easy programming'
-  depends=(gdbm openssl libffi libyaml gmp zlib)
+  depends=(gdbm openssl libffi libyaml gmp zlib rubygems)
   optdepends=(
       'ruby-docs: Ruby documentation'
       'tk: for Ruby/TK'
   )
-  provides=(rubygems)
-  backup=(etc/gemrc)
-  install=ruby.install
 
   cd ruby-${pkgver}
 
   make DESTDIR="${pkgdir}" install-nodoc
 
-  install -D -m644 ${srcdir}/gemrc "${pkgdir}/etc/gemrc"
-
   install -D -m644 COPYING "${pkgdir}/usr/share/licenses/ruby/LICENSE"
   install -D -m644 BSDL "${pkgdir}/usr/share/licenses/ruby/BSDL"
 
-  gemver=${pkgver:0:3}.0
+  rubyver=${pkgver:0:3}.0
+
+  # remove rubygems as it shipped in a separate package
+  rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/{rubygems,rubygems.rb}
+  rm "${pkgdir}"/usr/bin/gem
+
   # remove bundled rdoc gem
   # we are doing it here instead of prepare() because rdoc used doring Ruby 
build process
-  rm -r "${pkgdir}"/usr/lib/ruby/${gemver}/rdoc/
-  rm -r "${pkgdir}"/usr/bin/{rdoc,ri}
-  rm -r "${pkgdir}"/usr/lib/ruby/gems/${gemver}/gems/*
-  rm -r 
"${pkgdir}"/usr/lib/ruby/gems/${gemver}/specifications/default/rdoc-*.gemspec
+  rm -r "${pkgdir}"/usr/lib/ruby/${rubyver}/rdoc/
+  rm "${pkgdir}"/usr/bin/{rdoc,ri}
+  rm -r "${pkgdir}"/usr/lib/ruby/gems/${rubyver}/gems/*
+  rm 
"${pkgdir}"/usr/lib/ruby/gems/${rubyver}/specifications/default/rdoc-*.gemspec
 }
 
 package_ruby-docs() {

Deleted: trunk/gemrc
===================================================================
--- trunk/gemrc 2018-03-02 21:04:05 UTC (rev 317766)
+++ trunk/gemrc 2018-03-02 22:41:59 UTC (rev 317767)
@@ -1,5 +0,0 @@
-# Read about the gemrc format at 
http://guides.rubygems.org/command-reference/#gem-environment
-
-# --user-install is used to install to $HOME/.gem/ by default since we want to 
separate
-#                pacman installed gems and gem installed gems
-gem: --user-install

Deleted: trunk/ruby.install
===================================================================
--- trunk/ruby.install  2018-03-02 21:04:05 UTC (rev 317766)
+++ trunk/ruby.install  2018-03-02 22:41:59 UTC (rev 317767)
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-print_gem_default_target() {
-  echo 'The default location of gem installs is $HOME/.gem/ruby'
-  echo 'Add the following line to your PATH if you plan to install using gem'
-  echo '$(ruby -e "puts Gem.user_dir")/bin'
-  echo 'If you want to install to the system wide location, you must either:'
-  echo 'edit /etc/gemrc or run gem with the --no-user-install flag.'
-}
-
-# arg 1:  the new package version
-post_install() {
-  print_gem_default_target
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_upgrade() {
-  if [ "$(vercmp $2 1.9.3_p125-4)" -lt 0 ]; then
-    print_gem_default_target
-  fi
-}

Added: gems/trunk/PKGBUILD
===================================================================
--- gems/trunk/PKGBUILD                         (rev 0)
+++ gems/trunk/PKGBUILD 2018-03-02 22:41:59 UTC (rev 317767)
@@ -0,0 +1,38 @@
+# Maintainer: Anatol Pomozov <anatol.pomo...@gmail.com>
+
+pkgname=rubygems
+pkgdesc='Package management framework for Ruby'
+pkgver=2.7.6
+pkgrel=1
+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
+        gemrc)
+sha512sums=('48a8bbd89e76bb08bc499f8c5274537bc128a637e523f1abdc17d416d5fab84ddc83273b85ab2719ac88d66ae2c73d6ae58796443eb924dee74468f086032c31'
+            
'8cafd14d414ee3c16aa94f79072bc6c100262f925dc1300e785846c3fabbbbffc1356b8e2223af5684e3340c55032d41231179ffa948bb12e01dbae0f4131911')
+
+check() {
+  cd rubygems-${pkgver}
+
+  # disable as it requires a bund of ruby dependencies
+  #rake test
+}
+
+package() {
+  depends+=(ruby)
+  cd rubygems-${pkgver}
+
+  install -D -m644 ${srcdir}/gemrc "${pkgdir}/etc/gemrc"
+
+  local rubyver=$(ruby --version | sed -r 's|^ruby 
([[:digit:]]+\.[[:digit:]]+\.).*$|\1|')0
+
+  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"
+}


Property changes on: rubygems/trunk/PKGBUILD
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Copied: rubygems/trunk/gemrc (from rev 317766, ruby/trunk/gemrc)
===================================================================
--- gems/trunk/gemrc                            (rev 0)
+++ gems/trunk/gemrc    2018-03-02 22:41:59 UTC (rev 317767)
@@ -0,0 +1,5 @@
+# Read about the gemrc format at 
http://guides.rubygems.org/command-reference/#gem-environment
+
+# --user-install is used to install to $HOME/.gem/ by default since we want to 
separate
+#                pacman installed gems and gem installed gems
+gem: --user-install

Reply via email to