Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 580732 | Differences between
and this patch

Collapse All | Expand All

(-)a/dev-lang/moarvm/Manifest (+1 lines)
Lines 1-3 Link Here
1
DIST MoarVM-2016.01.tar.gz 3314742 SHA256 d409b684c7c92b144b31cf7f0408f30ccbb033ce646f57d7fbaeb9683773e37b SHA512 019433a985c8245c231d533b8310fceda185a694681aaecb922602ad98897c636c40fbe1a36ba656af4c242b28315611f656454eb41f25e0f891b652210eb435 WHIRLPOOL f603e1f60667771e0200e731b37ff854346d00a0de484a9b3072f83e0ee624bc2b7d7e862c872d9062a4397adb5bfab31d835754966a7fe44490312c82a37e8e
1
DIST MoarVM-2016.01.tar.gz 3314742 SHA256 d409b684c7c92b144b31cf7f0408f30ccbb033ce646f57d7fbaeb9683773e37b SHA512 019433a985c8245c231d533b8310fceda185a694681aaecb922602ad98897c636c40fbe1a36ba656af4c242b28315611f656454eb41f25e0f891b652210eb435 WHIRLPOOL f603e1f60667771e0200e731b37ff854346d00a0de484a9b3072f83e0ee624bc2b7d7e862c872d9062a4397adb5bfab31d835754966a7fe44490312c82a37e8e
2
DIST MoarVM-2016.02.tar.gz 3313448 SHA256 3bdacebba98e6b2d3d10f12af0ab514dec27fb24b15ed00aef479b7d190ce40a SHA512 fdeb107e071bcd7a893f15f105e722543010a87710cbd2ac4ce322000c96c9dae5c5e661dd8d60e712c4fe22d860650a003485d75f95a5b19fcde266f8fe483d WHIRLPOOL 9ccb54d147d558b4fa52bfe9b098384b3d61dffba598db803828bb0cbbc8bae9fd6a527d093c07a421cd97a59952e11ffaf9c6cef93ce9b48778009558e96732
2
DIST MoarVM-2016.02.tar.gz 3313448 SHA256 3bdacebba98e6b2d3d10f12af0ab514dec27fb24b15ed00aef479b7d190ce40a SHA512 fdeb107e071bcd7a893f15f105e722543010a87710cbd2ac4ce322000c96c9dae5c5e661dd8d60e712c4fe22d860650a003485d75f95a5b19fcde266f8fe483d WHIRLPOOL 9ccb54d147d558b4fa52bfe9b098384b3d61dffba598db803828bb0cbbc8bae9fd6a527d093c07a421cd97a59952e11ffaf9c6cef93ce9b48778009558e96732
3
DIST MoarVM-2016.03.tar.gz 3318299 SHA256 dfc3914e609f30ff06f14267bcbb4fcc6da3d85782d35c1838701a5ea41d8f2f SHA512 358c48f6b1803e39841e9f287f2fe3cdde743962d9d9c34e629c18b1b7290fd8a713917f24233dd092ed68adf9a6d0aadb25bda22b3e353d40bd57ae58d70216 WHIRLPOOL e68dfbc40bda23a49c28089fe8396e5a182afc0ac2550f9ab5d9f1564943af163fcc68b466feaf0778a2df57cd472c87f0853d47882b9b625434c7740ec5aec4
3
DIST MoarVM-2016.03.tar.gz 3318299 SHA256 dfc3914e609f30ff06f14267bcbb4fcc6da3d85782d35c1838701a5ea41d8f2f SHA512 358c48f6b1803e39841e9f287f2fe3cdde743962d9d9c34e629c18b1b7290fd8a713917f24233dd092ed68adf9a6d0aadb25bda22b3e353d40bd57ae58d70216 WHIRLPOOL e68dfbc40bda23a49c28089fe8396e5a182afc0ac2550f9ab5d9f1564943af163fcc68b466feaf0778a2df57cd472c87f0853d47882b9b625434c7740ec5aec4
4
DIST MoarVM-2016.04.tar.gz 3332850 SHA256 6fe9000daada59535747f2557cc73573241ba8a6044271caf1647aa37be33c6d SHA512 ef22145c9f7c32d7d12192cee63f286544500adff40fc2dbaad677d57108bc6efedc348fe8ddf460fe12d2c6b282e885bcb74fb3bcaa1e06b7719754175afe7d WHIRLPOOL e314f80cd785d31768630798647d7f445831bb29aaded88ef32326df3f4705a5d3fba2da00fce6888a2256b57aeb838922e94c3096250d30112f2be2bfacbb92
(-)a/dev-lang/moarvm/metadata.xml (+10 lines)
Line 0 Link Here
1
diff -Naur a/build/Makefile.in b/build/Makefile.in
2
--- a/build/Makefile.in	2016-04-01 18:11:09.000000000 +0200
Lines 9-14 Link Here
9
    <email>perl@gentoo.org</email>
