Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Sep 2008 03:55:43 +0200 (CEST)
From:      Marcin Cieslak <saper@SYSTEM.PL>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        amdmi3@FreeBSD.org, stas@FreeBSD.system.pl
Subject:   ports/127130: [NEW PORT] lang/mtasc: Motion-Twin ActionScript 2 Compiler [review req]
Message-ID:  <200809060155.m861thG5088946@radziecki.saper.info>
Resent-Message-ID: <200809060210.m862A20W046121@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809060155.m861thG5088946>