Line 0
Link Here
|
0 |
- |
1 |
# Copyright 1999-2016 Gentoo Foundation |
|
|
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Id$ |
4 |
|
5 |
EAPI=6 |
6 |
|
7 |
inherit java-pkg-2 |
8 |
|
9 |
DESCRIPTION="A compiler for the Perl 6 programming language" |
10 |
HOMEPAGE="http://rakudo.org" |
11 |
|
12 |
if [[ ${PV} == "9999" ]]; then |
13 |
EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" |
14 |
inherit git-r3 |
15 |
else |
16 |
SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
17 |
fi |
18 |
|
19 |
LICENSE="Artistic-2" |
20 |
SLOT="0" |
21 |
KEYWORDS="~amd64 ~x86" |
22 |
# TODO: add USE="javascript" once that's usable in nqp |
23 |
IUSE="java moar test" |
24 |
|
25 |
RDEPEND="=dev-lang/nqp-${PV}:=[java=,moar=]" |
26 |
DEPEND="${RDEPEND} |
27 |
>=dev-lang/perl-5.10" |
28 |
|
29 |
REQUIRED_USE="|| ( java moar )" |
30 |
PATCHES=( "${FILESDIR}/${PN}-2016.03-Makefile.in.patch" ) |
31 |
|
32 |
pkg_setup() { |
33 |
use java && java-pkg-2_pkg_setup |
34 |
} |
35 |
|
36 |
src_prepare() { |
37 |
eapply "${PATCHES[@]}" |
38 |
|
39 |
# yup, this is ugly. but emake doesn't respect DESTDIR. |
40 |
for i in Moar JVM; do |
41 |
echo "DESTDIR = ${D}" > "${T}/Makefile-${i}.in" || die |
42 |
cat "${S}/tools/build/Makefile-${i}.in" >> "${T}/Makefile-${i}.in" || die |
43 |
mv "${T}/Makefile-${i}.in" "${S}/tools/build/Makefile-${i}.in" || die |
44 |
done |
45 |
|
46 |
eapply_user |
47 |
use java && java-pkg-2_src_prepare |
48 |
} |
49 |
|
50 |
src_configure() { |
51 |
local backends |
52 |
use java && backends+="jvm," |
53 |
use moar && backends+="moar," |
54 |
local myargs=( "--prefix=/usr" |
55 |
"--sysroot=/" |
56 |
"--sdkroot=/" |
57 |
"--make-install" |
58 |
"--sdkroot=/" |
59 |
"--backends=${backends}" |
60 |
) |
61 |
perl Configure.pl "${myargs[@]}" |
62 |
} |
63 |
|
64 |
src_compile() { |
65 |
emake DESTDIR="${D}" |
66 |
} |
67 |
|
68 |
src_test() { |
69 |
export RAKUDO_PRECOMP_PREFIX=$(mktemp -d) |
70 |
default |
71 |
} |
72 |
|
73 |
src_install() { |
74 |
emake DESTDIR="${D}" install |
75 |
} |