diff options
author | Matthew Brewer <tomboy64@sina.cn> | 2016-05-18 19:46:15 +0200 |
---|---|---|
committer | Matthew Brewer <tomboy64@sina.cn> | 2016-05-18 19:46:15 +0200 |
commit | a4d03eb73a52e6cea41c8719fe50a9b928bebb1d (patch) | |
tree | 7781b47ba031bd1549e273d2a42d02bdf6738640 | |
parent | profiles/categories for dev-js (diff) | |
download | tbc-a4d03eb73a52e6cea41c8719fe50a9b928bebb1d.tar.gz tbc-a4d03eb73a52e6cea41c8719fe50a9b928bebb1d.tar.bz2 tbc-a4d03eb73a52e6cea41c8719fe50a9b928bebb1d.zip |
dev-lang/nqp:2016.04 (experimental\!)
-rw-r--r-- | dev-lang/moarvm/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/moarvm/files/Configure-2016.04.patch | 145 | ||||
-rw-r--r-- | dev-lang/moarvm/metadata.xml | 6 | ||||
-rw-r--r-- | dev-lang/moarvm/moarvm-2016.01-r1.ebuild | 31 | ||||
-rw-r--r-- | dev-lang/moarvm/moarvm-2016.02.ebuild | 31 | ||||
-rw-r--r-- | dev-lang/moarvm/moarvm-2016.03.ebuild | 31 | ||||
-rw-r--r-- | dev-lang/moarvm/moarvm-2016.04-r1.ebuild | 68 | ||||
-rw-r--r-- | dev-lang/moarvm/moarvm-2016.04.ebuild | 67 | ||||
-rw-r--r-- | dev-lang/moarvm/moarvm-9999.ebuild | 6 |
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 |