1 |
commit: 2b26c6a1e2f9bf90d413b97f8778162d3b3aed27 |
2 |
Author: Matthew Brewer <tomboy64 <AT> sina <DOT> cn> |
3 |
AuthorDate: Wed May 25 12:55:33 2016 +0000 |
4 |
Commit: M. B. <tomboy64 <AT> sina <DOT> cn> |
5 |
CommitDate: Wed May 25 13:03:19 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/user/tbc.git/commit/?id=2b26c6a1 |
7 |
|
8 |
backport changes from moarvm,nqp,rakudo 2016.05 to 04 |
9 |
|
10 |
dev-lang/nqp/nqp-2016.04-r3.ebuild | 99 ++++++++++++++++++++++++++++++++ |
11 |
dev-lang/rakudo/rakudo-2016.04-r2.ebuild | 83 ++++++++++++++++++++++++++ |
12 |
2 files changed, 182 insertions(+) |
13 |
|
14 |
diff --git a/dev-lang/nqp/nqp-2016.04-r3.ebuild b/dev-lang/nqp/nqp-2016.04-r3.ebuild |
15 |
new file mode 100644 |
16 |
index 0000000..102d9e0 |
17 |
--- /dev/null |
18 |
+++ b/dev-lang/nqp/nqp-2016.04-r3.ebuild |
19 |
@@ -0,0 +1,99 @@ |
20 |
+# Copyright 1999-2016 Gentoo Foundation |
21 |
+# Distributed under the terms of the GNU General Public License v2 |
22 |
+# $Id$ |
23 |
+ |
24 |
+EAPI=6 |
25 |
+ |
26 |
+inherit java-pkg-2 |
27 |
+ |
28 |
+if [[ ${PV} == "9999" ]]; then |
29 |
+ EGIT_REPO_URI="https://github.com/perl6/${PN}.git" |
30 |
+ inherit git-r3 |
31 |
+ KEYWORDS="" |
32 |
+else |
33 |
+ SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz" |
34 |
+ KEYWORDS="~x86 ~amd64" |
35 |
+fi |
36 |
+ |
37 |
+DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler" |
38 |
+HOMEPAGE="http://rakudo.org/" |
39 |
+ |
40 |
+LICENSE="Artistic-2" |
41 |
+SLOT="0" |
42 |
+IUSE="doc clang java +moar +system-libs test" |
43 |
+REQUIRED_USE="|| ( java moar )" |
44 |
+ |
45 |
+RDEPEND="java? ( >=virtual/jre-1.7 |
46 |
+ system-libs? ( |
47 |
+ dev-java/asm:4 |
48 |
+ dev-java/jline:0 |
49 |
+ ) |
50 |
+ ) |
51 |
+ moar? ( ~dev-lang/moarvm-${PV}[clang=] ) |
52 |
+ dev-libs/libffi" |
53 |
+DEPEND="${RDEPEND} |
54 |
+ clang? ( sys-devel/clang ) |
55 |
+ java? ( >=virtual/jdk-1.7 ) |
56 |
+ dev-lang/perl" |
57 |
+PATCHES=( "${FILESDIR}/enable-external-jars.patch" ) |
58 |
+ |
59 |
+pkg_setup() { |
60 |
+ use java && java-pkg-2_pkg_setup |
61 |
+} |
62 |
+ |
63 |
+src_prepare() { |
64 |
+ eapply "${PATCHES[@]}" |
65 |
+ eapply_user |
66 |
+ use java && java-pkg-2_src_prepare |
67 |
+} |
68 |
+ |
69 |
+src_unpack() { |
70 |
+ if [[ ${PV} == "9999" ]]; then |
71 |
+ git-r3_src_unpack |
72 |
+ else |
73 |
+ unpack ${A} |
74 |
+ mv "${WORKDIR}/perl6-nqp-"* "${WORKDIR}/${P}" || die |
75 |
+ fi |
76 |
+} |
77 |
+ |
78 |
+src_configure() { |
79 |
+ local backends |
80 |
+ use java && backends+="jvm," |
81 |
+ use moar && backends+="moar" |
82 |
+ local myconfargs=( |
83 |
+ "--backend=${backends}" |
84 |
+ "--prefix=/usr" ) |
85 |
+ |
86 |
+ # 2016.04 doesn't like our jna-3.4.1 nor jna-4.1.0 |
87 |
+ # keep testing against it |
88 |
+ if use system-libs; then |
89 |
+ if use java; then |
90 |
+ myconfargs+=( |
91 |
+ "--with-asm=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm\.jar$')" |
92 |
+ "--with-asm-tree=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm-tree\.jar$')" |
93 |
+ "--with-jline=$(echo $(java-pkg_getjars jline) | tr : '\n' | grep '/jline\.jar$')" ) |
94 |
+ else |
95 |
+ einfo "USE=system-libs set, but this won't have any effect without USE=java." |
96 |
+ fi |
97 |
+ fi |
98 |
+ |
99 |
+ perl Configure.pl "${myconfargs[@]}" || die |
100 |
+} |
101 |
+ |
102 |
+src_compile() { |
103 |
+ emake -j1 |
104 |
+} |
105 |
+ |
106 |
+src_test() { |
107 |
+ emake -j1 test |
108 |
+} |
109 |
+ |
110 |
+src_install() { |
111 |
+ emake DESTDIR="${ED}" install |
112 |
+ |
113 |
+ dodoc CREDITS README.pod |
114 |
+ |
115 |
+ if use doc; then |
116 |
+ dodoc -r docs/* |
117 |
+ fi |
118 |
+} |
119 |
|
120 |
diff --git a/dev-lang/rakudo/rakudo-2016.04-r2.ebuild b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild |
121 |
new file mode 100644 |
122 |
index 0000000..b9c781f |
123 |
--- /dev/null |
124 |
+++ b/dev-lang/rakudo/rakudo-2016.04-r2.ebuild |
125 |
@@ -0,0 +1,83 @@ |
126 |
+# Copyright 1999-2016 Gentoo Foundation |
127 |
+# Distributed under the terms of the GNU General Public License v2 |
128 |
+# $Id$ |
129 |
+ |
130 |
+EAPI=6 |
131 |
+ |
132 |
+inherit java-pkg-2 |
133 |
+ |
134 |
+DESCRIPTION="A compiler for the Perl 6 programming language" |
135 |
+HOMEPAGE="http://rakudo.org" |
136 |
+ |
137 |
+if [[ ${PV} == "9999" ]]; then |
138 |
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" |
139 |
+ inherit git-r3 |
140 |
+ KEYWORDS="" |
141 |
+else |
142 |
+ SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
143 |
+ KEYWORDS="~amd64 ~x86" |
144 |
+fi |
145 |
+ |
146 |
+LICENSE="Artistic-2" |
147 |
+SLOT="0" |
148 |
+# TODO: add USE="javascript" once that's usable in nqp |
149 |
+IUSE="clang java +moar test" |
150 |
+ |
151 |
+RDEPEND="~dev-lang/nqp-${PV}:=[java?,moar?,clang=]" |
152 |
+DEPEND="${RDEPEND} |
153 |
+ clang? ( sys-devel/clang ) |
154 |
+ >=dev-lang/perl-5.10" |
155 |
+ |
156 |
+REQUIRED_USE="|| ( java moar )" |
157 |
+PATCHES=( "${FILESDIR}/${PN}-2016.04-Makefile.in.patch" ) |
158 |
+ |
159 |
+pkg_pretend() { |
160 |
+ if has_version dev-lang/rakudo && use java; then |
161 |
+ die "Rakudo is known to fail compilation with the jvm backend if it's already installed." |
162 |
+ fi |
163 |
+} |
164 |
+ |
165 |
+pkg_setup() { |
166 |
+ use java && java-pkg-2_pkg_setup |
167 |
+} |
168 |
+ |
169 |
+src_prepare() { |
170 |
+ eapply "${PATCHES[@]}" |
171 |
+ |
172 |
+ # yup, this is ugly. but emake doesn't respect DESTDIR. |
173 |
+ for i in Moar JVM; do |
174 |
+ echo "DESTDIR = ${D}" > "${T}/Makefile-${i}.in" || die |
175 |
+ cat "${S}/tools/build/Makefile-${i}.in" >> "${T}/Makefile-${i}.in" || die |
176 |
+ mv "${T}/Makefile-${i}.in" "${S}/tools/build/Makefile-${i}.in" || die |
177 |
+ done |
178 |
+ |
179 |
+ eapply_user |
180 |
+ use java && java-pkg-2_src_prepare |
181 |
+} |
182 |
+ |
183 |
+src_configure() { |
184 |
+ local backends |
185 |
+ use java && backends+="jvm," |
186 |
+ use moar && backends+="moar," |
187 |
+ local myargs=( "--prefix=/usr" |
188 |
+ "--sysroot=/" |
189 |
+ "--sdkroot=/" |
190 |
+ "--make-install" |
191 |
+ "--sdkroot=/" |
192 |
+ "--backends=${backends}" |
193 |
+ ) |
194 |
+ perl Configure.pl "${myargs[@]}" |
195 |
+} |
196 |
+ |
197 |
+src_compile() { |
198 |
+ emake DESTDIR="${D}" |
199 |
+} |
200 |
+ |
201 |
+src_test() { |
202 |
+ export RAKUDO_PRECOMP_PREFIX=$(mktemp -d) |
203 |
+ default |
204 |
+} |
205 |
+ |
206 |
+src_install() { |
207 |
+ emake DESTDIR="${D}" install |
208 |
+} |