# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=5 USE_RUBY="ruby21 ruby22 ruby23 ruby24" RUBY_FAKEGEM_RECIPE_TEST="rspec3" RUBY_FAKEGEM_RECIPE_DOC="rdoc" RUBY_FAKEGEM_DOCDIR="doc" RUBY_FAKEGEM_EXTRADOC="README.md" inherit multilib ruby-fakegem DESCRIPTION="Ruby extension for programmatically loading dynamic libraries" HOMEPAGE="https://wiki.github.com/ffi/ffi" SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${PN}-git-${PV}.tgz" IUSE="" LICENSE="BSD" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" RDEPEND+=" virtual/libffi" DEPEND+=" virtual/libffi" all_ruby_prepare() { sed -i -e '/tasks/ s:^:#:' \ -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die # Fix Makefile for tests sed -i -e '/CCACHE :=/ s:^:#:' \ -e 's/-O2//' \ -e 's/^CFLAGS =/CFLAGS +=/' libtest/GNUmakefile || die # Remove bundled version of libffi. rm -rf ext/ffi_c/libffi || die } each_ruby_configure() { ${RUBY} -Cext/ffi_c extconf.rb || die } each_ruby_compile() { emake -Cext/ffi_c V=1 cp ext/ffi_c/ffi_c$(get_modname) lib/ || die ${RUBY} -S rake -f gen/Rakefile || die "types.conf generation failed" } each_ruby_test() { CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ${RUBY} -S rspec spec || die } all_ruby_install() { all_fakegem_install docinto examples dodoc samples/* }