diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-02-15 00:13:03 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-02-15 00:13:03 +0000 |
commit | 770d63f36dbe1722e0ff9ab55eeca49986f01527 (patch) | |
tree | be9aae0ef5001e4669f914ac9ad9b4eaa4db8500 /games-server/crossfire-server | |
parent | 4fda045f90a4e301329bddb766e2e12a0b4401de (diff) |
Diffstat (limited to 'games-server/crossfire-server')
-rw-r--r-- | games-server/crossfire-server/Manifest | 3 | ||||
-rw-r--r-- | games-server/crossfire-server/crossfire-server-1.75.0-r1.ebuild (renamed from games-server/crossfire-server/crossfire-server-1.75.0.ebuild) | 4 | ||||
-rw-r--r-- | games-server/crossfire-server/files/crossfire-server-1.75.0-incompatible-func-pointers.patch | 175 |
3 files changed, 180 insertions, 2 deletions
diff --git a/games-server/crossfire-server/Manifest b/games-server/crossfire-server/Manifest index 8c4d4bc7feeb..01671c8e028f 100644 --- a/games-server/crossfire-server/Manifest +++ b/games-server/crossfire-server/Manifest @@ -1,10 +1,11 @@ AUX crossfire-server-1.71.0-format.patch 1115 BLAKE2B 7bce8fa52889ec1f1ca636c48995ac5110f5fc62965b0e7a8db01f37df8f6339756b290028425fbbe3e93b559126e8571d619ffe55f119007b3416abe5ae71eb SHA512 3d1cf04cc787177776f8f65afbe585ebe5982687313219a6cc64797bf4a992c1b6077ad2ad75b1f7c3372041c9cb0eaadbebee3fb27a25ff5664a8adb48e986f AUX crossfire-server-1.75.0-format.patch 642 BLAKE2B c5f6c6451ec1828daa6ffed0ea3ebdf7b331eada42c1ae0c4ffc22276edbd6245485be4c3e40a222ecfae75b96d9785c0d37f47f2465ad1749cb11eb63fce706 SHA512 b96e2ee8a5b5c06988159ef1789ac689fcab0fcaafac6165eb09fb1507e6add09ceff05a5603728771068c54af2fe6a797d6ff9edd0a46dafd8720e4030ef585 +AUX crossfire-server-1.75.0-incompatible-func-pointers.patch 5288 BLAKE2B 41977a365d5567043ac971530768c4c1f68ff6169821b35bd39e729a25150aad580f185b85d194d0824bf631eba1ece2e5a565dc621e82c5bea788d378ed89e1 SHA512 7f9b2b4fb0c2823daa1397ff01417404a67d0eb886d5692dac8ecbe1e17f9a03f0c646732ee763dbe6b41a878c4f619b2fad71c439df0466eb7a5e1910a973a7 DIST crossfire-1.71.0.arch.tar.bz2 3462161 BLAKE2B 4f2c7e9619ceca3aafea03a681e59c04e31c954c91b94e4065a6446d537c6f039fe58c04f50fd5eddb8290b9cb93533772c6c7963b526c537bf297f469ad5bb5 SHA512 f9707dc5dab24d0ba74654c6433e016a58ab4e99da5dade6614491eca00736965bb7fd9a24db4188c3409a0479a88bb0ea55282e519ffcbabf23d82e6a5b975e DIST crossfire-1.71.0.maps.tar.bz2 19463076 BLAKE2B a6b1935985d82b53ef1dfd76b91e8d9417f03dceeddbc69154799703597d14d3ffb3dba8cec809345b62e99294ed3adec66cb2c9fae52fface96db8ba75daa7d SHA512 c3940b0a48f1badc14eb81610cfcd4241d140b666b5cb123845dca6ad742a18977ad7ada1d75d738f15f44374896c4dd6047989122257d7cd87362a3af0f97e8 DIST crossfire-1.71.0.tar.bz2 6712638 BLAKE2B 91957fab3f19e52839eadfcb015a2fd8dfc551230fa55dd00254f39608ffbb8648227f3d2a244a609538ee2e426675e6b58dac73cf565554611ccb40d2839873 SHA512 d867f3393cb18ed78158c9a724d386dd642f0193ace86fef592e7bdc80885b7f7ce3c37be34b77d73b31c939d41e533029f2e7dea405c00d7a67aa3baebd146d DIST crossfire-1.75.0.tar.gz 7199792 BLAKE2B cf9c8f40bfa3970ab28b21694fe85dc2a6849976903f1488fd3d3858927af6a0a47d47f382560f13f0d3d39c28f31c5f9dc55ec4e03cc290a13320c0831f795d SHA512 1e730fcccf302ab72850928a4f16a4b779558db57713fc9d8678f41df6c48139a87e8fda621a931a2a5530da924ab7c5e8a31cfe830b825cf369e743051036f4 DIST crossfire-maps-1.75.0.tar.gz 33892228 BLAKE2B 47546d19eeb89ed19949a5ed1be4bc545d2347ee64d04fb803a66d7a7657cf3d98233f2fa32c89f5ba884535a7f6cffe2e7385860351334450ea9689cef3b8a0 SHA512 00b7ac1957d85d5f4ea847eaa59a80dda31b0518ecdfd31984349e5d7ca5ac5d526bbb1c7f64a0e5e0d60ec727bfe8f849bad6ad6d36fe570250c7f20c2b1220 EBUILD crossfire-server-1.71.0-r2.ebuild 1191 BLAKE2B ea0f0a8dfd5552a2a473147fe461ecb595eae41e235fe4a4ee61695a0333f65ce0ed35e68149e223372d341c619f227d0b02c96d4c0e52a7938f554a3a97d6e0 SHA512 c90aade0ca595f9645fc510ccc5b57fb46a1715a5e19f4ba8279695113d8617af620e033f14e4aeba00ccfca6f3b70c07b94208cfc75eecf335237574f4b785c -EBUILD crossfire-server-1.75.0.ebuild 1126 BLAKE2B 7de0b19f284da530a44acd9c5f14da81ca137c9635716bf7f998e5a16500be8501213c5fc1bc451a9147c1cf374b625ff83daa34b6829d5e249134239a6182a2 SHA512 f5680c25b2ec98d20e11d37e7a10bed5096f7d11530d195452b9c4b7855551161b47cebcacdad0368b9ee6bec94e32ce98a8db93e5685d220115ec1186ddd1f1 +EBUILD crossfire-server-1.75.0-r1.ebuild 1191 BLAKE2B 41b325300a0b85204d2ac5e7a2e0e0f67be7d27bd909fbccdbc9474bce563a9aa2afb427a0c123bab66c4fcb236f6d716f094eee93cd72c8a7f2ac6f8515785d SHA512 0fda713b23eb9068f0ee4aedf02a006c12749387b903a7b3daa9a88d5c2bfaa6499768870e032f8fe7b5555b3a5f7d9180ebaa0c3698d85233acba8d61795744 MISC metadata.xml 333 BLAKE2B 53fc5f88b9809cfd1c674619a402f29bd6a70abf38acaefd1437cc9ea5fd2d50e8452bdb27739aafa04f03a8ec9221c15547f79926f6156d1418b2829d7d9ba1 SHA512 a18d6f05ec05d995f6b9c826db60a0635c20e389fc40b350be8c2f99984c54f2c8b48b9ee3fce3efa5183b73276bbced75eeb3eecd15e6210047a46bc09e073c diff --git a/games-server/crossfire-server/crossfire-server-1.75.0.ebuild b/games-server/crossfire-server/crossfire-server-1.75.0-r1.ebuild index 17c9af84474b..57b8bdecb757 100644 --- a/games-server/crossfire-server/crossfire-server-1.75.0.ebuild +++ b/games-server/crossfire-server/crossfire-server-1.75.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -26,6 +26,8 @@ RDEPEND=" ) " +PATCHES=( "${FILESDIR}/${P}-incompatible-func-pointers.patch" ) + src_prepare() { default diff --git a/games-server/crossfire-server/files/crossfire-server-1.75.0-incompatible-func-pointers.patch b/games-server/crossfire-server/files/crossfire-server-1.75.0-incompatible-func-pointers.patch new file mode 100644 index 000000000000..d4a13c415efc --- /dev/null +++ b/games-server/crossfire-server/files/crossfire-server-1.75.0-incompatible-func-pointers.patch @@ -0,0 +1,175 @@ +Struct wanted (void)() function pointers. GCC-15 says no. +We compromised on (void)(const char*) and giving no argument to functions +that take no argument. Hopefully, when someone upstream adds +a function with num_args > 1, it would be a problem of upstream +https://bugs.gentoo.org/949574 +--- a/include/libproto.h ++++ b/include/libproto.h +@@ -64,7 +64,7 @@ + extern int64_t new_exp(const object *ob); + extern int has_ability(const object *ob); + extern void init_experience(void); +-extern void dump_experience(void); ++extern void dump_experience(const char* v); + extern void free_experience(void); + /* friend.c */ + extern void add_friendly_object(object *op); +--- a/include/sproto.h ++++ b/include/sproto.h +@@ -458,7 +458,7 @@ + void quest_set_player_state(player *pl, sstring quest_code, int state); + int quest_was_completed(player *pl, sstring quest_code); + void command_quest(object *op, const char *params); +-void dump_quests(void); ++void dump_quests(const char* v); + void free_quest(void); + void free_quest_definitions(void); + void quest_send_initial_states(player *pl); +--- a/server/init.c ++++ b/server/init.c +@@ -33,7 +33,7 @@ + #include "server.h" + #include "sproto.h" + +-static void help(void); ++static void help(const char* v); + static void init_beforeplay(void); + static void init_startup(void); + static void init_signals(void); +@@ -46,73 +46,73 @@ + * Command line option: set logfile name. + * @param val new name. + */ +-static void set_logfile(char *val) { ++static void set_logfile(const char *val) { + settings.logfilename = val; + } + + /** Command line option: show version. */ +-static void call_version(void) { ++static void call_version(const char* v) { + puts(FULL_VERSION); + exit(EXIT_SUCCESS); + } + + /** Command line option: debug flag. */ +-static void set_debug(void) { ++static void set_debug(const char* v) { + settings.debug = llevDebug; + } + + /** Command line option: unset debug flag. */ +-static void unset_debug(void) { ++static void unset_debug(const char* v) { + settings.debug = llevInfo; + } + + /** Command line option: monster debug flag. */ +-static void set_mondebug(void) { ++static void set_mondebug(const char* v) { + settings.debug = llevMonster; + } + + /** Command line option: dump monsters. */ +-static void set_dumpmon1(void) { ++static void set_dumpmon1(const char* v) { + settings.dumpvalues = 1; + } + + /** Command line option: dump abilities. */ +-static void set_dumpmon2(void) { ++static void set_dumpmon2(const char* v) { + settings.dumpvalues = 2; + } + + /** Command line option: dump artifacts. */ +-static void set_dumpmon3(void) { ++static void set_dumpmon3(const char* v) { + settings.dumpvalues = 3; + } + + /** Command line option: dump spells. */ +-static void set_dumpmon4(void) { ++static void set_dumpmon4(const char* v) { + settings.dumpvalues = 4; + } + + /** Command line option: ? */ +-static void set_dumpmon5(void) { ++static void set_dumpmon5(const char* v) { + settings.dumpvalues = 5; + } + + /** Command line option: dump races. */ +-static void set_dumpmon6(void) { ++static void set_dumpmon6(const char* v) { + settings.dumpvalues = 6; + } + + /** Command line option: dump alchemy. */ +-static void set_dumpmon7(void) { ++static void set_dumpmon7(const char* v) { + settings.dumpvalues = 7; + } + + /** Command line option: dump gods. */ +-static void set_dumpmon8(void) { ++static void set_dumpmon8(const char* v) { + settings.dumpvalues = 8; + } + + /** Command line option: dump alchemy costs. */ +-static void set_dumpmon9(void) { ++static void set_dumpmon9(const char* v) { + settings.dumpvalues = 9; + } + +@@ -246,7 +246,7 @@ + /** + * Dump all animations, then exit. + */ +-static void server_dump_animations(void) { ++static void server_dump_animations(const char* v) { + dump_animations(); + cleanup(); + } +@@ -267,7 +267,7 @@ + const char *cmd_option; /**< How it is called on the command line. */ + uint8_t num_args; /**< Number or args it takes. */ + uint8_t pass; /**< What pass this should be processed on. @todo describe passes :) */ +- void (*func)(); /**< function to call when we match this. ++ void (*func)(const char* v); /**< function to call when we match this. + * if num_args is true, than that gets passed + * to the function, otherwise nothing is passed + */ +@@ -1056,7 +1056,7 @@ + /** + * Display the command line options and exits. + */ +-static void help(void) { ++static void help(const char* v) { + printf("Usage: crossfire-server [options]\n\n"); + + printf("Options:\n"); +--- a/common/exp.c ++++ b/common/exp.c +@@ -247,7 +247,7 @@ + * Dump the experience table, then calls exit() - useful in terms of debugging to make sure the + * format of the exp_table is correct. + */ +-void dump_experience(void) { ++void dump_experience(const char* v) { + int i; + + for (i = 1; i <= settings.max_level; i++) { +--- a/server/quest.c ++++ b/server/quest.c +@@ -1303,7 +1303,7 @@ + * Dump all of the quests, then calls exit() - useful in terms of debugging to make sure that + * quests are set up and recognised correctly. + */ +-void dump_quests(void) { ++void dump_quests(const char* v) { + quest_load_definitions(); + output_quests(NULL, 0); + exit(0); |