aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Brewer <tomboy64@sina.cn>2016-05-18 19:46:15 +0200
committerMatthew Brewer <tomboy64@sina.cn>2016-05-18 19:46:15 +0200
commita4d03eb73a52e6cea41c8719fe50a9b928bebb1d (patch)
tree7781b47ba031bd1549e273d2a42d02bdf6738640 /dev-lang/moarvm
parentprofiles/categories for dev-js (diff)
downloadtbc-a4d03eb73a52e6cea41c8719fe50a9b928bebb1d.tar.gz
tbc-a4d03eb73a52e6cea41c8719fe50a9b928bebb1d.tar.bz2
tbc-a4d03eb73a52e6cea41c8719fe50a9b928bebb1d.zip
dev-lang/nqp:2016.04 (experimental\!)
Diffstat (limited to 'dev-lang/moarvm')
-rw-r--r--dev-lang/moarvm/Manifest3
-rw-r--r--dev-lang/moarvm/files/Configure-2016.04.patch145
-rw-r--r--dev-lang/moarvm/metadata.xml6
-rw-r--r--dev-lang/moarvm/moarvm-2016.01-r1.ebuild31
-rw-r--r--dev-lang/moarvm/moarvm-2016.02.ebuild31
-rw-r--r--dev-lang/moarvm/moarvm-2016.03.ebuild31
-rw-r--r--dev-lang/moarvm/moarvm-2016.04-r1.ebuild68
-rw-r--r--dev-lang/moarvm/moarvm-2016.04.ebuild67
-rw-r--r--dev-lang/moarvm/moarvm-9999.ebuild6
9 files changed, 334 insertions, 54 deletions
diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest
index 99ca671..8841bc0 100644
--- a/dev-lang/moarvm/Manifest
+++ b/dev-lang/moarvm/Manifest
@@ -1 +1,4 @@
+DIST MoarVM-2016.01.tar.gz 3314742 SHA256 d409b684c7c92b144b31cf7f0408f30ccbb033ce646f57d7fbaeb9683773e37b SHA512 019433a985c8245c231d533b8310fceda185a694681aaecb922602ad98897c636c40fbe1a36ba656af4c242b28315611f656454eb41f25e0f891b652210eb435 WHIRLPOOL f603e1f60667771e0200e731b37ff854346d00a0de484a9b3072f83e0ee624bc2b7d7e862c872d9062a4397adb5bfab31d835754966a7fe44490312c82a37e8e
+DIST MoarVM-2016.02.tar.gz 3313448 SHA256 3bdacebba98e6b2d3d10f12af0ab514dec27fb24b15ed00aef479b7d190ce40a SHA512 fdeb107e071bcd7a893f15f105e722543010a87710cbd2ac4ce322000c96c9dae5c5e661dd8d60e712c4fe22d860650a003485d75f95a5b19fcde266f8fe483d WHIRLPOOL 9ccb54d147d558b4fa52bfe9b098384b3d61dffba598db803828bb0cbbc8bae9fd6a527d093c07a421cd97a59952e11ffaf9c6cef93ce9b48778009558e96732
+DIST MoarVM-2016.03.tar.gz 3318299 SHA256 dfc3914e609f30ff06f14267bcbb4fcc6da3d85782d35c1838701a5ea41d8f2f SHA512 358c48f6b1803e39841e9f287f2fe3cdde743962d9d9c34e629c18b1b7290fd8a713917f24233dd092ed68adf9a6d0aadb25bda22b3e353d40bd57ae58d70216 WHIRLPOOL e68dfbc40bda23a49c28089fe8396e5a182afc0ac2550f9ab5d9f1564943af163fcc68b466feaf0778a2df57cd472c87f0853d47882b9b625434c7740ec5aec4
DIST MoarVM-2016.04.tar.gz 3332850 SHA256 6fe9000daada59535747f2557cc73573241ba8a6044271caf1647aa37be33c6d SHA512 ef22145c9f7c32d7d12192cee63f286544500adff40fc2dbaad677d57108bc6efedc348fe8ddf460fe12d2c6b282e885bcb74fb3bcaa1e06b7719754175afe7d WHIRLPOOL e314f80cd785d31768630798647d7f445831bb29aaded88ef32326df3f4705a5d3fba2da00fce6888a2256b57aeb838922e94c3096250d30112f2be2bfacbb92
diff --git a/dev-lang/moarvm/files/Configure-2016.04.patch b/dev-lang/moarvm/files/Configure-2016.04.patch
new file mode 100644
index 0000000..6fd46c2
--- /dev/null
+++ b/dev-lang/moarvm/files/Configure-2016.04.patch
@@ -0,0 +1,145 @@
+diff --git a/Configure.pl b/Configure.pl
+index 72a5dad..f829d5c 100755
+--- a/Configure.pl
++++ b/Configure.pl
+@@ -32,7 +32,7 @@ GetOptions(\%args, qw(
+ os=s shell=s toolchain=s compiler=s
+ ar=s cc=s ld=s make=s has-sha has-libuv
+ static has-libtommath has-libatomic_ops
+- has-dyncall has-libffi
++ has-dyncall has-libffi pkgconfig=s
+ build=s host=s big-endian jit! enable-jit lua=s has-dynasm
+ prefix=s bindir=s libdir=s mastdir=s make-install asan ubsan),
+ 'no-optimize|nooptimize' => sub { $args{optimize} = 0 },
+@@ -99,6 +99,7 @@ $config{config} = join ' ', map { / / ? "\"$_\"" : $_ } @args;
+ $config{osname} = $^O;
+ $config{osvers} = $Config{osvers};
+ $config{lua} = $args{lua} // './3rdparty/dynasm/minilua@exe@';
++$config{pkgconfig} = $args{pkgconfig} // '/usr/bin/pkg-config';
+
+ # set options that take priority over all others
+ my @keys = qw( ar cc ld make );
+@@ -164,12 +165,33 @@ if (-e '3rdparty/libuv/src/unix/threadpool' . $defaults{obj}
+ system($defaults{make}, 'realclean')
+ }
+
++# test whether pkg-config works
++if (-e "$config{pkgconfig}") {
++ print("\nTesting pkgconfig ... ");
++ system("$config{pkgconfig}", "--version");
++ if ( $? == 0 ) {
++ $config{pkgconfig_works} = 1;
++ } else {
++ $config{pkgconfig_works} = 0;
++ }
++}
++
+ # conditionally set include dirs and install rules
+ $config{cincludes} //= '';
+ $config{install} //= '';
+ if ($args{'has-libuv'}) {
+ $defaults{-thirdparty}->{uv} = undef;
+ unshift @{$config{usrlibs}}, 'uv';
++ if ($config{pkgconfig_works}) {
++ my $result = `$config{pkgconfig} --cflags libuv`;
++ if ( $? == 0 ) {
++ $result =~ s/\n/ /g;
++ $config{cincludes} .= ' ' . "$result";
++ print("Adding extra include for libuv: $result\n");
++ } else {
++ print("Error occured when running $config{pkgconfig} --cflags libuv.\n");
++ }
++ }
+ }
+ else {
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libuv/include'
+@@ -181,6 +203,16 @@ else {
+ if ($args{'has-libatomic_ops'}) {
+ $defaults{-thirdparty}->{lao} = undef;
+ unshift @{$config{usrlibs}}, 'atomic_ops';
++ if ($config{pkgconfig_works}) {
++ my $result = `$config{pkgconfig} --cflags atomic_ops`;
++ if ( $? == 0 ) {
++ $result =~ s/\n/ /g;
++ $config{cincludes} .= ' ' . "$result";
++ print("Adding extra include for atomic_ops: $result\n");
++ } else {
++ print("Error occured when running $config{pkgconfig} --cflags atomic_ops.\n");
++ }
++ }
+ }
+ else {
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libatomic_ops/src';
+@@ -216,7 +248,8 @@ if ($args{'has-libtommath'}) {
+ }
+ else {
+ $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libtommath';
+- $config{install} .= "\t\$(CP) 3rdparty/libtommath/*.h \$(DESTDIR)\$(PREFIX)/include/libtommath\n";
++ $config{install} .= "\t\$(MKPATH) \$(DESTDIR)\$(PREFIX)/include/libtommath\n"
++ . "\t\$(CP) 3rdparty/libtommath/*.h \$(DESTDIR)\$(PREFIX)/include/libtommath\n";
+ }
+
+ if ($args{'has-dynasm'}) {
+@@ -232,6 +265,16 @@ if ($args{'has-libffi'}) {
+ $config{nativecall_backend} = 'libffi';
+ unshift @{$config{usrlibs}}, 'ffi';
+ push @{$config{defs}}, 'HAVE_LIBFFI';
++ if ($config{pkgconfig_works}) {
++ my $result = `$config{pkgconfig} --cflags libffi`;
++ if ( $? == 0 ) {
++ $result =~ s/\n/ /g;
++ $config{cincludes} .= ' ' . "$result";
++ print("Adding extra include for libffi: $result\n");
++ } else {
++ print("Error occured when running $config{pkgconfig} --cflags libffi.\n");
++ }
++ }
+ }
+ elsif ($args{'has-dyncall'}) {
+ unshift @{$config{usrlibs}}, 'dyncall_s', 'dyncallback_s', 'dynload_s';
+@@ -364,6 +407,7 @@ my $order = $config{be} ? 'big endian' : 'little endian';
+ print "\n", <<TERM, "\n";
+ make: $config{make}
+ compile: $config{cc} $config{cflags}
++ includes: $config{cincludes}
+ link: $config{ld} $config{ldflags}
+ libs: $config{ldlibs}
+
+@@ -873,6 +917,10 @@ Build and install MoarVM in addition to configuring it.
+
+ =item --has-libffi
+
++=item --pkgconfig=/path/to/pkgconfig/executable
++
++Provide path to the pkgconfig executable. Default: /usr/bin/pkg-config
++
+ =item --no-jit
+
+ Disable JIT compiler, which is enabled by default to JIT-compile hot frames.
+diff --git a/build/Makefile.in b/build/Makefile.in
+index 56a4c8a..b94e847 100644
+--- a/build/Makefile.in
++++ b/build/Makefile.in
+@@ -454,9 +454,6 @@ install: all
+ $(CP) src/strings/*.h $(DESTDIR)$(PREFIX)/include/moar/strings
+ $(CP) src/jit/*.h $(DESTDIR)$(PREFIX)/include/moar/jit
+ $(CP) src/instrument/*.h $(DESTDIR)$(PREFIX)/include/moar/instrument
+- $(MKPATH) $(DESTDIR)$(PREFIX)/include/libuv
+- $(MKPATH) $(DESTDIR)$(PREFIX)/include/libtommath
+- $(CP) 3rdparty/libuv/include/*.h $(DESTDIR)$(PREFIX)/include/libuv
+ @install@
+
+ lib: @moar@
+diff --git a/build/setup.pm b/build/setup.pm
+index 324cc88..c87d79e 100755
+--- a/build/setup.pm
++++ b/build/setup.pm
+@@ -125,7 +125,7 @@ our %TC_POSIX = (
+ ccshared => '-fPIC',
+ ldshared => '-shared @ccshared@',
+ moarshared => '',
+- ldrpath => '-Wl,-rpath,@libdir@ -Wl,-rpath,@prefix@/share/perl6/site/lib',
++ ldrpath => '-Wl,-rpath,/@libdir@ -Wl,-rpath,@prefix@/share/perl6/site/lib',
+
+ arflags => 'rcs',
+ arout => '',
diff --git a/dev-lang/moarvm/metadata.xml b/dev-lang/moarvm/metadata.xml
index dffa018..3e0f367 100644
--- a/dev-lang/moarvm/metadata.xml
+++ b/dev-lang/moarvm/metadata.xml
@@ -5,13 +5,17 @@
<email>patrick@gentoo.org</email>
<name>Patrick Lauer</name>
</maintainer>
+ <maintainer type="person">
+ <email>tomboy64@sina.cn</email>
+ <name>Matthew Brewer</name>
+ </maintainer>
<maintainer type="project">
<email>perl@gentoo.org</email>
<name>Gentoo Perl Project</name>
</maintainer>
<use>
<flag name="asan">Enable clang's Address Sanitizer functionality. Expect longer compile time.</flag>
- <flag name="clang">Use clang compiler instead of GCC</flag>
+ <flag name="clang">Use clang compiler instead of GCC</flag>
<flag name="jit">Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin.</flag>
<flag name="optimize">Enable optimization via CFLAGS</flag>
<flag name="system-libs">Link against the system's shared libraries</flag>
diff --git a/dev-lang/moarvm/moarvm-2016.01-r1.ebuild b/dev-lang/moarvm/moarvm-2016.01-r1.ebuild
new file mode 100644
index 0000000..0e7c088
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2016.01-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib
+
+MY_PN="MoarVM"
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="dev-libs/libuv"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/MoarVM-${PV}"
+
+src_configure() {
+ perl Configure.pl --prefix="/usr"|| die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-lang/moarvm/moarvm-2016.02.ebuild b/dev-lang/moarvm/moarvm-2016.02.ebuild
new file mode 100644
index 0000000..0e7c088
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2016.02.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib
+
+MY_PN="MoarVM"
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="dev-libs/libuv"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/MoarVM-${PV}"
+
+src_configure() {
+ perl Configure.pl --prefix="/usr"|| die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-lang/moarvm/moarvm-2016.03.ebuild b/dev-lang/moarvm/moarvm-2016.03.ebuild
new file mode 100644
index 0000000..0e7c088
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2016.03.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib
+
+MY_PN="MoarVM"
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="dev-libs/libuv"
+DEPEND="${RDEPEND}
+ dev-lang/perl"
+
+S="${WORKDIR}/MoarVM-${PV}"
+
+src_configure() {
+ perl Configure.pl --prefix="/usr"|| die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}
diff --git a/dev-lang/moarvm/moarvm-2016.04-r1.ebuild b/dev-lang/moarvm/moarvm-2016.04-r1.ebuild
new file mode 100644
index 0000000..7b75a88
--- /dev/null
+++ b/dev-lang/moarvm/moarvm-2016.04-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit flag-o-matic
+
+MY_PN="MoarVM"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ S="${WORKDIR}/${P}"
+else
+ SRC_URI="https://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_PN}-${PV}"
+fi
+
+DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
+HOMEPAGE="http://moarvm.org"
+LICENSE="Artistic-2"
+SLOT="0"
+IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan"
+
+RDEPEND="dev-libs/libatomic_ops
+ dev-libs/libtommath
+ dev-libs/libuv
+ jit? ( dev-lang/lua:0[deprecated]
+ dev-lua/LuaBitOp )
+ virtual/libffi"
+DEPEND="${RDEPEND}
+ clang? ( >=sys-devel/clang-3.1 )
+ dev-lang/perl"
+
+PATCHES=( "${FILESDIR}/Configure-2016.04.patch" )
+DOCS=( CREDITS README.markdown )
+
+# Tests are conducted via nqp
+RESTRICT=test
+
+src_prepare() {
+ eapply "${PATCHES[@]}"
+ eapply_user
+ use doc && DOCS+=( docs/* )
+}
+
+src_configure() {
+ local myconfigargs=(
+ "--prefix=/usr"
+ "--libdir=$(get_libdir)"
+ "--compiler=$(usex clang clang gcc)"
+ "$(usex asan --asan)"
+ "$(usex debug --debug --no-debug)"
+ "$(usex jit --lua=/usr/bin/lua --no-jit)"
+ "$(usex optimize --optimize= --no-optimize)"
+ "$(usex static-libs --static)"
+ "$(usex system-libs --has-libtommath)"
+ "$(usex system-libs --has-libuv)"
+ "$(usex system-libs --has-libatomic_ops)"
+ "$(usex system-libs --has-libffi)"
+ "$(usex ubsan --ubsan)"
+ )
+ use optimize && filter-flags '-O*'
+
+ perl Configure.pl "${myconfigargs[@]}" || die
+}
diff --git a/dev-lang/moarvm/moarvm-2016.04.ebuild b/dev-lang/moarvm/moarvm-2016.04.ebuild
index 9016af7..9ce8da2 100644
--- a/dev-lang/moarvm/moarvm-2016.04.ebuild
+++ b/dev-lang/moarvm/moarvm-2016.04.ebuild
@@ -1,68 +1,35 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=6
+EAPI=5
-inherit flag-o-matic
+inherit eutils multilib
MY_PN="MoarVM"
-if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
- inherit git-r3
- KEYWORDS=""
- S="${WORKDIR}/${P}"
-else
- SRC_URI="https://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/${MY_PN}-${PV}"
-fi
DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
HOMEPAGE="http://moarvm.org"
+SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
LICENSE="Artistic-2"
SLOT="0"
-IUSE="asan clang debug doc +jit static-libs +system-libs optimize ubsan"
-
-RDEPEND="dev-libs/libatomic_ops
- dev-libs/libtommath
- dev-libs/libuv
- jit? ( dev-lang/lua:0[deprecated]
- dev-lua/LuaBitOp )
- virtual/libffi"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="dev-libs/libuv
+ dev-libs/libtommath
+ dev-libs/libatomic_ops
+ dev-libs/libuv
+ "
DEPEND="${RDEPEND}
- clang? ( >=sys-devel/clang-3.1 )
dev-lang/perl"
-PATCHES=( "${FILESDIR}/Configure-2016.03.patch" )
-DOCS=( CREDITS README.markdown )
-
-# Tests are conducted via nqp
-RESTRICT=test
-
-src_prepare() {
- eapply "${PATCHES[@]}"
- eapply_user
- use doc && DOCS+=( docs/* )
-}
+S="${WORKDIR}/MoarVM-${PV}"
src_configure() {
- local myconfigargs=(
- "--prefix=/usr"
- "--libdir=$(get_libdir)"
- "--compiler=$(usex clang clang gcc)"
- "$(usex asan --asan)"
- "$(usex debug --debug --no-debug)"
- "$(usex jit --lua=/usr/bin/lua --no-jit)"
- "$(usex optimize --optimize= --no-optimize)"
- "$(usex static-libs --static)"
- "$(usex system-libs --has-libtommath)"
- "$(usex system-libs --has-libuv)"
- "$(usex system-libs --has-libatomic_ops)"
- "$(usex system-libs --has-libffi)"
- "$(usex ubsan --ubsan)"
- )
- use optimize && filter-flags '-O*'
+ perl Configure.pl --prefix="/usr" --has-libtommath --has-libatomic_ops --has-libuv || die
+}
- perl Configure.pl "${myconfigargs[@]}" || die
+src_install() {
+ emake DESTDIR="${D}" install
}
diff --git a/dev-lang/moarvm/moarvm-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild
index 9016af7..7b75a88 100644
--- a/dev-lang/moarvm/moarvm-9999.ebuild
+++ b/dev-lang/moarvm/moarvm-9999.ebuild
@@ -8,8 +8,8 @@ inherit flag-o-matic
MY_PN="MoarVM"
if [[ ${PV} == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
- inherit git-r3
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ inherit git-r3
KEYWORDS=""
S="${WORKDIR}/${P}"
else
@@ -34,7 +34,7 @@ DEPEND="${RDEPEND}
clang? ( >=sys-devel/clang-3.1 )
dev-lang/perl"
-PATCHES=( "${FILESDIR}/Configure-2016.03.patch" )
+PATCHES=( "${FILESDIR}/Configure-2016.04.patch" )
DOCS=( CREDITS README.markdown )
# Tests are conducted via nqp