diff options
author | marino <marino@FreeBSD.org> | 2015-02-06 19:15:02 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2015-02-06 19:15:02 +0800 |
commit | 2a38f5fb25f687324c6d3b0a3904d63889647045 (patch) | |
tree | 426463cf3838287b72a4c1635e362e0362977da0 | |
parent | 1fc175865ea8f86b483cf4e31cb42ffe5eb14e94 (diff) | |
download | freebsd-ports-gnome-2a38f5fb25f687324c6d3b0a3904d63889647045.tar.gz freebsd-ports-gnome-2a38f5fb25f687324c6d3b0a3904d63889647045.tar.zst freebsd-ports-gnome-2a38f5fb25f687324c6d3b0a3904d63889647045.zip |
Add new port: games/diaspora
PR: 195014
Submitted by: lightside (gmx.com)
Diaspora: Shattered Armistice is a single and multiplayer space fighter
combat game set in the reimagined Battlestar Galactica universe. It is
based on FreeSpace 2 Open Source Code Project engine.
-rw-r--r-- | games/Makefile | 1 | ||||
-rw-r--r-- | games/diaspora/Makefile | 131 | ||||
-rw-r--r-- | games/diaspora/distinfo | 6 | ||||
-rw-r--r-- | games/diaspora/files/extra-patch-increase_joy_buttons_fixed.patch | 97 | ||||
-rw-r--r-- | games/diaspora/files/fs2_open_diaspora.in | 3 | ||||
-rw-r--r-- | games/diaspora/files/fs2_open_diaspora_launcher.in | 5 | ||||
-rw-r--r-- | games/diaspora/pkg-descr | 5 |
7 files changed, 248 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile index 6ecca7f6f962..2badfeedbae6 100644 --- a/games/Makefile +++ b/games/Makefile @@ -187,6 +187,7 @@ SUBDIR += dcross SUBDIR += defendguin SUBDIR += diameter + SUBDIR += diaspora SUBDIR += digger-vgl SUBDIR += dmjava SUBDIR += dodgindiamond2 diff --git a/games/diaspora/Makefile b/games/diaspora/Makefile new file mode 100644 index 000000000000..df235a815fa2 --- /dev/null +++ b/games/diaspora/Makefile @@ -0,0 +1,131 @@ +# Created by: lightside <lightside@gmx.com> +# $FreeBSD$ + +PORTNAME= diaspora +PORTVERSION= 1.1.1 +CATEGORIES= games +MASTER_SITES= http://diaspora.fs2downloads.com/ \ + http://www.freespacemods.net/e107_files/downloads/:freespacemods \ + http://copy.com/8wo3AQnYu0bj/:copy +DISTFILES= Diaspora_R1_Linux.tar.lzma:freespacemods,DEFAULT \ + Diaspora_R1_Patch_1.1.tar.lzma:copy \ + Diaspora_R1_Patch_1.1.1.tar.lzma + +MAINTAINER= lightside@gmx.com +COMMENT= Single and multiplayer space fighter combat game + +LICENSE= CCBYNCSAv3 VOLITION GPLv2 +LICENSE_COMB= multi +LICENSE_NAME_CCBYNCSAv3= Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license +LICENSE_NAME_VOLITION= Volition license +LICENSE_FILE_CCBYNCSAv3= ${WRKDIR_DIASPORA}/License.txt +LICENSE_FILE_VOLITION= ${WRKSRC}/COPYING +LICENSE_FILE_GPLv2= ${WRKDIR_DIASPORA}/wxlauncher/GPLv2.txt +LICENSE_PERMS_CCBYNCSAv3= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept +LICENSE_PERMS_VOLITION= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept + +LIB_DEPENDS+= libjansson.so:${PORTSDIR}/devel/jansson \ + libjpeg.so:${PORTSDIR}/graphics/jpeg \ + libpng.so:${PORTSDIR}/graphics/png \ + libogg.so:${PORTSDIR}/audio/libogg \ + libvorbisfile.so:${PORTSDIR}/audio/libvorbis \ + libtheora.so:${PORTSDIR}/multimedia/libtheora + +USES= autoreconf lua:51 openal pkgconfig tar:lzma +USE_GL= yes +USE_SDL= sdl +GNU_CONFIGURE= yes + +WRKDIR_DIASPORA= ${WRKDIR}/Diaspora_R1_Linux/Diaspora +WRKSRC= ${WRKDIR_DIASPORA}/fs2_open + +PORTDATA= data *.vp +PORTDOCS= * +SUB_FILES= fs2_open_${PORTNAME} +PLIST_FILES+= bin/fs2_open_${PORTNAME} \ + libexec/fs2_open_${PORTNAME} \ + share/pixmaps/${PORTNAME}.png + +DESKTOP_ENTRIES= "Diaspora" "${COMMENT}" \ + "${PORTNAME}" "fs2_open_${PORTNAME}" \ + "Game;Simulation;" false + +MANUAL_PACKAGE_BUILD= very large distfile set (~1.8 GB) + +OPTIONS_DEFINE= DOCS INCJOYBTNS SPEECH WXLAUNCHER +OPTIONS_DEFAULT= SPEECH WXLAUNCHER +INCJOYBTNS_DESC= Increase a number of joystick buttons from 32 to 98 +INCJOYBTNS_EXTRA_PATCHES= ${FILESDIR}/extra-patch-increase_joy_buttons_fixed.patch +SPEECH_DESC= Text to speech +SPEECH_CONFIGURE_ENABLE= speech +WXLAUNCHER_DESC= Use wxlauncher to manage application profile +WXLAUNCHER_RUN_DEPENDS= wxlauncher:${PORTSDIR}/games/wxlauncher + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MWXLAUNCHER} +PORTDATA+= resources *.ini *.png *.bmp +SUB_FILES+= fs2_open_${PORTNAME}_launcher +PLIST_FILES+= bin/fs2_open_${PORTNAME}_launcher \ + %%DATADIR%%/fs2_open_${PORTNAME} + +DESKTOP_ENTRIES+= "Diaspora Launcher" "${COMMENT}" \ + "${PORTNAME}" "fs2_open_${PORTNAME}_launcher" \ + "Game;Simulation;" false +.endif + +post-extract: .SILENT +.for v in 1.1 1.1.1 + (cd ${WRKDIR} && tar -xf Patch_Files.${v}.tar -C ${WRKDIR_DIASPORA} && \ + ${RM} Patch_Files.${v}.tar) +.endfor +.if ${PORT_OPTIONS:MWXLAUNCHER} + (cd ${WRKDIR_DIASPORA} && ${CP} -f pro00099.template.ini pro00099.ini) +# Backup data/cmdline_fso.cfg, because executable might merge it with +# user settings + (cd ${WRKDIR_DIASPORA}/data && ${MV} -f cmdline_fso.cfg cmdline_fso.cfg.bak) +.endif + +post-patch: .SILENT +.if ${PORT_OPTIONS:MWXLAUNCHER} + ${REINPLACE_CMD} -e \ + 's|/PATH/TO/YOUR/DIASPORA/FOLDER/HERE|${DATADIR}|' \ + ${WRKDIR_DIASPORA}/pro00099.ini +.endif + ${REINPLACE_CMD} -e '/^AC_INIT/s/3\.7\.1/${PORTNAME}/ ; \ + s/freebsd/${OPSYS:tl}/ ; \ + s/ -m64 -march=athlon64 -ansi// ; \ + s|/usr/local|${LOCALBASE}|' \ + ${CONFIGURE_WRKSRC}/configure.ac + ${REINPLACE_CMD} -e 's|(640x480)x16|(1024x768)x32|' \ + ${BUILD_WRKSRC}/code/osapi/osapi_unix.cpp + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/fs2_open_${PORTNAME} \ + ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/code/fs2_open_${PORTNAME} \ + ${STAGEDIR}${PREFIX}/libexec + (cd ${WRKDIR_DIASPORA} && ${COPYTREE_SHARE} "${PORTDATA}" \ + ${STAGEDIR}${DATADIR}) + (cd ${WRKDIR} && ${COPYTREE_SHARE} "README*.txt" ${STAGEDIR}${DOCSDIR}) + (cd ${WRKDIR_DIASPORA} && ${COPYTREE_SHARE} "*.pdf *.rtf README.txt" \ + ${STAGEDIR}${DOCSDIR}) + (cd ${WRKSRC} && ${COPYTREE_SHARE} "AUTHORS ChangeLog" \ + ${STAGEDIR}${DOCSDIR}) + ${INSTALL_DATA} ${WRKDIR_DIASPORA}/resources/modimg.png \ + ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.png +.if ${PORT_OPTIONS:MWXLAUNCHER} + ${INSTALL_SCRIPT} ${WRKDIR}/fs2_open_${PORTNAME}_launcher \ + ${STAGEDIR}${PREFIX}/bin +# Create a symbolic link, which used by launcher + ${LN} -sf ${PREFIX}/libexec/fs2_open_${PORTNAME} ${STAGEDIR}${DATADIR} +.endif + +add-plist-post: build-plist-empty + +build-plist-empty: .SILENT +# Add required empty directories to TMPPLIST + ${FIND} ${STAGEDIR}${DATADIR}/data -type d -empty | \ + ${SED} -e 's|^${STAGEDIR}|@dir |' >> ${TMPPLIST} + +.include <bsd.port.mk> diff --git a/games/diaspora/distinfo b/games/diaspora/distinfo new file mode 100644 index 000000000000..0d6063e3dec7 --- /dev/null +++ b/games/diaspora/distinfo @@ -0,0 +1,6 @@ +SHA256 (Diaspora_R1_Linux.tar.lzma) = 598910f2382ab2c8b10aa02cc6fb00c55ed4cd5a1a64d580deb1a0d4e521cf17 +SIZE (Diaspora_R1_Linux.tar.lzma) = 1342425409 +SHA256 (Diaspora_R1_Patch_1.1.tar.lzma) = 759491c5614a4b814ff9199aaa59bd43d034c0ddf25070e94b2019571e127ba4 +SIZE (Diaspora_R1_Patch_1.1.tar.lzma) = 487141904 +SHA256 (Diaspora_R1_Patch_1.1.1.tar.lzma) = 1569d6990b110cbee240b76727b1a015188cd34c53ecdfea7e84d9de151ce7b4 +SIZE (Diaspora_R1_Patch_1.1.1.tar.lzma) = 8191400 diff --git a/games/diaspora/files/extra-patch-increase_joy_buttons_fixed.patch b/games/diaspora/files/extra-patch-increase_joy_buttons_fixed.patch new file mode 100644 index 000000000000..3d07285ca41d --- /dev/null +++ b/games/diaspora/files/extra-patch-increase_joy_buttons_fixed.patch @@ -0,0 +1,97 @@ +# Origin: http://scp.indiegames.us/mantis/view.php?id=2651 +Index: code/controlconfig/controlsconfigcommon.cpp +=================================================================== +--- code/controlconfig/controlsconfigcommon.cpp (revision 8781) ++++ code/controlconfig/controlsconfigcommon.cpp (working copy) +@@ -233,12 +233,23 @@ + }; + + char *Joy_button_text_german[] = { +- "Knopf 1", "Knopf 2", "Knopf 3", "Knopf 4", "Knopf 5", "Knopf 6", +- "Knopf 7", "Knopf 8", "Knopf 9", "Knopf 10", "Knopf 11", "Knopf 12", +- "Knopf 13", "Knopf 14", "Knopf 15", "Knopf 16", "Knopf 17", "Knopf 18", +- "Knopf 19", "Knopf 20", "Knopf 21", "Knopf 22", "Knopf 23", "Knopf 24", +- "Knopf 25", "Knopf 26", "Knopf 27", "Knopf 28", "Knopf 29", "Knopf 30", +- "Knopf 31", "Knopf 32", "Hut Hinten", "Hut Vorne", "Hut Links", "Hut Rechts" ++ "Knopf 1", "Knopf 2", "Knopf 3", "Knopf 4", "Knopf 5", "Knopf 6", ++ "Knopf 7", "Knopf 8", "Knopf 9", "Knopf 10", "Knopf 11", "Knopf 12", ++ "Knopf 13", "Knopf 14", "Knopf 15", "Knopf 16", "Knopf 17", "Knopf 18", ++ "Knopf 19", "Knopf 20", "Knopf 21", "Knopf 22", "Knopf 23", "Knopf 24", ++ "Knopf 25", "Knopf 26", "Knopf 27", "Knopf 28", "Knopf 29", "Knopf 30", ++ "Knopf 31", "Knopf 32", "Knopf 33", "Knopf 34", "Knopf 35", "Knopf 36", ++ "Knopf 37", "Knopf 38", "Knopf 39", "Knopf 40", "Knopf 41", "Knopf 42", ++ "Knopf 43", "Knopf 44", "Knopf 45", "Knopf 46", "Knopf 47", "Knopf 48", ++ "Knopf 49", "Knopf 50", "Knopf 51", "Knopf 52", "Knopf 53", "Knopf 54", ++ "Knopf 55", "Knopf 56", "Knopf 57", "Knopf 58", "Knopf 59", "Knopf 60", ++ "Knopf 61", "Knopf 62", "Knopf 63", "Knopf 64", "Knopf 65", "Knopf 66", ++ "Knopf 67", "Knopf 68", "Knopf 69", "Knopf 70", "Knopf 71", "Knopf 72", ++ "Knopf 73", "Knopf 74", "Knopf 75", "Knopf 76", "Knopf 77", "Knopf 78", ++ "Knopf 79", "Knopf 80", "Knopf 81", "Knopf 82", "Knopf 83", "Knopf 84", ++ "Knopf 85", "Knopf 86", "Knopf 87", "Knopf 88", "Knopf 89", "Knopf 90", ++ "Knopf 91", "Knopf 92", "Knopf 93", "Knopf 94", "Knopf 95", "Knopf 96", ++ "Knopf 97", "Knopf 98", "Hut Hinten", "Hut Vorne", "Hut Links", "Hut Rechts" + }; + + char *Scan_code_text_french[] = { +@@ -285,11 +296,22 @@ + + char *Joy_button_text_french[] = { + "Bouton 1", "Bouton 2", "Bouton 3", "Bouton 4", "Bouton 5", "Bouton 6", +- "Bouton 7", "Bouton 8", "Bouton 9", "Bouton 10", "Bouton 11", "Bouton 12", +- "Bouton 13", "Bouton 14", "Bouton 15", "Bouton 16", "Bouton 17", "Bouton 18", +- "Bouton 19", "Bouton 20", "Bouton 21", "Bouton 22", "Bouton 23", "Bouton 24", +- "Bouton 25", "Bouton 26", "Bouton 27", "Bouton 28", "Bouton 29", "Bouton 30", +- "Bouton 31", "Bouton 32", "Chapeau Arriere", "Chapeau Avant", "Chapeau Gauche", "Chapeau Droite" ++ "Bouton 7", "Bouton 8", "Bouton 9", "Bouton 10", "Bouton 11", "Bouton 12", ++ "Bouton 13", "Bouton 14", "Bouton 15", "Bouton 16", "Bouton 17", "Bouton 18", ++ "Bouton 19", "Bouton 20", "Bouton 21", "Bouton 22", "Bouton 23", "Bouton 24", ++ "Bouton 25", "Bouton 26", "Bouton 27", "Bouton 28", "Bouton 29", "Bouton 30", ++ "Bouton 31", "Bouton 32", "Bouton 33", "Bouton 34", "Bouton 35", "Bouton 36", ++ "Bouton 37", "Bouton 38", "Bouton 39", "Bouton 40", "Bouton 41", "Bouton 42", ++ "Bouton 43", "Bouton 44", "Bouton 45", "Bouton 46", "Bouton 47", "Bouton 48", ++ "Bouton 49", "Bouton 50", "Bouton 51", "Bouton 52", "Bouton 53", "Bouton 54", ++ "Bouton 55", "Bouton 56", "Bouton 57", "Bouton 58", "Bouton 59", "Bouton 60", ++ "Bouton 61", "Bouton 62", "Bouton 63", "Bouton 64", "Bouton 65", "Bouton 66", ++ "Bouton 67", "Bouton 68", "Bouton 69", "Bouton 70", "Bouton 71", "Bouton 72", ++ "Bouton 73", "Bouton 74", "Bouton 75", "Bouton 76", "Bouton 77", "Bouton 78", ++ "Bouton 79", "Bouton 80", "Bouton 81", "Bouton 82", "Bouton 83", "Bouton 84", ++ "Bouton 85", "Bouton 86", "Bouton 87", "Bouton 88", "Bouton 89", "Bouton 90", ++ "Bouton 91", "Bouton 92", "Bouton 93", "Bouton 94", "Bouton 95", "Bouton 96", ++ "Bouton 97", "Bouton 98", "Chapeau Arriere", "Chapeau Avant", "Chapeau Gauche", "Chapeau Droite" + }; + + // This is the text that is displayed on the screen for the keys a player selects +@@ -341,7 +363,18 @@ + "Button 13", "Button 14", "Button 15", "Button 16", "Button 17", "Button 18", + "Button 19", "Button 20", "Button 21", "Button 22", "Button 23", "Button 24", + "Button 25", "Button 26", "Button 27", "Button 28", "Button 29", "Button 30", +- "Button 31", "Button 32", "Hat Back", "Hat Forward", "Hat Left", "Hat Right" ++ "Button 31", "Button 32", "Button 33", "Button 34", "Button 35", "Button 36", ++ "Button 37", "Button 38", "Button 39", "Button 40", "Button 41", "Button 42", ++ "Button 43", "Button 44", "Button 45", "Button 46", "Button 47", "Button 48", ++ "Button 49", "Button 50", "Button 51", "Button 52", "Button 53", "Button 54", ++ "Button 55", "Button 56", "Button 57", "Button 58", "Button 59", "Button 60", ++ "Button 61", "Button 62", "Button 63", "Button 64", "Button 65", "Button 66", ++ "Button 67", "Button 68", "Button 69", "Button 70", "Button 71", "Button 72", ++ "Button 73", "Button 74", "Button 75", "Button 76", "Button 77", "Button 78", ++ "Button 79", "Button 80", "Button 81", "Button 82", "Button 83", "Button 84", ++ "Button 85", "Button 86", "Button 87", "Button 88", "Button 89", "Button 90", ++ "Button 91", "Button 92", "Button 93", "Button 94", "Button 95", "Button 96", ++ "Button 97", "Button 98", "Hat Back", "Hat Forward", "Hat Left", "Hat Right" + }; + + char **Scan_code_text = Scan_code_text_english; + +Index: code/io/joy.h +=================================================================== +--- code/io/joy.h (revision 8781) ++++ code/io/joy.h (working copy) +@@ -12,7 +12,7 @@ + #ifndef __JOY_H__ + #define __JOY_H__ + +-#define JOY_NUM_BUTTONS 32 ++#define JOY_NUM_BUTTONS 98 + #define JOY_NUM_HAT_POS 4 + #define JOY_TOTAL_BUTTONS (JOY_NUM_BUTTONS + JOY_NUM_HAT_POS) + #define JOY_NUM_AXES 6 diff --git a/games/diaspora/files/fs2_open_diaspora.in b/games/diaspora/files/fs2_open_diaspora.in new file mode 100644 index 000000000000..dd4ea7a6924b --- /dev/null +++ b/games/diaspora/files/fs2_open_diaspora.in @@ -0,0 +1,3 @@ +#!/bin/sh + +cd %%DATADIR%% && exec %%PREFIX%%/libexec/fs2_open_diaspora "$@" diff --git a/games/diaspora/files/fs2_open_diaspora_launcher.in b/games/diaspora/files/fs2_open_diaspora_launcher.in new file mode 100644 index 000000000000..f67a1de80c42 --- /dev/null +++ b/games/diaspora/files/fs2_open_diaspora_launcher.in @@ -0,0 +1,5 @@ +#!/bin/sh + +wxlauncher --add-profile --file="%%DATADIR%%/pro00099.ini" --profile=Diaspora +wxlauncher --select-profile --profile=Diaspora +wxlauncher diff --git a/games/diaspora/pkg-descr b/games/diaspora/pkg-descr new file mode 100644 index 000000000000..626a9197ea70 --- /dev/null +++ b/games/diaspora/pkg-descr @@ -0,0 +1,5 @@ +Diaspora: Shattered Armistice is a single and multiplayer space fighter +combat game set in the reimagined Battlestar Galactica universe. It is +based on FreeSpace 2 Open Source Code Project engine. + +WWW: http://www.diasporagame.com |