summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Legler <a3li@gentoo.org>2010-05-01 10:18:57 +0000
committerAlex Legler <a3li@gentoo.org>2010-05-01 10:18:57 +0000
commit54381234d4b6619fdc0e66ede9e94544b5080d30 (patch)
tree22c07843e9ee843f69888f52643aa50e00a83a73
parentVersion bump (diff)
downloadgentoo-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/ChangeLog11
-rw-r--r--dev-ruby/rubygems/files/auto_gem.rb.jruby7
-rw-r--r--dev-ruby/rubygems/files/auto_gem.rb.ruby187
-rw-r--r--dev-ruby/rubygems/files/auto_gem.rb.ruby1910
-rw-r--r--dev-ruby/rubygems/files/auto_gem.rb.rubyee187
-rw-r--r--dev-ruby/rubygems/rubygems-1.3.6-r1.ebuild107
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"
+}