diff options
author | Hans de Graaff <graaff@gentoo.org> | 2016-04-04 08:42:00 +0200 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2016-04-04 08:42:00 +0200 |
commit | 724153cda9817c0d0f3cf3e803bcacac3ff1d5e2 (patch) | |
tree | 0a38eadad30962267f8d6031a96415089e911adb | |
parent | dev-ruby/amqp: add 1.6.0 (diff) | |
download | gentoo-724153cda9817c0d0f3cf3e803bcacac3ff1d5e2.tar.gz gentoo-724153cda9817c0d0f3cf3e803bcacac3ff1d5e2.tar.bz2 gentoo-724153cda9817c0d0f3cf3e803bcacac3ff1d5e2.zip |
dev-lang/ruby: add 2.1.10
Package-Manager: portage-2.2.26
-rw-r--r-- | dev-lang/ruby/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-2.1.10.ebuild | 230 |
2 files changed, 232 insertions, 0 deletions
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 2c5ea82db2d6..412474198e4a 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -1,5 +1,6 @@ DIST ruby-2.0.0-p647.tar.xz 8301008 SHA256 9f793880df1209ea4e5c10ee9d8ef79caa0e73ee769f745f1c191505255e2847 SHA512 38fd2ad631588a0e8adf9a7ae01cb5274eca4fd794c5ed7030e5fae9e53cd8920eaac9d388c73b844a154c7eb56fa6fed8e2ee5df5617efd624b6a568ea4953b WHIRLPOOL c8ec19ed900e6578f1f6e08d1e2a5c015cfa6e81379fb0437a1167ffb8bc56561d02b4b5b35a674039f7adcd2c43b222b89e139cb0ea702e8bfec886872c8e6a DIST ruby-2.0.0-p648.tar.xz 8303584 SHA256 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 SHA512 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 WHIRLPOOL ef78b838d061b1707219453a70c8b4a503d46e9f95797007555943a837de21f22c0c93039c75172d7df4fe9b5eca38472ee7177f98785cb5993c7e80140a1d27 +DIST ruby-2.1.10.tar.xz 9362868 SHA256 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 SHA512 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 WHIRLPOOL c069461eca483db74ffd72efb3279eea3949975e504d1b38ef76d4226f6e85cc3d337a358453fb4910f3b1306fc903ce38f156c7af65d207d2a4732571ef9ac1 DIST ruby-2.1.7.tar.xz 9371208 SHA256 225c067d9820fe52fcffbfb91d5b5243708a0b666b9929bea466e9379eb40ad7 SHA512 a4f2a3a684517678442b4ad3bda50433634317c910e8c13c844dffe470532bae5fd8d72b3f83c9a36865f303fe0464703e30854b3e55a558a758252b5e594406 WHIRLPOOL 54fae59b754aebbf1736720e042574ed4a0b4f7c1518742f8215bb396bb7416ee7b50df7d27167337e10eef518f1d488a48d064bfcbfac0065aa8313296fe263 DIST ruby-2.1.8.tar.xz 9382672 SHA256 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d SHA512 c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 WHIRLPOOL 542e61ec35a5dacf0ee49daeaf70c2cc3efb605685013eea48208709a4eea6eb83413ff32839dab1d316a60d6d5ebc75811f8085c39b08205c36d815460e7549 DIST ruby-2.1.9.tar.xz 9395648 SHA256 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a SHA512 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 WHIRLPOOL bb2fa158d837f9c278cab93ecb1a8f6a00ddff12c40d1fa5ffb6b55741dc71268fef40fc9f30508dc89b27a05fe9f3b4fbf739ba69ab4e62f669f82a15d26dfa @@ -9,6 +10,7 @@ DIST ruby-2.2.4.tar.xz 10464500 SHA256 d28bff4641e382681c58072ddc244d025ac47ff71 DIST ruby-2.3.0.tar.xz 11294412 SHA256 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 SHA512 d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 WHIRLPOOL 1d39136dad87580339f87057649d136e1b76cb58118b275d6847b791be8f6882820de892d9fb7144991a7acf30c355311fd289d1a7931fd018b3b95398945c07 DIST ruby-patches-2.0.0_p647-r1.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd DIST ruby-patches-2.0.0_p648.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd +DIST ruby-patches-2.1.10.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a DIST ruby-patches-2.1.7-r1.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a DIST ruby-patches-2.1.7.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a DIST ruby-patches-2.1.8.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a diff --git a/dev-lang/ruby/ruby-2.1.10.ebuild b/dev-lang/ruby/ruby-2.1.10.ebuild new file mode 100644 index 000000000000..82cc4e6f9c83 --- /dev/null +++ b/dev-lang/ruby/ruby-2.1.10.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +#PATCHSET=1 + +inherit autotools eutils flag-o-matic multilib versionator + +RUBYPL=$(get_version_component_range 4) + +MY_P="${PN}-$(get_version_component_range 1-3)" +#MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}" +S=${WORKDIR}/${MY_P} + +SLOT=$(get_version_component_range 1-2) +MY_SUFFIX=$(delete_version_separator 1 ${SLOT}) +RUBYVERSION=2.1.0 + +if [[ -n ${PATCHSET} ]]; then + if [[ ${PVR} == ${PV} ]]; then + PATCHSET="${PV}-r0.${PATCHSET}" + else + PATCHSET="${PVR}.${PATCHSET}" + fi +else + PATCHSET="${PVR}" +fi + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="http://www.ruby-lang.org/" +SRC_URI="mirror://ruby/2.1/${MY_P}.tar.xz + https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm ) + ssl? ( dev-libs/openssl:0 ) + socks5? ( >=net-proxy/dante-1.1.13 ) + ncurses? ( sys-libs/ncurses:0= ) + readline? ( sys-libs/readline:0 ) + dev-libs/libyaml + virtual/libffi + sys-libs/zlib + >=app-eselect/eselect-ruby-20131227 + !<dev-ruby/rdoc-3.9.4 + !<dev-ruby/rubygems-1.8.10-r1" + +DEPEND="${RDEPEND}" +PDEPEND=" + virtual/rubygems[ruby_targets_ruby21] + >=dev-ruby/json-1.8.1[ruby_targets_ruby21] + >=dev-ruby/rake-0.9.6[ruby_targets_ruby21] + rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby21] ) + xemacs? ( app-xemacs/ruby-modes )" + +src_prepare() { + EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ + epatch "${WORKDIR}/patches" + + # We can no longer unbundle all of rake because rubygems now depends + # on this. We leave the actual rake code around to bootstrap + # rubygems, but remove the bits that would cause a file collision. + einfo "Unbundling gems..." + cd "$S" + rm -r \ + {bin,lib}/rake lib/rake.rb man/rake.1 \ + bin/gem || die "removal failed" + + # 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_configure() { + local myconf= + + # The Tk module can no longer be built because the module code is no + # longer compatible with newer stable versions. + # https://bugs.gentoo.org/show_bug.cgi?id=500894 + local modules="tk" + + # -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 + # SuperH needs this + use sh && append-flags -mieee + + # 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 + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use readline ; then + modules="${modules},readline" + fi + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use ncurses ; then + modules="${modules},curses" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --docdir=${EPREFIX}/usr/share/doc/${P} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --with-out-ext="${modules}" \ + $(use_enable socks5 socks) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable debug) \ + ${myconf} \ + --enable-option-checking=no \ + || die "econf failed" +} + +src_compile() { + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed" +} + +src_test() { + emake -j1 V=1 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}-${SLOT}/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 "ruby${MY_SUFFIX} -C /location/of/tests runner.rb" + else + elog "Enable the rubytests USE flag to install the make check tests" + fi +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + rm -rf ext/json || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + 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 V=1 DESTDIR="${D}" install || die "make install failed" + + # Remove installed rubygems copy + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + make DESTDIR="${D}" install-doc || die "make install-doc failed" + fi + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r sample + fi + + dodoc ChangeLog NEWS doc/NEWS* README* || die + + if use rubytests; then + pushd test + insinto /usr/share/${PN}-${SLOT}/test + doins -r . + popd + fi +} + +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(19|20|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} |