From: Alex Legler Date: Sat, 1 May 2010 10:18:57 +0000 (+0000) Subject: Revision bump enabling support for Ruby 1.9. Improve automatic gem symlink setting... X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a30e79e6b91092ec58e76ed12f5f9a3aef636479;p=gentoo.git Revision bump enabling support for Ruby 1.9. Improve automatic gem symlink setting. Make use of the new ruby_rbconfig_value function from ruby-ng. Add support for multiple auto_gem.rb versions. Closes bug 307863. Package-Manager: portage-2.2_rc67/cvs/Linux x86_64 --- diff --git a/dev-ruby/rubygems/ChangeLog b/dev-ruby/rubygems/ChangeLog index 0dcbf7e7f42c..0ad141df6057 100644 --- a/dev-ruby/rubygems/ChangeLog +++ b/dev-ruby/rubygems/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-ruby/rubygems # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/ChangeLog,v 1.136 2010/04/03 09:00:33 a3li Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/ChangeLog,v 1.137 2010/05/01 10:18:57 a3li Exp $ + +*rubygems-1.3.6-r1 (01 May 2010) + + 01 May 2010; Alex Legler +rubygems-1.3.6-r1.ebuild, + +files/auto_gem.rb.jruby, +files/auto_gem.rb.ruby18, + +files/auto_gem.rb.ruby19, +files/auto_gem.rb.rubyee18: + Revision bump enabling support for Ruby 1.9. Improve automatic gem symlink + setting. Make use of the new ruby_rbconfig_value function from ruby-ng. + Add support for multiple auto_gem.rb versions. Closes bug 307863. 03 Apr 2010; Alex Legler +files/rubygems-rubyee.patch: Add missing patch diff --git a/dev-ruby/rubygems/Manifest b/dev-ruby/rubygems/Manifest index d47295247e6d..6c7095d8d41e 100644 --- a/dev-ruby/rubygems/Manifest +++ b/dev-ruby/rubygems/Manifest @@ -3,6 +3,10 @@ Hash: SHA1 AUX 10rubygems 21 RMD160 02441be7de6307bbb859fbc2bf5891809fe9ecf8 SHA1 3f98150bfb39a3f3f1dfabcf2d9bf80051960d81 SHA256 8c30de9ba7f327237af47f85d8f7f6701d34c9a8780ff7303244667568ca5833 AUX auto_gem.rb 159 RMD160 fbf261e5cf0a8450c51c33a7ad4dafbab21bd518 SHA1 8dde3d73f65998f4c5552924ad49e1441e1b211d SHA256 fe1efe24cd0ba36c55449e9623cd0be394980f37d12468624dad7ffdef72f4dc +AUX auto_gem.rb.jruby 159 RMD160 fbf261e5cf0a8450c51c33a7ad4dafbab21bd518 SHA1 8dde3d73f65998f4c5552924ad49e1441e1b211d SHA256 fe1efe24cd0ba36c55449e9623cd0be394980f37d12468624dad7ffdef72f4dc +AUX auto_gem.rb.ruby18 159 RMD160 fbf261e5cf0a8450c51c33a7ad4dafbab21bd518 SHA1 8dde3d73f65998f4c5552924ad49e1441e1b211d SHA256 fe1efe24cd0ba36c55449e9623cd0be394980f37d12468624dad7ffdef72f4dc +AUX auto_gem.rb.ruby19 509 RMD160 f8ffc36e384592956e6508b952ea80110f73efe3 SHA1 498f8963c27cad7e8334b2e797c51f6ac2101b1b SHA256 f0f7f61b110955325be52d278fcc1d3f3ea395cd9523dba33af37a44fd59666d +AUX auto_gem.rb.rubyee18 159 RMD160 fbf261e5cf0a8450c51c33a7ad4dafbab21bd518 SHA1 8dde3d73f65998f4c5552924ad49e1441e1b211d SHA256 fe1efe24cd0ba36c55449e9623cd0be394980f37d12468624dad7ffdef72f4dc AUX conf.d-gem_server 81 RMD160 8c5c57e989e009b87fcb345185f3f1e3acaf517d SHA1 4d43d760253a478adbce597148ff1c4e414e8eea SHA256 aa850780bebe0e31da9732d8707a748567ca72716fd91e294dc712e71f82db2f AUX init.d-gem_server 502 RMD160 9fe089f462edff052e6b7fa6ea3803e0178f41ef SHA1 e00ead252760613865f5e655ff2e559e7578d28f SHA256 b6166c27021880ee1509eb68092f0d3d0550adb9d6b0dcb9396c91c725c5218e AUX init.d-gem_server2 502 RMD160 baf764bc5ad41adce73576b2376093744ddd3917 SHA1 ad332343eab53b4be8d796999063ec2018245a4b SHA256 b7f7d215bb3dba02150dbdc431a84308010515ad4c5d9776d0dd5b99bf9a2cee @@ -14,13 +18,14 @@ DIST rubygems-1.3.6.tgz 285167 RMD160 f2aa5155a79f07a3f9106e90a4d1e4d39d31cc5a S EBUILD rubygems-1.3.5-r1.ebuild 2809 RMD160 beafa61db1cc38a9ddfdb33ec70109bfbf1310c8 SHA1 1118c3f668f1fea1b4e6e74a051a668d8c78f42c SHA256 08cc7b6c18304a5a99d7527525ca8825b8828884a70a7d66325bf6bfa43ee089 EBUILD rubygems-1.3.5-r3.ebuild 3028 RMD160 67e906d35784d62dd31203b582fadeb904890ee9 SHA1 3caf5fc719c79205805bed6082d40dc9ab70d816 SHA256 8b28ca2c63cd22bdd010b1eec9fcc15f5900210e5740b9aaefe02faf6a706028 EBUILD rubygems-1.3.5.ebuild 3166 RMD160 95a7edee644212eabf8a86f1dc42d06c14a3deed SHA1 8c1b5af2fd039e655628a1884697883824b0bafc SHA256 14822c8c0b156a93a8ab2215b5502f7cea55c2cbce8a57b5ddd7eec2753338b1 +EBUILD rubygems-1.3.6-r1.ebuild 3127 RMD160 00f520f45e4805b6035aecc51ca2e91f6282c0c2 SHA1 0406264d172e26d056d7d7b56c3b076742785dc2 SHA256 7fa9c3f6ad466ec6af1bff6f60bdeb37c7c71d19d7d2c9799fcc75c725b5a13c EBUILD rubygems-1.3.6.ebuild 3096 RMD160 3abcac49900105943cbf2bbde168c97d088b162d SHA1 f598b8ab87f175ead2cb73ed599c37bfe6094fe4 SHA256 492d0c250fb3a7c5d84d52301c7ca4e4eaa942d452cbcf096c5fefe69e4c8ea9 -MISC ChangeLog 20519 RMD160 5b44f1d12d9f5fa9249a9b79b587949b37d58c4f SHA1 547da78f3e6daa5dc500ff0e5e37a51c471efc06 SHA256 02a5289f259b0216c33b0790c1206aa3f940f87ba2a4d2ba94ccd265eaba2dc9 +MISC ChangeLog 20958 RMD160 80b62ddfe5a98de8222cb108bc87aee1e44d08b5 SHA1 341b229112b44f3c8b34f157720238ff792510ea SHA256 544c7a261719cf2658ca7bdf7856e0bcca16b5f9fa4ae093619cc1cff7550a80 MISC metadata.xml 247 RMD160 eb1d10b4366542ce2f232dcaf7317341b6b5608f SHA1 fcb6e2a1d6cda6d45640f9c5a5dfcc0fd4f3ab3b SHA256 633ae9912e8dd27f76b9cf53f5ad0d3222db85d9a19a76da7fd5e26f40b144e3 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) -iEYEARECAAYFAku3A7oACgkQ+tgfDpkAy6BeCACZAWpA20tlRfT7Sq3mZ/9f2ZQT -sikAn39TL6MA+5SiMROVRiQHVdMIEFt/ -=m44d +iEYEARECAAYFAkvcACEACgkQ+tgfDpkAy6CHjwCfbjLLezafHhDv5tD1SM5hXiBg +bzEAnjgI3DHY6pgCIrmIY9l9FPtYguqI +=G+I8 -----END PGP SIGNATURE----- diff --git a/dev-ruby/rubygems/files/auto_gem.rb.jruby b/dev-ruby/rubygems/files/auto_gem.rb.jruby new file mode 100644 index 000000000000..5c4f540a92df --- /dev/null +++ b/dev-ruby/rubygems/files/auto_gem.rb.jruby @@ -0,0 +1,7 @@ +# This file is installed by Gentoo's rubygems package. +# It's intended to help automate the loading of rubygems + +begin +require 'rubygems' +rescue LoadError +end diff --git a/dev-ruby/rubygems/files/auto_gem.rb.ruby18 b/dev-ruby/rubygems/files/auto_gem.rb.ruby18 new file mode 100644 index 000000000000..5c4f540a92df --- /dev/null +++ b/dev-ruby/rubygems/files/auto_gem.rb.ruby18 @@ -0,0 +1,7 @@ +# This file is installed by Gentoo's rubygems package. +# It's intended to help automate the loading of rubygems + +begin +require 'rubygems' +rescue LoadError +end diff --git a/dev-ruby/rubygems/files/auto_gem.rb.ruby19 b/dev-ruby/rubygems/files/auto_gem.rb.ruby19 new file mode 100644 index 000000000000..e7d564264d68 --- /dev/null +++ b/dev-ruby/rubygems/files/auto_gem.rb.ruby19 @@ -0,0 +1,10 @@ +# DO NOT USE THIS FILE! +# --------------------- +# This file is a placebo for Ruby 1.9 to work with a legacy feature, Gentoo +# added to Ruby 1.8 and earlier, loading rubygems automatically (auto_gem). +# It is no longer needed, but ruby19 needs this file to operate properly on +# a system containing older versions of Ruby and thus the legacy feature. +# +# REMOVAL NOTE: +# You may remove this file if you are running a Ruby >=1.9.1 *only* system +# or have disabled the Gentoo auto_gem.rb/RUBYOPT=auto_gem magic. diff --git a/dev-ruby/rubygems/files/auto_gem.rb.rubyee18 b/dev-ruby/rubygems/files/auto_gem.rb.rubyee18 new file mode 100644 index 000000000000..5c4f540a92df --- /dev/null +++ b/dev-ruby/rubygems/files/auto_gem.rb.rubyee18 @@ -0,0 +1,7 @@ +# This file is installed by Gentoo's rubygems package. +# It's intended to help automate the loading of rubygems + +begin +require 'rubygems' +rescue LoadError +end diff --git a/dev-ruby/rubygems/rubygems-1.3.6-r1.ebuild b/dev-ruby/rubygems/rubygems-1.3.6-r1.ebuild new file mode 100644 index 000000000000..cb51f88f9c90 --- /dev/null +++ b/dev-ruby/rubygems/rubygems-1.3.6-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/rubygems-1.3.6-r1.ebuild,v 1.1 2010/05/01 10:18:57 a3li Exp $ + +EAPI="2" + +USE_RUBY="ruby18 ruby19 ree18 jruby" + +inherit ruby-ng + +DESCRIPTION="Centralized Ruby extension management system" +HOMEPAGE="http://rubyforge.org/projects/rubygems/" +LICENSE="|| ( Ruby GPL-2 )" + +# Needs to be installed first +RESTRICT="test" + +SRC_URI="mirror://rubyforge/${PN}/${P}.tgz" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd" +SLOT="0" +IUSE="doc server" + +# previous versions had rubygems bundled, so it would collide badly +RDEPEND="ruby_targets_jruby? ( >=dev-java/jruby-1.4.0-r5 )" + +# index_gem_repository.rb +PDEPEND="server? ( dev-ruby/builder[ruby_targets_ruby18] )" + +all_ruby_prepare() { + epatch "${FILESDIR}/${PN}-1.3.5-setup.patch" + # Fixes a new "feature" that would prevent us from recognizing installed + # gems inside the sandbox + epatch "${FILESDIR}/${PN}-1.3.3-gentoo.patch" +} + +each_ruby_prepare() { + case ${RUBY} in + *rubyee18) + epatch "${FILESDIR}/${PN}-rubyee.patch" + ;; + *) + ;; + esac +} + +each_ruby_install() { + # Unset RUBYOPT to avoid interferences, bug #158455 et. al. + unset RUBYOPT + + local gemsitedir=$(ruby_rbconfig_value 'sitelibdir' | sed -e 's:site_ruby:gems:') + + # rubygems tries to create GEM_HOME if it doesn't exist, upsetting sandbox, + # bug #202109. Since 1.2.0 we also need to set GEM_PATH for this reason, bug #230163 + export GEM_HOME="${D}${gemsitedir}" + export GEM_PATH="${GEM_HOME}/" + keepdir ${gemsitedir}/{doc,gems,cache,specifications} + + myconf="" + if ! use doc; then + myconf="${myconf} --no-ri" + myconf="${myconf} --no-rdoc" + fi + + ${RUBY} setup.rb $myconf --destdir="${D}" || die "setup.rb install failed" + + insinto $(ruby_rbconfig_value 'sitelibdir') + newins "${FILESDIR}/auto_gem.rb.$(basename ${RUBY})" auto_gem.rb || die "newins auto_gem failed" +} + +all_ruby_install() { + dodoc README || die "dodoc README failed" + + doenvd "${FILESDIR}/10rubygems" || die "doenvd 10rubygems failed" + + if use server; then + newinitd "${FILESDIR}/init.d-gem_server2" gem_server || die "newinitd failed" + newconfd "${FILESDIR}/conf.d-gem_server" gem_server || die "newconfd failed" + fi +} + +pkg_postinst() { + local gemsitedir=$(ruby_rbconfig_value 'sitelibdir' | sed -e 's:site_ruby:gems:') + SOURCE_CACHE="${gemsitedir}/source_cache" + if [[ -e "${SOURCE_CACHE}" ]]; then + rm "${SOURCE_CACHE}" + fi + + if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then + eselect ruby set $(eselect --brief --no-color ruby show | head -n1) + fi + + ewarn + ewarn "To switch between available Ruby profiles, execute as root:" + ewarn "\teselect ruby set ruby(18|19|...)" + ewarn +} + +pkg_postrm() { + ewarn "If you have uninstalled dev-ruby/rubygems, Ruby applications are unlikely" + ewarn "to run in current shells because of missing auto_gem." + ewarn "Please run \"unset RUBYOPT\" in your shells before using ruby" + ewarn "or start new shells" + ewarn + ewarn "If you have not uninstalled dev-ruby/rubygems, please do not unset " + ewarn "RUBYOPT" +}