dev-ruby/ffi: [QA] inherit toolchain-funcs.eclass directly
[gentoo.git] / dev-ruby / ffi / ffi-1.12.1.ebuild
1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 USE_RUBY="ruby24 ruby25 ruby26 ruby27"
7
8 RUBY_FAKEGEM_RECIPE_TEST="rspec3"
9
10 RUBY_FAKEGEM_DOCDIR="doc"
11 RUBY_FAKEGEM_EXTRADOC="README.md"
12
13 inherit multilib ruby-fakegem toolchain-funcs
14
15 DESCRIPTION="Ruby extension for programmatically loading dynamic libraries"
16 HOMEPAGE="https://wiki.github.com/ffi/ffi"
17
18 SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${PN}-git-${PV}.tgz"
19
20 IUSE=""
21 LICENSE="BSD"
22 SLOT="0"
23 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
24
25 RDEPEND+=" virtual/libffi:0="
26 DEPEND+=" virtual/libffi"
27
28 ruby_add_bdepend "dev-ruby/rake"
29
30 all_ruby_prepare() {
31         sed -i -e '/tasks/ s:^:#:' \
32                 -e '/Gem::Tasks/,/end/ s:^:#:' Rakefile || die
33
34         # Fix Makefile for tests
35         sed -i -e '/CCACHE :=/ s:^:#:' \
36                 -e 's/-O2//' \
37                 -e 's/^CFLAGS =/CFLAGS +=/' spec/ffi/fixtures/GNUmakefile || die
38
39         # Remove bundled version of libffi.
40         rm -rf ext/ffi_c/libffi || die
41 }
42
43 each_ruby_configure() {
44         ${RUBY} -Cext/ffi_c extconf.rb || die
45 }
46
47 each_ruby_compile() {
48         emake -Cext/ffi_c V=1
49         cp ext/ffi_c/ffi_c$(get_modname) lib/ || die
50
51         ${RUBY} -S rake -f gen/Rakefile || die "types.conf generation failed"
52 }
53
54 each_ruby_test() {
55         CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ${RUBY} -S rspec spec || die
56 }
57
58 all_ruby_install() {
59         all_fakegem_install
60
61         docinto examples
62         dodoc samples/*
63 }