diff options
author | Alex Legler <a3li@gentoo.org> | 2010-05-01 10:18:57 +0000 |
---|---|---|
committer | Alex Legler <a3li@gentoo.org> | 2010-05-01 10:18:57 +0000 |
commit | 54381234d4b6619fdc0e66ede9e94544b5080d30 (patch) | |
tree | 22c07843e9ee843f69888f52643aa50e00a83a73 | |
parent | Version bump (diff) | |
download | gentoo-2-54381234d4b6619fdc0e66ede9e94544b5080d30.tar.gz gentoo-2-54381234d4b6619fdc0e66ede9e94544b5080d30.tar.bz2 gentoo-2-54381234d4b6619fdc0e66ede9e94544b5080d30.zip |
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.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
-rw-r--r-- | dev-ruby/rubygems/ChangeLog | 11 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/auto_gem.rb.jruby | 7 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/auto_gem.rb.ruby18 | 7 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/auto_gem.rb.ruby19 | 10 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/auto_gem.rb.rubyee18 | 7 | ||||
-rw-r--r-- | dev-ruby/rubygems/rubygems-1.3.6-r1.ebuild | 107 |
6 files changed, 148 insertions, 1 deletions
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 <a3li@gentoo.org> +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 <a3li@gentoo.org> +files/rubygems-rubyee.patch: Add missing patch 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" +} |