summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-strategy/freecnc')
-rw-r--r--games-strategy/freecnc/ChangeLog13
-rw-r--r--games-strategy/freecnc/Manifest12
-rw-r--r--games-strategy/freecnc/files/0.2.0-gentoo-paths.patch29
-rw-r--r--games-strategy/freecnc/files/0.2.0-makefile-cflags.patch94
-rw-r--r--games-strategy/freecnc/files/0.2.0-remove-root.patch18
-rw-r--r--games-strategy/freecnc/files/0.2.1.31072003-gentoo-paths.patch41
-rw-r--r--games-strategy/freecnc/files/0.2.1.31072003-makefile-cflags.patch17
-rw-r--r--games-strategy/freecnc/files/0.2.1.31072003-remove-root.patch18
-rw-r--r--games-strategy/freecnc/files/digest-freecnc-0.2.03
-rw-r--r--games-strategy/freecnc/files/digest-freecnc-0.2.1.310720033
-rw-r--r--games-strategy/freecnc/files/freecnc3
-rw-r--r--games-strategy/freecnc/freecnc-0.2.0.ebuild72
-rw-r--r--games-strategy/freecnc/freecnc-0.2.1.31072003.ebuild73
13 files changed, 396 insertions, 0 deletions
diff --git a/games-strategy/freecnc/ChangeLog b/games-strategy/freecnc/ChangeLog
new file mode 100644
index 000000000000..a0283b652fb7
--- /dev/null
+++ b/games-strategy/freecnc/ChangeLog
@@ -0,0 +1,13 @@
+# ChangeLog for app-games/freecnc
+# Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/freecnc/ChangeLog,v 1.1 2003/09/10 05:27:31 vapier Exp $
+
+*freecnc-0.2.1.31072003 (31 Jul 2003)
+
+ 31 Jul 2003; Mike Frysinger <vapier@gentoo.org> :
+ Initial import. Ebuild submitted by me. (cvs snapshot)
+
+*freecnc-0.2.0 (31 Jul 2003)
+
+ 31 Jul 2003; Mike Frysinger <vapier@gentoo.org> :
+ Initial import. Ebuild submitted by me.
diff --git a/games-strategy/freecnc/Manifest b/games-strategy/freecnc/Manifest
new file mode 100644
index 000000000000..a23f4b48316c
--- /dev/null
+++ b/games-strategy/freecnc/Manifest
@@ -0,0 +1,12 @@
+MD5 f9510f847b3067f9bff3481286d2d647 freecnc-0.2.0.ebuild 2027
+MD5 7705eafc118ebb753d4b8a80fe7e333c files/digest-freecnc-0.2.0 189
+MD5 97801c0bb7df9499db0b530110aaa510 files/0.2.0-makefile-cflags.patch 4220
+MD5 929803ba179a8f6e0996f29dfc33dcdc files/0.2.0-remove-root.patch 636
+MD5 deb5d60f8269a27307f92372b65f2600 files/0.2.0-gentoo-paths.patch 980
+MD5 190952f0b1cd7f8ebd7385c01e0b70db files/freecnc 44
+MD5 caea2862781d0a98c4c8eb0b932aa47d files/digest-freecnc-0.2.1.31072003 198
+MD5 368b1fb21ec956e33e0cea243ba89448 files/0.2.1.31072003-makefile-cflags.patch 478
+MD5 a95fe9ff48a57f7d2afaf10e0932faab files/0.2.1.31072003-remove-root.patch 555
+MD5 4db884f5f9409f52d2deed038e7c7518 files/0.2.1.31072003-gentoo-paths.patch 1592
+MD5 2b6f843f216f7d55e9e9ccc4d08f8e12 freecnc-0.2.1.31072003.ebuild 2139
+MD5 6580c86f664fc2083bf0a1571a19817a ChangeLog 491
diff --git a/games-strategy/freecnc/files/0.2.0-gentoo-paths.patch b/games-strategy/freecnc/files/0.2.0-gentoo-paths.patch
new file mode 100644
index 000000000000..bfaa03d0cd14
--- /dev/null
+++ b/games-strategy/freecnc/files/0.2.0-gentoo-paths.patch
@@ -0,0 +1,29 @@
+--- src/freecnc.cpp.orig 2003-07-31 21:17:53.000000000 -0400
++++ src/freecnc.cpp 2003-07-31 21:18:07.000000000 -0400
+@@ -42,7 +42,7 @@
+ exit(1);
+ }
+ // default to only showing errors on stdout
+- logger = new Logger("freecnc.log",0);
++ logger = new Logger("GENTOO_LOGDIR/freecnc.log",0);
+ #if !defined _WIN32
+ // maybe some win32 specific checks for running as the Administrator
+ // account or something
+--- src/vfs/vfs.cpp.orig 2003-07-31 21:50:05.000000000 -0400
++++ src/vfs/vfs.cpp 2002-07-29 08:59:44.000000000 -0400
+@@ -32,10 +32,13 @@
+
+ externals = new ExternalFiles();
+
+- externals->loadArchive("conf/");
++ sprintf(tempstr, "%s/.freecnc/", getenv("HOME"));
++ externals->loadArchive(tempstr);
++ externals->loadArchive("GENTOO_CONFDIR");
+ #if !defined WIN32
+
+- externals->loadArchive("/etc/freecnc/");
++ externals->loadArchive("GENTOO_DATADIR/conf/");
++ externals->loadArchive("GENTOO_DATADIR/");
+ #endif
+
+ try {
diff --git a/games-strategy/freecnc/files/0.2.0-makefile-cflags.patch b/games-strategy/freecnc/files/0.2.0-makefile-cflags.patch
new file mode 100644
index 000000000000..fd80e34c64f6
--- /dev/null
+++ b/games-strategy/freecnc/files/0.2.0-makefile-cflags.patch
@@ -0,0 +1,94 @@
+diff -ur freecnc++.orig/src/Makefile freecnc++/src/Makefile
+--- freecnc++.orig/src/Makefile 2002-07-29 08:59:44.000000000 -0400
++++ freecnc++/src/Makefile 2003-07-31 20:43:21.000000000 -0400
+@@ -26,12 +26,11 @@
+
+ #EFENCE = -lefence
+
+-CFLAGS = $(DEBUG_FLAGS) -Werror -Wall -I./include `sdl-config --cflags`
++CFLAGS = -Wall -I./include `sdl-config --cflags` $(EXTRACFLAGS)
+ LIBS = -lSDL_net
+
+ # comment this out if your compiler isn't ANSI
+ # needed on OSX and some gcc systems.
+-CFLAGS += -ansi -pedantic
+
+ # uncomment these lines if compiling on OSX
+ #CFLAGS += -DDARWIN -D_WITHOUT_STRCASECMP
+diff -ur freecnc++.orig/src/vfs/vfs_mix/Makefile freecnc++/src/vfs/vfs_mix/Makefile
+--- freecnc++.orig/src/vfs/vfs_mix/Makefile 2002-07-29 08:59:44.000000000 -0400
++++ freecnc++/src/vfs/vfs_mix/Makefile 2003-07-31 20:42:58.000000000 -0400
+@@ -8,8 +8,7 @@
+ #DEBUG_FLAGS += -D_DEBUG -DSTRICT_DEBUG
+ #LDFLAGS += ../../misc/memtrack.o
+
+-CFLAGS = $(DEBUG_FLAGS) -Werror -Wall -I.. -I../../include `sdl-config --cflags`
+-CFLAGS += -ansi -pedantic
++CFLAGS = -Wall -I.. -I../../include `sdl-config --cflags` $(EXTRACFLAGS)
+ # uncomment these lines if compiling on OSX
+ #CFLAGS += -D_WITHOUT_STRCASECMP
+ #LDFLAGS += -bundle -flat_namespace -undefined suppress
+diff -ur freecnc++.orig/src/vfs/vfs_tgz/Makefile freecnc++/src/vfs/vfs_tgz/Makefile
+--- freecnc++.orig/src/vfs/vfs_tgz/Makefile 2002-07-29 08:59:45.000000000 -0400
++++ freecnc++/src/vfs/vfs_tgz/Makefile 2003-07-31 20:43:08.000000000 -0400
+@@ -8,8 +8,7 @@
+ #DEBUG_FLAGS += -D_DEBUG -DSTRICT_DEBUG
+ #LDFLAGS += ../../misc/memtrack.o
+
+-CFLAGS = $(DEBUG_FLAGS) -Werror -Wall -I.. -I../../include `sdl-config --cflags`
+-CFLAGS += -ansi -pedantic
++CFLAGS = -Wall -I.. -I../../include `sdl-config --cflags` $(EXTRACFLAGS)
+ # uncomment these lines if compiling on OSX
+ #CFLAGS += -D_WITHOUT_STRCASECMP
+ #LDFLAGS += -bundle -flat_namespace -undefined suppress
+diff -ur freecnc++.orig/tools/audplay/Makefile freecnc++/tools/audplay/Makefile
+--- freecnc++.orig/tools/audplay/Makefile 2002-07-20 09:20:15.000000000 -0400
++++ freecnc++/tools/audplay/Makefile 2003-07-31 20:42:05.000000000 -0400
+@@ -9,10 +9,9 @@
+ LOCALOBJS = $(LOCALSRC:.cpp=.o)
+ OBJECTS = $(SRC:.cpp=.o)
+
+-CFLAGS = -g -Werror -Wall -I. -I../../src/include `sdl-config --cflags`
++CFLAGS = -Wall -I. -I../../src/include `sdl-config --cflags` $(EXTRACFLAGS)
+
+ #if your compiler is really broken and doesn't understand ANSI, comment this out
+-CFLAGS += -ansi -pedantic
+
+ #if your compiler is partially broken and allows the use of str(n)casecmp
+ #even when compiling with -ansi -pedantic (it shouldn't), uncomment this:
+diff -ur freecnc++.orig/tools/mixshell/Makefile freecnc++/tools/mixshell/Makefile
+--- freecnc++.orig/tools/mixshell/Makefile 2002-07-20 09:20:15.000000000 -0400
++++ freecnc++/tools/mixshell/Makefile 2003-07-31 20:42:18.000000000 -0400
+@@ -10,4 +10,4 @@
+
+ .SUFFIXES: .cpp .o
+ .cpp.o:
+- g++ -Wall -c $< `sdl-config --cflags`
++ g++ -Wall -c $< `sdl-config --cflags` $(EXTRACFLAGS)
+diff -ur freecnc++.orig/tools/shpview/Makefile freecnc++/tools/shpview/Makefile
+--- freecnc++.orig/tools/shpview/Makefile 2002-07-20 09:20:15.000000000 -0400
++++ freecnc++/tools/shpview/Makefile 2003-07-31 20:42:30.000000000 -0400
+@@ -9,10 +9,9 @@
+ LOCALOBJS = $(LOCALSRC:.cpp=.o)
+ OBJECTS = $(SRC:.cpp=.o)
+
+-CFLAGS = -g -Werror -Wall -I. -I../../src/include `sdl-config --cflags`
++CFLAGS = -Wall -I. -I../../src/include `sdl-config --cflags` $(EXTRACFLAGS)
+
+ #if your compiler is really broken and doesn't understand ANSI, comment this out
+-CFLAGS += -ansi -pedantic
+
+ #if your compiler is partially broken and allows the use of str(n)casecmp
+ #even when compiling with -ansi -pedantic (it shouldn't), uncomment this:
+diff -ur freecnc++.orig/tools/tmpinied/Makefile freecnc++/tools/tmpinied/Makefile
+--- freecnc++.orig/tools/tmpinied/Makefile 2002-07-20 09:20:15.000000000 -0400
++++ freecnc++/tools/tmpinied/Makefile 2003-07-31 20:42:41.000000000 -0400
+@@ -7,7 +7,7 @@
+
+ OBJECTS = $(SRC:.cpp=.o)
+
+-CFLAGS = -g -Wall -I../../src/include `sdl-config --cflags`
++CFLAGS = -Wall -I../../src/include `sdl-config --cflags` $(EXTRACFLAGS)
+
+ all: $(OBJECTS)
+ g++ -o tmpinied -g `sdl-config --libs` $(OBJECTS)
diff --git a/games-strategy/freecnc/files/0.2.0-remove-root.patch b/games-strategy/freecnc/files/0.2.0-remove-root.patch
new file mode 100644
index 000000000000..b65d56c646c2
--- /dev/null
+++ b/games-strategy/freecnc/files/0.2.0-remove-root.patch
@@ -0,0 +1,18 @@
+--- src/freecnc.cpp.orig 2003-07-31 21:14:06.000000000 -0400
++++ src/freecnc.cpp 2003-07-31 21:14:28.000000000 -0400
+@@ -46,6 +46,7 @@
+ #if !defined _WIN32
+ // maybe some win32 specific checks for running as the Administrator
+ // account or something
++/*
+ if (getuid() == 0) {
+ fprintf(stderr,"WARNING WARNING WARNING WARNING!\n"
+ "\tYOU ARE RUNNING FREECNC AS ROOT.\n"
+@@ -58,6 +59,7 @@
+ "PLEASE DO NOT DO SO, ROOT PRIVILEGES ARE NOT NEEDED.\n");
+ exit(1);
+ }
++*/
+ #endif
+ args = new Args();
+ /* VFS will exit(1) here if and only if it can not find files.ini. */
diff --git a/games-strategy/freecnc/files/0.2.1.31072003-gentoo-paths.patch b/games-strategy/freecnc/files/0.2.1.31072003-gentoo-paths.patch
new file mode 100644
index 000000000000..b134072c04d8
--- /dev/null
+++ b/games-strategy/freecnc/files/0.2.1.31072003-gentoo-paths.patch
@@ -0,0 +1,41 @@
+--- src/freecnc.cpp.orig 2003-07-31 22:53:04.000000000 -0400
++++ src/freecnc.cpp 2003-07-31 22:54:06.000000000 -0400
+@@ -79,8 +79,8 @@
+ #endif
+ args = new Args();
+ binpath = determineBinaryLocation(argv[0]);
+- lf = new char[strlen(binpath)+strlen("freecnc.log")+2];
+- sprintf(lf, "freecnc.log");
++ lf = new char[strlen("GENTOO_LOGDIR")+strlen("freecnc.log")+2];
++ sprintf(lf, "GENTOO_LOGDIR/freecnc.log");
+ VFS_PreInit(binpath);
+ // Log level is so that only errors are shown on stdout by default
+ logger = new Logger(lf,0);
+--- src/vfs/vfs.cpp.orig 2003-07-31 22:53:14.000000000 -0400
++++ src/vfs/vfs.cpp 2003-07-31 22:55:02.000000000 -0400
+@@ -52,7 +52,11 @@
+ #if defined _WIN32
+ #elif defined(macintosh)
+ #else
+- externals->loadArchive("/etc/freecnc/");
++ char f[1024];sprintf(f, "%s/.freecnc/", getenv("HOME"));
++ externals->loadArchive(f);
++ externals->loadArchive("GENTOO_CONFDIR");
++ externals->loadArchive("GENTOO_DATADIR/conf/");
++ externals->loadArchive("GENTOO_DATADIR/");
+ #endif
+
+ try {
+--- tools/audplay/audplay.cpp.orig 2003-07-31 22:57:04.000000000 -0400
++++ tools/audplay/audplay.cpp 2003-07-31 22:57:20.000000000 -0400
+@@ -35,8 +35,8 @@
+ exit(1);
+ }
+ binpath = determineBinaryLocation(argv[0]);
+- lf = new char[strlen(binpath)+strlen("audplay.log")+2];
+- sprintf(lf, "%s/audplay.log", binpath);
++ lf = new char[strlen("GENTOO_LOGDIR")+strlen("audplay.log")+2];
++ sprintf(lf, "GENTOO_LOGDIR/audplay.log", binpath);
+ VFS_PreInit(binpath);
+ logger = new Logger(lf,0);
+ delete[] lf;
diff --git a/games-strategy/freecnc/files/0.2.1.31072003-makefile-cflags.patch b/games-strategy/freecnc/files/0.2.1.31072003-makefile-cflags.patch
new file mode 100644
index 000000000000..6ca3ead15d6b
--- /dev/null
+++ b/games-strategy/freecnc/files/0.2.1.31072003-makefile-cflags.patch
@@ -0,0 +1,17 @@
+--- Makefile.orig 2003-07-31 22:49:19.000000000 -0400
++++ Makefile 2003-07-31 22:50:10.000000000 -0400
+@@ -9,13 +9,10 @@
+ #
+ linux:
+ + $(MAKE) -j2 -C src freecnc-bin \
+- "EXTRACFLAGS = -ansi -pedantic -Werror" \
+ "LIBS = -lSDL_net"
+ + $(MAKE) -j2 -C src plugins \
+- "EXTRACFLAGS = -ansi -pedantic -fPIC -Werror" \
+ "LDFLAGS = -shared"
+- + $(MAKE) -j2 -C tools \
+- "EXTRACFLAGS = -ansi -pedantic"
++ + $(MAKE) -j2 -C tools
+
+ linux-nonet:
+ + $(MAKE) -j2 -C src freecnc-bin \
diff --git a/games-strategy/freecnc/files/0.2.1.31072003-remove-root.patch b/games-strategy/freecnc/files/0.2.1.31072003-remove-root.patch
new file mode 100644
index 000000000000..890d5f47ac63
--- /dev/null
+++ b/games-strategy/freecnc/files/0.2.1.31072003-remove-root.patch
@@ -0,0 +1,18 @@
+--- src/freecnc.cpp.orig 2003-07-31 22:51:34.000000000 -0400
++++ src/freecnc.cpp 2003-07-31 22:51:45.000000000 -0400
+@@ -62,6 +62,7 @@
+ #elif defined(__BEOS__)
+ // BeOS runs everything as root
+ #else
++/*
+ if (getuid() == 0) {
+ fprintf(stderr,"WARNING WARNING WARNING WARNING!\n"
+ "\tYOU ARE RUNNING FREECNC AS ROOT.\n"
+@@ -74,6 +75,7 @@
+ "PLEASE DO NOT DO SO, ROOT PRIVILEGES ARE NOT NEEDED.\n");
+ exit(1);
+ }
++*/
+ #endif
+ args = new Args();
+ binpath = determineBinaryLocation(argv[0]);
diff --git a/games-strategy/freecnc/files/digest-freecnc-0.2.0 b/games-strategy/freecnc/files/digest-freecnc-0.2.0
new file mode 100644
index 000000000000..b96e2cca1aa2
--- /dev/null
+++ b/games-strategy/freecnc/files/digest-freecnc-0.2.0
@@ -0,0 +1,3 @@
+MD5 9d43ea387f370b8108e7a870a82017d5 freecnc++-0.2.0-src.tar.bz2 264419
+MD5 7d770d38618e20796fbe642037f08de5 cc1demo1.zip 9367945
+MD5 bbe489d259c4e6d6cadb4a2544b764aa cc1demo2.zip 17797920
diff --git a/games-strategy/freecnc/files/digest-freecnc-0.2.1.31072003 b/games-strategy/freecnc/files/digest-freecnc-0.2.1.31072003
new file mode 100644
index 000000000000..f3b071e5d57b
--- /dev/null
+++ b/games-strategy/freecnc/files/digest-freecnc-0.2.1.31072003
@@ -0,0 +1,3 @@
+MD5 3179192e8e6efc5672b940d1bcda424d freecnc++-0.2.1.31072003-src.tar.bz2 271980
+MD5 7d770d38618e20796fbe642037f08de5 cc1demo1.zip 9367945
+MD5 bbe489d259c4e6d6cadb4a2544b764aa cc1demo2.zip 17797920
diff --git a/games-strategy/freecnc/files/freecnc b/games-strategy/freecnc/files/freecnc
new file mode 100644
index 000000000000..5cbf438349b8
--- /dev/null
+++ b/games-strategy/freecnc/files/freecnc
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd GENTOO_DIR
+exec ./freecnc "$@"
diff --git a/games-strategy/freecnc/freecnc-0.2.0.ebuild b/games-strategy/freecnc/freecnc-0.2.0.ebuild
new file mode 100644
index 000000000000..3db361d1ca99
--- /dev/null
+++ b/games-strategy/freecnc/freecnc-0.2.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/freecnc/freecnc-0.2.0.ebuild,v 1.1 2003/09/10 05:27:31 vapier Exp $
+
+inherit games flag-o-matic eutils
+
+DESCRIPTION="SDL-rewrite of the classical real time strategy hit Command & Conquer"
+HOMEPAGE="http://freecnc-sf.holarse.net/"
+SRC_URI="mirror://sourceforge/freecnc/freecnc++-${PV}-src.tar.bz2
+ nocd? ( ftp://ftp.westwood.com/pub/cc1/previews/demo/cc1demo1.zip )
+ nocd? ( ftp://ftp.westwood.com/pub/cc1/previews/demo/cc1demo2.zip )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86"
+IUSE="zlib nocd"
+
+DEPEND="media-libs/libsdl
+ media-libs/sdl-net
+ zlib? ( sys-libs/zlib )"
+
+S=${WORKDIR}/freecnc++
+
+src_unpack() {
+ unpack freecnc++-${PV}-src.tar.bz2
+ if [ `use nocd` ] ; then
+ mkdir data ; cd data
+ unpack cc1demo1.zip cc1demo2.zip
+ for f in * ; do
+ mv ${f} `echo ${f} | awk '{print tolower($1)}'` || die "moving $f"
+ done
+ fi
+ cd ${S}
+ epatch ${FILESDIR}/${PV}-makefile-cflags.patch
+ epatch ${FILESDIR}/${PV}-remove-root.patch
+ epatch ${FILESDIR}/${PV}-gentoo-paths.patch
+ sed -i \
+ -e "s:GENTOO_LOGDIR:${GAMES_LOGDIR}:" \
+ -e "s:GENTOO_CONFDIR:${GAMES_SYSCONFDIR}/${PN}/:" \
+ -e "s:GENTOO_DATADIR:${GAMES_DATADIR}/${PN}/:" \
+ src/{freecnc,vfs/vfs}.cpp
+}
+
+src_compile() {
+ make EXTRACFLAGS="${CFLAGS}" || die
+}
+
+src_install() {
+ exeinto ${GAMES_LIBDIR}/${PN}
+ doexe freecnc *.vfs
+ dogamesbin ${FILESDIR}/freecnc
+ dosed "s:GENTOO_DIR:${GAMES_LIBDIR}/${PN}:" ${GAMES_BINDIR}/freecnc
+ insinto ${GAMES_DATADIR}/${PN}/conf
+ doins conf/*
+ insinto ${GAMES_SYSCONFDIR}/${PN}
+ doins conf/*
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO
+ if [ `use nocd` ] ; then
+ cd ${WORKDIR}/data
+ insinto ${GAMES_DATADIR}/${PN}
+ doins *.mix *.aud
+ dodoc *.txt
+ fi
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ einfo "If you have the C&C games, then just copy the .mix"
+ einfo "to ${GAMES_DATADIR}/${PN}"
+ einfo "Otherwise, re-emerge freecnc with 'nocd' in your USE."
+}
diff --git a/games-strategy/freecnc/freecnc-0.2.1.31072003.ebuild b/games-strategy/freecnc/freecnc-0.2.1.31072003.ebuild
new file mode 100644
index 000000000000..cd6da7cfd452
--- /dev/null
+++ b/games-strategy/freecnc/freecnc-0.2.1.31072003.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/freecnc/freecnc-0.2.1.31072003.ebuild,v 1.1 2003/09/10 05:27:31 vapier Exp $
+
+inherit games flag-o-matic eutils
+
+DESCRIPTION="SDL-rewrite of the classical real time strategy hit Command & Conquer"
+HOMEPAGE="http://freecnc-sf.holarse.net/"
+#mirror://sourceforge/freecnc/freecnc++-${PV}-src.tar.bz2
+SRC_URI="mirror://gentoo/freecnc++-${PV}-src.tar.bz2
+ nocd? ( ftp://ftp.westwood.com/pub/cc1/previews/demo/cc1demo1.zip )
+ nocd? ( ftp://ftp.westwood.com/pub/cc1/previews/demo/cc1demo2.zip )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="zlib nocd"
+
+DEPEND="media-libs/libsdl
+ media-libs/sdl-net
+ zlib? ( sys-libs/zlib )"
+
+S=${WORKDIR}/freecnc++
+
+src_unpack() {
+ unpack freecnc++-${PV}-src.tar.bz2
+ if [ `use nocd` ] ; then
+ mkdir data ; cd data
+ unpack cc1demo1.zip cc1demo2.zip
+ for f in * ; do
+ mv ${f} `echo ${f} | awk '{print tolower($1)}'` || die "moving $f"
+ done
+ fi
+ cd ${S}
+ epatch ${FILESDIR}/${PV}-makefile-cflags.patch
+ epatch ${FILESDIR}/${PV}-remove-root.patch
+ epatch ${FILESDIR}/${PV}-gentoo-paths.patch
+ sed -i \
+ -e "s:GENTOO_LOGDIR:${GAMES_LOGDIR}:" \
+ -e "s:GENTOO_CONFDIR:${GAMES_SYSCONFDIR}/${PN}/:" \
+ -e "s:GENTOO_DATADIR:${GAMES_DATADIR}/${PN}/:" \
+ src/{freecnc,vfs/vfs}.cpp tools/audplay/audplay.cpp
+}
+
+src_compile() {
+ make linux EXTRACFLAGS="${CFLAGS}" || die
+}
+
+src_install() {
+ exeinto ${GAMES_LIBDIR}/${PN}
+ doexe freecnc *.vfs audplay shpview tmpinied
+ dogamesbin ${FILESDIR}/freecnc
+ dosed "s:GENTOO_DIR:${GAMES_LIBDIR}/${PN}:" ${GAMES_BINDIR}/freecnc
+ insinto ${GAMES_DATADIR}/${PN}/conf
+ doins conf/*
+ insinto ${GAMES_SYSCONFDIR}/${PN}
+ doins conf/*
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO
+ if [ `use nocd` ] ; then
+ cd ${WORKDIR}/data
+ insinto ${GAMES_DATADIR}/${PN}
+ doins *.mix *.aud
+ dodoc *.txt
+ fi
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ einfo "If you have the C&C games, then just copy the .mix"
+ einfo "to ${GAMES_DATADIR}/${PN}"
+ einfo "Otherwise, re-emerge freecnc with 'nocd' in your USE."
+}