ports/127130: [NEW PORT] lang/mtasc: Motion-Twin ActionScript 2 Compiler [review req]
Marcin Cieslak
saper at SYSTEM.PL
Sat Sep 6 02:10:02 UTC 2008
>Number: 127130
>Category: ports
>Synopsis: [NEW PORT] lang/mtasc: Motion-Twin ActionScript 2 Compiler [review req]
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Sep 06 02:10:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Marcin Cieslak
>Release: FreeBSD 7.0-STABLE amd64
>Organization:
http://saper.info
>Environment:
System: FreeBSD radziecki.saper.info 7.0-STABLE FreeBSD 7.0-STABLE #0: Wed Jul 23 05:06:20 CEST 2008
>Description:
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/
1. I had to create my own distfiles out of CVS:
http://saper.info/distfiles/mtasc-1.14.tar.gz
It would be nice if it could be hosted off the FreeBSD local directories.
2. Since I have never had anything to do with OCaml, this port should be reviewed.
This compiler should be able to compile graphics/gnash test files.
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- mtasc-1.14.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# mtasc
# mtasc/distinfo
# mtasc/Makefile
# mtasc/pkg-descr
# mtasc/files
# mtasc/files/patch-basepath
# mtasc/pkg-plist
#
echo c - mtasc
mkdir -p mtasc > /dev/null 2>&1
echo x - mtasc/distinfo
sed 's/^X//' >mtasc/distinfo << 'dac7aec6bd11e437417cc98a4ae80c05'
XMD5 (mtasc-1.14.tar.gz) = a1ffda6f414d443b5c5b380a483710d6
XSHA256 (mtasc-1.14.tar.gz) = 2808f65fe7865399657c058d9abeb04c47903241b8d33523fce52cdaae85537f
XSIZE (mtasc-1.14.tar.gz) = 727167
dac7aec6bd11e437417cc98a4ae80c05
echo x - mtasc/Makefile
sed 's/^X//' >mtasc/Makefile << '26be653a9224ca2a2932f6420a64f59f'
X# New ports collection makefile for: mtasc
X# Date created: 2008-09-06
X# Whom: Marcin Cieslak <saper at SYSTEM.PL>
X#
X# $FreeBSD$
X#
X
XPORTNAME= mtasc
XPORTVERSION= 1.14
XCATEGORIES= lang www
XMASTER_SITES= ${MASTER_SITE_LOCAL}
X#MASTER_SITE_SUBDIR=
X
XMAINTAINER= saper at SYSTEM.PL
XCOMMENT= Motion-Twin ActionScript 2 Compiler
X
XBUILD_DEPENDS= ${OCAML_SITELIBDIR}/extlib/extLib.cmi:${PORTSDIR}/devel/ocaml-extlib \
X ocamlfind:${PORTSDIR}/devel/ocaml-findlib
X
XWRKSRC= ${WRKDIR}/ocaml
XUSE_OCAML= yes
X
XOCAMLLEX?= ${LOCALBASE}/bin/ocamllex
XOCAMLOPT?= ${LOCALBASE}/bin/ocamlopt
XOCAML_LIBS?= ${LOCALBASE}/${OCAML_SITELIBDIR}
X
XZLIB_OPTS= -cclib "${WRKSRC}/extc/extc_stubs.o" -cclib -lz extc.mli extc.ml
XSWFLIB_INC= -I ${WRKSRC}/extc -I ${WRKSRC}/swflib
XSWFLIB_FILES= as3.mli as3code.ml as3parse.ml swf.ml swfZip.ml actionScript.ml \
X swfParser.ml
XMTASC_OBJ= expr.cmx lexer.cmx parser.cmx typer.cmx class.cmx plugin.cmx\
X genSwf.cmx main.cmx
X
XMAN1= mtasc.1
X
X.if !defined(NOPORTDATA)
XPORTDATA= std std8
X.endif
X
X.include <bsd.port.pre.mk>
X
Xdo-build:
X (cd ${WRKSRC}/extc && \
X ${OCAMLOPT} ${WRKSRC}/extc/extc_stubs.c && \
X ${OCAMLOPT} -a -o extc.cmxa ${ZLIB_OPTS} )
X (cd ${WRKSRC}/swflib && \
X ${OCAMLFIND} ocamlopt -package extlib \
X -a -o swflib.cmxa ${SWFLIB_INC} ${SWFLIB_FILES} )
X (cd ${WRKSRC}/mtasc && \
X ${OCAMLLEX} lexer.mll && \
X ${OCAMLOPT} -c expr.ml lexer.ml && \
X ${OCAMLOPT} -c -pp camlp4o parser.ml && \
X ${OCAMLFIND} ocamlopt -package extlib -c ${SWFLIB_INC} \
X typer.ml class.ml plugin.ml \
X genSwf.ml main.ml )
X (cd ${WRKSRC}/mtasc && \
X ${OCAMLFIND} ocamlopt -package extlib -linkpkg \
X -o ${WRKSRC}/mtasc-bin \
X ${WRKSRC}/extc/extc.cmxa \
X ${WRKSRC}/swflib/swflib.cmxa \
X ${MTASC_OBJ} )
X
Xdo-install:
X ${INSTALL_PROGRAM} ${WRKSRC}/mtasc-bin ${PREFIX}/bin/mtasc
X.if !defined(NOPORTDATA)
X @${MKDIR} ${DATADIR}
X (cd ${WRKSRC}/mtasc && ${FIND} ${PORTDATA} -type f | ${CPIO} -pdmnu ${DATADIR})
X @${FIND} ${DATADIR} -type d -exec ${CHMOD} 555 {} \;
X @${FIND} ${DATADIR} -type f -exec ${CHMOD} 444 {} \;
X.endif
X.if !defined(NO_INSTALL_MANPAGES)
X ${INSTALL_MAN} ${WRKSRC}/mtasc/doc/mtasc.1 ${PREFIX}/man/man1
X.endif
X.if !defined(NOPORTDOCS)
X @${MKDIR} ${DOCSDIR}
X ${INSTALL_DATA} ${WRKSRC}/mtasc/doc/*.txt ${DOCSDIR}
X.endif
X.if !defined(NOPORTEXAMPLES)
X @${MKDIR} ${EXAMPLESDIR}
X ${INSTALL_DATA} ${WRKSRC}/mtasc/doc/HelloWorld.as ${EXAMPLESDIR}
X.endif
X
X.include <bsd.port.post.mk>
26be653a9224ca2a2932f6420a64f59f
echo x - mtasc/pkg-descr
sed 's/^X//' >mtasc/pkg-descr << '1b2e8e4f4e5982a4a34582fbb3929b3a'
XMTASC is the first ActionScript 2 Open Source free compiler.
X
XIt can compile large number of .as class files in a very short time
Xand generate directly the corresponding SWF bytecode without relying
Xon Macromedia Flash or other tools.
X
XWWW: http://mtasc.org/
1b2e8e4f4e5982a4a34582fbb3929b3a
echo c - mtasc/files
mkdir -p mtasc/files > /dev/null 2>&1
echo x - mtasc/files/patch-basepath
sed 's/^X//' >mtasc/files/patch-basepath << 'a90ebbdd20c271fc59e1f84f7d5f1ece'
X--- mtasc/main.ml.orig 2008-09-06 03:09:02.176005686 +0200
X+++ mtasc/main.ml 2008-09-06 03:11:37.642045225 +0200
X@@ -113,7 +113,7 @@
X ;;
X try
X let usage = "Motion-Twin ActionScript2 Compiler 1.14 - (c)2004-2008 Motion-Twin\n Usage : mtasc.exe [options] <files...>\n Options :" in
X- let base_path = normalize_path (try Extc.executable_path() with _ -> ".") in
X+ let base_path = normalize_path (try Extc.executable_path() ^ "/.." with _ -> "..") in
X let files = ref [] in
X let time = Sys.time() in
X Plugin.class_path := [base_path;"";"/"];
X@@ -132,8 +132,8 @@
X ),": use precompiled mx package");
X ] @ !Plugin.options in
X Arg.parse args_spec (fun file -> files := file :: !files) usage;
X- Plugin.class_path := (base_path ^ "std/") :: !Plugin.class_path;
X- if (match !GenSwf.version with Some x -> x >= 8 | None -> false) then Plugin.class_path := (base_path ^ "std8/") :: !Plugin.class_path;
X+ Plugin.class_path := (base_path ^ "share/mtasc/std/") :: !Plugin.class_path;
X+ if (match !GenSwf.version with Some x -> x >= 8 | None -> false) then Plugin.class_path := (base_path ^ "share/mtasc/std8/") :: !Plugin.class_path;
X Hashtbl.remove Lexer.keywords "add";
X Parser.warning := (fun msg pos -> report ~do_exit:false (msg,pos) "Warning" (fun msg -> msg));
X if !files = [] then begin
a90ebbdd20c271fc59e1f84f7d5f1ece
echo x - mtasc/pkg-plist
sed 's/^X//' >mtasc/pkg-plist << '874a16d92f717af47782e752b371d8e1'
X at comment $FreeBSD$
Xbin/mtasc
X%%PORTDOCS%%%%DOCSDIR%%/CHANGES.txt
X%%PORTDOCS%%%%DOCSDIR%%/Future.txt
X%%PORTDOCS%%%%DOCSDIR%%/INSTALL.txt
X%%PORTDOCS%%%%DOCSDIR%%/Readme.txt
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/HelloWorld.as
X%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%
874a16d92f717af47782e752b371d8e1
exit
--- mtasc-1.14.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list