9
    <email>perl@gentoo.org</email>
10
    <name>Gentoo Perl Project</name>
10
    <name>Gentoo Perl Project</name>
11
  </maintainer>
11
  </maintainer>
12
  <use>
13
    <flag name="asan">Enable clang's Address Sanitizer functionality. Expect longer compile time.</flag>
14
	<flag name="clang">Use clang compiler instead of GCC</flag>
15
    <flag name="jit">Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin.</flag>
16
    <flag name="optimize">Enable optimization via CFLAGS</flag>
17
    <flag name="system-libs">Link against the system's shared libraries</flag>
18
    <flag name="ubsan">Enable clang's Undefined Behavior Sanitizer functionality. Expect longer compile time.</flag>
19
  </use>
12
  <upstream>
20
  <upstream>
13
    <remote-id type="github">MoarVM/MoarVM</remote-id>
21
    <remote-id type="github">MoarVM/MoarVM</remote-id>
14
  </upstream>
22
  </upstream>
(-)a/dev-lang/moarvm/moarvm-2016.04.ebuild (+58 lines)
Line 0 Link Here
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 flag-o-matic
8
9
MY_PN="MoarVM"
10
11
DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
12
HOMEPAGE="http://moarvm.org"
13
SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
14
LICENSE="Artistic-2"
15
SLOT="0"
16
KEYWORDS="~amd64 ~x86"
17
IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan"
18
19
RDEPEND="dev-libs/libatomic_ops
20
		dev-libs/libtommath
21
		dev-libs/libuv
22
		jit? ( dev-lang/lua:0[deprecated]
23
			dev-lua/LuaBitOp )
24
		virtual/libffi"
25
DEPEND="${RDEPEND}
26
	clang? ( >=sys-devel/clang-3.1 )
27
	dev-lang/perl"
