diff options
author | Alex Legler <a3li@gentoo.org> | 2009-03-21 10:12:08 +0000 |
---|---|---|
committer | Alex Legler <a3li@gentoo.org> | 2009-03-21 10:12:08 +0000 |
commit | 712a13e8e76a7a87d4fb0c4cb4b77420f95f2218 (patch) | |
tree | 19def7b4313d4d22ca3fd314e329143e5db3e5e0 /dev-lang/ruby | |
parent | Adding special version for Ruby 1.9.1 testing (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-lang/ruby/Manifest | 14 | ||||
-rw-r--r-- | dev-lang/ruby/files/ruby19-rubygems-gentoo.patch | 41 | ||||
-rw-r--r-- | dev-lang/ruby/files/ruby19-rubygems-proxy.patch | 11 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-1.9.1.ebuild | 195 |
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 +} |