summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/rubinius/Manifest1
-rw-r--r--dev-lang/rubinius/rubinius-3.43.ebuild89
2 files changed, 90 insertions, 0 deletions
diff --git a/dev-lang/rubinius/Manifest b/dev-lang/rubinius/Manifest
index 71c8a2d2e09..d780d9e812d 100644
--- a/dev-lang/rubinius/Manifest
+++ b/dev-lang/rubinius/Manifest
@@ -1,2 +1,3 @@
DIST rubinius-2.5.3.tar.bz2 11636033 SHA256 9af4d6e9d1e78a586579c86b9eb9a082cb863885d4a7cf33989d73280461e5fc SHA512 b923446d325dc3ce5ad28af9ee527607fae3259b85e85aeff97c1bebbb4520daf70616957b1c0ded900ed19e59025826dee66977c19cd2a2d4e9a0296811eb20 WHIRLPOOL 9ec26e62fde5d55153ce8f7fc8b57297fc365f94fc43d18c1a99c94823999494653e5d44ad1a27e31ae0803fc0c2d23d04fea7c7669210754236a9aa38e68b19
DIST rubinius-2.5.5.tar.bz2 11659850 SHA256 217659849ca2c67322d24ce7167e760dc835f32a701ca6e558703914ca82d02f SHA512 a862146ddbbdcd4439eb64e78bfe6d09ae4cca540d19869618426d3f451544658713fe8eb7d46493785eb0cc721077e624293cc44d68eea3ef584967b43a18d7 WHIRLPOOL 82e45406f330339a3dc06ee26cb0baf39bd4ab10147ebbfbe2eaf12c72e44fe683d3eff3156af0f09feee4bc3d50334d041f497727a6ae86fd24347f75a658ae
+DIST rubinius-3.43.tar.bz2 13013106 SHA256 2c573257518774e464036515cc7283bc934a41566599afe94612c605844481ad SHA512 80ca70f1aeea2f48e9f4bbd9dc646e0fdabf266cde879fd6acb46bcc38140a2738fddf7d63fa72c386f0411046f457af02deb1162b249c7942bdc0e4a8138023 WHIRLPOOL 63f53a69a16772cfaa560cb5c8ed21dafe5b2eae221948be56f34b4a4755f878f3f9ff5ae7d181479770c1e9ca9c9be48a521d5e9465d1dc15c0641aca803d34
diff --git a/dev-lang/rubinius/rubinius-3.43.ebuild b/dev-lang/rubinius/rubinius-3.43.ebuild
new file mode 100644
index 00000000000..a5ff3276f10
--- /dev/null
+++ b/dev-lang/rubinius/rubinius-3.43.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib versionator
+
+DESCRIPTION="A re-implementation of the Ruby VM designed for speed"
+HOMEPAGE="http://rubini.us"
+SRC_URI="https://rubinius-releases-rubinius-com.s3.amazonaws.com/${P}.tar.bz2"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0"
+IUSE="+llvm"
+
+RDEPEND="
+ llvm? ( >=sys-devel/llvm-3.6 )
+ dev-libs/openssl:0
+ sys-libs/ncurses
+ sys-libs/readline:0
+ dev-libs/libyaml
+ virtual/libffi
+ sys-libs/zlib
+"
+
+DEPEND="${RDEPEND}
+ =dev-ruby/rake-10*
+ dev-ruby/bundler
+"
+
+pkg_setup() {
+ unset RUBYOPT
+}
+
+src_prepare() {
+ # src_test will wait until all processes are reaped, so tune down
+ # the long sleep process a bit.
+ sed -i -e 's/sleep 1000/sleep 300/' spec/ruby/core/io/popen_spec.rb || die
+
+ # Avoid specs that cannot work in the portage context
+ rm -f spec/ruby/core/argf/read_nonblock_spec.rb || die
+
+ # Drop error CFLAGS per Gentoo policy.
+ sed -i -e '/Werror/ s:^:#:' rakelib/blueprint.rb || die
+
+ bundle --local || die
+}
+
+src_configure() {
+ conf=""
+ if ! use llvm ; then
+ conf+="--disable-llvm "
+ fi
+
+ #Rubinius uses a non-autoconf ./configure script which balks at econf
+ INSTALL="${EPREFIX}/usr/bin/install -c" ./configure \
+ --prefix /usr/$(get_libdir) \
+ --mandir /usr/share/man \
+ --without-rpath \
+ --with-vendor-zlib \
+ ${conf} \
+ || die "Configure failed"
+}
+
+src_compile() {
+ RBXOPT="-Xsystem.log=syslog" rake build || die "Compilation failed"
+}
+
+src_test() {
+ rake spec || die "Tests failed"
+ einfo "Waiting for forked processes to die"
+}
+
+src_install() {
+ # The install phase tries to determine if there are relevant
+ addpredict /usr/local/lib64/ruby
+
+ local minor_version=$(get_version_component_range 1-2)
+ local librbx="usr/$(get_libdir)/rubinius"
+
+ RBXOPT="-Xsystem.log=syslog" DESTDIR="${D}" rake install || die "Installation failed"
+
+ dosym /${librbx}/bin/rbx /usr/bin/rbx || die "Couldn't make rbx symlink"
+
+ insinto /${librbx}/${minor_version}/site
+ doins "${FILESDIR}/auto_gem.rb" || die "Couldn't install rbx auto_gem.rb"
+ RBXOPT="-Xsystem.log=syslog" RBX_RUNTIME="${S}/runtime" RBX_LIB="${S}/lib" bin/rbx compile "${D}/${librbx}/${minor_version}/site/auto_gem.rb" || die "Couldn't bytecompile auto_gem.rb"
+}