aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/Makefile1
-rw-r--r--games/freera/Makefile42
-rw-r--r--games/freera/distinfo3
-rw-r--r--games/freera/files/SConstruct27
-rw-r--r--games/freera/pkg-descr6
-rw-r--r--games/freera/pkg-message12
-rw-r--r--games/freera/pkg-plist43
7 files changed, 134 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile
index 872a83879a89..e33bd5419040 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -213,6 +213,7 @@
SUBDIR += freedoko
SUBDIR += freedroid
SUBDIR += freedroidrpg
+ SUBDIR += freera
SUBDIR += freesci
SUBDIR += freesweep
SUBDIR += fretsonfire
diff --git a/games/freera/Makefile b/games/freera/Makefile
new file mode 100644
index 000000000000..5750446213b6
--- /dev/null
+++ b/games/freera/Makefile
@@ -0,0 +1,42 @@
+# New ports collection makefile for: freera
+# Date created: 01 Feb 2007
+# Whom: Dmitry Marakasov <amdmi3@amdmi3.ru>
+#
+# $FreeBSD$
+#
+
+PORTNAME= freera
+PORTVERSION= 070122
+CATEGORIES= games
+MASTER_SITES= SF
+DISTNAME= ${PORTVERSION}_freera++_src
+
+MAINTAINER= amdmi3@amdmi3.ru
+COMMENT= Westwood red alert game engine
+
+USE_SDL= sdl mixer
+USE_SCONS= yes
+
+SCONS_BUILDENV= ${SCONS_ENV} SDL_CONFIG=${SDL_CONFIG}
+
+WRKSRC= ${WRKDIR}/freera++
+
+post-patch:
+ @${MV} ${WRKSRC}/SConstruct ${WRKSRC}/SConstruct.orig
+ @${CP} ${FILESDIR}/SConstruct ${WRKSRC}/
+ @${REINPLACE_CMD} -e 's|data/|${DATADIR}/|' ${WRKSRC}/src/video/renderer.cpp \
+ ${WRKSRC}/src/video/graphicsengine.cpp ${WRKSRC}/src/vfs/vfs.cpp \
+ ${WRKSRC}/data/settings/files.ini
+ @${RM} ${WRKSRC}/data/settings/files.ini.bak
+ @${RM} -rf ${WRKSRC}/data/settings/ra/.svn ${WRKSRC}/data/settings/td/.svn
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/freera ${PREFIX}/bin/
+ cd ${WRKSRC}/data && \
+ ${FIND} . -type d -exec ${MKDIR} "${DATADIR}/{}" \; ;\
+ ${FIND} . -type f -exec ${INSTALL_DATA} "{}" "${DATADIR}/{}" \;
+
+post-install:
+ @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
+
+.include <bsd.port.mk>
diff --git a/games/freera/distinfo b/games/freera/distinfo
new file mode 100644
index 000000000000..b40f06512d7a
--- /dev/null
+++ b/games/freera/distinfo
@@ -0,0 +1,3 @@
+MD5 (070122_freera++_src.tar.gz) = 65aac34793ca0e019bab93081f9bbd6e
+SHA256 (070122_freera++_src.tar.gz) = e5e1fbea4f290a632e905a767f72a2392bc6c47922b0bdb1a925fcc1ccb78005
+SIZE (070122_freera++_src.tar.gz) = 440095
diff --git a/games/freera/files/SConstruct b/games/freera/files/SConstruct
new file mode 100644
index 000000000000..dc6eff348821
--- /dev/null
+++ b/games/freera/files/SConstruct
@@ -0,0 +1,27 @@
+#!/usr/bin/scons
+
+from os import environ
+from glob import glob
+
+# Source files
+source = ["src/freera.cpp"]
+source += glob("src/*/*.cpp")
+source += glob("src/*/*/*.cpp")
+source += glob("src/lua/*.c")
+# This is blatent overkill
+exclude = ["src/misc/fibheap.cpp"]
+source = filter(lambda x: x not in exclude, source)
+
+env = Environment( CPPPATH = ["#/src/include", "#/src/include/lua"],
+ LIBS = [ "SDL_mixer"] )
+
+for key in [ 'CC', 'CCFLAGS', 'CXX', 'CXXFLAGS' ]:
+ if environ.has_key(key):
+ env.Replace( **{key: environ[key].split(' ')} )
+
+env.Append( CCFLAGS = [ "-Wall", "-Wconversion", "-Wno-unused-parameter" ],
+ CXXFLAGS = [ "-Wall", "-Wconversion", "-Wno-unused-parameter" ] )
+
+env.ParseConfig("sdl-config --cflags --libs")
+
+env.Program(target = "freera", source = source)
diff --git a/games/freera/pkg-descr b/games/freera/pkg-descr
new file mode 100644
index 000000000000..f9e7a8f81e4e
--- /dev/null
+++ b/games/freera/pkg-descr
@@ -0,0 +1,6 @@
+This is a rebuild of the (westwood) red alert game engine (based
+on FreeCNC). It is a real time strategy game. To play the game with
+this engine you need the original game (mix files). The only game
+supported is red alert 1 ;)
+
+WWW: http://www.freera.org/
diff --git a/games/freera/pkg-message b/games/freera/pkg-message
new file mode 100644
index 000000000000..cd160b6e9596
--- /dev/null
+++ b/games/freera/pkg-message
@@ -0,0 +1,12 @@
+==========================================================================
+
+FreeRA requires original .mix files from Red Alert. Copy those files from
+Red Alert CD's to ${PREFIX}/share/freera/data/mix/ directory:
+
+ main.mix
+ redalert.mix
+
+PS. Both files can be found on either Red Alert CD. Both CDs have
+ the maps for both campaigns but only the videos for one.
+
+==========================================================================
diff --git a/games/freera/pkg-plist b/games/freera/pkg-plist
new file mode 100644
index 000000000000..299088a3260a
--- /dev/null
+++ b/games/freera/pkg-plist
@@ -0,0 +1,43 @@
+bin/freera
+%%DATADIR%%/gfx/icon.bmp
+%%DATADIR%%/gfx/icon.ico
+%%DATADIR%%/gfx/icon.svg
+%%DATADIR%%/gfx/icon.xpm
+%%DATADIR%%/gfx/map.shp
+%%DATADIR%%/gfx/repair.shp
+%%DATADIR%%/gfx/sell.shp
+%%DATADIR%%/scripts/hello.lua
+%%DATADIR%%/scripts/ui.lua
+%%DATADIR%%/settings/files.ini
+%%DATADIR%%/settings/freecnc.ini
+%%DATADIR%%/settings/freecnc.log
+%%DATADIR%%/settings/internal-global.ini
+%%DATADIR%%/settings/ra/art.ini
+%%DATADIR%%/settings/ra/cursors.ini
+%%DATADIR%%/settings/ra/internal.ini
+%%DATADIR%%/settings/ra/protofiles.ini
+%%DATADIR%%/settings/ra/sidebar.ini
+%%DATADIR%%/settings/ra/structure.ini
+%%DATADIR%%/settings/ra/talkback.ini
+%%DATADIR%%/settings/ra/templates.ini
+%%DATADIR%%/settings/ra/unit.ini
+%%DATADIR%%/settings/ra/weapons.ini
+%%DATADIR%%/settings/songs.ini
+%%DATADIR%%/settings/td/art.ini
+%%DATADIR%%/settings/td/cursors.ini
+%%DATADIR%%/settings/td/internal.ini
+%%DATADIR%%/settings/td/protofiles.ini
+%%DATADIR%%/settings/td/sidebar.ini
+%%DATADIR%%/settings/td/structure.ini
+%%DATADIR%%/settings/td/talkback.ini
+%%DATADIR%%/settings/td/templates.ini
+%%DATADIR%%/settings/td/unit.ini
+%%DATADIR%%/settings/td/weapons.ini
+%%DATADIR%%/settings/td/wsa.ini
+@dirrm %%DATADIR%%/settings/td
+@dirrm %%DATADIR%%/settings/ra
+@dirrm %%DATADIR%%/settings
+@dirrm %%DATADIR%%/scripts
+@dirrm %%DATADIR%%/mix
+@dirrm %%DATADIR%%/gfx
+@dirrm %%DATADIR%%