diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2005-01-18 12:41:46 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2005-01-18 12:41:46 +0000 |
commit | 8aea93eedb903608f59d51c0424949c5277646b3 (patch) | |
tree | 17e872c6ec7d36ab199490289393c120950f3140 /games | |
parent | Mark FORBIDDEN due to remote command execution vulnerability. (diff) |
Add qccx 1.0.0, a very fast optimizing QuakeC compiler.
Notes
Notes:
svn path=/head/; revision=126709
Diffstat (limited to 'games')
-rw-r--r-- | games/Makefile | 1 | ||||
-rw-r--r-- | games/qccx/Makefile | 37 | ||||
-rw-r--r-- | games/qccx/distinfo | 2 | ||||
-rw-r--r-- | games/qccx/files/Makefile | 10 | ||||
-rw-r--r-- | games/qccx/files/patch-pr_comp.cpp | 11 | ||||
-rw-r--r-- | games/qccx/files/patch-qcc.cpp | 31 | ||||
-rw-r--r-- | games/qccx/pkg-descr | 7 | ||||
-rw-r--r-- | games/qccx/pkg-plist | 11 |
8 files changed, 110 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile index 2b644b1ad461..ffdcbd2c624e 100644 --- a/games/Makefile +++ b/games/Makefile @@ -381,6 +381,7 @@ SUBDIR += q3server-ut SUBDIR += q3server-wfa SUBDIR += qcc + SUBDIR += qccx SUBDIR += qgo SUBDIR += qix SUBDIR += qkmj diff --git a/games/qccx/Makefile b/games/qccx/Makefile new file mode 100644 index 000000000000..900dc8a0f766 --- /dev/null +++ b/games/qccx/Makefile @@ -0,0 +1,37 @@ +# New ports collection makefile for: QCCX +# Date created: 18 Jan 2005 +# Whom: Alexey Dokuchaev <danfe@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= qccx +PORTVERSION= 1.0.0 +CATEGORIES= games devel +MASTER_SITES= http://www.planetquake.com/qccx/ \ + http://freebsd.nsu.ru/distfiles/ +DISTNAME= ${PORTNAME}${PORTVERSION:S/.//g} + +MAINTAINER= danfe@FreeBSD.org +COMMENT= A very fast optimizing QuakeC compiler + +USE_ZIP= yes +USE_REINPLACE= yes + +MAKEFILE= ${FILESDIR}/Makefile +WRKSRC= ${WRKDIR} + +post-extract: + @${FIND} ${WRKDIR} -type f -name "*.[^deo]*" -print0 | \ + ${XARGS} -0 ${REINPLACE_CMD} -e 's/[[:cntrl:]]*$$//' + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin + @${MKDIR} ${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/*.qc ${WRKSRC}/progs.src ${DATADIR} +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/[^g]*.txt ${DOCSDIR} +.endif + +.include <bsd.port.mk> diff --git a/games/qccx/distinfo b/games/qccx/distinfo new file mode 100644 index 000000000000..00b8f1d9cf16 --- /dev/null +++ b/games/qccx/distinfo @@ -0,0 +1,2 @@ +MD5 (qccx100.zip) = f54a2d36912aa40fec8960c4c3aa3d5f +SIZE (qccx100.zip) = 107187 diff --git a/games/qccx/files/Makefile b/games/qccx/files/Makefile new file mode 100644 index 000000000000..4df07f1b0308 --- /dev/null +++ b/games/qccx/files/Makefile @@ -0,0 +1,10 @@ +# +# $FreeBSD$ + +OBJS = cmdlib.o hash.o pr_comp.o pr_lex.o qcc.o + +.cpp.o: + ${CXX} ${CXXFLAGS} -c $< -o $*.o + +all: ${OBJS} + ${CXX} ${LDFLAGS} -o qccx ${OBJS} diff --git a/games/qccx/files/patch-pr_comp.cpp b/games/qccx/files/patch-pr_comp.cpp new file mode 100644 index 000000000000..f61fd288fcec --- /dev/null +++ b/games/qccx/files/patch-pr_comp.cpp @@ -0,0 +1,11 @@ +--- pr_comp.cpp.orig Tue Jan 18 17:58:23 2005 ++++ pr_comp.cpp Tue Jan 18 17:02:25 2005 +@@ -812,7 +812,7 @@ + PR_Statement(&pr_opcodes[OP_IFNOT], e, 0); + patch1 = &statements[numstatements-1]; + PR_ParseStatement(); +- for (i = 0 ; i < numtemp ; i++) ++ for (int i = 0 ; i < numtemp ; i++) + { + statement_linenums[numstatements] = linenum[i]; + statements[numstatements++] = temp[i]; diff --git a/games/qccx/files/patch-qcc.cpp b/games/qccx/files/patch-qcc.cpp new file mode 100644 index 000000000000..1b87f820bc99 --- /dev/null +++ b/games/qccx/files/patch-qcc.cpp @@ -0,0 +1,31 @@ +--- qcc.cpp.orig Tue Jan 18 17:58:23 2005 ++++ qcc.cpp Tue Jan 18 17:03:34 2005 +@@ -542,8 +542,9 @@ + void PR_PrintStatement (dstatement_t *s) + { + int i; ++ int opindex; + +- for (int opindex = 0 ; pr_opcodes[opindex].op != s->op ; opindex++); ++ for (opindex = 0 ; pr_opcodes[opindex].op != s->op ; opindex++); + + printf ("%4i : %4i : %s ", (int)(s - statements), statement_linenums[s-statements], pr_opcodes[opindex].opname); + i = strlen(pr_opcodes[opindex].opname); +@@ -1107,7 +1108,7 @@ + main + ============ + */ +-void main (int argc, char **argv) ++int main (int argc, char **argv) + { + char *src; + char *src2; +@@ -1135,7 +1136,7 @@ + printf("\t/Od\teliminate duplicate defs\n"); + printf("\t/Os\thash lookup in CopyString\n"); + printf("\t/O2\tuse all optimizations\n"); +- return; ++ return (0); + } + + p = CheckParm ("-src"); diff --git a/games/qccx/pkg-descr b/games/qccx/pkg-descr new file mode 100644 index 000000000000..6b5bf206985a --- /dev/null +++ b/games/qccx/pkg-descr @@ -0,0 +1,7 @@ +QCCX is the world's first optimizing Quake-C compiler with support for string +manipulation, pointers, integers, arrays and ``for'' loops. It is also the +fastest Quake-C compiler out there (to my knowledge). QCCX is based on FastQCC +which was, in turn, based on QCCDOS. Use it the same way you use any other +Quake-C compiler. + +WWW: http://www.planetquake.com/qccx/ diff --git a/games/qccx/pkg-plist b/games/qccx/pkg-plist new file mode 100644 index 000000000000..a4cdd37b5497 --- /dev/null +++ b/games/qccx/pkg-plist @@ -0,0 +1,11 @@ +bin/qccx +%%DATADIR%%/client.qc +%%DATADIR%%/defs.qc +%%DATADIR%%/internal.qc +%%DATADIR%%/misc.qc +%%DATADIR%%/world.qc +%%DATADIR%%/progs.src +@dirrm %%DATADIR%% +%%PORTDOCS%%%%DOCSDIR%%/manual.txt +%%PORTDOCS%%%%DOCSDIR%%/readme.txt +%%PORTDOCS%%@dirrm %%DOCSDIR%% |