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