summaryrefslogtreecommitdiff
path: root/devel/MoarVM
diff options
context:
space:
mode:
authorbsiegert <bsiegert>2016-04-08 20:26:46 +0000
committerbsiegert <bsiegert>2016-04-08 20:26:46 +0000
commitffb616e9b88fa8d444a8ad2f3bb14f95f9e0cda2 (patch)
treebf7f04083033119cd2c198f9ef6e2c013f45cf58 /devel/MoarVM
parentc75e6da24b492cb9c19846a24a0a26492ec7395a (diff)
downloadpkgsrc-ffb616e9b88fa8d444a8ad2f3bb14f95f9e0cda2.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/DESCR13
-rw-r--r--devel/MoarVM/Makefile38
-rw-r--r--devel/MoarVM/PLIST176
-rw-r--r--devel/MoarVM/buildlink3.mk17
-rw-r--r--devel/MoarVM/distinfo8
-rw-r--r--devel/MoarVM/patches/patch-build_probe.pm15
-rw-r--r--devel/MoarVM/patches/patch-build_setup.pm22
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
+ );
+