diff options
author | bsiegert <bsiegert@pkgsrc.org> | 2016-04-08 20:26:46 +0000 |
---|---|---|
committer | bsiegert <bsiegert@pkgsrc.org> | 2016-04-08 20:26:46 +0000 |
commit | be8c87f557cf999493562dd51ca612b229abf54d (patch) | |
tree | bf7f04083033119cd2c198f9ef6e2c013f45cf58 /devel/MoarVM | |
parent | fc2721b73ebf9949211950b878de877692bff15d (diff) | |
download | pkgsrc-be8c87f557cf999493562dd51ca612b229abf54d.tar.gz |
Import MoarVM-2016.03 from wip.
Short for "Metamodel On A Runtime", MoarVM is a virtual machine built
especially for Rakudo Perl 6 and the NQP Compiler Toolchain. The primary
backend target for the Christmas 2015 release of Perl 6, MoarVM stands
out amongst the various Rakudo and NQP compilation targets by:
- Running the Perl 6 specification test suite in the least time
- Passing more of the Perl 6 specification tests than Rakudo Perl 6 on
other backends
- Having the lowest memory usage
- Having the best startup time
- Being fastest to build both NQP and Rakudo - and thus your Perl 6 and
NQP programs too!
- Being the only backend to support strings at grapheme level
Diffstat (limited to 'devel/MoarVM')
-rw-r--r-- | devel/MoarVM/DESCR | 13 | ||||
-rw-r--r-- | devel/MoarVM/Makefile | 38 | ||||
-rw-r--r-- | devel/MoarVM/PLIST | 176 | ||||
-rw-r--r-- | devel/MoarVM/buildlink3.mk | 17 | ||||
-rw-r--r-- | devel/MoarVM/distinfo | 8 | ||||
-rw-r--r-- | devel/MoarVM/patches/patch-build_probe.pm | 15 | ||||
-rw-r--r-- | devel/MoarVM/patches/patch-build_setup.pm | 22 |
7 files changed, 289 insertions, 0 deletions
diff --git a/devel/MoarVM/DESCR b/devel/MoarVM/DESCR new file mode 100644 index 00000000000..397b204dd0f --- /dev/null +++ b/devel/MoarVM/DESCR @@ -0,0 +1,13 @@ +Short for "Metamodel On A Runtime", MoarVM is a virtual machine built +especially for Rakudo Perl 6 and the NQP Compiler Toolchain. The primary +backend target for the Christmas 2015 release of Perl 6, MoarVM stands +out amongst the various Rakudo and NQP compilation targets by: + +- Running the Perl 6 specification test suite in the least time +- Passing more of the Perl 6 specification tests than Rakudo Perl 6 on + other backends +- Having the lowest memory usage +- Having the best startup time +- Being fastest to build both NQP and Rakudo - and thus your Perl 6 and + NQP programs too! +- Being the only backend to support strings at grapheme level diff --git a/devel/MoarVM/Makefile b/devel/MoarVM/Makefile new file mode 100644 index 00000000000..2784e238ca5 --- /dev/null +++ b/devel/MoarVM/Makefile @@ -0,0 +1,38 @@ +# $NetBSD: Makefile,v 1.1 2016/04/08 20:26:46 bsiegert Exp $ + +DISTNAME= MoarVM-2016.03 +CATEGORIES= devel perl6 +MASTER_SITES= http://www.moarvm.org/releases/ + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://www.moarvm.org/ +COMMENT= Virtual machine for Rakudo Perl 6 +LICENSE= artistic-2.0 + +USE_TOOLS+= perl gmake +USE_LANGUAGES= c c++ + +HAS_CONFIGURE= yes +CONFIG_SHELL= ${PERL5} +LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib +CONFIGURE_ENV+= LDFLAGS=${LDFLAGS:Q} +CONFIGURE_SCRIPT= Configure.pl +CONFIGURE_ARGS= --prefix=${PREFIX:Q} \ + --has-libatomic_ops \ + --has-libffi \ + --has-libuv \ + --has-libtommath + +.include "../../mk/bsd.prefs.mk" + +.if ${OPSYS} == "Darwin" +PLIST_SUBST+= EXT=dylib +.else +PLIST_SUBST+= EXT=so +.endif + +.include "../../devel/libatomic_ops/buildlink3.mk" +.include "../../devel/libffi/buildlink3.mk" +.include "../../devel/libuv/buildlink3.mk" +.include "../../math/ltm/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/devel/MoarVM/PLIST b/devel/MoarVM/PLIST new file mode 100644 index 00000000000..7a4f769562f --- /dev/null +++ b/devel/MoarVM/PLIST @@ -0,0 +1,176 @@ +@comment $NetBSD: PLIST,v 1.1 2016/04/08 20:26:46 bsiegert Exp $ +bin/moar +include/libuv/android-ifaddrs.h +include/libuv/pthread-fixes.h +include/libuv/stdint-msvc2008.h +include/libuv/tree.h +include/libuv/uv-aix.h +include/libuv/uv-bsd.h +include/libuv/uv-darwin.h +include/libuv/uv-errno.h +include/libuv/uv-linux.h +include/libuv/uv-sunos.h +include/libuv/uv-threadpool.h +include/libuv/uv-unix.h +include/libuv/uv-version.h +include/libuv/uv-win.h +include/libuv/uv.h +include/moar/6model/6model.h +include/moar/6model/bootstrap.h +include/moar/6model/containers.h +include/moar/6model/parametric.h +include/moar/6model/reprconv.h +include/moar/6model/reprs.h +include/moar/6model/reprs/CArray.h +include/moar/6model/reprs/CPPStruct.h +include/moar/6model/reprs/CPointer.h +include/moar/6model/reprs/CStr.h +include/moar/6model/reprs/CStruct.h +include/moar/6model/reprs/CUnion.h +include/moar/6model/reprs/ConcBlockingQueue.h +include/moar/6model/reprs/ConditionVariable.h +include/moar/6model/reprs/HashAttrStore.h +include/moar/6model/reprs/KnowHOWAttributeREPR.h +include/moar/6model/reprs/KnowHOWREPR.h +include/moar/6model/reprs/Lexotic.h +include/moar/6model/reprs/MVMArray.h +include/moar/6model/reprs/MVMAsyncTask.h +include/moar/6model/reprs/MVMCFunction.h +include/moar/6model/reprs/MVMCallCapture.h +include/moar/6model/reprs/MVMCode.h +include/moar/6model/reprs/MVMCompUnit.h +include/moar/6model/reprs/MVMContext.h +include/moar/6model/reprs/MVMContinuation.h +include/moar/6model/reprs/MVMDLLSym.h +include/moar/6model/reprs/MVMException.h +include/moar/6model/reprs/MVMHash.h +include/moar/6model/reprs/MVMIter.h +include/moar/6model/reprs/MVMMultiCache.h +include/moar/6model/reprs/MVMNull.h +include/moar/6model/reprs/MVMOSHandle.h +include/moar/6model/reprs/MVMStaticFrame.h +include/moar/6model/reprs/MVMString.h +include/moar/6model/reprs/MVMThread.h +include/moar/6model/reprs/MultiDimArray.h +include/moar/6model/reprs/NFA.h +include/moar/6model/reprs/NativeCall.h +include/moar/6model/reprs/NativeRef.h +include/moar/6model/reprs/P6bigint.h +include/moar/6model/reprs/P6int.h +include/moar/6model/reprs/P6num.h +include/moar/6model/reprs/P6opaque.h +include/moar/6model/reprs/P6str.h +include/moar/6model/reprs/ReentrantMutex.h +include/moar/6model/reprs/SCRef.h +include/moar/6model/reprs/Semaphore.h +include/moar/6model/reprs/Uninstantiable.h +include/moar/6model/sc.h +include/moar/6model/serialization.h +include/moar/bithacks.h +include/moar/config.h +include/moar/core/alloc.h +include/moar/core/args.h +include/moar/core/bytecode.h +include/moar/core/bytecodedump.h +include/moar/core/callsite.h +include/moar/core/coerce.h +include/moar/core/compunit.h +include/moar/core/continuation.h +include/moar/core/dll.h +include/moar/core/exceptions.h +include/moar/core/ext.h +include/moar/core/fixedsizealloc.h +include/moar/core/frame.h +include/moar/core/hll.h +include/moar/core/instance.h +include/moar/core/intcache.h +include/moar/core/interp.h +include/moar/core/loadbytecode.h +include/moar/core/nativecall.h +include/moar/core/nativecall_dyncall.h +include/moar/core/nativecall_libffi.h +include/moar/core/oplabels.h +include/moar/core/ops.h +include/moar/core/threadcontext.h +include/moar/core/threads.h +include/moar/core/validation.h +include/moar/gc/allocation.h +include/moar/gc/collect.h +include/moar/gc/debug.h +include/moar/gc/finalize.h +include/moar/gc/gen2.h +include/moar/gc/objectid.h +include/moar/gc/orchestrate.h +include/moar/gc/roots.h +include/moar/gc/wb.h +include/moar/gc/worklist.h +include/moar/gcc_diag.h +include/moar/gen/config.h +include/moar/instrument/crossthreadwrite.h +include/moar/io/asyncsocket.h +include/moar/io/asyncsocketudp.h +include/moar/io/dirops.h +include/moar/io/eventloop.h +include/moar/io/fileops.h +include/moar/io/filewatchers.h +include/moar/io/io.h +include/moar/io/procops.h +include/moar/io/signals.h +include/moar/io/syncfile.h +include/moar/io/syncpipe.h +include/moar/io/syncsocket.h +include/moar/io/syncstream.h +include/moar/io/timers.h +include/moar/jit/compile.h +include/moar/jit/emit.h +include/moar/jit/graph.h +include/moar/jit/log.h +include/moar/mast/compiler.h +include/moar/mast/driver.h +include/moar/mast/nodes.h +include/moar/math/bigintops.h +include/moar/math/num.h +include/moar/moar.h +include/moar/platform/inttypes.h +include/moar/platform/io.h +include/moar/platform/mmap.h +include/moar/platform/setjmp.h +include/moar/platform/stdint.h +include/moar/platform/sys.h +include/moar/platform/threads.h +include/moar/platform/time.h +include/moar/profiler/instrument.h +include/moar/profiler/log.h +include/moar/profiler/profile.h +include/moar/spesh/args.h +include/moar/spesh/candidate.h +include/moar/spesh/codegen.h +include/moar/spesh/deopt.h +include/moar/spesh/dump.h +include/moar/spesh/facts.h +include/moar/spesh/graph.h +include/moar/spesh/inline.h +include/moar/spesh/log.h +include/moar/spesh/manipulate.h +include/moar/spesh/optimize.h +include/moar/spesh/osr.h +include/moar/spesh/threshold.h +include/moar/strings/ascii.h +include/moar/strings/decode_stream.h +include/moar/strings/iter.h +include/moar/strings/latin1.h +include/moar/strings/nfg.h +include/moar/strings/normalize.h +include/moar/strings/ops.h +include/moar/strings/unicode.h +include/moar/strings/unicode_gen.h +include/moar/strings/utf16.h +include/moar/strings/utf8.h +include/moar/strings/utf8_c8.h +include/moar/strings/windows1252.h +include/moar/types.h +include/moar/uthash.h +lib/libmoar.${EXT} +share/nqp/lib/MAST/Nodes.nqp +share/nqp/lib/MAST/Ops.nqp +share/pkgconfig/moar.pc diff --git a/devel/MoarVM/buildlink3.mk b/devel/MoarVM/buildlink3.mk new file mode 100644 index 00000000000..68cca090862 --- /dev/null +++ b/devel/MoarVM/buildlink3.mk @@ -0,0 +1,17 @@ +# $NetBSD: buildlink3.mk,v 1.1 2016/04/08 20:26:46 bsiegert Exp $ + +BUILDLINK_TREE+= MoarVM + +.if !defined(MOARVM_BUILDLINK3_MK) +MOARVM_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.MoarVM+= MoarVM>=2015.12 +BUILDLINK_PKGSRCDIR.MoarVM?= ../../devel/MoarVM + +.include "../../devel/libatomic_ops/buildlink3.mk" +.include "../../devel/libffi/buildlink3.mk" +.include "../../devel/libuv/buildlink3.mk" +.include "../../math/ltm/buildlink3.mk" +.endif # MOARVM_BUILDLINK3_MK + +BUILDLINK_TREE+= -MoarVM diff --git a/devel/MoarVM/distinfo b/devel/MoarVM/distinfo new file mode 100644 index 00000000000..6b13cf31e99 --- /dev/null +++ b/devel/MoarVM/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1 2016/04/08 20:26:46 bsiegert Exp $ + +SHA1 (MoarVM-2016.03.tar.gz) = e0b92cad450b35b1db1c63e676bf94dfa5c742d1 +RMD160 (MoarVM-2016.03.tar.gz) = 0c627a21dc7dbaca2f0846520cb9719240623969 +SHA512 (MoarVM-2016.03.tar.gz) = 358c48f6b1803e39841e9f287f2fe3cdde743962d9d9c34e629c18b1b7290fd8a713917f24233dd092ed68adf9a6d0aadb25bda22b3e353d40bd57ae58d70216 +Size (MoarVM-2016.03.tar.gz) = 3318299 bytes +SHA1 (patch-build_probe.pm) = 8ea9313c1d2329239f123fb4f6c28e1f7de566c2 +SHA1 (patch-build_setup.pm) = fd53d47bd3126b2c89d4e8d82c6bc0b6db5f4fdf diff --git a/devel/MoarVM/patches/patch-build_probe.pm b/devel/MoarVM/patches/patch-build_probe.pm new file mode 100644 index 00000000000..fe3433467df --- /dev/null +++ b/devel/MoarVM/patches/patch-build_probe.pm @@ -0,0 +1,15 @@ +$NetBSD: patch-build_probe.pm,v 1.1 2016/04/08 20:26:46 bsiegert Exp $ + +Add LDFLAGS for Configure.pl probes so e.g. finding libffi works. + +--- build/probe.pm.orig 2015-12-25 12:37:32.000000000 +0000 ++++ build/probe.pm +@@ -57,7 +57,7 @@ sub compile { + push @objs, $obj; + } + +- my $command = "$config->{ld} $config->{ldout}$leaf @objs $config->{ldlibs} >$devnull 2>&1"; ++ my $command = "$config->{ld} $ENV{'LDFLAGS'} $config->{ldout}$leaf @objs $config->{ldlibs} >$devnull 2>&1"; + system $command + and return; + return 1; diff --git a/devel/MoarVM/patches/patch-build_setup.pm b/devel/MoarVM/patches/patch-build_setup.pm new file mode 100644 index 00000000000..29e98f99560 --- /dev/null +++ b/devel/MoarVM/patches/patch-build_setup.pm @@ -0,0 +1,22 @@ +$NetBSD: patch-build_setup.pm,v 1.1 2016/04/08 20:26:46 bsiegert Exp $ + +pkgsrc uses gmake everywhere, so use gmake syntax. +Not for upstreaming. + +--- build/setup.pm.orig 2015-12-25 12:37:32.000000000 +0000 ++++ build/setup.pm +@@ -171,12 +171,12 @@ our %TC_BSD = ( + %TC_POSIX, + + mknoisy => <<'TERM', +-.if $(NOISY) != 1 ++ifneq ($(NOISY), 1) + MSG = @echo + CMD = @ + NOOUT = > @nul@ + NOERR = 2> @nul@ +-.endif ++endif + TERM + ); + |