aboutsummaryrefslogtreecommitdiffstats
path: root/games/openomf
diff options
context:
space:
mode:
authorPawel Pekala <pawel@FreeBSD.org>2016-07-21 23:55:20 +0800
committerPawel Pekala <pawel@FreeBSD.org>2016-07-21 23:55:20 +0800
commitb5733ca4a4ebd225e34de038ec55a6d68f13ed67 (patch)
treef14678dc58cd98d46416d40349d944eac34ddcbe /games/openomf
parentf7baa662a4ae46e76bad4f805376290bf906e625 (diff)
downloadfreebsd-ports-gnome-b5733ca4a4ebd225e34de038ec55a6d68f13ed67.tar.gz
freebsd-ports-gnome-b5733ca4a4ebd225e34de038ec55a6d68f13ed67.tar.zst
freebsd-ports-gnome-b5733ca4a4ebd225e34de038ec55a6d68f13ed67.zip
OpenOMF is a Open Source remake of "One Must Fall 2097" by Diversions
Entertainment. WWW: http://www.openomf.org/ PR: 210819 Submitted by: Stas Timokhin <devel@stasyan.com>
Diffstat (limited to 'games/openomf')
-rw-r--r--games/openomf/Makefile52
-rw-r--r--games/openomf/distinfo8
-rw-r--r--games/openomf/files/patch-CMakeLists.txt23
-rw-r--r--games/openomf/files/patch-src_main.c11
-rw-r--r--games/openomf/files/patch-src_resources_pathmanager.c16
-rw-r--r--games/openomf/pkg-descr4
-rw-r--r--games/openomf/pkg-plist95
7 files changed, 209 insertions, 0 deletions
diff --git a/games/openomf/Makefile b/games/openomf/Makefile
new file mode 100644
index 000000000000..e828192120d0
--- /dev/null
+++ b/games/openomf/Makefile
@@ -0,0 +1,52 @@
+# Created by: Stas Timokhin <devel@stasyan.com>
+# $FreeBSD$
+
+PORTNAME= openomf
+PORTVERSION= 0.6.5
+CATEGORIES= games
+MASTER_SITES= http://www.omf2097.com/pub/files/omf/:data
+DISTFILES+= omf2097.rar:data
+EXTRACT_ONLY= ${DISTFILE_shadow} ${DISTFILE_libdumb} \
+ ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED}_GH0.tar.gz
+
+MAINTAINER= devel@stasyan.com
+COMMENT= Rewritten engine for One Must Fall 2097
+
+LIB_DEPENDS= libconfuse.so:devel/libconfuse \
+ libpng.so:graphics/png \
+ libargtable2.so:devel/argtable \
+ libopenal.so:audio/openal \
+ libenet.so:net/enet
+EXTRACT_DEPENDS= unrar:archivers/unrar
+
+USE_GITHUB= yes
+GH_TUPLE= omf2097:openomf:c36c421 \
+ omf2097:libShadowDive:b2c34a6:shadow \
+ kode54:dumb:238f23c:libdumb
+
+USES= cmake compiler:c++11-lang gettext
+USE_SDL= sdl2
+
+DESKTOP_ENTRIES="OpenOMF" "" \
+ "${PREFIX}/share/openomf/openomf_icon.png " \
+ "openomf" "Game;ArcadeGame;" false
+
+post-extract:
+ ${RMDIR} ${WRKSRC}/external/libShadowDive
+ ${LN} -s ${WRKSRC_shadow} ${WRKSRC}/external/libShadowDive
+ ${LN} -s ${WRKSRC_libdumb}/dumb ${WRKSRC}/external/dumb
+ ${MKDIR} ${WRKDIR}/omf
+ cd ${WRKDIR}/omf && unrar e -idq ${DISTDIR}/omf2097.rar
+
+post-patch:
+ ${REINPLACE_CMD} -e 's,%%PREFIX%%,"${PREFIX}",g' \
+ ${WRKSRC}/src/resources/pathmanager.c
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/openomf ${STAGEDIR}${PREFIX}/bin
+ @${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/resources/openomf_icon.png ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/resources/openomf.bk ${STAGEDIR}${DATADIR}
+ (cd ${WRKDIR}/omf && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
+
+.include <bsd.port.mk>
diff --git a/games/openomf/distinfo b/games/openomf/distinfo
new file mode 100644
index 000000000000..78596da2f57f
--- /dev/null
+++ b/games/openomf/distinfo
@@ -0,0 +1,8 @@
+SHA256 (omf2097.rar) = bc2ce50b8ea282b61e9685e883436e9cb4bcf7bacec0a58f0a685f20289f8a13
+SIZE (omf2097.rar) = 6345106
+SHA256 (omf2097-openomf-0.6.5-c36c421_GH0.tar.gz) = e8837884e6813f42c4fc0b7864f65c343f8831f1e66247cb82e7bfcb2cc06f08
+SIZE (omf2097-openomf-0.6.5-c36c421_GH0.tar.gz) = 259458
+SHA256 (omf2097-libShadowDive-b2c34a6_GH0.tar.gz) = 47e33af4f03539c39045eba2ad150ff88195f326c8d8f82d31b82738da5731da
+SIZE (omf2097-libShadowDive-b2c34a6_GH0.tar.gz) = 113591
+SHA256 (kode54-dumb-238f23c_GH0.tar.gz) = d49d1a211b5eb3fd446bcd4a7ba7710b056e0579ad7bfa1d7a7ea99956f79c91
+SIZE (kode54-dumb-238f23c_GH0.tar.gz) = 178894
diff --git a/games/openomf/files/patch-CMakeLists.txt b/games/openomf/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..9e046cc0c01e
--- /dev/null
+++ b/games/openomf/files/patch-CMakeLists.txt
@@ -0,0 +1,23 @@
+--- CMakeLists.txt.orig 2016-01-10 17:37:25 UTC
++++ CMakeLists.txt
+@@ -67,6 +67,7 @@ ENDIF()
+ find_package(SDL2)
+ find_package(enet)
+ find_package(confuse)
++find_package(Gettext)
+
+ # Check functions and generate platform configuration file
+ CHECK_SYMBOL_EXISTS(strdup "string.h" HAVE_STD_STRDUP)
+@@ -320,10 +321,10 @@ ENDIF()
+ # Handle module playback libraries
+ IF(USE_SUBMODULES)
+ set(CORELIBS ${CORELIBS} dumb)
+- set(COREINCS ${COREINCS} ${DUMB_INCLUDE_DIR})
++ set(COREINCS ${DUMB_INCLUDE_DIR} ${COREINCS} )
+ ELSEIF(USE_DUMB)
+ set(CORELIBS ${CORELIBS} ${DUMB_LIBRARY})
+- set(COREINCS ${COREINCS} ${DUMB_INCLUDE_DIR})
++ set(COREINCS ${DUMB_INCLUDE_DIR} ${COREINCS})
+ ENDIF()
+ IF(USE_MODPLUG)
+ set(CORELIBS ${CORELIBS} ${MODPLUG_LIBRARY})
diff --git a/games/openomf/files/patch-src_main.c b/games/openomf/files/patch-src_main.c
new file mode 100644
index 000000000000..7a27405be42c
--- /dev/null
+++ b/games/openomf/files/patch-src_main.c
@@ -0,0 +1,11 @@
+--- src/main.c.orig 2016-01-10 17:37:25 UTC
++++ src/main.c
+@@ -156,7 +156,7 @@ int main(int argc, char *argv[]) {
+ INFO("Running on platform: %s", SDL_GetPlatform());
+
+ #ifndef STANDALONE_SERVER
+- if(SDL_InitSubSystem(SDL_INIT_JOYSTICK|SDL_INIT_GAMECONTROLLER|SDL_INIT_HAPTIC)) {
++ if(SDL_InitSubSystem(SDL_INIT_JOYSTICK|SDL_INIT_GAMECONTROLLER)) {
+ err_msgbox("SDL2 Initialization failed: %s", SDL_GetError());
+ goto exit_2;
+ }
diff --git a/games/openomf/files/patch-src_resources_pathmanager.c b/games/openomf/files/patch-src_resources_pathmanager.c
new file mode 100644
index 000000000000..7e9ec87edaed
--- /dev/null
+++ b/games/openomf/files/patch-src_resources_pathmanager.c
@@ -0,0 +1,16 @@
+--- src/resources/pathmanager.c.orig 2016-01-10 17:37:25 UTC
++++ src/resources/pathmanager.c
+@@ -85,11 +85,11 @@ int pm_init() {
+ local_path_build(RESOURCE_PATH, bin_base_dir, "resources\\");
+ local_path_build(PLUGIN_PATH, bin_base_dir, "plugins\\");
+ m_ok = 1;
+- } else if(!strcasecmp(SDL_GetPlatform(), "Linux")) {
++ } else if(!strcasecmp(SDL_GetPlatform(), "FreeBSD")) {
+ // on linux, the resources will be in ../share/games/openomf, relative to the binary
+ // so if openomf is installed to /usr/local/bin,
+ // the resources will be in /usr/local/share/games/openomf
+- local_path_build(RESOURCE_PATH, bin_base_dir, "../share/games/openomf/");
++ local_path_build(RESOURCE_PATH, %%PREFIX%%, "/share/openomf/");
+ local_path_build(PLUGIN_PATH, bin_base_dir, "../lib/openomf/");
+ m_ok = 1;
+ } else if(!strcasecmp(SDL_GetPlatform(), "Mac OS X")) {
diff --git a/games/openomf/pkg-descr b/games/openomf/pkg-descr
new file mode 100644
index 000000000000..bbf3267de2ff
--- /dev/null
+++ b/games/openomf/pkg-descr
@@ -0,0 +1,4 @@
+OpenOMF is a Open Source remake of "One Must Fall 2097" by Diversions
+Entertainment.
+
+WWW: http://www.openomf.org/
diff --git a/games/openomf/pkg-plist b/games/openomf/pkg-plist
new file mode 100644
index 000000000000..05c83afc117f
--- /dev/null
+++ b/games/openomf/pkg-plist
@@ -0,0 +1,95 @@
+bin/openomf
+%%DATADIR%%/ALTPALS.DAT
+%%DATADIR%%/ARENA0.BK
+%%DATADIR%%/ARENA0.PSM
+%%DATADIR%%/ARENA1.BK
+%%DATADIR%%/ARENA1.PSM
+%%DATADIR%%/ARENA2.BK
+%%DATADIR%%/ARENA2.PSM
+%%DATADIR%%/ARENA3.BK
+%%DATADIR%%/ARENA3.PSM
+%%DATADIR%%/ARENA4.BK
+%%DATADIR%%/ARENA4.PSM
+%%DATADIR%%/CHARSMAL.DAT
+%%DATADIR%%/CREDITS.BK
+%%DATADIR%%/DOS4GW.EXE
+%%DATADIR%%/END.BK
+%%DATADIR%%/END.PSM
+%%DATADIR%%/END1.BK
+%%DATADIR%%/END2.BK
+%%DATADIR%%/ENGLISH.DAT
+%%DATADIR%%/FIGHTR0.AF
+%%DATADIR%%/FIGHTR1.AF
+%%DATADIR%%/FIGHTR10.AF
+%%DATADIR%%/FIGHTR2.AF
+%%DATADIR%%/FIGHTR3.AF
+%%DATADIR%%/FIGHTR4.AF
+%%DATADIR%%/FIGHTR5.AF
+%%DATADIR%%/FIGHTR6.AF
+%%DATADIR%%/FIGHTR7.AF
+%%DATADIR%%/FIGHTR8.AF
+%%DATADIR%%/FIGHTR9.AF
+%%DATADIR%%/FILE0001.EXE
+%%DATADIR%%/FILE_ID.DIZ
+%%DATADIR%%/GERMAN.DAT
+%%DATADIR%%/GRAPHCHR.DAT
+%%DATADIR%%/HELPME.DOC
+%%DATADIR%%/HELPME.EXE
+%%DATADIR%%/INTRO.BK
+%%DATADIR%%/KATUSHAI.BK
+%%DATADIR%%/KATUSHAI.PIC
+%%DATADIR%%/KATUSHAI.TRN
+%%DATADIR%%/LICENSE.DOC
+%%DATADIR%%/MAIN.BK
+%%DATADIR%%/MANUAL.DOC
+%%DATADIR%%/MASTER.DAT
+%%DATADIR%%/MDRV000R.MUS
+%%DATADIR%%/MDRV001R.MUS
+%%DATADIR%%/MDRV003R.MUS
+%%DATADIR%%/MDRV004R.MUS
+%%DATADIR%%/MDRV005R.MUS
+%%DATADIR%%/MECHLAB.BK
+%%DATADIR%%/MELEE.BK
+%%DATADIR%%/MENU.PSM
+%%DATADIR%%/MODEMS.TXT
+%%DATADIR%%/NETARENA.EXE
+%%DATADIR%%/NETARENA.PCX
+%%DATADIR%%/NETEPIC.BBS
+%%DATADIR%%/NETEPIC.PCX
+%%DATADIR%%/NETFONT1.PCX
+%%DATADIR%%/NETFONT2.PCX
+%%DATADIR%%/NETIPX.EXE
+%%DATADIR%%/NETMEGA.PCX
+%%DATADIR%%/NETMODEM.EXE
+%%DATADIR%%/NETSET.PCX
+%%DATADIR%%/NETTERM.EXE
+%%DATADIR%%/NETTERM.INT
+%%DATADIR%%/NEWSROOM.BK
+%%DATADIR%%/NORTH_AM.BK
+%%DATADIR%%/NORTH_AM.PIC
+%%DATADIR%%/NORTH_AM.TRN
+%%DATADIR%%/OMF-END.BIN
+%%DATADIR%%/OMF.EXE
+%%DATADIR%%/OMF.ICO
+%%DATADIR%%/OMF.PIF
+%%DATADIR%%/OMF_END.BIN
+%%DATADIR%%/ORDER.DOC
+%%DATADIR%%/ORDER.EXE
+%%DATADIR%%/ORDER_DE.DOC
+%%DATADIR%%/ORDER_UK.DOC
+%%DATADIR%%/PLAYERS.PIC
+%%DATADIR%%/RANDOM.DAT
+%%DATADIR%%/SETUP.BOX
+%%DATADIR%%/SETUP.CFG
+%%DATADIR%%/SETUP.EXE
+%%DATADIR%%/SETUP.INT
+%%DATADIR%%/SOUNDS.DAT
+%%DATADIR%%/VS.BK
+%%DATADIR%%/WAR.BK
+%%DATADIR%%/WAR.PIC
+%%DATADIR%%/WAR.TRN
+%%DATADIR%%/WORLD.BK
+%%DATADIR%%/WORLD.PIC
+%%DATADIR%%/WORLD.TRN
+%%DATADIR%%/openomf.bk
+%%DATADIR%%/openomf_icon.png