aboutsummaryrefslogtreecommitdiff
path: root/lang/mtasc
diff options
context:
space:
mode:
authorChin-San Huang <chinsan@FreeBSD.org>2008-09-06 04:26:26 +0000
committerChin-San Huang <chinsan@FreeBSD.org>2008-09-06 04:26:26 +0000
commit24624e4d43a22f32174e4b4945788899ccb244a6 (patch)
treecc3313080afe6ebdf96d273fe7852d41d88cb3f1 /lang/mtasc
parent140b7f05c246d6f94f3df999debe6509da778ed3 (diff)
downloadports-24624e4d43a22f32174e4b4945788899ccb244a6.tar.gz
ports-24624e4d43a22f32174e4b4945788899ccb244a6.zip
Add mtasc 1.14, motion-Twin ActionScript 2 Compiler.
PR: ports/127130 Submitted by: Marcin Cieslak <saper at SYSTEM.PL>
Notes
Notes: svn path=/head/; revision=219973
Diffstat (limited to 'lang/mtasc')
-rw-r--r--lang/mtasc/Makefile82
-rw-r--r--lang/mtasc/distinfo3
-rw-r--r--lang/mtasc/files/patch-basepath22
-rw-r--r--lang/mtasc/pkg-descr7
-rw-r--r--lang/mtasc/pkg-plist9
5 files changed, 123 insertions, 0 deletions
diff --git a/lang/mtasc/Makefile b/lang/mtasc/Makefile
new file mode 100644
index 000000000000..c8490e62ecdd
--- /dev/null
+++ b/lang/mtasc/Makefile
@@ -0,0 +1,82 @@
+# New ports collection makefile for: mtasc
+# Date created: 2008-09-06
+# Whom: Marcin Cieslak <saper@SYSTEM.PL>
+#
+# $FreeBSD$
+#
+
+PORTNAME= mtasc
+PORTVERSION= 1.14
+CATEGORIES= lang www
+MASTER_SITES= http://saper.info/distfiles/ LOCAL/chinsan
+
+MAINTAINER= saper@SYSTEM.PL
+COMMENT= Motion-Twin ActionScript 2 Compiler
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/ocaml/site-lib/extlib/IO.cmi:${PORTSDIR}/devel/ocaml-extlib
+
+USE_OCAML= yes
+USE_OCAML_FINDLIB=yes
+
+OCAMLLEX?= ${LOCALBASE}/bin/ocamllex
+OCAMLOPT?= ${LOCALBASE}/bin/ocamlopt
+
+ZLIB_OPTS= -cclib "${WRKSRC}/extc/extc_stubs.o" -cclib -lz extc.mli extc.ml
+SWFLIB_INC= -I ${WRKSRC}/extc -I ${WRKSRC}/swflib
+SWFLIB_FILES= as3.mli as3code.ml as3parse.ml swf.ml swfZip.ml actionScript.ml \
+ swfParser.ml
+MTASC_OBJ= expr.cmx lexer.cmx parser.cmx typer.cmx class.cmx plugin.cmx\
+ genSwf.cmx main.cmx
+
+MAN1= mtasc.1
+
+WRKSRC= ${WRKDIR}/ocaml
+
+.if !defined(NOPORTDATA)
+PORTDATA= std std8
+.endif
+
+.include <bsd.port.pre.mk>
+
+do-build:
+ (cd ${WRKSRC}/extc && \
+ ${OCAMLOPT} ${WRKSRC}/extc/extc_stubs.c && \
+ ${OCAMLOPT} -a -o extc.cmxa ${ZLIB_OPTS} )
+ (cd ${WRKSRC}/swflib && \
+ ${OCAMLFIND} ocamlopt -package extlib \
+ -a -o swflib.cmxa ${SWFLIB_INC} ${SWFLIB_FILES} )
+ (cd ${WRKSRC}/mtasc && \
+ ${OCAMLLEX} lexer.mll && \
+ ${OCAMLOPT} -c expr.ml lexer.ml && \
+ ${OCAMLOPT} -c -pp camlp4o parser.ml && \
+ ${OCAMLFIND} ocamlopt -package extlib -c ${SWFLIB_INC} \
+ typer.ml class.ml plugin.ml \
+ genSwf.ml main.ml )
+ (cd ${WRKSRC}/mtasc && \
+ ${OCAMLFIND} ocamlopt -package extlib -linkpkg \
+ -o ${WRKSRC}/mtasc-bin \
+ ${WRKSRC}/extc/extc.cmxa \
+ ${WRKSRC}/swflib/swflib.cmxa \
+ ${MTASC_OBJ} )
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/mtasc-bin ${PREFIX}/bin/mtasc
+.if !defined(NOPORTDATA)
+ @${MKDIR} ${DATADIR}
+ (cd ${WRKSRC}/mtasc && ${FIND} ${PORTDATA} -type f | ${CPIO} -pdmnu ${DATADIR})
+ @${FIND} ${DATADIR} -type d -exec ${CHMOD} 555 {} \;
+ @${FIND} ${DATADIR} -type f -exec ${CHMOD} 444 {} \;
+.endif
+.if !defined(NO_INSTALL_MANPAGES)
+ ${INSTALL_MAN} ${WRKSRC}/mtasc/doc/mtasc.1 ${PREFIX}/man/man1
+.endif
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/mtasc/doc/*.txt ${DOCSDIR}
+.endif
+.if !defined(NOPORTEXAMPLES)
+ @${MKDIR} ${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/mtasc/doc/HelloWorld.as ${EXAMPLESDIR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/lang/mtasc/distinfo b/lang/mtasc/distinfo
new file mode 100644
index 000000000000..bef3b2f9a1de
--- /dev/null
+++ b/lang/mtasc/distinfo
@@ -0,0 +1,3 @@
+MD5 (mtasc-1.14.tar.gz) = a1ffda6f414d443b5c5b380a483710d6
+SHA256 (mtasc-1.14.tar.gz) = 2808f65fe7865399657c058d9abeb04c47903241b8d33523fce52cdaae85537f
+SIZE (mtasc-1.14.tar.gz) = 727167
diff --git a/lang/mtasc/files/patch-basepath b/lang/mtasc/files/patch-basepath
new file mode 100644
index 000000000000..a28f5e7d7977
--- /dev/null
+++ b/lang/mtasc/files/patch-basepath
@@ -0,0 +1,22 @@
+--- mtasc/main.ml.orig 2008-09-06 03:09:02.176005686 +0200
++++ mtasc/main.ml 2008-09-06 03:11:37.642045225 +0200
+@@ -113,7 +113,7 @@
+ ;;
+ try
+ let usage = "Motion-Twin ActionScript2 Compiler 1.14 - (c)2004-2008 Motion-Twin\n Usage : mtasc.exe [options] <files...>\n Options :" in
+- let base_path = normalize_path (try Extc.executable_path() with _ -> ".") in
++ let base_path = normalize_path (try Extc.executable_path() ^ "/.." with _ -> "..") in
+ let files = ref [] in
+ let time = Sys.time() in
+ Plugin.class_path := [base_path;"";"/"];
+@@ -132,8 +132,8 @@
+ ),": use precompiled mx package");
+ ] @ !Plugin.options in
+ Arg.parse args_spec (fun file -> files := file :: !files) usage;
+- Plugin.class_path := (base_path ^ "std/") :: !Plugin.class_path;
+- if (match !GenSwf.version with Some x -> x >= 8 | None -> false) then Plugin.class_path := (base_path ^ "std8/") :: !Plugin.class_path;
++ Plugin.class_path := (base_path ^ "share/mtasc/std/") :: !Plugin.class_path;
++ if (match !GenSwf.version with Some x -> x >= 8 | None -> false) then Plugin.class_path := (base_path ^ "share/mtasc/std8/") :: !Plugin.class_path;
+ Hashtbl.remove Lexer.keywords "add";
+ Parser.warning := (fun msg pos -> report ~do_exit:false (msg,pos) "Warning" (fun msg -> msg));
+ if !files = [] then begin
diff --git a/lang/mtasc/pkg-descr b/lang/mtasc/pkg-descr
new file mode 100644
index 000000000000..b52c305935af
--- /dev/null
+++ b/lang/mtasc/pkg-descr
@@ -0,0 +1,7 @@
+MTASC is the first ActionScript 2 Open Source free compiler.
+
+It can compile large number of .as class files in a very short time
+and generate directly the corresponding SWF bytecode without relying
+on Macromedia Flash or other tools.
+
+WWW: http://mtasc.org/
diff --git a/lang/mtasc/pkg-plist b/lang/mtasc/pkg-plist
new file mode 100644
index 000000000000..ceeea934edad
--- /dev/null
+++ b/lang/mtasc/pkg-plist
@@ -0,0 +1,9 @@
+@comment $FreeBSD$
+bin/mtasc
+%%PORTDOCS%%%%DOCSDIR%%/CHANGES.txt
+%%PORTDOCS%%%%DOCSDIR%%/Future.txt
+%%PORTDOCS%%%%DOCSDIR%%/INSTALL.txt
+%%PORTDOCS%%%%DOCSDIR%%/Readme.txt
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/HelloWorld.as
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%