From c894b32690170673918f2a47ad0eed8d7ccc812c Mon Sep 17 00:00:00 2001 From: "Marshall Brewer (Gentoo Key)" Date: Thu, 21 Apr 2016 02:23:50 +0200 Subject: [PATCH 1/4] dev-lang/moarvm: revbump 2016.04 bring the ebuild up-to-date with moarvm's build system Package-Manager: portage-2.2.28 --- dev-lang/moarvm/Manifest | 1 + dev-lang/moarvm/files/Configure-2016.03.patch | 117 ++++++++++++++++++++++++++ dev-lang/moarvm/metadata.xml | 8 ++ dev-lang/moarvm/moarvm-2016.04.ebuild | 61 ++++++++++++++ dev-lang/moarvm/moarvm-9999.ebuild | 36 -------- 5 files changed, 187 insertions(+), 36 deletions(-) create mode 100644 dev-lang/moarvm/files/Configure-2016.03.patch create mode 100644 dev-lang/moarvm/moarvm-2016.04.ebuild delete mode 100644 dev-lang/moarvm/moarvm-9999.ebuild diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest index 748cc98..8841bc0 100644 --- a/dev-lang/moarvm/Manifest +++ b/dev-lang/moarvm/Manifest @@ -1,3 +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.03.patch b/dev-lang/moarvm/files/Configure-2016.03.patch new file mode 100644 index 0000000..25d3ff8 --- /dev/null +++ b/dev-lang/moarvm/files/Configure-2016.03.patch @@ -0,0 +1,117 @@ +diff -Naur a/build/Makefile.in b/build/Makefile.in +--- a/build/Makefile.in 2016-04-01 18:11:09.000000000 +0200 ++++ b/build/Makefile.in 2016-04-26 06:40:45.720447186 +0200 +@@ -454,9 +453,6 @@ + $(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 -Naur a/Configure.pl b/Configure.pl +--- a/Configure.pl 2016-04-01 18:11:09.000000000 +0200 ++++ b/Configure.pl 2016-04-26 06:48:42.007363596 +0200 +@@ -32,7 +32,7 @@ + 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{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,30 @@ + system($defaults{make}, 'realclean') + } + ++# test whether pkg-config works ++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 include for libuv: $result\n"); ++ } else { ++ print("Error occured when running $config{pkgconfig} --cflags libuv."); ++ } ++ } + } + else { + $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libuv/include' +@@ -181,6 +200,16 @@ + 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 include for atomic_ops: $result\n"); ++ } else { ++ print("Error occured when running $config{pkgconfig} --cflags atomic_ops."); ++ } ++ } + } + else { + $config{cincludes} .= ' ' . $defaults{ccinc} . '3rdparty/libatomic_ops/src'; +@@ -232,6 +261,16 @@ + $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 include for libffi: $result\n"); ++ } else { ++ print("Error occured when running $config{pkgconfig} --cflags libffi."); ++ } ++ } + } + elsif ($args{'has-dyncall'}) { + unshift @{$config{usrlibs}}, 'dyncall_s', 'dyncallback_s', 'dynload_s'; +@@ -364,6 +403,7 @@ + print "\n", <perl@gentoo.org Gentoo Perl Project + + Enable clang's Address Sanitizer functionality. Expect longer compile time. + Use clang compiler instead of GCC + Enable Just-In-Time-Compiler. Has no effect except on AMD64 and Darwin. + Enable optimization via CFLAGS + Link against the system's shared libraries + Enable clang's Undefined Behavior Sanitizer functionality. Expect longer compile time. + MoarVM/MoarVM diff --git a/dev-lang/moarvm/moarvm-2016.04.ebuild b/dev-lang/moarvm/moarvm-2016.04.ebuild new file mode 100644 index 0000000..bf85bee --- /dev/null +++ b/dev-lang/moarvm/moarvm-2016.04.ebuild @@ -0,0 +1,61 @@ +# 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" + +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="asan clang debug doc +jit static-libs +system-libs optimize ubsan" + +RDEPEND="system-libs? ( 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 + dev-perl/extutils-pkgconfig" + +REQUIRED_USE="asan? ( clang )" +S="${WORKDIR}/MoarVM-${PV}" +PATCHES=( "${FILESDIR}/Configure-2016.03.patch" ) +DOCS=( CREDITS README.markdown ) + +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-9999.ebuild b/dev-lang/moarvm/moarvm-9999.ebuild deleted file mode 100644 index 0b704eb..0000000 --- a/dev-lang/moarvm/moarvm-9999.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -inherit eutils git-r3 - -MY_PN="MoarVM" - -DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6" -HOMEPAGE="https://github.com/MoarVM/MoarVM" -EGIT_REPO_URI="https://github.com/MoarVM/MoarVM.git" - -LICENSE="Artistic-2" -SLOT="0" -KEYWORDS="" -IUSE="doc" - -RDEPEND="" -DEPEND="${RDEPEND} - dev-lang/perl" - -src_prepare() { - epatch "${FILESDIR}/Configure-9999.patch" || die -} - -src_configure() { - # this is quite badong, but wtf build system - echo "2013.10-145-gec52026" >> VERSION - perl Configure.pl --prefix="${D}/usr"|| die -} - -src_install() { - make install -} -- 2.8.1