diff options
author | Alex Legler <a3li@gentoo.org> | 2009-05-09 08:39:38 +0000 |
---|---|---|
committer | Alex Legler <a3li@gentoo.org> | 2009-05-09 08:39:38 +0000 |
commit | be867f2e6d6d9ef519c633db7bb9c9ecc684d924 (patch) | |
tree | 989ebede6d7e9ba80fa1dddbd4959aae8edfcd40 /dev-ruby/rubygems | |
parent | Fix building (bug #269075). (diff) | |
download | gentoo-2-be867f2e6d6d9ef519c633db7bb9c9ecc684d924.tar.gz gentoo-2-be867f2e6d6d9ef519c633db7bb9c9ecc684d924.tar.bz2 gentoo-2-be867f2e6d6d9ef519c633db7bb9c9ecc684d924.zip |
Version bump
(Portage version: 2.2_rc33/cvs/Linux x86_64)
Diffstat (limited to 'dev-ruby/rubygems')
-rw-r--r-- | dev-ruby/rubygems/ChangeLog | 8 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/rubygems-1.3.3-gentoo.patch | 31 | ||||
-rw-r--r-- | dev-ruby/rubygems/files/rubygems-1.3.3-setup.patch | 31 | ||||
-rw-r--r-- | dev-ruby/rubygems/rubygems-1.3.3.ebuild | 105 |
4 files changed, 174 insertions, 1 deletions
diff --git a/dev-ruby/rubygems/ChangeLog b/dev-ruby/rubygems/ChangeLog index 9c1674799434..a9b8c468d7dc 100644 --- a/dev-ruby/rubygems/ChangeLog +++ b/dev-ruby/rubygems/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-ruby/rubygems # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/ChangeLog,v 1.119 2009/03/21 09:50:56 a3li Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/ChangeLog,v 1.120 2009/05/09 08:39:37 a3li Exp $ + +*rubygems-1.3.3 (09 May 2009) + + 09 May 2009; Alex Legler <a3li@gentoo.org> +rubygems-1.3.3.ebuild, + +files/rubygems-1.3.3-gentoo.patch, +files/rubygems-1.3.3-setup.patch: + Version bump *rubygems-1.3.1-r30 (20 Mar 2009) diff --git a/dev-ruby/rubygems/files/rubygems-1.3.3-gentoo.patch b/dev-ruby/rubygems/files/rubygems-1.3.3-gentoo.patch new file mode 100644 index 000000000000..1c8c4dc34f91 --- /dev/null +++ b/dev-ruby/rubygems/files/rubygems-1.3.3-gentoo.patch @@ -0,0 +1,31 @@ +Fix a mismatch between our use of a sandbox while installing and +rubygems' assumptions on where to find already installed gems. +Patch by a3li@g.o. + +diff -ru a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb +--- a/lib/rubygems/dependency_installer.rb 2009-03-05 02:07:04.000000000 +0100 ++++ b/lib/rubygems/dependency_installer.rb 2009-05-08 23:41:53.000000000 +0200 +@@ -44,7 +44,7 @@ + # :wrappers:: See Gem::Installer::new + + def initialize(options = {}) +- if options[:install_dir] then ++ if options[:install_dir] and not options[:sandbox_fix] then + spec_dir = options[:install_dir], 'specifications' + @source_index = Gem::SourceIndex.from_gems_in spec_dir + else +diff -ru a/lib/rubygems/install_update_options.rb b/lib/rubygems/install_update_options.rb +--- a/lib/rubygems/install_update_options.rb 2009-03-14 00:01:10.000000000 +0100 ++++ b/lib/rubygems/install_update_options.rb 2009-05-08 23:43:05.000000000 +0200 +@@ -86,6 +86,11 @@ + options[:include_dependencies] = value + end + ++ add_option(:"Install/Update", '--sandbox-fix', ++ 'Fix specifications lookup path [Gentoo patch]') do |value, options| ++ options[:sandbox_fix] = true ++ end ++ + add_option(:"Install/Update", '--[no-]format-executable', + 'Make installed executable names match ruby.', + 'If ruby is ruby18, foo_exec will be', diff --git a/dev-ruby/rubygems/files/rubygems-1.3.3-setup.patch b/dev-ruby/rubygems/files/rubygems-1.3.3-setup.patch new file mode 100644 index 000000000000..3306dfe28856 --- /dev/null +++ b/dev-ruby/rubygems/files/rubygems-1.3.3-setup.patch @@ -0,0 +1,31 @@ +--- lib/rubygems/commands/setup_command.rb.0 2009-04-03 02:46:29.000000000 +0200 ++++ lib/rubygems/commands/setup_command.rb 2009-05-08 23:34:19.000000000 +0200 +@@ -111,8 +111,6 @@ + + remove_old_bin_files bin_dir + +- remove_source_caches install_destdir +- + install_rdoc + + say +@@ -226,10 +224,6 @@ + if File.writable? gem_doc_dir and + (not File.exist? rubygems_doc_dir or + File.writable? rubygems_doc_dir) then +- say "Removing old RubyGems RDoc and ri" +- Dir[File.join(Gem.dir, 'doc', 'rubygems-[0-9]*')].each do |dir| +- rm_rf dir +- end + + if options[:ri] then + ri_dir = File.join rubygems_doc_dir, 'ri' +@@ -343,7 +337,7 @@ + + args << '--quiet' + args << '--main' << 'README' +- args << '.' << 'README' << 'LICENSE.txt' << 'GPL.txt' ++ args << '.' << 'README' + + r = RDoc::RDoc.new + r.document args diff --git a/dev-ruby/rubygems/rubygems-1.3.3.ebuild b/dev-ruby/rubygems/rubygems-1.3.3.ebuild new file mode 100644 index 000000000000..c4c31a288ea8 --- /dev/null +++ b/dev-ruby/rubygems/rubygems-1.3.3.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-ruby/rubygems/rubygems-1.3.3.ebuild,v 1.1 2009/05/09 08:39:37 a3li Exp $ + +inherit ruby + +DESCRIPTION="Centralized Ruby extension management system" +HOMEPAGE="http://rubyforge.org/projects/rubygems/" +LICENSE="|| ( Ruby GPL-2 )" + +# Needs to be installed first +RESTRICT="test" + +# The URL depends implicitly on the version, unfortunately. Even if you +# change the filename on the end, it still downloads the same file. +SRC_URI="mirror://rubyforge/${PN}/${P}.tgz" + +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +SLOT="0" +IUSE="doc server" +DEPEND="=dev-lang/ruby-1.8*" +RDEPEND="${DEPEND}" +PDEPEND="server? ( dev-ruby/builder )" # index_gem_repository.rb + +USE_RUBY="ruby18" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${PN}-1.3.3-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" +} + +src_compile() { + # Allowing ruby_src_compile would be bad with the new setup.rb + : +} + +src_install() { + # RUBYOPT=-rauto_gem without rubygems installed will cause ruby to fail, bug #158455 + export RUBYOPT="${GENTOO_RUBYOPT}" + ewarn "RUBYOPT=${RUBYOPT}" + + # Force ebuild to use Ruby 1.8 + export RUBY="/usr/bin/ruby18" + + ver=$(${RUBY} -r rbconfig -e 'print Config::CONFIG["ruby_version"]') + + # 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}/usr/$(get_libdir)/ruby/gems/${ver}" + export GEM_PATH="${GEM_HOME}/" + keepdir /usr/$(get_libdir)/ruby/gems/$ver/{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" + + dodoc README || die "dodoc README failed" + + cp "${FILESDIR}/auto_gem.rb" "${D}"/$(${RUBY} -r rbconfig -e 'print Config::CONFIG["sitedir"]') || die "cp auto_gem.rb 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() +{ + SOURCE_CACHE="/usr/$(get_libdir)/ruby/gems/$ver/source_cache" + if [[ -e "${SOURCE_CACHE}" ]]; then + rm "${SOURCE_CACHE}" + fi + + if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then + eselect ruby set ruby18 + fi + + ewarn + ewarn "This ebuild is compatible to eselect-ruby" + 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" +} |