summaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2005-01-18 12:41:46 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2005-01-18 12:41:46 +0000
commit8aea93eedb903608f59d51c0424949c5277646b3 (patch)
tree17e872c6ec7d36ab199490289393c120950f3140 /games
parentMark 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/Makefile1
-rw-r--r--games/qccx/Makefile37
-rw-r--r--games/qccx/distinfo2
-rw-r--r--games/qccx/files/Makefile10
-rw-r--r--games/qccx/files/patch-pr_comp.cpp11
-rw-r--r--games/qccx/files/patch-qcc.cpp31
-rw-r--r--games/qccx/pkg-descr7
-rw-r--r--games/qccx/pkg-plist11
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%%