diff --git a/games-action/armagetronad/additional-files/armagetronad.rdef.in b/games-action/armagetronad/additional-files/armagetronad.rdef.in new file mode 100644 index 000000000..863378021 --- /dev/null +++ b/games-action/armagetronad/additional-files/armagetronad.rdef.in @@ -0,0 +1,44 @@ +resource app_flags B_SINGLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "Armagetron Advanced", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon array { + $"6E6369660D04015D05010200060338CAA83CC8EEBCD0B138D2714AF7774611A8" + $"00FFAA00BCEAF1FFFDFFAA00020102023F10000000000000003F10004A10004A" + $"000000187F00FFFF177F0000020002023AE4740000000000003CAA994680004A" + $"100000FF000000FFFF0000FF0200060237AB3CB9432B3C52FC3A9D1F4990F748" + $"753500A40404FFFF0000037E540203B980120105AAFFC6014B4D4DC602011202" + $"3E20000000000000003E2000498000496000000163FF0100020002033E200000" + $"00000000003E700049800047C00000036FA70081046496FFFF00A7FF00020002" + $"033DBEC1350D66B5417E3DFEAC499AAB4420FA00036FA700830698E4FFFF00A7" + $"FF00150802263C3F220802214D4D210802405B5D3808022F5F5F250802225C58" + $"200802535F254108025F3C2F21080223245E4A0802202F5F580A04204E20453A" + $"2B3A340A043A2C423142393A340608EEEF45354C35C351BB055337563C584158" + $"3D58425645C8CCC1755546554255C1235540523D4C39C619BDF7C35FBC370604" + $"EE523E5542553F554752454F414F454F3D0604EE4638473A4739473C463C4439" + $"443C4437060AEEEE0C45364C38C354BBE0C613BD72533E513F523EC614BFCB4F" + $"424A3FC483C021483D473C46384739C1DABC46444437C13EBC5DC171BBF70802" + $"483B4E3F02044F295B31C192B3D12C2DBB92B46320392B52B3C6C4293C5F564B" + $"4C59CB4DC03A0605EE0255455D44CA24C1C4CC53C0F85F415D3BCC29BE755232" + $"45340A043B3A605160583B410A043B3A3B40205D20540605BA03533B553A5136" + $"C76CBC4EC572BB1E4B345038C559BBE1C6F0BD460F0A000111000A0A0110000A" + $"03090001020304050607081001178200040A05010A000A040109000A01050D0C" + $"0B0E0F12406A11000000000000401895C6C102C3E4A801178322040A02010B02" + $"406A11000000000000401895C6C102C3E4A80A07010E02406A11000000000000" + $"401895C6C102C3E4A80A06020C0D02406A11000000000000401895C6C102C3E4" + $"A80A09010F12406A11000000000000401895C6C102C3E4A801178100040A0B01" + $"12000A0C0113000A01010C023CAAAA0000000000003C93864A055548A8220A01" + $"010D023CAAAA0000000000003C4FA448C00047FA4F0A08011400" +}; diff --git a/games-action/armagetronad/armagetronad-0.2.8.3.4.recipe b/games-action/armagetronad/armagetronad-0.2.8.3.4.recipe deleted file mode 100644 index 0df71b0ff..000000000 --- a/games-action/armagetronad/armagetronad-0.2.8.3.4.recipe +++ /dev/null @@ -1,88 +0,0 @@ -SUMMARY="Fast-paced 3D lightcycle game based on Tron" -DESCRIPTION="Armagetron is a multiplayer game in 3d that attempts to emulate \ -and expand on the lightcycle sequence from the movie Tron. It's an old school \ -arcade game slung into the 21st century. Highlights include a customizable \ -playing arena, HUD, unique graphics, and AI bots. For the more advanced player \ -there are new game modes and a wide variety of physics settings to tweak as \ -well." -HOMEPAGE="http://www.armagetronad.org/" -COPYRIGHT="2007-2016 OSS Armagetronad Team" -LICENSE="GNU GPL v2" -REVISION="4" -SOURCE_URI="https://launchpad.net/armagetronad/0.2.8/$portVersion/+download/armagetronad-$portVersion.src.tar.gz" -CHECKSUM_SHA256="446af57c614ed28b4aa1d5a0d818c9d67a621bf7832b9276c3029c0f5006fedd" -PATCHES="armagetronad-$portVersion.patchset" - -ARCHITECTURES="!x86_gcc2 ?x86_64" -SECONDARY_ARCHITECTURES="?x86" - -GLOBAL_WRITABLE_FILES=" - settings/games/armagetronad/aiplayers.cfg keep-old - settings/games/armagetronad/default.cfg keep-old - settings/games/armagetronad/examples/breakfast_in_hell.cfg keep-old - settings/games/armagetronad/examples/cvs_test/fortress_complete.cfg keep-old - settings/games/armagetronad/examples/cvs_test/fortress_physics.cfg keep-old - settings/games/armagetronad/examples/cvs_test/fortress_politics.cfg keep-old - settings/games/armagetronad/examples/cvs_test/fortress_scoring.cfg keep-old - settings/games/armagetronad/examples/cvs_test/sumo_complete.cfg keep-old - settings/games/armagetronad/examples/death_zone.cfg keep-old - settings/games/armagetronad/examples/fortress_soccer.cfg keep-old - settings/games/armagetronad/examples/single_use_turbo.cfg keep-old - settings/games/armagetronad/examples/teamsumo.cfg keep-old - settings/games/armagetronad/master.srv keep-old - settings/games/armagetronad/rc.config keep-old - settings/games/armagetronad/settings.cfg keep-old - settings/games/armagetronad/settings_authentication.cfg keep-old - settings/games/armagetronad/settings_dedicated.cfg keep-old - settings/games/armagetronad/settings_visual.cfg keep-old - settings/games/armagetronad/subcultures.srv keep-old - " - -PROVIDES=" - armagetronad$secondaryArchSuffix = $portVersion - cmd:armagetronad$secondaryArchSuffix - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libGL$secondaryArchSuffix - lib:libGLU$secondaryArchSuffix - lib:libjpeg$secondaryArchSuffix - lib:libpng16$secondaryArchSuffix - lib:libSDL_1.2$secondaryArchSuffix - lib:libSDL_image_1.2$secondaryArchSuffix - lib:libxml2$secondaryArchSuffix - lib:libz$secondaryArchSuffix - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libGL$secondaryArchSuffix - devel:libGLU$secondaryArchSuffix - devel:libjpeg$secondaryArchSuffix - devel:libpng16$secondaryArchSuffix - devel:libSDL$secondaryArchSuffix - devel:libSDL_image$secondaryArchSuffix - devel:libxml2$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:autoreconf - cmd:awk - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:libtoolize$secondaryArchSuffix - cmd:make - cmd:pkg_config$secondaryArchSuffix - " - -BUILD() -{ - autoreconf -vfi - LDFLAGS=-lnetwork runConfigure ./configure --disable-dependency-tracking - make $jobArgs -} - -INSTALL() -{ - make install -} diff --git a/games-action/armagetronad/armagetronad-0.2.8.3.5.recipe b/games-action/armagetronad/armagetronad-0.2.8.3.5.recipe new file mode 100644 index 000000000..a91b0ac50 --- /dev/null +++ b/games-action/armagetronad/armagetronad-0.2.8.3.5.recipe @@ -0,0 +1,115 @@ +SUMMARY="Fast-paced 3D lightcycle game based on Tron" +DESCRIPTION="Armagetron is a multiplayer game in 3d that attempts to emulate \ +and expand on the lightcycle sequence from the movie Tron. It's an old school \ +arcade game slung into the 21st century. Highlights include a customizable \ +playing arena, HUD, unique graphics, and AI bots. For the more advanced player \ +there are new game modes and a wide variety of physics settings to tweak as \ +well." +HOMEPAGE="http://www.armagetronad.org/" +COPYRIGHT="2007-2020 OSS Armagetronad Team" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="https://launchpad.net/armagetronad/0.2.8/$portVersion/+download/armagetronad-$portVersion.src.tar.gz" +CHECKSUM_SHA256="b4c993558c08806c40e3c7095437451ffe9bc3d3f8c0310e58c50a81153446fc" +PATCHES="armagetronad-$portVersion.patchset" +ADDITIONAL_FILES="armagetronad.rdef.in" + +ARCHITECTURES="!x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86" + +GLOBAL_WRITABLE_FILES=" + settings/armagetronad/aiplayers.cfg keep-old + settings/armagetronad/default.cfg keep-old + settings/armagetronad/examples/breakfast_in_hell.cfg keep-old + settings/armagetronad/examples/cvs_test/fortress_complete.cfg keep-old + settings/armagetronad/examples/cvs_test/fortress_physics.cfg keep-old + settings/armagetronad/examples/cvs_test/fortress_politics.cfg keep-old + settings/armagetronad/examples/cvs_test/fortress_scoring.cfg keep-old + settings/armagetronad/examples/cvs_test/sumo_complete.cfg keep-old + settings/armagetronad/examples/death_zone.cfg keep-old + settings/armagetronad/examples/fortress_soccer.cfg keep-old + settings/armagetronad/examples/single_use_turbo.cfg keep-old + settings/armagetronad/examples/teamsumo.cfg keep-old + settings/armagetronad/master.srv keep-old + settings/armagetronad/rc.config keep-old + settings/armagetronad/settings.cfg keep-old + settings/armagetronad/settings_authentication.cfg keep-old + settings/armagetronad/settings_dedicated.cfg keep-old + settings/armagetronad/settings_visual.cfg keep-old + settings/armagetronad/subcultures.srv keep-old + " + +PROVIDES=" + armagetronad$secondaryArchSuffix = $portVersion + app:ArmagetronAdvanced = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libGLU$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libSDL_1.2$secondaryArchSuffix + lib:libSDL_image_1.2$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libGL$secondaryArchSuffix + devel:libGLU$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libSDL$secondaryArchSuffix + devel:libSDL_image$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:autoreconf + cmd:awk + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtoolize$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + autoreconf -vfi + LDFLAGS=-lnetwork ./configure \ + --prefix=$appsDir/Armagetron \ + --bindir=$appsDir/Armagetron \ + --datadir=$appsDir/Armagetron/data \ + --sysconfdir=$settingsDir \ + --localstatedir=$settingsDir \ + --disable-dependency-tracking \ + --disable-games \ + --disable-binreloc \ + --disable-desktop + make $jobArgs +} + +INSTALL() +{ + make install + mv $appsDir/Armagetron/armagetronad "$appsDir/Armagetron/Armagetron Advanced" + + local APP_SIGNATURE="application/x-vnd.armagetronad" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/armagetronad.rdef.in > $sourceDir/armagetronad.rdef + + addResourcesToBinaries $sourceDir/armagetronad.rdef "$appsDir/Armagetron/Armagetron Advanced" + addAppDeskbarSymlink "$appsDir/Armagetron/Armagetron Advanced" +} diff --git a/games-action/armagetronad/patches/armagetronad-0.2.8.3.4.patchset b/games-action/armagetronad/patches/armagetronad-0.2.8.3.4.patchset deleted file mode 100644 index 8b03725d6..000000000 --- a/games-action/armagetronad/patches/armagetronad-0.2.8.3.4.patchset +++ /dev/null @@ -1,22 +0,0 @@ -From f086484b5aba1390f0a71e7349559899856e8cb2 Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Fri, 23 Nov 2018 15:17:26 +0300 -Subject: Add missing include - - -diff --git a/src/network/nSocket.cpp b/src/network/nSocket.cpp -index 29228fb..4434281 100644 ---- a/src/network/nSocket.cpp -+++ b/src/network/nSocket.cpp -@@ -45,7 +45,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - #include - #include - #include -- -+#include - #ifndef WIN32 - #include - #include --- -2.19.1 - diff --git a/games-action/armagetronad/patches/armagetronad-0.2.8.3.5.patchset b/games-action/armagetronad/patches/armagetronad-0.2.8.3.5.patchset new file mode 100644 index 000000000..0c0ace2ef --- /dev/null +++ b/games-action/armagetronad/patches/armagetronad-0.2.8.3.5.patchset @@ -0,0 +1,97 @@ +From 1deebdc4bb229200b5723f56d5f8076e659c7660 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Fri, 23 Nov 2018 15:17:26 +0300 +Subject: Add missing include + + +diff --git a/src/network/nSocket.cpp b/src/network/nSocket.cpp +index 29228fb..4434281 100644 +--- a/src/network/nSocket.cpp ++++ b/src/network/nSocket.cpp +@@ -45,7 +45,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + #include + #include + #include +- ++#include + #ifndef WIN32 + #include + #include +-- +2.26.0 + + +From 930bc4c4bf6983a12e0c181e3918fa7eb2531774 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Tue, 19 May 2020 21:03:46 +1000 +Subject: Fix build + + +diff --git a/src/network/nSocket.cpp b/src/network/nSocket.cpp +index 4434281..d9fc609 100644 +--- a/src/network/nSocket.cpp ++++ b/src/network/nSocket.cpp +@@ -2151,7 +2151,7 @@ int nSocket::Write( const int8 * buf, int len, const nAddress & addr ) const + //! + // ******************************************************************************************* + +-int nSocket::Broadcast( const char * buf, int len, unsigned int port ) const ++int nSocket::Broadcast( const int8 * buf, int len, unsigned int port ) const + { + tASSERT( IsOpen() ); + +diff --git a/src/network/nSocket.h b/src/network/nSocket.h +index 5d3dbb4..0c6b3f5 100644 +--- a/src/network/nSocket.h ++++ b/src/network/nSocket.h +@@ -52,7 +52,11 @@ struct sockaddr; + #include + #endif + ++#ifdef __HAIKU__ ++#include ++#else + typedef char int8; ++#endif + + //! union of supported internet addresses + union nAddressBase +@@ -152,7 +156,7 @@ class PermanentError: public tException + + int Read ( int8 *buf, int len, nAddress & addr ) const; //!< reads data from the socket + int Write ( const int8 *buf, int len, const nAddress & addr ) const; //!< writes data to the socket +- int Broadcast ( const char *buf, int len, unsigned int port ) const; //!< broadcasts data over the socket to the LAN ++ int Broadcast ( const int8 *buf, int len, unsigned int port ) const; //!< broadcasts data over the socket to the LAN + + nAddress const & GetAddress( void ) const ; //!< Gets the address the socket is bound to + nSocket const & GetAddress( nAddress & address ) const ; //!< Gets the address the socket is bound to +-- +2.26.0 + + +From cce0ad65016865cf4be3adf938f3379191e0fda8 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Wed, 20 May 2020 08:44:37 +1000 +Subject: Fix argv[0] for launch from symlink + + +diff --git a/src/tron/gArmagetron.cpp b/src/tron/gArmagetron.cpp +index e0b5c4d..6236d84 100644 +--- a/src/tron/gArmagetron.cpp ++++ b/src/tron/gArmagetron.cpp +@@ -492,7 +492,11 @@ void sg_PutEnv( char const * s ) + int main(int argc,char **argv){ + //std::cout << "enter\n"; + // net_test(); +- ++#ifdef __HAIKU__ ++ char *binpath = realpath(argv[0], NULL); ++ if (binpath != NULL) ++ argv[0] = binpath; ++#endif + bool dedicatedServer = false; + + // std::cout << "Running " << argv[0] << "...\n"; +-- +2.26.0 +