diff options
author | Alex Legler <a3li@gentoo.org> | 2010-05-16 13:30:02 +0000 |
---|---|---|
committer | Alex Legler <a3li@gentoo.org> | 2010-05-16 13:30:02 +0000 |
commit | 38efd55ef39de645bcd753dab0a8d257f1c4d6cd (patch) | |
tree | cccd04c2c45ee84cffc340739eb0681ecb55364d /dev-ruby/rubygems | |
parent | x86 stable wrt bug #317143 (diff) | |
download | gentoo-2-38efd55ef39de645bcd753dab0a8d257f1c4d6cd.tar.gz gentoo-2-38efd55ef39de645bcd753dab0a8d257f1c4d6cd.tar.bz2 gentoo-2-38efd55ef39de645bcd753dab0a8d257f1c4d6cd.zip |
Fix 1.9 gem installation path. Homedir-installed gems are now in ~/.gem/ruby/1.9.1 instead of ~/.gem/ruby19/1.9.1. The systemwide installation directory will follow that change eventually. Closes bug 319977.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'dev-ruby/rubygems')
-rw-r--r-- | dev-ruby/rubygems/ChangeLog | 11 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/rubygems-1.3.7-ruby19.patch | 14 | ||||
-rw-r--r-- | dev-ruby/rubygems/rubygems-1.3.7-r1.ebuild | 119 |
3 files changed, 143 insertions, 1 deletions
diff --git a/dev-ruby/rubygems/ChangeLog b/dev-ruby/rubygems/ChangeLog index d031036797c9..5d09fa8b5e10 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.141 2010/05/14 19:04:17 a3li Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/ChangeLog,v 1.142 2010/05/16 13:30:02 a3li Exp $ + +*rubygems-1.3.7-r1 (16 May 2010) + + 16 May 2010; Alex Legler <a3li@gentoo.org> +rubygems-1.3.7-r1.ebuild, + +files/rubygems-1.3.7-ruby19.patch: + Fix 1.9 gem installation path. Homedir-installed gems are now in + ~/.gem/ruby/1.9.1 instead of ~/.gem/ruby19/1.9.1. The systemwide + installation directory will follow that change eventually. Closes bug + 319977. *rubygems-1.3.7 (14 May 2010) diff --git a/dev-ruby/rubygems/files/rubygems-1.3.7-ruby19.patch b/dev-ruby/rubygems/files/rubygems-1.3.7-ruby19.patch new file mode 100644 index 000000000000..6d71989f8c3d --- /dev/null +++ b/dev-ruby/rubygems/files/rubygems-1.3.7-ruby19.patch @@ -0,0 +1,14 @@ +Smaller portion of the REE patch. +We still need to bend the gem installation path until we install 1.9 in /usr/lib/ruby/ just like 1.8. + +--- lib/rubygems/defaults.rb.orig 2010-05-16 15:11:19.359858029 +0200 ++++ lib/rubygems/defaults.rb 2010-05-16 15:11:43.855868924 +0200 +@@ -24,7 +24,7 @@ + File.join(ConfigMap[:rubylibprefix], 'gems', + ConfigMap[:ruby_version]) + else +- File.join(ConfigMap[:libdir], ruby_engine, 'gems', ++ File.join(ConfigMap[:sitedir].gsub(/site_ruby\/?$/, ''), 'gems', + ConfigMap[:ruby_version]) + end + end diff --git a/dev-ruby/rubygems/rubygems-1.3.7-r1.ebuild b/dev-ruby/rubygems/rubygems-1.3.7-r1.ebuild new file mode 100644 index 000000000000..3adf527a16bc --- /dev/null +++ b/dev-ruby/rubygems/rubygems-1.3.7-r1.ebuild @@ -0,0 +1,119 @@ +# 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.7-r1.ebuild,v 1.1 2010/05/16 13:30:02 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 ) + ruby_targets_ruby19? ( >=dev-lang/ruby-1.9.1_p376 ) +" + +# 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}/${P}-rubyee.patch" || die "ree patch failed" + ;; + *ruby19) + epatch "${FILESDIR}/${P}-ruby19.patch" || die "ruby19 patch failed" + ;; + *) + ;; + 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 +} + +clear_source_cache() { + 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}" + einfo "Cleared gem source cache." + fi +} + +pkg_postinst() { + _ruby_each_implementation clear_source_cache + + 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" +} |