summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Legler <a3li@gentoo.org>2009-03-21 10:12:08 +0000
committerAlex Legler <a3li@gentoo.org>2009-03-21 10:12:08 +0000
commit712a13e8e76a7a87d4fb0c4cb4b77420f95f2218 (patch)
tree19def7b4313d4d22ca3fd314e329143e5db3e5e0 /dev-lang/ruby
parentAdding special version for Ruby 1.9.1 testing (diff)
downloadhistorical-712a13e8e76a7a87d4fb0c4cb4b77420f95f2218.tar.gz
historical-712a13e8e76a7a87d4fb0c4cb4b77420f95f2218.tar.bz2
historical-712a13e8e76a7a87d4fb0c4cb4b77420f95f2218.zip
Adding Ruby 1.9.1 for preliminary testing
Package-Manager: portage-2.2_rc26/cvs/Linux x86_64
Diffstat (limited to 'dev-lang/ruby')
-rw-r--r--dev-lang/ruby/ChangeLog9
-rw-r--r--dev-lang/ruby/Manifest14
-rw-r--r--dev-lang/ruby/files/ruby19-rubygems-gentoo.patch41
-rw-r--r--dev-lang/ruby/files/ruby19-rubygems-proxy.patch11
-rw-r--r--dev-lang/ruby/ruby-1.9.1.ebuild195
5 files changed, 264 insertions, 6 deletions
diff --git a/dev-lang/ruby/ChangeLog b/dev-lang/ruby/ChangeLog
index 8554ee0c1292..ae32b4785e42 100644
--- a/dev-lang/ruby/ChangeLog
+++ b/dev-lang/ruby/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-lang/ruby
# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.389 2009/03/20 07:47:40 tove Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.390 2009/03/21 10:12:08 a3li Exp $
+
+*ruby-1.9.1 (21 Mar 2009)
+
+ 21 Mar 2009; Alex Legler <a3li@gentoo.org>
+ +files/ruby19-rubygems-gentoo.patch, +files/ruby19-rubygems-proxy.patch,
+ +ruby-1.9.1.ebuild:
+ Adding Ruby 1.9.1 for preliminary testing
20 Mar 2009; Joseph Jezak <josejx@gentoo.org> ruby-1.8.7_p72-r10.ebuild,
ruby-1.8.6_p287-r12.ebuild:
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index 564716df1aa3..eb0011264454 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -8,20 +8,24 @@ AUX ruby-1.8.6_p111-r13657.patch 1915 RMD160 9c135a4e779095127bf7e5d47d2ae3b703e
AUX ruby-1.8.6_p287-entity_expansion_limit.diff 3423 RMD160 a3a48a3fdc3f5923e436e054625d25f7f10ba13c SHA1 642f90e45cb50413ef0ce3b31a5f8f712c55372f SHA256 a3d32bade6bfceb14b67bbc54744801c7ecf6c9e3f6a1204c46bea4a32012e37
AUX ruby-mkconfig.patch 407 RMD160 8fdec98672ce845a94c1b28a17747c1e9dd7ec72 SHA1 1e2b97282f4fa55d213dd0b4e7c75fc53367ce7f SHA256 b1ca3500ac50fa49fa1f478aa34f318cff8d92abcd75edfc80fd96338a59e2f4
AUX ruby-ossl_ocsp-verification.patch 1235 RMD160 73f221edff140dca5227adb693b562ec81401f83 SHA1 37a15d77b845cdb5a86fe049c069f1804efc18a8 SHA256 940f6db6f1bc58c6f4ac42439f908fd07e9711bc2522f043bf639ee2fced2856
+AUX ruby19-rubygems-gentoo.patch 1914 RMD160 9668808eb50ac0e96265d8756d6751f625c396dd SHA1 621918bcba23dbf2fdd1343ffd73b791bc94d996 SHA256 aeacba7ef60e7dee601303470bdc41216f2b5c9d3da88369849568bc95359512
+AUX ruby19-rubygems-proxy.patch 407 RMD160 0bfedce42f4879d729b8de650f99a345faaa7ec4 SHA1 aa23a497f0c581374f687690b0b1035092b4b488 SHA256 3cadd23dfbb128e7029ecc01aab3f00f1aaf011e50492c3a967812a2395e1a59
DIST onigd2_5_9.tar.gz 221355 RMD160 ceeee9a0221d431d6576a566621ba9badab6423d SHA1 41ca5b916ae1d3b1675fcc45181a0ed04e8726b7 SHA256 b24df7c0fa6fc72ce37fd1e203f378359f29f739a3f4c5b6bdd40ca5f7d25db0
DIST ruby-1.8.6-p114.tar.bz2 3920921 RMD160 332d6e98ef79ad8175ce699ed5293407763f769f SHA1 9929782935ebb77d040593a010b8d65b03ce6e23 SHA256 4ac0d0271324c54525210f775e5fcc9a37e3d8a10b96d68cdfeeb361c6f64a63
DIST ruby-1.8.6-p287.tar.bz2 3956902 RMD160 df0950f1cdf9ea26b6d2f04756d9db89ae295de4 SHA1 29b02ccab3c1d6b4a71148ad960e65b5f892fe17 SHA256 ac15a1cb78c50ec9cc7e831616a143586bdd566bc865c6b769a0c47b3b3936ce
DIST ruby-1.8.7-p72.tar.bz2 4127450 RMD160 07bf0d6987ba111aed988093c569fb66ba54891b SHA1 462e990a724580e4dfeeac5a271b93f6cfcbf5c7 SHA256 a8f8a28e286dd76747d8e97ea5cfe7a315eb896906ab8c8606d687d9f6f6146e
+DIST ruby-1.9.1-p0.tar.bz2 7190271 RMD160 a6b1b2451dfa82742762e4aeb54c78e831369e46 SHA1 59511d75112ccbe1b27b288c6bde6ad02930dd9c SHA256 de7d33aeabdba123404c21230142299ac1de88c944c9f3215b816e824dd33321
EBUILD ruby-1.8.6_p114.ebuild 4931 RMD160 2c4ebea5ed7e80ca3473397cdd126a987bdfe9ba SHA1 78d7d83667ae9abb46d4dc120c9dee6f2ceb485e SHA256 e20313c71ed6a2647af33d8f1164bf939a33741381fd7cceb8f7eb7d9ae5c182
EBUILD ruby-1.8.6_p287-r12.ebuild 5362 RMD160 3a8a31685e0f332679384c0941f18e3508e6b059 SHA1 7e1c2016c8caefcf628e87f08cdfe3a0684ee1de SHA256 2d3b652d23b9057bf5f519630fde665acd52561e919613336198f1232ac52661
EBUILD ruby-1.8.6_p287-r5.ebuild 5316 RMD160 8acdec45346fe85939549cc649aac8e00aef7633 SHA1 7bdb8386d10459dcb53d4d965b1603baec66704d SHA256 995ba553e3a6bf73fe8b021c07073f0682260d3a8b393b621165f0eea5d3933c
EBUILD ruby-1.8.7_p72-r10.ebuild 5687 RMD160 e87a34a29dcd94162db1fcedb3bd3730ba3aacd2 SHA1 022a7ca26aa9819f3e89c9169bd199aa0e0b6ee1 SHA256 74ff325e7f56e1a01507e091774a3539b1b07675fd1338d9dc5a26a07dbe91ea
-MISC ChangeLog 58417 RMD160 abcc73ccc0034cb35f05e2e9ba5b7b57b786be75 SHA1 43bd0fbec46187f4953d341784cba6e77e0585a3 SHA256 94058cc12cdb1d2100c1d684f005f5dfe3642de96449e8081fc14491eb81f296
+EBUILD ruby-1.9.1.ebuild 5477 RMD160 8b26c1245bc601344f6a31bf166e7adabcde4266 SHA1 bd0d3867f9f200425fa290c42e0b2df34140ac7e SHA256 592f32824c0e506ba5e0f981af90b44991f4670b4dc5630f51a397c19937a66d
+MISC ChangeLog 58631 RMD160 050a2c106f77c3304e2c5b3f98f5e5666bb96d9e SHA1 87303ca237f5ab65bfd4569e620ec42d80a38c96 SHA256 6e08f7da84f7f869cbfd0219c96c0a8430e0002df72fa96da9dd37d0d426c95a
MISC metadata.xml 262 RMD160 f8642aa78425fe09dc0e0660cb20a5bd4233d5bb SHA1 64def0369477ecf76b9285fb9c1cf0e6a4f334e5 SHA256 5ee3c0cfedcb966505e4fafcfc5321a8ee20c128da9bbcafff5aa268df588d59
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.9 (GNU/Linux)
+Version: GnuPG v2.0.10 (GNU/Linux)
-iEYEARECAAYFAknDSiIACgkQV3J2n04EauyFbACfZNg/AYMfnOOjO+7eQIeYT8UE
-VKoAoImHPgrXVaulRtcIaKu8haM0UKxR
-=POsj
+iEYEARECAAYFAknEvX8ACgkQk3qunHEll7P+BgCfTRhq+FF9Q2rzKjD2pqOj+v0p
+YpoAn2yL6YiWG0PWQmm7nbmKn9nDKCYF
+=54fD
-----END PGP SIGNATURE-----
diff --git a/dev-lang/ruby/files/ruby19-rubygems-gentoo.patch b/dev-lang/ruby/files/ruby19-rubygems-gentoo.patch
new file mode 100644
index 000000000000..754d663c8009
--- /dev/null
+++ b/dev-lang/ruby/files/ruby19-rubygems-gentoo.patch
@@ -0,0 +1,41 @@
+diff -ru a/lib/rubygems/commands/install_command.rb b/lib/rubygems/commands/install_command.rb
+--- a/lib/rubygems/commands/install_command.rb 2008-09-11 01:54:41.000000000 +0200
++++ b/lib/rubygems/commands/install_command.rb 2008-09-28 10:24:27.000000000 +0200
+@@ -76,6 +76,7 @@
+ :wrappers => options[:wrappers],
+ :bin_dir => options[:bin_dir],
+ :development => options[:development],
++ :sandbox_fix => options[:sandbox_fix],
+ }
+
+ exit_code = 0
+diff -ru a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb
+--- a/lib/rubygems/dependency_installer.rb 2008-08-12 23:50:22.000000000 +0200
++++ b/lib/rubygems/dependency_installer.rb 2008-09-28 10:22:21.000000000 +0200
+@@ -40,9 +40,10 @@
+ # :security_policy:: See Gem::Installer::new and Gem::Security.
+ # :user_install:: See Gem::Installer.new
+ # :wrappers:: See Gem::Installer::new
++ # :sandbox_fix:: Gentoo patch to repair compatibility
+
+ 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 2008-06-24 20:56:30.000000000 +0200
++++ b/lib/rubygems/install_update_options.rb 2008-09-28 10:24:09.000000000 +0200
+@@ -83,6 +83,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-lang/ruby/files/ruby19-rubygems-proxy.patch b/dev-lang/ruby/files/ruby19-rubygems-proxy.patch
new file mode 100644
index 000000000000..c1719ccdef14
--- /dev/null
+++ b/dev-lang/ruby/files/ruby19-rubygems-proxy.patch
@@ -0,0 +1,11 @@
+--- lib/rubygems/remote_fetcher.rb.1 2008-06-21 23:21:17.000000000 +0200
++++ lib/rubygems/remote_fetcher.rb 2008-09-23 20:37:24.000000000 +0200
+@@ -195,7 +195,7 @@
+
+ return nil if env_proxy.nil? or env_proxy.empty?
+
+- uri = URI.parse env_proxy
++ uri = URI.parse normalize_uri env_proxy
+
+ if uri and uri.user.nil? and uri.password.nil? then
+ # Probably we have http_proxy_* variables?
diff --git a/dev-lang/ruby/ruby-1.9.1.ebuild b/dev-lang/ruby/ruby-1.9.1.ebuild
new file mode 100644
index 000000000000..43dc77cc6e6f
--- /dev/null
+++ b/dev-lang/ruby/ruby-1.9.1.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-1.9.1.ebuild,v 1.1 2009/03/21 10:12:08 a3li Exp $
+
+inherit autotools eutils flag-o-matic multilib versionator
+
+# Add p0 patchlevel
+MY_P="${P}-p0"
+
+# 1.9.1.0 -> 1.9
+SLOT=$(get_version_component_range 1-2)
+
+# 1.9.1.0 -> 1.9.1 (used in libdirs)
+RUBYVERSION=$(get_version_component_range 1-3)
+
+# 1.9 -> 19
+MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
+
+DESCRIPTION="An object-oriented scripting language"
+HOMEPAGE="http://www.ruby-lang.org/"
+SRC_URI="mirror://ruby/${MY_P}.tar.bz2"
+
+LICENSE="|| ( Ruby GPL-2 )"
+KEYWORDS="~amd64 ~x86"
+IUSE="berkdb debug doc emacs examples gdbm ipv6 rubytests socks5 ssl tk xemacs"
+
+RDEPEND="
+ berkdb? ( sys-libs/db )
+ gdbm? ( sys-libs/gdbm )
+ ssl? ( dev-libs/openssl )
+ socks5? ( >=net-proxy/dante-1.1.13 )
+ tk? ( dev-lang/tk )
+ >=app-admin/eselect-ruby-20080921
+ !=dev-lang/ruby-cvs-${SLOT}*
+ !dev-ruby/rdoc
+ !dev-ruby/rexml"
+DEPEND="${RDEPEND}"
+PDEPEND="
+ emacs? ( app-emacs/ruby-mode )
+ xemacs? ( app-xemacs/ruby-modes )"
+
+PROVIDE="virtual/ruby"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ ewarn
+ ewarn "It is highly recommended to install dev-ruby/rubygems-1.3.1-r30"
+ ewarn "if you have Ruby 1.8 on this system installed, too."
+ ewarn
+ epause 5
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+
+ # Patch wrt bug #238061
+ epatch "${FILESDIR}/ruby19-rubygems-proxy.patch"
+ # Patch for rubygems to find installed gems outside of the sandbox
+ epatch "${FILESDIR}/ruby19-rubygems-gentoo.patch"
+
+ epatch "${FILESDIR}/${PN}-ossl_ocsp-verification.patch"
+
+ # Strip rake
+ rm "bin/rake"
+ rm "lib/rake.rb"
+ rm -rf "lib/rake"
+
+ # Fix a hardcoded lib path in configure script
+ sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
+ configure.in || die "sed failed"
+
+ eautoreconf
+}
+
+src_compile() {
+ # -fomit-frame-pointer makes ruby segfault, see bug #150413.
+ filter-flags -fomit-frame-pointer
+ # In many places aliasing rules are broken; play it safe
+ # as it's risky with newer compilers to leave it as it is.
+ append-flags -fno-strict-aliasing
+
+ # Socks support via dante
+ if use socks5 ; then
+ # Socks support can't be disabled as long as SOCKS_SERVER is
+ # set and socks library is present, so need to unset
+ # SOCKS_SERVER in that case.
+ unset SOCKS_SERVER
+ fi
+
+ # Increase GC_MALLOC_LIMIT if set (default is 8000000)
+ if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
+ append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
+ fi
+
+ econf --program-suffix=${MY_SUFFIX} --enable-shared --enable-pthread \
+ $(use_enable socks5 socks) \
+ $(use_enable doc install-doc) \
+ $(use_enable ipv6) \
+ $(use_enable debug) \
+ $(use_with berkdb dbm) \
+ $(use_with gdbm) \
+ $(use_with ssl openssl) \
+ $(use_with tk) \
+ ${myconf} \
+ --enable-option-checking=no \
+ || die "econf failed"
+
+ emake EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_test() {
+ emake test || die "make test failed"
+
+ elog "Ruby's make test has been run. Ruby also ships with a make check"
+ elog "that cannot be run until after ruby has been installed."
+ elog
+ if use rubytests; then
+ elog "You have enabled rubytests, so they will be installed to"
+ elog "/usr/share/${PN}-${RUBYVERSION}/test. To run them you must be a user other"
+ elog "than root, and you must place them into a writeable directory."
+ elog "Then call: "
+ elog
+ elog "ruby19 -C /location/of/tests runner.rb"
+ else
+ elog "Enable the rubytests USE flag to install the make check tests"
+ fi
+}
+
+src_install() {
+ # Ruby is involved in the install process, we don't want interference here.
+ unset RUBYOPT
+
+ # Creating the rubygems directories, bug #230163 once more.
+ local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
+ keepdir /usr/$(get_libdir)/ruby${MY_SUFFIX}/gems/${RUBYVERSION}/{doc,gems,cache,specifications}
+
+ export GEM_HOME="${D}/usr/$(get_libdir)/ruby${MY_SUFFIX}/gems/${RUBYVERSION}"
+ export GEM_PATH="${GEM_HOME}/"
+
+ LD_LIBRARY_PATH="${D}/usr/$(get_libdir)"
+ RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
+ for d in $(find "${S}/ext" -type d) ; do
+ RUBYLIB="${RUBYLIB}:$d"
+ done
+ export LD_LIBRARY_PATH RUBYLIB
+
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitelibdir']")
+ keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitearchdir']")
+
+ if use doc; then
+ make DESTDIR="${D}" install-doc || die "make install-doc failed"
+ fi
+
+ if use examples; then
+ dodir /usr/share/doc/${PF}
+ cp -pPR sample "${D}/usr/share/doc/${PF}"
+ fi
+
+ dosym "libruby${MY_SUFFIX}$(get_libname ${PV%_*})" \
+ "/usr/$(get_libdir)/libruby$(get_libname ${PV%.*})"
+ dosym "libruby${MY_SUFFIX}$(get_libname ${PV%_*})" \
+ "/usr/$(get_libdir)/libruby$(get_libname ${PV%_*})"
+
+ dodoc ChangeLog NEWS doc/NEWS-1.8.7 README* ToDo
+
+ if use rubytests; then
+ dodir /usr/share/${PN}-${RUBYVERSION}
+ cp -pPR test "${D}/usr/share/${PN}-${RUBYVERSION}"
+ fi
+
+ insinto /usr/$(get_libdir)/ruby${MY_SUFFIX}/site_ruby/
+ newins "${FILESDIR}/auto_gem.rb" auto_gem.rb
+}
+
+pkg_postinst() {
+ if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
+ eselect ruby set ruby${MY_SUFFIX}
+ fi
+
+ elog
+ elog "To switch between available Ruby profiles, execute as root:"
+ elog "\teselect ruby set ruby(18|19|...)"
+ elog
+}
+
+pkg_postrm() {
+ if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
+ eselect ruby set ruby${MY_SUFFIX}
+ fi
+}