bloodspilot-server: fix on gcc5

This commit is contained in:
Robin Gloster 2016-02-09 00:45:13 +00:00
parent 09a3349a79
commit 2ff1275292
2 changed files with 84 additions and 15 deletions

View File

@ -1,23 +1,27 @@
{stdenv, fetchurl, expat}:
let
buildInputs = [
expat
];
in
{ stdenv, fetchurl, expat }:
stdenv.mkDerivation rec {
version = "1.4.6";
name = "bloodspilot-xpilot-fxi-server-${version}";
inherit buildInputs;
version = "1.4.6";
src = fetchurl {
url = "mirror://sourceforge/project/bloodspilot/server/server%20v${version}/xpilot-${version}fxi.tar.gz";
sha256 = "0d7hnpshifq6gy9a0g6il6h1hgqqjyys36n8w84hr8d4nhg4d1ji";
};
meta = {
inherit version;
description = ''A multiplayer X11 space combat game (server part)'';
homepage = "http://bloodspilot.sf.net/";
license = stdenv.lib.licenses.gpl2Plus ;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
buildInputs = [
expat
];
patches = [
./server-gcc5.patch
];
meta = with stdenv.lib; {
description = "A multiplayer X11 space combat game (server part)";
homepage = http://bloodspilot.sf.net/;
license = licenses.gpl2Plus ;
maintainers = [ maintainers.raskin ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,65 @@
--- xpilot-1.4.6fxi/src/common/net.c 2016-02-09 00:20:43.531714342 +0000
+++ xpilot-1.4.6fxi/src/common/net.c 2016-02-09 00:21:15.301331053 +0000
@@ -608,9 +608,9 @@
}
#if STDVA
-inline int32_t Packet_scanf(sockbuf_t *sbuf, const char *fmt, ...)
+extern int32_t Packet_scanf(sockbuf_t *sbuf, const char *fmt, ...)
#else
-inline int32_t Packet_scanf(va_alist)
+extern int32_t Packet_scanf(va_alist)
va_dcl
#endif
{
--- xpilot-1.4.6fxi/src/server/collision.c 2016-02-09 00:22:29.581784405 +0000
+++ xpilot-1.4.6fxi/src/server/collision.c 2016-02-09 00:22:38.152952500 +0000
@@ -71,7 +71,7 @@
* p: first object, q: second object
*/
-inline int32_t Collision_occured(int32_t p1x, int32_t p1y, int32_t p2x, int32_t p2y,
+extern int32_t Collision_occured(int32_t p1x, int32_t p1y, int32_t p2x, int32_t p2y,
int32_t q1x, int32_t q1y, int32_t q2x, int32_t q2y, int32_t r)
{
int32_t fac1, fac2; /* contraction between the distance between the x and y coordinates of objects */
--- xpilot-1.4.6fxi/src/server/player.c 2016-02-09 00:25:29.546313808 +0000
+++ xpilot-1.4.6fxi/src/server/player.c 2016-02-09 00:25:40.464527932 +0000
@@ -1411,12 +1411,12 @@
return NULL;
}
-inline bool Player_idle_timed_out(player_t *pl)
+extern bool Player_idle_timed_out(player_t *pl)
{
return (frame_loops - pl->frame_last_busy > MAX_PLAYER_IDLE_TICKS && (NumPlayers > 1)) ? true : false;
}
-inline bool Player_is_recovered(player_t *pl)
+extern bool Player_is_recovered(player_t *pl)
{
return (pl->recovery_count <= 0.0) ? true : false;
}
--- xpilot-1.4.6fxi/src/server/score.c 2016-02-09 00:21:45.659923025 +0000
+++ xpilot-1.4.6fxi/src/server/score.c 2016-02-09 00:22:07.224345939 +0000
@@ -24,17 +24,17 @@
char msg[MSG_LEN];
-inline double Get_Score(player_t *pl)
+extern double Get_Score(player_t *pl)
{
return pl->score;
}
-inline void Score_set(player_t * pl, double score)
+extern void Score_set(player_t * pl, double score)
{
pl->score = score;
}
-inline void Score_add(player_t * pl, double score)
+extern void Score_add(player_t * pl, double score)
{
pl->score += score;
}