1 |
commit: 9639bc8346213571665a094657af9f3ea8446db5 |
2 |
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Jan 3 13:05:11 2016 +0000 |
4 |
Commit: Patrick Lauer <patrick <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jan 3 13:05:11 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9639bc83 |
7 |
|
8 |
dev-lang/rakudo: Bump, patches thanks to flussence |
9 |
|
10 |
Package-Manager: portage-2.2.26 |
11 |
|
12 |
dev-lang/rakudo/Manifest | 1 + |
13 |
...make-install-when-nqp-is-distro-installed.patch | 78 +++++++++++++ |
14 |
.../0002-Add-RAKUDO_PRECOMP_PREFIX-env-var.patch | 27 +++++ |
15 |
...e-and-complete-the-manpage-s-env-var-list.patch | 125 +++++++++++++++++++++ |
16 |
dev-lang/rakudo/rakudo-2015.12.ebuild | 44 ++++++++ |
17 |
5 files changed, 275 insertions(+) |
18 |
|
19 |
diff --git a/dev-lang/rakudo/Manifest b/dev-lang/rakudo/Manifest |
20 |
index 58499ac..c338461 100644 |
21 |
--- a/dev-lang/rakudo/Manifest |
22 |
+++ b/dev-lang/rakudo/Manifest |
23 |
@@ -6,3 +6,4 @@ DIST rakudo-2015.05.tar.gz 2503009 SHA256 81ecf442e5c1720d8112effc5531f171c83907 |
24 |
DIST rakudo-2015.06.tar.gz 2505308 SHA256 eea69522bc415a2566acb7277db44e5e0df558b3f3d667b64c4e700e917d18fa SHA512 1fb7f6fa42cc71977c26663ae38f5421b390781825e8acd0a0fae9c2781aa06018db3b474a0da43eb519eeb1aed8220df686968e2484272df095e21476b3023d WHIRLPOOL afea51402961a0ca2428a9e8ea5bda48b23b955fb04ad86aeb002b2a387c98931c3e03de24dda247b42a4e00ce772234f52bf6cb76f2951b28f57bef8908b56c |
25 |
DIST rakudo-2015.07.2.tar.gz 2539175 SHA256 1794f2d670af1174aee620587270c05fbc06ef3026ae144daac436101856c492 SHA512 2e487df689c40b45673fc14a66127f893a5b0db13c5747e030dbc4b293cec76114b88909598f2ac7d607e7fe6d8fa632ee0c7386a064da31e76feeec48406d5f WHIRLPOOL bfa2ae4c3f5e24f641eaf8c52d96e61c9cfc48d4ecd9fcacae5a19ed1f60d636d3241fddf2bcbf40df2f2b98add912992c8e955dd237b7583af38c17bbb6713c |
26 |
DIST rakudo-2015.11.tar.gz 2643309 SHA256 a27c8357d06ebfcd1337003c869686f5041aba563a3a8c57bc3c555334e43bc3 SHA512 e4d662709cf47b2b98398c5781973d1abd008f6f13b170fdba418bf36ff552e6c33caee26e2833539828c06ab7562f02cf5e54789f898e2e2d1d31db98d2e95e WHIRLPOOL 22fdaaf616dc62606ca320cb08231b2ae0740e4191f238f2fa26247b2fcd45ae061a2b4f1c616181ea68339a45054751fef0ebab825e98580ecede43c039805e |
27 |
+DIST rakudo-2015.12.tar.gz 2669528 SHA256 f8a57a7b543416c8ea623644f3d74673c4e6c68f3b0161a6b963550ecb74781b SHA512 48e4c98bbff67a52f68a835cc87a19a0b17f2d67790f8162ffd9f167f080d09180d375b5ea9a8577d1de5036c78e604473a2140107d448aff3630c138fd16114 WHIRLPOOL 351ab7ff4b4a1ff00195f913d48f87ef620888cf709e68df5b169f24256d5042bd4a89ef5b3595d9be32ed27cae2e87da9cf3f2585eec0823420be5ee6d8a1a3 |
28 |
|
29 |
diff --git a/dev-lang/rakudo/files/2015.12/0001-Fix-make-install-when-nqp-is-distro-installed.patch b/dev-lang/rakudo/files/2015.12/0001-Fix-make-install-when-nqp-is-distro-installed.patch |
30 |
new file mode 100644 |
31 |
index 0000000..2dfc05b |
32 |
--- /dev/null |
33 |
+++ b/dev-lang/rakudo/files/2015.12/0001-Fix-make-install-when-nqp-is-distro-installed.patch |
34 |
@@ -0,0 +1,78 @@ |
35 |
+From fb00ed3d71f9407a776c82f03855d1242997878c Mon Sep 17 00:00:00 2001 |
36 |
+From: Anthony Parsons <flussence@×××××.com> |
37 |
+Date: Sat, 26 Dec 2015 19:37:18 +0000 |
38 |
+Subject: [PATCH] Fix `make install` when nqp is distro-installed |
39 |
+MIME-Version: 1.0 |
40 |
+Content-Type: text/plain; charset=UTF-8 |
41 |
+Content-Transfer-Encoding: 8bit |
42 |
+ |
43 |
+During the installation process, tools/build/install-core-dist.pl is called to |
44 |
+precompile the bundled non-CORE.setting libraries such as Test.pm. The way this |
45 |
+was initially coded, it pulled the install path from NQP's build-time |
46 |
+configuration, which will be a root-owned filesystem path if NQP was installed |
47 |
+via a system package manager. |
48 |
+ |
49 |
+Other parts of the CompUnit code will see these paths don't exist, and attempt |
50 |
+to helpfully call `mkdir` on them which brings the whole process to a messy end. |
51 |
+This part usually works fine when building everything from a git checkout, |
52 |
+because Moar/NQP/Rakudo all default to an installation prefix the user has write |
53 |
+access to. |
54 |
+ |
55 |
+This patch fixes that step of the build process by passing the makefile's path |
56 |
+prefixes to install-core-dist.pl (ensuring precompilation output goes to the |
57 |
+right place), and modifying it to *only* use that path (ensuring it doesn't try |
58 |
+to mkdir where it shouldn't). This isn't a 100% solution, but it fixes enough |
59 |
+to unblock packaging work on a few distros. |
60 |
+ |
61 |
+Thanks to mst++ for doing almost all of the legwork here, crux++ for an initial |
62 |
+patch that gave us a few pointers to work from, and nine++ for giving us some |
63 |
+Boxing Day fun ☺ |
64 |
+--- |
65 |
+ tools/build/Makefile-JVM.in | 2 +- |
66 |
+ tools/build/Makefile-Moar.in | 2 +- |
67 |
+ tools/build/install-core-dist.pl | 3 ++- |
68 |
+ 3 files changed, 4 insertions(+), 3 deletions(-) |
69 |
+ |
70 |
+diff --git a/tools/build/Makefile-JVM.in b/tools/build/Makefile-JVM.in |
71 |
+index 11e17810265d..0a3095114e0a 100644 |
72 |
+--- a/tools/build/Makefile-JVM.in |
73 |
++++ b/tools/build/Makefile-JVM.in |
74 |
+@@ -391,7 +391,7 @@ j-install: j-all tools/build/create-jvm-runner.pl tools/build/install-core-dist. |
75 |
+ $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/resources |
76 |
+ $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/bin |
77 |
+ $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/short |
78 |
+- .@slash@$(J_RUNNER) tools/build/install-core-dist.pl |
79 |
++ .@slash@$(J_RUNNER) tools/build/install-core-dist.pl $(DESTDIR)$(PERL6_LANG_DIR) |
80 |
+ $(PERL) tools/build/create-jvm-runner.pl install "$(DESTDIR)" $(PREFIX) $(NQP_PREFIX) $(NQP_JARS) |
81 |
+ $(PERL) tools/build/create-jvm-runner.pl install-debug "$(DESTDIR)" $(PREFIX) $(NQP_PREFIX) $(NQP_JARS) |
82 |
+ |
83 |
+diff --git a/tools/build/Makefile-Moar.in b/tools/build/Makefile-Moar.in |
84 |
+index 1e586d92a1fa..670b89c20774 100644 |
85 |
+--- a/tools/build/Makefile-Moar.in |
86 |
++++ b/tools/build/Makefile-Moar.in |
87 |
+@@ -246,7 +246,7 @@ m-install: m-all tools/build/create-moar-runner.pl tools/build/install-core-dist |
88 |
+ $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/resources |
89 |
+ $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/bin |
90 |
+ $(MKPATH) $(DESTDIR)$(PERL6_LANG_DIR)/site/short |
91 |
+- .@slash@$(M_RUNNER) tools/build/install-core-dist.pl |
92 |
++ .@slash@$(M_RUNNER) tools/build/install-core-dist.pl $(DESTDIR)$(PERL6_LANG_DIR) |
93 |
+ $(PERL) tools/build/create-moar-runner.pl "$(MOAR)" perl6.moarvm $(DESTDIR)$(PREFIX)/bin/perl6-m "$(PERL6_LANG_DIR)/runtime" "" "$(M_LIBPATH)" "$(PERL6_LANG_DIR)/lib" "$(PERL6_LANG_DIR)/runtime" |
94 |
+ $(PERL) tools/build/create-moar-runner.pl "$(MOAR)" perl6-debug.moarvm $(DESTDIR)$(PREFIX)/bin/perl6-debug-m "$(PERL6_LANG_DIR)/runtime" "" "$(M_LIBPATH)" "$(PERL6_LANG_DIR)/lib" "$(PERL6_LANG_DIR)/runtime" |
95 |
+ $(CHMOD) 755 $(DESTDIR)$(PREFIX)/bin/perl6-m$(M_BAT) |
96 |
+diff --git a/tools/build/install-core-dist.pl b/tools/build/install-core-dist.pl |
97 |
+index 0990b2676a10..ba14b20828d8 100644 |
98 |
+--- a/tools/build/install-core-dist.pl |
99 |
++++ b/tools/build/install-core-dist.pl |
100 |
+@@ -9,7 +9,8 @@ my %provides = |
101 |
+ "experimental" => "lib/experimental.pm6", |
102 |
+ ; |
103 |
+ |
104 |
+-CompUnit::RepositoryRegistry.repository-for-name('perl').install( |
105 |
++PROCESS::<$REPO> := CompUnit::RepositoryRegistry.repository-for-spec("inst#@*ARGS[0]"); |
106 |
++$*REPO.install( |
107 |
+ Distribution.new( |
108 |
+ name => "CORE", |
109 |
+ auth => "perl", |
110 |
+-- |
111 |
+2.6.4 |
112 |
+ |
113 |
|
114 |
diff --git a/dev-lang/rakudo/files/2015.12/0002-Add-RAKUDO_PRECOMP_PREFIX-env-var.patch b/dev-lang/rakudo/files/2015.12/0002-Add-RAKUDO_PRECOMP_PREFIX-env-var.patch |
115 |
new file mode 100644 |
116 |
index 0000000..1c5f1af |
117 |
--- /dev/null |
118 |
+++ b/dev-lang/rakudo/files/2015.12/0002-Add-RAKUDO_PRECOMP_PREFIX-env-var.patch |
119 |
@@ -0,0 +1,27 @@ |
120 |
+From 4fe18ce14c87c4d63f18db3c38cf32733ba72c31 Mon Sep 17 00:00:00 2001 |
121 |
+From: Anthony Parsons <flussence@×××××.com> |
122 |
+Date: Sun, 27 Dec 2015 02:02:22 +0000 |
123 |
+Subject: [PATCH 2/2] Add RAKUDO_PRECOMP_PREFIX env var |
124 |
+ |
125 |
+As suggested by nine++, with some name tweaking |
126 |
+--- |
127 |
+ docs/running.pod | 6 ++++++ |
128 |
+ src/core/CompUnit/RepositoryRegistry.pm | 2 +- |
129 |
+ 2 files changed, 7 insertions(+), 1 deletion(-) |
130 |
+ |
131 |
+diff --git a/src/core/CompUnit/RepositoryRegistry.pm b/src/core/CompUnit/RepositoryRegistry.pm |
132 |
+index f70f22105849..e628ee659c7c 100644 |
133 |
+--- a/src/core/CompUnit/RepositoryRegistry.pm |
134 |
++++ b/src/core/CompUnit/RepositoryRegistry.pm |
135 |
+@@ -75,7 +75,7 @@ class CompUnit::RepositoryRegistry { |
136 |
+ } |
137 |
+ #?endif |
138 |
+ |
139 |
+- my $prefix := nqp::p6box_s( |
140 |
++ my $prefix := %*ENV<RAKUDO_PRECOMP_PREFIX> // nqp::p6box_s( |
141 |
+ nqp::concat(nqp::atkey(nqp::backendconfig,'prefix'),'/share/perl6') |
142 |
+ ); |
143 |
+ |
144 |
+-- |
145 |
+2.6.4 |
146 |
+ |
147 |
|
148 |
diff --git a/dev-lang/rakudo/files/2015.12/0003-Rewrite-and-complete-the-manpage-s-env-var-list.patch b/dev-lang/rakudo/files/2015.12/0003-Rewrite-and-complete-the-manpage-s-env-var-list.patch |
149 |
new file mode 100644 |
150 |
index 0000000..3b43b62 |
151 |
--- /dev/null |
152 |
+++ b/dev-lang/rakudo/files/2015.12/0003-Rewrite-and-complete-the-manpage-s-env-var-list.patch |
153 |
@@ -0,0 +1,125 @@ |
154 |
+From c6d759c5df9ae4cb539717ecba99f80efe35d9ac Mon Sep 17 00:00:00 2001 |
155 |
+From: Anthony Parsons <flussence@×××××.com> |
156 |
+Date: Sun, 27 Dec 2015 01:28:19 +0000 |
157 |
+Subject: [PATCH 1/2] Rewrite and complete the manpage's env var list |
158 |
+ |
159 |
+This includes everything I could find with an `ack 'ENV<' src/` command. |
160 |
+Descriptions have been expanded on, expected datatypes are shown, and items are |
161 |
+now broken up into categories. |
162 |
+--- |
163 |
+ docs/running.pod | 81 +++++++++++++++++++++++++++++++++++++++++++++----------- |
164 |
+ 1 file changed, 66 insertions(+), 15 deletions(-) |
165 |
+ |
166 |
+diff --git a/docs/running.pod b/docs/running.pod |
167 |
+index 9ed7571df54e..53fb577c8481 100644 |
168 |
+--- a/docs/running.pod |
169 |
++++ b/docs/running.pod |
170 |
+@@ -44,39 +44,90 @@ The supported values for C<--target> are: |
171 |
+ For C<--profile-filename>, specifying a name ending in C<.json> will write a raw JSON profile dump. |
172 |
+ The default if this is omitted is C<profile-I<[timestamp]>.html>. |
173 |
+ |
174 |
+-=head1 List of env vars used in Rakudo |
175 |
++=head1 ENVIRONMENT VARIABLES |
176 |
++ |
177 |
++Rakudo's behavior can be tweaked by a (growing) number of environment variables; this section |
178 |
++attempts to document all those currently in use. |
179 |
++ |
180 |
++=head2 Module Loading |
181 |
++ |
182 |
++=over |
183 |
++ |
184 |
++=item C<RAKUDOLIB>, C<PERL6LIB> (I<Str>; F<src/core/Inc.pm>) |
185 |
++ |
186 |
++Appends a comma-delimited list of paths to C<@INC>. C<RAKUDOLIB> is evaluated first. |
187 |
++ |
188 |
++=item C<RAKUDO_MODULE_DEBUG> (I<Bool>; F<src/Perl6/ModuleLoader.pm>) |
189 |
++ |
190 |
++Causes the module loader to print debugging information to standard error. |
191 |
++ |
192 |
++=back |
193 |
++ |
194 |
++=head2 Error Message Verbosity and Strictness |
195 |
+ |
196 |
+ =over |
197 |
+ |
198 |
+-=item C<RAKUDOLIB>, C<PERL6LIB> (src/core/Inc.pm) |
199 |
++=item C<RAKUDO_NO_DEPRECATIONS> (I<Bool>; F<src/core/Deprecations.pm>) |
200 |
++ |
201 |
++If true, suppresses deprecation warnings triggered by the C<is DEPRECATED> trait. |
202 |
+ |
203 |
+-Appends a delimited list of paths to C<@INC>. C<RAKUDOLIB> is evaluated first. |
204 |
++=item C<RAKUDO_DEPRECATIONS_FATAL> (I<Bool>; F<src/core/Deprecations.pm>) |
205 |
+ |
206 |
+-=item C<RAKUDO_MODULE_DEBUG> (src/Perl6/ModuleLoader.pm) |
207 |
++If true, deprecation warnings become thrown exceptions. |
208 |
+ |
209 |
+-If set to a non-false value, causes the module loader to print debugging information to standard |
210 |
+-error. |
211 |
++=item C<RAKUDO_VERBOSE_STACKFRAME> (I<UInt>; F<src/core/Backtrace.pm>) |
212 |
+ |
213 |
+-=item C<RAKUDO_ERROR_COLOR> (src/core/Exception.pm) |
214 |
++Displays source code in stack frames surrounded by the specified number of lines of context. |
215 |
++ |
216 |
++=item C<RAKUDO_BACKTRACE_SETTING> (I<Bool>; F<src/core/Backtrace.pm>) |
217 |
++ |
218 |
++Controls whether .setting files are included in backtraces. |
219 |
++ |
220 |
++=back |
221 |
++ |
222 |
++=head2 Affecting Precompilation |
223 |
++ |
224 |
++=over |
225 |
++ |
226 |
++=item C<RAKUDO_PRECOMP_DIST> (F<src/core/CompUnit/PrecompilationRepository.pm>) |
227 |
++ |
228 |
++=item C<RAKUDO_PRECOMP_LOADING> (F<src/core/CompUnit/PrecompilationRepository.pm>) |
229 |
++ |
230 |
++=item C<RAKUDO_PRECOMP_WITH> (F<src/core/CompUnit/PrecompilationRepository.pm>) |
231 |
++ |
232 |
++These are internal variables for passing serialized state to precompilation jobs in child processes. |
233 |
++Please do not set them manually. |
234 |
++ |
235 |
++=back |
236 |
++ |
237 |
++=head2 Other |
238 |
++ |
239 |
++=over |
240 |
++ |
241 |
++=item C<RAKUDO_ERROR_COLOR> (I<Bool>; F<src/core/Exception.pm>) |
242 |
+ |
243 |
+ Controls whether to emit ANSI codes for error highlighting. Defaults to true if unset, except on |
244 |
+ Win32. |
245 |
+ |
246 |
+-=item C<RAKUDO_MAX_THREADS> (src/core/ThreadPoolScheduler.pm) |
247 |
++=item C<RAKUDO_MAX_THREADS> (I<UInt>; F<src/core/ThreadPoolScheduler.pm>) |
248 |
+ |
249 |
+-Controls the maximum number of threads used by a thread pool. |
250 |
++Override the default maximum number of threads used by a thread pool. |
251 |
+ |
252 |
+-=item C<RAKUDO_NO_DEPRECATIONS> (src/core/Deprecations.pm) |
253 |
++=item C<TMPDIR>, C<TEMP>, C<TMP> (I<Str>; F<src/core/IO/Spec/>) |
254 |
+ |
255 |
+-If set, suppresses deprecation warnings. |
256 |
++The C<IO::Spec::Unix.tmpdir> method will return C<$TMPDIR> if it points to a directory with full |
257 |
++access permissions for the current user, with a fallback default of C<'/tmp'>. |
258 |
+ |
259 |
+-=item C<RAKUDO_VERBOSE_STACKFRAME> (src/core/Backtrace.pm) |
260 |
++C<IO::Spec::Cygwin> and C<IO::Spec::Win32> use more Win32-appropriate lists which also include the |
261 |
++C<%TEMP%> and C<%TMP%> environment variables. |
262 |
+ |
263 |
+-Controls stack frame verbosity. |
264 |
++=item C<PATH>, C<Path> (I<Str>; F<src/core/IO/Spec/>) |
265 |
+ |
266 |
+-=item C<RAKUDO_BACKTRACE_SETTING> (src/core/Backtrace.pm) |
267 |
++The C<IO::Spec::Unix.path> method splits C<$PATH> as a shell would; i.e. as a colon-separated list. |
268 |
++C<IO::Spec::Cygwin> inherits this from C<IO::Spec::Unix>. |
269 |
+ |
270 |
+-Controls whether .setting files are included in backtraces. |
271 |
++C<IO::Spec::Win32.path> will read the first defined of either C<%PATH%> or C<%Path%> as a |
272 |
++semicolon-delimited list. |
273 |
+ |
274 |
+ =back |
275 |
+ |
276 |
+-- |
277 |
+2.6.4 |
278 |
+ |
279 |
|
280 |
diff --git a/dev-lang/rakudo/rakudo-2015.12.ebuild b/dev-lang/rakudo/rakudo-2015.12.ebuild |
281 |
new file mode 100644 |
282 |
index 0000000..29ce6a7 |
283 |
--- /dev/null |
284 |
+++ b/dev-lang/rakudo/rakudo-2015.12.ebuild |
285 |
@@ -0,0 +1,44 @@ |
286 |
+# Copyright 1999-2016 Gentoo Foundation |
287 |
+# Distributed under the terms of the GNU General Public License v2 |
288 |
+# $Id$ |
289 |
+ |
290 |
+EAPI=6 |
291 |
+ |
292 |
+DESCRIPTION="A compiler for the Perl 6 programming language" |
293 |
+HOMEPAGE="http://rakudo.org" |
294 |
+ |
295 |
+if [[ ${PV} == "9999" ]]; then |
296 |
+ EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" |
297 |
+ inherit git-r3 |
298 |
+else |
299 |
+ SRC_URI="${HOMEPAGE}/downloads/${PN}/${P}.tar.gz" |
300 |
+fi |
301 |
+ |
302 |
+LICENSE="Artistic-2" |
303 |
+SLOT="0" |
304 |
+KEYWORDS="~amd64 ~x86" |
305 |
+# TODO: add USE="javascript" once that's usable in nqp |
306 |
+IUSE="java +moar test" |
307 |
+REQUIRED_USE="|| ( java moar )" |
308 |
+ |
309 |
+RDEPEND="=dev-lang/nqp-${PV}*:=[moar?,java?]" |
310 |
+DEPEND="${RDEPEND} |
311 |
+ >=dev-lang/perl-5.10" |
312 |
+ |
313 |
+PATCHES=(${FILESDIR}/${PV}) |
314 |
+ |
315 |
+src_configure() { |
316 |
+ local BACKENDS |
317 |
+ |
318 |
+ # The order of this list determines which gets installed as "perl6" |
319 |
+ use moar && BACKENDS+="moar," |
320 |
+ use java && BACKENDS+="jvm," |
321 |
+ #use javascript && BACKENDS+="js," |
322 |
+ |
323 |
+ perl Configure.pl --prefix=/usr --sysroot=/usr --backends=$BACKENDS |
324 |
+} |
325 |
+ |
326 |
+src_test() { |
327 |
+ export RAKUDO_PRECOMP_PREFIX=$(mktemp -d) |
328 |
+ default |
329 |
+} |