28
29
S="${WORKDIR}/MoarVM-${PV}"
30
PATCHES=( "${FILESDIR}/Configure-2016.03.patch" )
31
DOCS=( CREDITS README.markdown )
32
33
src_prepare() {
34
	eapply "${PATCHES[@]}"
35
	eapply_user
36
	use doc && DOCS+=( docs/* )
37
}
38
39
src_configure() {
40
	local myconfigargs=(
41
		"--prefix=/usr"
42
		"--libdir=$(get_libdir)"
43
		"--compiler=$(usex clang clang gcc)"
44
		"$(usex asan        --asan)"
45
		"$(usex debug       --debug            --no-debug)"
46
		"$(usex jit         --lua=/usr/bin/lua --no-jit)"
47
		"$(usex optimize    --optimize=        --no-optimize)"
48
		"$(usex static-libs --static)"
49
		"$(usex system-libs --has-libtommath)"
50
		"$(usex system-libs --has-libuv)"
51
		"$(usex system-libs --has-libatomic_ops)"
52
		"$(usex system-libs --has-libffi)"
53
		"$(usex ubsan       --ubsan)"
54
	)
55
	use optimize && filter-flags '-O*'
56
57
	perl Configure.pl "${myconfigargs[@]}" || die
58
}
(-)a/dev-lang/moarvm/moarvm-9999.ebuild (-36 lines)
Lines 1-36 Link Here
1
# Copyright 1999-2014 Gentoo Foundation
2
# Distributed under the terms of the GNU General Public License v2
3
# $Id$
4
5
EAPI=5
6
7
inherit eutils git-r3
8
9
MY_PN="MoarVM"
10
11
DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
12
HOMEPAGE="https://github.com/MoarVM/MoarVM"
13
EGIT_REPO_URI="https://github.com/MoarVM/MoarVM.git"
14
15
LICENSE="Artistic-2"
16
SLOT="0"
17
KEYWORDS=""
18
IUSE="doc"
19
20
RDEPEND=""
21
DEPEND="${RDEPEND}
22
	dev-lang/perl"
23
24
src_prepare() {
25
	epatch "${FILESDIR}/Configure-9999.patch" || die
26
}
27
28
src_configure() {
29
	 # this is quite badong, but wtf build system
30
	echo "2013.10-145-gec52026" >> VERSION
31
	perl Configure.pl --prefix="${D}/usr"|| die
32
}
33
34
src_install() {
35
	make install
36
}
(-)a/dev-lang/nqp/Manifest (+1 lines)
Lines 1-3 Link Here
1
DIST nqp-2016.01.tar.gz 5117110 SHA256 87875120af7167093643f2a35869d66a61f735220a9348627ba89cf294387c8b SHA512 e79668f7f5f3679fe3b93f63e1151da1eab109ef4acc6f8ae3da3d9e5c3da814440dd43279978b1a13f30647d7c52bda5575b02f366bd928965b06b47c6d6d91 WHIRLPOOL d2369417707332d8bc045f6f93da81e1301ec2599f197664d80e6edeefc1bc7a2147ad3b7e893eef0fb6b96adf2f68f5ab44b948801e266e68d99552253abeda
1
DIST nqp-2016.01.tar.gz 5117110 SHA256 87875120af7167093643f2a35869d66a61f735220a9348627ba89cf294387c8b SHA512 e79668f7f5f3679fe3b93f63e1151da1eab109ef4acc6f8ae3da3d9e5c3da814440dd43279978b1a13f30647d7c52bda5575b02f366bd928965b06b47c6d6d91 WHIRLPOOL d2369417707332d8bc045f6f93da81e1301ec2599f197664d80e6edeefc1bc7a2147ad3b7e893eef0fb6b96adf2f68f5ab44b948801e266e68d99552253abeda
2
DIST nqp-2016.02.tar.gz 5121833 SHA256 051ddd4bab8f73a688836d896340320ff7043a6ecbd5c53be099249e75e33b8d SHA512 9a3233e351ebdf73ed27d3eade2052936d1a49ea95d32a8176e426e7126c720e4a3f69dedc4067925272293329b08ab397f6a7523b9e4129952847fbd86fcf0d WHIRLPOOL 1bad2dc420d59f07c3d9b8d9dcc78d51a772ed2672419fc53e427c68e24fce5645a0dcfd4a4e138e6333f9e909297b49fafe190e6dc763cca8e52dce20309ec5
2
DIST nqp-2016.02.tar.gz 5121833 SHA256 051ddd4bab8f73a688836d896340320ff7043a6ecbd5c53be099249e75e33b8d SHA512 9a3233e351ebdf73ed27d3eade2052936d1a49ea95d32a8176e426e7126c720e4a3f69dedc4067925272293329b08ab397f6a7523b9e4129952847fbd86fcf0d WHIRLPOOL 1bad2dc420d59f07c3d9b8d9dcc78d51a772ed2672419fc53e427c68e24fce5645a0dcfd4a4e138e6333f9e909297b49fafe190e6dc763cca8e52dce20309ec5
3
DIST nqp-2016.03.tar.gz 5126687 SHA256 50731983cfc0800015bf73a2174000f5631ad09b551ff190153fba00a448067f SHA512 707701e22752cb43b0694c8c57ec834cfee3d2a50c2b6ae3ee36af5881728c94ae1d03d07c624367edb6cf58bba18abd26dcc18656b0483f4f979db5dd26a07e WHIRLPOOL 364abefc3d7b005b89fd3a3180e66971dbc56851377b93e38d2a8b2ed546121ec730628e0f93947f77e8f12346d64e60b4af8ffa720dc0a05810fae846b262a4
3
DIST nqp-2016.03.tar.gz 5126687 SHA256 50731983cfc0800015bf73a2174000f5631ad09b551ff190153fba00a448067f SHA512 707701e22752cb43b0694c8c57ec834cfee3d2a50c2b6ae3ee36af5881728c94ae1d03d07c624367edb6cf58bba18abd26dcc18656b0483f4f979db5dd26a07e WHIRLPOOL 364abefc3d7b005b89fd3a3180e66971dbc56851377b93e38d2a8b2ed546121ec730628e0f93947f77e8f12346d64e60b4af8ffa720dc0a05810fae846b262a4
4
DIST nqp-2016.04.tar.gz 5156494 SHA256 9176422eb2a99db24ab520bc78686f3a2c008ba73bf8c7091a790985f5061019 SHA512 5dcb685a90b26fee3e8dac3ca24da11bd967d034b5328232d18d9db37e27645b57259cabf54ef8e10b3ac508b1aa784072f0a9542d30168d3017f86e610c3cee WHIRLPOOL 0711e1471740b0ed181f9e4504f810a084056e74650c0ffb1c6c17e2976b2c1facb6a7e73df5d991d9ffe43f055fe844f0756dbd816375708b4d499a0f7a9162
(-)a/dev-lang/nqp/files/enable-external-jars.patch (+214 lines)
Line 0 Link Here
1
diff --git a/Configure.pl b/Configure.pl
2
index 2064ac8..73e2d27 100755
3
--- a/Configure.pl
4
+++ b/Configure.pl
5
@@ -34,6 +34,7 @@ MAIN: {
6
                'no-clean',
7
                'with-parrot=s', 'gen-parrot:s', 'parrot-config=s', 'parrot-option=s@',
8
                'with-moar=s', 'gen-moar:s', 'moar-option=s@',
9
+               'with-asm=s', 'with-asm-tree=s', 'with-jline=s', 'with-jna=s',
10
                'make-install!', 'makefile-timing!',
11
                'git-protocol=s',
12
                'git-depth=s', 'git-reference=s',);
13
@@ -50,6 +51,53 @@ MAIN: {
14
               "Use --prefix to specify a directory in which parrot is installed.";
15
     }
16
 
17
+    if ($options{'with-asm'}) {
18
+        if ($options{'with-asm'} ne '-') {
19
+            $config{'asm'} = $options{'with-asm'};
20
+        }
21
+    } else {
22
+        $config{'asm'} = "3rdparty/asm/asm-4.1.jar";
23
+    }
24
+    if ($options{'with-asm-tree'}) {
25
+        if ($options{'with-asm-tree'} ne '-') {
26
+            $config{'asmtree'} = $options{'with-asm-tree'};
27
+        }
28
+    } else {
29
+        $config{'asmtree'} = "3rdparty/asm/asm-tree-4.1.jar";
30
+    }
31
+    if ($options{'with-jline'}) {
32
+        if ($options{'with-jline'} ne '-') {
33
+            $config{'jline'} = $options{'with-jline'};
34
+        }
35
+    } else {
36
+        $config{'jline'} = "3rdparty/jline/jline-1.0.jar";
37
+    }
38
+    if ($options{'with-jna'}) {
39
+        if ($options{'with-jna'} ne '-') {
40
+            $config{'jna'} = $options{'with-jna'};
41
+        }
42
+    } else {
43
+        $config{'jna'} = "3rdparty/jna/jna.jar";
44
+    }
45
+
46
+    if ($^O eq 'MSWin32') {
47
+        $config{'asmfile'} = $config{'asm'};
48
+        $config{'asmfile'} =~ s/.*\\//;
49
+        $config{'jlinefile'} = $config{'jline'};
50
+        $config{'jlinefile'} =~ s/.*\\//;
51
+    } else {
52
+        $config{'asmfile'} = $config{'asm'};
53
+        $config{'asmfile'} =~ s/.*\///;
54
+        $config{'jlinefile'} = $config{'jline'};
55
+        $config{'jlinefile'} =~ s/.*\///;
56
+    }
57
+
58
+    fill_template_file(
59
+        'tools/build/install-jvm-runner.pl.in',
60
+        'tools/build/install-jvm-runner.pl',
61
+        %config,
62
+    );
63
+
64
     my $default_backend;
65
     my @backends;
66
     my %backends;
67
@@ -357,6 +405,11 @@ General Options:
68
     --gen-moar         Download and build a copy of MoarVM to use
69
     --moar-option='--option=value'
70
                        Options to pass to MoarVM configuration for --gen-moar
71
+    --with-asm='/path/to/jar'
72
+    --with-asm-tree='/path/to/jar'
73
+    --with-jline='/path/to/jar'
74
+    --with-jna='/path/to/jar'
75
+                       Provide paths to already installed jars
76
     --git-protocol={ssh,https,git}
77
                        Protocol to use for git clone. Default: https
78
     --make-install     Immediately run `MAKE install` after configuring
79
diff --git a/tools/build/Makefile-JVM.in b/tools/build/Makefile-JVM.in
80
index 27959ad..c19965a 100644
81
--- a/tools/build/Makefile-JVM.in
82
+++ b/tools/build/Makefile-JVM.in
83
@@ -2,7 +2,6 @@ BAT    = @bat@
84
 JAVA   = java
85
 JAVAC  = javac
86
 JAR    = jar
87
-ASM    = 3rdparty/asm/
88
 J_RUNNER = nqp-j$(BAT)
89
 
90
 NQP_JAR_DIR = $(NQP_LANG_DIR)/runtime
91
@@ -18,7 +17,11 @@ RUNTIME_JAVAS = \
92
 
93
 RUNTIME_JAR = nqp-runtime.jar
94
 
95
-THIRDPARTY_JARS = $(ASM)asm-4.1.jar@cpsep@$(ASM)asm-tree-4.1.jar@cpsep@3rdparty/jline/jline-1.0.jar@cpsep@3rdparty/jna/jna.jar
96
+ASM = @asm@
97
+ASMTREE = @asmtree@
98
+JLINE = @jline@
99
+JNA = @jna@
100
+THIRDPARTY_JARS = $(ASM)@cpsep@$(ASMTREE)@cpsep@$(JLINE)@cpsep@$(JNA)
101
 J_STAGE0 = src/vm/jvm/stage0
102
 J_STAGE1 = $(JVM_BUILD_DIR)/stage1
103
 J_STAGE2 = $(JVM_BUILD_DIR)/stage2
104
@@ -80,8 +83,8 @@ j-install: j-all
105
 	$(MKPATH) $(DESTDIR)$(BIN_DIR)
106
 	$(MKPATH) $(DESTDIR)$(NQP_JAR_DIR)
107
 	$(MKPATH) $(DESTDIR)$(NQP_LIB_DIR)
108
-	$(CP) 3rdparty/asm/asm-4.1.jar 3rdparty/asm/asm-tree-4.1.jar  $(DESTDIR)$(NQP_JAR_DIR)
109
-	$(CP) 3rdparty/jline/jline-1.0.jar 3rdparty/jna/jna.jar $(DESTDIR)$(NQP_JAR_DIR)
110
+	$(CP) $(ASM) $(ASMTREE) $(DESTDIR)$(NQP_JAR_DIR)
111
+	$(CP) $(JLINE) $(JNA) $(DESTDIR)$(NQP_JAR_DIR)
112
 	$(CP) $(RUNTIME_JAR) $(DESTDIR)$(NQP_JAR_DIR)
113
 	$(CP) $(NQP_MO_JAR) $(MODULE_LOADER_JAR) $(DESTDIR)$(NQP_LIB_DIR)
114
 	$(CP) $(CORE_SETTING_JAR) $(QASTNODE_JAR) $(QREGEX_JAR) $(DESTDIR)$(NQP_LIB_DIR)
115
diff --git a/tools/build/install-jvm-runner.pl b/tools/build/install-jvm-runner.pl
116
deleted file mode 100644
117
index 14541d6..0000000
118
--- a/tools/build/install-jvm-runner.pl
119
+++ /dev/null
120
@@ -1,44 +0,0 @@
121
-#!/usr/bin/perl
122
-# Copyright (C) 2013, The Perl Foundation.
123
-
124
-use strict;
125
-use warnings;
126
-use 5.008;
127
-use File::Spec;
128
-
129
-my ($destdir, $prefix) = @ARGV;
130
-my $realpath = $destdir.$prefix;
131
-
132
-unless (File::Spec->file_name_is_absolute($prefix)) {
133
-    $prefix = File::Spec->rel2abs($prefix);
134
-}
135
-
136
-if ($^O eq 'MSWin32') {
137
-    my $jar_dir = File::Spec->catfile($prefix, 'share', 'nqp', 'runtime');
138
-    my $lib_dir = File::Spec->catfile($prefix, 'share', 'nqp', 'lib');
139
-    my $install_to = File::Spec->catfile($realpath, 'bin', 'nqp-j.bat');
140
-
141
-    open my $fh, ">", $install_to
142
-        or die "Could not open $install_to: $!";
143
-    print $fh '@java -Xss1m -Xmx512m -Xbootclasspath/a:' . $jar_dir . '\\nqp-runtime.jar;' .
144
-              "$jar_dir\\asm-4.1.jar;$jar_dir\\jline-1.0.jar;$lib_dir\\nqp.jar -cp $lib_dir nqp %*\n";
145
-    close $fh
146
-        or die "Could not close $install_to: $!";
147
-}
148
-else {
149
-    my $nqp_dir = File::Spec->catfile($prefix, qw/share nqp/);
150
-    my $jar_dir = File::Spec->catfile('${NQP_DIR}', 'runtime');
151
-    my $lib_dir = File::Spec->catfile('${NQP_DIR}', 'lib');
152
-    my $jars = "$jar_dir/nqp-runtime.jar:$jar_dir/asm-4.1.jar:$jar_dir/jline-1.0.jar:$lib_dir/nqp.jar";
153
-    my $install_to = File::Spec->catfile($realpath, 'bin', 'nqp-j');
154
-
155
-    open my $fh, ">", $install_to
156
-        or die "Could not open $install_to: $!";
157
-    print $fh "#!/bin/sh\n";
158
-    print $fh ": \${NQP_DIR:=\"$nqp_dir\"}\n";
159
-    print $fh ": \${NQP_JARS:=\"$jars\"}\n";
160
-    print $fh "exec java -Xss1m -Xmx512m -Xbootclasspath/a:\${NQP_JARS} -cp $lib_dir nqp \"\$\@\"\n";
161
-    close $fh
162
-        or die "Could not close $install_to: $!";
163
-    chmod 0755, $install_to;
164
-}
165
diff --git a/tools/build/install-jvm-runner.pl.in b/tools/build/install-jvm-runner.pl.in
166
new file mode 100644
167
index 0000000..92a1109
168
--- /dev/null
169
+++ b/tools/build/install-jvm-runner.pl.in
170
@@ -0,0 +1,44 @@
171
+#!/usr/bin/perl
172
+# Copyright (C) 2013, The Perl Foundation.
173
+
174
+use strict;
175
+use warnings;
176
+use 5.008;
177
+use File::Spec;
178
+
179
+my ($destdir, $prefix) = @ARGV;
180
+my $realpath = $destdir.$prefix;
181
+
182
+unless (File::Spec->file_name_is_absolute($prefix)) {
183
+    $prefix = File::Spec->rel2abs($prefix);
184
+}
185
+
186
+if ($^O eq 'MSWin32') {
187
+    my $jar_dir = File::Spec->catfile($prefix, 'share', 'nqp', 'runtime');
188
+    my $lib_dir = File::Spec->catfile($prefix, 'share', 'nqp', 'lib');
189
+    my $install_to = File::Spec->catfile($realpath, 'bin', 'nqp-j.bat');
190
+
191
+    open my $fh, ">", $install_to
192
+        or die "Could not open $install_to: $!";
193
+    print $fh '@java -Xss1m -Xmx512m -Xbootclasspath/a:' . $jar_dir . '\\nqp-runtime.jar;' .
194
+              "$jar_dir\\@asmfile@;$jar_dir\\@jlinefile@;$lib_dir\\nqp.jar -cp $lib_dir nqp %*\n";
195
+    close $fh
196
+        or die "Could not close $install_to: $!";
197
+}
198
+else {
199
+    my $nqp_dir = File::Spec->catfile($prefix, qw/share nqp/);
200
+    my $jar_dir = File::Spec->catfile('${NQP_DIR}', 'runtime');
201
+    my $lib_dir = File::Spec->catfile('${NQP_DIR}', 'lib');
202
+    my $jars = "$jar_dir/nqp-runtime.jar:$jar_dir/@asmfile@:$jar_dir/@jlinefile@:$lib_dir/nqp.jar";
203
+    my $install_to = File::Spec->catfile($realpath, 'bin', 'nqp-j');
204
+
205
+    open my $fh, ">", $install_to
206
+        or die "Could not open $install_to: $!";
207
+    print $fh "#!/bin/sh\n";
208
+    print $fh ": \${NQP_DIR:=\"$nqp_dir\"}\n";
209
+    print $fh ": \${NQP_JARS:=\"$jars\"}\n";
210
+    print $fh "exec java -Xss1m -Xmx512m -Xbootclasspath/a:\${NQP_JARS} -cp $lib_dir nqp \"\$\@\"\n";
211
+    close $fh
212
+        or die "Could not close $install_to: $!";
213
+    chmod 0755, $install_to;
214
+}
(-)a/dev-lang/nqp/metadata.xml (+1 lines)
Lines 10-15 Link Here
10
    <name>Gentoo Perl Project</name>
10
    <name>Gentoo Perl Project</name>
11
  </maintainer>
11
  </maintainer>
12
  <use>
12
  <use>
13
	<flag name="clang">Toggle usage of the clang compiler in conjunction with MoarVM</flag>
13
    <flag name="moar">Build the MoarVM backend (experimental/broken)</flag>
14
    <flag name="moar">Build the MoarVM backend (experimental/broken)</flag>
14
  </use>
15
  </use>
15
  <upstream>
16
  <upstream>
(-)a/dev-lang/nqp/nqp-2016.04.ebuild (+77 lines)
Line 0 Link Here
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="Not Quite Perl, a Perl 6 bootstrapping compiler"
10
HOMEPAGE="http://rakudo.org/"
11
SRC_URI="https://github.com/perl6/${PN}/tarball/${PV} -> ${P}.tar.gz"
12
13
LICENSE="Artistic-2"
14
SLOT="0"
15
KEYWORDS="~x86 ~amd64"
16
IUSE="doc clang java +moar"
17
REQUIRED_USE="|| ( java moar )"
18
19
RDEPEND="java? ( >=virtual/jre-1.7:*
20
		dev-java/asm:4
21
		dev-java/jline:0 )
22
	moar? ( ~dev-lang/moarvm-${PV}[clang=] )
23
	dev-libs/libffi"
24
DEPEND="${RDEPEND}
25
	clang? ( sys-devel/clang )
26
	java? ( >=virtual/jdk-1.7:* )
27
	dev-lang/perl"
28
S="${WORKDIR}/perl6-nqp"
29
PATCHES=( "${FILESDIR}/enable-external-jars.patch" )
30
31
pkg_setup() {
32
	use java && java-pkg-2_pkg_setup
33
}
34
35
src_prepare() {
36
	eapply "${PATCHES[@]}"
37
	eapply_user
38
	use java && java-pkg-2_src_prepare
39
}
40
41
src_unpack() {
42
	unpack ${A}
43
	mv "${WORKDIR}/perl6-nqp-"* "${WORKDIR}/perl6-nqp" || die
44
}
45
46
src_configure() {
47
	# 2016.04 doesn't like our jna-3.4.1
48
	# keep testing against it
49
	local backends
50
	use java && backends+="jvm,"
51
	use moar && backends+="moar"
52
	local myconfargs=(
53
		"--backend=${backends}"
54
		"--with-asm=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm\.jar$')"
55
		"--with-asm-tree=$(echo $(java-pkg_getjars asm-4) | tr : '\n' | grep '/asm-tree\.jar$')"
56
		"--with-jline=$(echo $(java-pkg_getjars jline) | tr : '\n' | grep '/jline\.jar$')"
57
		"--prefix=/usr" )
58
	perl Configure.pl "${myconfargs[@]}" || die
59
}
60
61
src_compile() {
62
	MAKEOPTS=-j1 emake
63
}
64
65
src_test() {
66
	MAKEOPTS=-j1 emake test
67
}
68
69
src_install() {
70
	emake DESTDIR="${ED}" install || die
71
72
	dodoc CREDITS README.pod || die
73
74
	if use doc; then
75
		dodoc -r docs/* || die
76
	fi
77
}
(-)a/dev-lang/rakudo/Manifest (+1 lines)
Lines 1-3 Link Here
1
DIST rakudo-2016.01.1.tar.gz 2687265 SHA256 897d01bcb27c209bd51918bb5be6adc6e6ea9dbc2c6b65414f9ac081aa8c5d7b SHA512 31228d49577f5d25b306a987650af0ae11bb2fa80fcaeee421dbe88dc9812edd5a399999f8727dee11d74177b7b9bca0290e26c4240c7baed35fabb4c912f85f WHIRLPOOL 52b2d7d1a0461883b1d07bbb492994f7eb8930a8726565d9a4788883e16510fc052dc066bf8443e09042548d76a3f3ca1cb17be8baa23b16f5742eb52f33c39b
1
DIST rakudo-2016.01.1.tar.gz 2687265 SHA256 897d01bcb27c209bd51918bb5be6adc6e6ea9dbc2c6b65414f9ac081aa8c5d7b SHA512 31228d49577f5d25b306a987650af0ae11bb2fa80fcaeee421dbe88dc9812edd5a399999f8727dee11d74177b7b9bca0290e26c4240c7baed35fabb4c912f85f WHIRLPOOL 52b2d7d1a0461883b1d07bbb492994f7eb8930a8726565d9a4788883e16510fc052dc066bf8443e09042548d76a3f3ca1cb17be8baa23b16f5742eb52f33c39b
2
DIST rakudo-2016.02.tar.gz 2691766 SHA256 8ccfbf24f49bf4f5aa0304ffa69abbd90b97dc59f2c65e2384c6b609e3d3f00a SHA512 9fa891a84e882626050772231dee15ad20f1c2d84b5b9ff985964efbff45f18e0a1940dad2cc1fbb8b91f69d9f7f2a3034998819e8ddbf0c380684b326d299ca WHIRLPOOL 2a55ec29df905ec79fee842f84394ac8733d1b116fc90c29a06e8953a77b15bfc193d974a804f99d41ee0b9fce87d4b07ff6e367f03243d08d03f20340fe766e
2
DIST rakudo-2016.02.tar.gz 2691766 SHA256 8ccfbf24f49bf4f5aa0304ffa69abbd90b97dc59f2c65e2384c6b609e3d3f00a SHA512 9fa891a84e882626050772231dee15ad20f1c2d84b5b9ff985964efbff45f18e0a1940dad2cc1fbb8b91f69d9f7f2a3034998819e8ddbf0c380684b326d299ca WHIRLPOOL 2a55ec29df905ec79fee842f84394ac8733d1b116fc90c29a06e8953a77b15bfc193d974a804f99d41ee0b9fce87d4b07ff6e367f03243d08d03f20340fe766e
3
DIST rakudo-2016.03.tar.gz 2702229 SHA256 d77b58acb09f34c99af94f32db92698df88cda7015c7630ddb1392adbf703471 SHA512 53619288655edf72f986cb5fe7b72cd70ed88a6b18421d46d5d70a8932ca22eb1067be5ddf98264e576f7d81a84d9bbaca2ac5ac3241e582d2f4672589ba7ab1 WHIRLPOOL 43696dda25214aa9e30be7c1c3323dee8ea0f1c50a5754ca2a08d421b4c59cac5001fa4a63d8086ce0cb97801eb098d4e854ca4b801eaf7d277099bf6d86b655
3
DIST rakudo-2016.03.tar.gz 2702229 SHA256 d77b58acb09f34c99af94f32db92698df88cda7015c7630ddb1392adbf703471 SHA512 53619288655edf72f986cb5fe7b72cd70ed88a6b18421d46d5d70a8932ca22eb1067be5ddf98264e576f7d81a84d9bbaca2ac5ac3241e582d2f4672589ba7ab1 WHIRLPOOL 43696dda25214aa9e30be7c1c3323dee8ea0f1c50a5754ca2a08d421b4c59cac5001fa4a63d8086ce0cb97801eb098d4e854ca4b801eaf7d277099bf6d86b655
4
DIST rakudo-2016.04.tar.gz 2706659 SHA256 207d723c9b2d524daf6008a3ed026ea06773d937e76e0fe79b89bfb7dcd0d92b SHA512 08e718643cfa89edbb8995ab9f350f69053e41cff97b33530dd2eb202d2ab2116d219ef1385717b48f5883665c73a181b1b054c1300db302fba31c6081e97532 WHIRLPOOL d49791b696114f57b685221be5cfe1873a88507810819b2a9aace07da2c2d7535eeaecc6c830df3265ecd1ff352effa509cbb3f24cba7e8afc0dc1468553cce6
(-)a/dev-lang/rakudo/metadata.xml (-2 / +8 lines)
Line 0 Link Here
1
diff -Naur a/tools/build/Makefile-Moar.in b/tools/build/Makefile-Moar.in
2
--- a/tools/build/Makefile-Moar.in	2016-02-02 14:27:13.000000000 +0100
Lines 5-12 Link Here
5
		<email>patrick@gentoo.org</email>
5
		<email>patrick@gentoo.org</email>
6
		<name>Patrick Lauer</name>
6
		<name>Patrick Lauer</name>
7
	</maintainer>
7
	</maintainer>
8
        <maintainer type="project">
8
    <maintainer type="project">
9
        <email>perl@gentoo.org</email>
9
        <email>perl@gentoo.org</email>
10
        <name>Gentoo Perl Project</name>
10
        <name>Gentoo Perl Project</name>
11
        </maintainer>
11
    </maintainer>
12
    <use>
13
		<flag name="clang">Use Clang to compile the MoarVM backend</flag>
14
		<flag name="moar">Use the MoarVM as backend</flag>
15
	</use>
12
</pkgmetadata>
16
</pkgmetadata>
(-)a/dev-lang/rakudo/rakudo-2016.04.ebuild (+76 lines)
Line 0 Link Here
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="clang java moar test"
24
25
RDEPEND="=dev-lang/nqp-${PV}:=[java=,moar=,clang=]"
26
DEPEND="${RDEPEND}
27
	clang? ( sys-devel/clang )
28
	>=dev-lang/perl-5.10"
29
30
REQUIRED_USE="|| ( java moar )"
31
PATCHES=( "${FILESDIR}/${PN}-2016.03-Makefile.in.patch" )
32
33
pkg_setup() {
34
	use java && java-pkg-2_pkg_setup
35
}
36
37
src_prepare() {
38
	eapply "${PATCHES[@]}"
39
40
	# yup, this is ugly. but emake doesn't respect DESTDIR.
41
	for i in Moar JVM; do
42
		echo "DESTDIR   = ${D}" > "${T}/Makefile-${i}.in" || die
43
		cat "${S}/tools/build/Makefile-${i}.in" >> "${T}/Makefile-${i}.in" || die
44
		mv "${T}/Makefile-${i}.in" "${S}/tools/build/Makefile-${i}.in" || die
45
	done
46
47
	eapply_user
48
	use java && java-pkg-2_src_prepare
49
}
50
51
src_configure() {
52
	local backends
53
	use java && backends+="jvm,"
54
	use moar && backends+="moar,"
55
	local myargs=( "--prefix=/usr"
56
		"--sysroot=/"
57
		"--sdkroot=/"
58
		"--make-install"
59
		"--sdkroot=/"
60
		"--backends=${backends}"
61
	)
62
	perl Configure.pl "${myargs[@]}"
63
}
64
65
src_compile() {
66
	emake DESTDIR="${D}"
67
}
68
69
src_test() {
70
	export RAKUDO_PRECOMP_PREFIX=$(mktemp -d)
71
	default
72
}
73
74
src_install() {
75
	emake DESTDIR="${D}" install
76
}
(-)a/profiles/base/package.use.mask (+5 lines)
Lines 5-10 Link Here
5
# This file requires >=portage-2.1.1
5
# This file requires >=portage-2.1.1
6
# New entries go on top.
6
# New entries go on top.
7
7
8
# Matthew Brewer <tomboy64@sina.cn> (21 Apr 2016)
9
# Upstream supports using Clang's address sanitizer, but apparently
10
# invokes it wrong.
11
dev-lang/moarvm asan
12
8
# Johannes Huber <johu@gentoo.org> (21 Apr 2016)
13
# Johannes Huber <johu@gentoo.org> (21 Apr 2016)
9
# Unreleased dependency.
14
# Unreleased dependency.
10
kde-apps/ktp-text-ui speech
15
kde-apps/ktp-text-ui speech

Return to bug 580732