diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-02-17 20:03:52 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-02-17 20:03:52 +0000 |
commit | 4935506e9a5cbfabd37c64093eac5f36c2ff0017 (patch) | |
tree | af9dd93ea349eacaf28286c7c45c7a083b0b7c31 /dev-lang/ruby | |
parent | 434d713861b70f6c6563d6ee50a8e64f14c970d9 (diff) |
gentoo resync : 17.02.2018
Diffstat (limited to 'dev-lang/ruby')
-rw-r--r-- | dev-lang/ruby/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/ruby/ruby-2.5.0-r2.ebuild | 238 |
2 files changed, 240 insertions, 0 deletions
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 6b76d094e23c..988f2a9958b1 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -6,8 +6,10 @@ DIST ruby-patches-2.2.9.tar.bz2 5764 BLAKE2B f50729480a4231db51de7981acb04dafa09 DIST ruby-patches-2.3.6.tar.bz2 3030 BLAKE2B 7c1e80ff0569a03672f53820c665933056b46bcf791c9132cb9f358f72df693749f02da65ca7469c3dd0f652d7dc7bfaa03dccd4eb900562361876023fb65b42 SHA512 54cc3f2bfd1967b8558736e5a5240b886a56b22defca5813f45b1f4dca9af169b4d59d60b327ec8411e824970ac6da1cec53cfc31833403742e9d6941e5a78f1 DIST ruby-patches-2.4.3.tar.bz2 2898 BLAKE2B e46502dbb0aa25c3d71693a6c04b433bd4de60f194cdd283517c4b08da190356885d9bca4a6765402088185fa8ec681156e8e8eecf0703a2c1ea7bb81adc0bf9 SHA512 d767d43c7df737469247e42e1c4205b8c6850c8f335a2869c884f145c037e9bab10492cc7cd2903f5c33e232cdc5bbdabb3e8da837c7bf420b9d58d1d33149ed DIST ruby-patches-2.5.0-r1.tar.bz2 1888 BLAKE2B 38358c4d10a5c825ad1d50aa9e538fbfb0875deffaecf2064be3c52d593539f37b83bf726437922b1f13bd3d5c63e30ae071cd75c891e7083d3a363c4b49c905 SHA512 39068008cd7050a6787cfe35ef0a21ebeb5128226153b80f8d34e89bc77d6159f32e6980dfd8f3e38fc748cf3d648d102b3dcfcb79a484a517a5008bfd8161b9 +DIST ruby-patches-2.5.0-r2.tar.bz2 2986 BLAKE2B 64d64eda19bff94f205a6314c2af59896064fb64c118e0f3859d82aeb7e58478170b9160804ab8faf569054b65228abeecc5900e568e17133c21e9aed9bdf589 SHA512 c2bca3f98c7bb1de267b9f07eb1b0903c499c79e9c9d0166a6924e88e837434f27ddedd7aead7ebbe32f0530f751601ac5486a0db46ee28b94d7cea13e0e7924 EBUILD ruby-2.2.9.ebuild 6916 BLAKE2B c194ff14baceedc1e76d9098aa346dfc83a8a4ceb11668f197b385ccbac5f3d9f40bc846e5a027c42f965d38ad448545f5311ef659beafd4cdc90f8cee84fa8c SHA512 ff1d71308241fe8859b5a7e23835742c209af547a0f61cf0d775b9c4d8df3acf9113e8fd4047743eae4fe86a6bf0ed5cf40bcc7de9e7c4792d8cd89b506f510e EBUILD ruby-2.3.6.ebuild 6880 BLAKE2B 534ce105bffa722b1aa7e8eafd9be380db692cdae032abf96a5328d8df7ccda7828784a3e935476da9083f5673b299262526474a4934f6c7c92e4509771a0734 SHA512 6a3202e69d2c26f4bbcb8ed198382e6a2d3d2e2c1481eec7a4e75c58de94fe1db1fd5423527c9554a0763d99551cab328fd0f7bc7b191f2eca5eb8393aa2aab9 EBUILD ruby-2.4.3.ebuild 6980 BLAKE2B 2a08be5225e43fd5e5d7c90ff63ed43b6eab9b6e69ac1df7aead9657d651267e8bc0e741e16a276bee7fe5ecca5565d17d1428d96e5713305d278f251cdd99f4 SHA512 f43e497753a3fcfc0ff3e4ff840ae8cf3003671da0fe55e62651c17592f885cdbb99ed76ff6b99581ffd0903d23bc03b5425839f884f9e0e7ed925fb748edd4d EBUILD ruby-2.5.0-r1.ebuild 6772 BLAKE2B f9ac0a58ebcd718715fb67cbbe90cc853a14d8ba717bd91e93645115c5b37dc4def3827dbd01ba7b91138468b124c3581f90a133e88884a7f2b9a902f3b4ad82 SHA512 ed302d0d2a27d002a1b89aaea3b25ce6c88660f1fd30469cc2d292cfe3679bc477b6f8ac986964db45541db091be3040ee8dc8a76f5c10995d307dcb4246042b +EBUILD ruby-2.5.0-r2.ebuild 6772 BLAKE2B f9ac0a58ebcd718715fb67cbbe90cc853a14d8ba717bd91e93645115c5b37dc4def3827dbd01ba7b91138468b124c3581f90a133e88884a7f2b9a902f3b4ad82 SHA512 ed302d0d2a27d002a1b89aaea3b25ce6c88660f1fd30469cc2d292cfe3679bc477b6f8ac986964db45541db091be3040ee8dc8a76f5c10995d307dcb4246042b MISC metadata.xml 911 BLAKE2B 7596a3d7a53742635e3262a0deac45eb6c37e51b473dde2b5da78742baba1ecab42a4a3e2f992cfa8f3765472df896ccff2e2936ba5dedba1aad05c2ab47d9dc SHA512 c5d9f15742132625061303ed71206e937933b402e183edbe0f37ee73ac7ba47b3f7ad54cbf12d1db3900a1f833ea2432790a10a02ba7e1e0c4bf128a716b9d72 diff --git a/dev-lang/ruby/ruby-2.5.0-r2.ebuild b/dev-lang/ruby/ruby-2.5.0-r2.ebuild new file mode 100644 index 000000000000..a6c97c1a7362 --- /dev/null +++ b/dev-lang/ruby/ruby-2.5.0-r2.ebuild @@ -0,0 +1,238 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +#PATCHSET=1 + +inherit autotools eutils flag-o-matic multilib versionator + +MY_P="${PN}-$(get_version_component_range 1-3)" +S=${WORKDIR}/${MY_P} + +SLOT=$(get_version_component_range 1-2) +MY_SUFFIX=$(delete_version_separator 1 ${SLOT}) +RUBYVERSION=${SLOT}.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/${SLOT}/${MY_P}.tar.xz + https://dev.gentoo.org/~graaff/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl static-libs tk xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl ) + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + virtual/libffi + sys-libs/zlib + >=app-eselect/eselect-ruby-20171225 +" + +DEPEND="${RDEPEND}" + +BUNDLED_GEMS=" + >=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25] + >=dev-ruby/minitest-5.10.3[ruby_targets_ruby25] + >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25] + >=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25] + >=dev-ruby/rake-12.3.0[ruby_targets_ruby25] + >=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25] + >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby25] + >=dev-ruby/json-2.0.2[ruby_targets_ruby25] + rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby25] ) + xemacs? ( app-xemacs/ruby-modes )" + +src_prepare() { + EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ + epatch "${WORKDIR}/patches" + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. Use explicit version numbers to ensure rm fails when they + # change so we can update dependencies accordingly. + rm -f gems/{did_you_mean-1.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die + + einfo "Removing bundled libraries..." + rm -fr ext/fiddle/libffi-3.2.1 || die + + eapply_user + + eautoreconf +} + +src_configure() { + local modules= myconf= + + # -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 berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + 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_with jemalloc jemalloc) \ + $(use_enable socks5 socks) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(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="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + RUBYLIB="${S}:${ED}/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 and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/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 "${EROOT}"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(23|24|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} |