[arch-commits] Commit in ruby (8 files)

Anatol Pomozov anatolik at archlinux.org
Fri Mar 2 22:42:00 UTC 2018


    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.pomozov at 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



More information about the arch-commits mailing list