From 04ac238703da84168e02b06fb131d1d17d85be23 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 29 Sep 2024 01:25:46 +0100 Subject: gentoo auto-resync : 29:09:2024 - 01:25:46 --- games-strategy/Manifest.gz | Bin 7583 -> 7581 bytes games-strategy/ufoai/Manifest | 6 +- .../ufoai/files/ufoai-2.5.0_p20180603-flags.patch | 54 ++++++ .../ufoai/files/ufoai-2.5.0_p20180603-mxml3.patch | 29 --- .../ufoai/files/ufoai-2.5.0_p20180603-mxml4.patch | 210 +++++++++++++++++++++ .../files/ufoai-2.5.0_p20180603-no-register.patch | 84 +++++++++ .../ufoai/ufoai-2.5.0_p20180603-r2.ebuild | 136 ------------- .../ufoai/ufoai-2.5.0_p20180603-r3.ebuild | 138 ++++++++++++++ 8 files changed, 490 insertions(+), 167 deletions(-) create mode 100644 games-strategy/ufoai/files/ufoai-2.5.0_p20180603-flags.patch delete mode 100644 games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml3.patch create mode 100644 games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml4.patch create mode 100644 games-strategy/ufoai/files/ufoai-2.5.0_p20180603-no-register.patch delete mode 100644 games-strategy/ufoai/ufoai-2.5.0_p20180603-r2.ebuild create mode 100644 games-strategy/ufoai/ufoai-2.5.0_p20180603-r3.ebuild (limited to 'games-strategy') diff --git a/games-strategy/Manifest.gz b/games-strategy/Manifest.gz index fdaf2aae8b4d..ece943545817 100644 Binary files a/games-strategy/Manifest.gz and b/games-strategy/Manifest.gz differ diff --git a/games-strategy/ufoai/Manifest b/games-strategy/ufoai/Manifest index 57a26ab6fc87..834815c18456 100644 --- a/games-strategy/ufoai/Manifest +++ b/games-strategy/ufoai/Manifest @@ -1,6 +1,8 @@ +AUX ufoai-2.5.0_p20180603-flags.patch 2614 BLAKE2B ce0fd84e22ec24e45f6699e98c674a34110d11ba3be99132aa02e27d18df519ee4a017e99aaaab5ef04061f5f93ae712c5f0f224499922675068166f3781a450 SHA512 96b59901e15e1cbd8566a604d33fd555166e0b4f43d898928153b6008c15b878f93dc0d8504f3a354f2dcfb0d8639e55c3c2ea6985a55d968674bc94428dee41 AUX ufoai-2.5.0_p20180603-install.patch 1097 BLAKE2B b2c1f2761429dafd2ffad037e5adf981e5062eb75bffaac51c127fe056e00da59238d91a0b1916d6325ea7e643a87e0945ac3ef20d8f2b958cc88904d96ed9c3 SHA512 b8a61ca5be370bc7fec5d97317e950b2654e6ffe4ffef4473b64f1a37af5dfbfa9152ef4e5bb11e2217bdadae04e7499ef19b67bfdfb32c5ab4a200ac5798ffc -AUX ufoai-2.5.0_p20180603-mxml3.patch 913 BLAKE2B e9d731a506bfd04d1e6fcf323c9acfcf3c895cf26dc8de308dcbc2ea62b67c643f1dcf58f8ff6087919887d0c8107ffac513c49bcd72a811238dea60edaf7dc6 SHA512 4197a7d444d1180362535f69a03bac3ab28473b1349b3c1d5daf2b360d0a7c5c00b07b6996274d08d3a52f9322f709478bd2c077c786e9501b596a6471eec74d +AUX ufoai-2.5.0_p20180603-mxml4.patch 8025 BLAKE2B b486ea96ab1fcaaecb537e510341082e0f07b2f6023de542c72f96ef2322a844114b4b5042eb079d36bfbc2d8c7d1a8152c5c495cd893b9f6d9060dfcb8887bf SHA512 ef4de130d40e5074f0485465ad6c84248454a1ce3278f6db2931d080fe73f379a6daae0ba3d8907e8db009a1b1d3c8a99285ba055b978823a9d9e1ea1e07c247 +AUX ufoai-2.5.0_p20180603-no-register.patch 2444 BLAKE2B 615debe08a2fbf23c832ee9e4c921bdf5d7e258d6a2e6c7e9fe261d4423d454e00329badd3957e3a77e349dadb06a1466a14679bdc91d41e1133214362812b70 SHA512 cf02373f06df4ffdfdb391342634970254566d7cc41a7f9411c211b66c932ce82c5aa1010870651ce684b036ca44ac9eb4199d92cf625e41e30caa1e8054d0a0 DIST ufoai-2.5-data.tar 1277143040 BLAKE2B 20795ec6ebc976087f28fd0e912190bd9094494cc1b206bcc8e1956dec148cb7ab96f244db22e4836b91c0ecfae794cd206296e898015453d8ad6625d4e4ab32 SHA512 9a7be359c82cd633db657c8619cb488b5d41b9f93cd10bdeffd5896d8a1ba3bb828b5969acd14c2a69abb3f53f18113af4ca19435aea80ded94d8df68b11deec DIST ufoai-code-8b4533e85fdc0665889ff285e1521432084ee784.zip 33194032 BLAKE2B caebfe5ca0eaa6376659d4aa69132c29aa4af870135a769af3541bd919164d79ab9dfe8007a40bb95507a443f6f1d968bb85b1befe8b6999f9033a0d74d7a7fb SHA512 825ca6f8ac76a3a60746ac1be4406445dd18bab80372c21c2ddfcf4d999db8549614df41386e94197013bb7b4b342ac6d9be8c969b5e1be79e8ee25cf45719c6 -EBUILD ufoai-2.5.0_p20180603-r2.ebuild 3024 BLAKE2B 692d5d17e9fd1fefaa1299f098f7af0cd3cfe749c692d6bd6937ac4e88860bd41474793ff3813af8103ba1f6fba9cffe3b34a580c78c3822e48d5ab820d2c92a SHA512 0fd94c8e80cc4176b95f5f6edfdaebd27f3c0fe72f0c3b6f64ad70cd0c5db2afe57c637834d9f7f0f27ef9a2778a80d758be63304e0248147a788c398a74c1f6 +EBUILD ufoai-2.5.0_p20180603-r3.ebuild 3128 BLAKE2B d101e9a3c2d5747f4d699fd23c4a303a4ad07f906c650a27cf4cbd8662c22c79c0cacf740264ba9248e25e55010333b254372934d16c6f895130391c88e66948 SHA512 bd2f22abd1156b518e48d7b9ac1039f11ec60ebaaa43426fb9eddeed52ca67e224042b0d73d40dbb5eb5611b9747ae40cd83dfa5cbfcb3d481650366b0e8cd9e MISC metadata.xml 472 BLAKE2B 4bdf68fa50e31f6df39abec4af2ff8ebb862870ef203c0403ed6b920ab63a40434e8fa66f6fe7335b82e3c509d56ded7f97dca146d44b7c91ab0f0523ab38101 SHA512 2a91f143f6c488bfd81bd0fe5e670f21b9f678b49a06b3ab701e4dadb6455f057c7c66bd3e9b6938572ccc20712ba17c371743b7b3ab65d23434f182cf362dda diff --git a/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-flags.patch b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-flags.patch new file mode 100644 index 000000000000..3d28a5a997c9 --- /dev/null +++ b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-flags.patch @@ -0,0 +1,54 @@ +From a824da365964aa57dc7f735d1887be4a3c6c5b71 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Sat, 28 Sep 2024 19:24:35 +0100 +Subject: [PATCH] Clang doesn't support these flags + +--- + build/modes/debug.mk | 2 +- + build/modes/release.mk | 13 ++++++------- + 2 files changed, 7 insertions(+), 8 deletions(-) + +diff --git a/build/modes/debug.mk b/build/modes/debug.mk +index 4b857dc576..1ded5e7ec7 100644 +--- a/build/modes/debug.mk ++++ b/build/modes/debug.mk +@@ -6,7 +6,7 @@ endif + + ifeq ($(SSE),1) # Not all -O options are working with sse + ifneq ($(filter -O2 -O3 -O4 -Ofast,$(CFLAGS)),) +- CFLAGS += -O1 -fthread-jumps -falign-functions -falign-jumps -falign-loops -falign-labels -fcaller-saves -fcrossjumping -fcse-skip-blocks -fdelete-null-pointer-checks -fexpensive-optimizations -fgcse-lm -foptimize-sibling-calls -fpeephole2 -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec -fschedule-insns2 -fstrict-overflow -ftree-pre -ftree-vrp ++ CFLAGS += -O1 -falign-functions -fdelete-null-pointer-checks -foptimize-sibling-calls -fsched-interblock -fschedule-insns2 -fstrict-overflow + endif + ifneq ($(filter -O3 -O4 -Ofast,$(CFLAGS)),) + CFLAGS += -finline-functions -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fno-strict-aliasing +diff --git a/build/modes/release.mk b/build/modes/release.mk +index 81dc21e24e..e166d8e902 100644 +--- a/build/modes/release.mk ++++ b/build/modes/release.mk +@@ -9,17 +9,16 @@ ifeq ($(TARGET_ARCH),i386) + endif + + ifeq ($(TARGET_ARCH),x86_64) +- CFLAGS += -fexpensive-optimizations -fno-strict-aliasing ++ CFLAGS += -fno-strict-aliasing + endif + + ifeq ($(SSE),1) # Not all -O options are working with sse + ifneq ($(filter -O2 -O3 -O4 -Ofast,$(CFLAGS)),) +- CFLAGS += -O1 -fthread-jumps -falign-functions -falign-jumps -falign-loops +- CFLAGS += -falign-labels -fcaller-saves -fcrossjumping -fcse-skip-blocks +- CFLAGS += -fdelete-null-pointer-checks -fexpensive-optimizations -fgcse-lm +- CFLAGS += -foptimize-sibling-calls -fpeephole2 -fregmove -freorder-blocks +- CFLAGS += -freorder-functions -frerun-cse-after-loop -fsched-interblock +- CFLAGS += -fsched-spec -fschedule-insns2 -fstrict-overflow -ftree-pre -ftree-vrp ++ CFLAGS += -O1 -falign-functions ++ CFLAGS += -fdelete-null-pointer-checks ++ CFLAGS += -foptimize-sibling-calls ++ CFLAGS += -fsched-interblock ++ CFLAGS += -fstrict-overflow + endif + ifneq ($(filter -O3 -O4 -Ofast,$(CFLAGS)),) + CFLAGS += -finline-functions -funswitch-loops -fpredictive-commoning +-- +2.46.0 + diff --git a/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml3.patch b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml3.patch deleted file mode 100644 index 256b43e94b2c..000000000000 --- a/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml3.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 163073ab9527cdaa33d77a713b8e46ff462a2b5c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tam=C3=A1s=20Feh=C3=A9rv=C3=A1ri?= - -Date: Sat, 3 Aug 2019 15:21:05 +0200 -Subject: [PATCH] * {{Bug|5739}} MiniXML (mxml) 3.x compatibility - ---- - src/common/xml.cpp | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/common/xml.cpp b/src/common/xml.cpp -index 7aeceb3a29..5a66ccc887 100644 ---- a/src/common/xml.cpp -+++ b/src/common/xml.cpp -@@ -509,8 +509,13 @@ static mxml_type_t mxml_ufo_type_cb (xmlNode_t* node) - /* You can lookup attributes and/or use the - * element name, hierarchy, etc... */ - const char* type = mxmlElementGetAttr(node, "type"); -- if (type == nullptr) -+ if (type == nullptr) { -+#ifdef MXML_MAJOR_VERSION -+ type = mxmlGetElement(node); -+#else - type = node->value.element.name; -+#endif -+ } - - if (Q_streq(type, "int")) - return MXML_INTEGER; diff --git a/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml4.patch b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml4.patch new file mode 100644 index 000000000000..c45a3682b776 --- /dev/null +++ b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-mxml4.patch @@ -0,0 +1,210 @@ +diff --git a/build/default.mk b/build/default.mk +index 38ecea4627..f598425394 100644 +--- a/build/default.mk ++++ b/build/default.mk +@@ -232,8 +232,8 @@ VORBIS_CFLAGS ?= $(call PKG_CFLAGS,vorbis) + VORBIS_LIBS ?= $(call PKG_LIBS,vorbis) + OGG_CFLAGS ?= $(call PKG_CFLAGS,ogg) + OGG_LIBS ?= $(call PKG_LIBS,ogg) +-MXML_CFLAGS ?= $(call PKG_CFLAGS,mxml) +-MXML_LIBS ?= $(call PKG_LIBS,mxml) ++MXML_CFLAGS ?= $(call PKG_CFLAGS,mxml4) ++MXML_LIBS ?= $(call PKG_LIBS,mxml4) + PICOMODEL_CFLAGS ?= $(call PKG_CFLAGS,picomodel) + PICOMODEL_LIBS ?= $(call PKG_LIBS,picomodel) + INTL_LIBS ?= +@@ -248,16 +248,16 @@ endif + MUMBLE_LIBS ?= + MUMBLE_SRCS = libs/mumble/libmumblelink.c + MUMBLE_CFLAGS = -Isrc/libs/mumble +-ifndef HAVE_MXML_MXML_H ++ifndef HAVE_MXML4_MXML_H + MXML_SRCS = libs/mxml/mxml-attr.c \ +- libs/mxml/mxml-entity.c \ + libs/mxml/mxml-file.c \ ++ libs/mxml/mxml-get.c \ + libs/mxml/mxml-index.c \ + libs/mxml/mxml-node.c \ ++ libs/mxml/mxml-options.c \ + libs/mxml/mxml-private.c \ + libs/mxml/mxml-search.c \ +- libs/mxml/mxml-set.c \ +- libs/mxml/mxml-string.c ++ libs/mxml/mxml-set.c + MXML_CFLAGS = -Isrc/libs/mxml + MXML_LIBS = + ifeq ($(findstring $(TARGET_OS), mingw32 mingw64),) +diff --git a/configure b/configure +index e1dc2610be..fed7a5247b 100755 +--- a/configure ++++ b/configure +@@ -205,7 +205,7 @@ check_headers() { + check_header "zlib.h" "zlib" + check_header "png.h" "libpng" + check_header "CUnit/Basic.h" +- check_header "mxml.h" "mxml" ++ check_header "mxml.h" "mxml4" + check_header "SDL.h" "sdl" + check_header "SDL_mixer.h" "SDL_mixer" + check_header "SDL_ttf.h" "SDL_ttf" +diff --git a/src/client/cgame/campaign/cp_save.cpp b/src/client/cgame/campaign/cp_save.cpp +index 70b3887e45..2824977891 100644 +--- a/src/client/cgame/campaign/cp_save.cpp ++++ b/src/client/cgame/campaign/cp_save.cpp +@@ -249,11 +249,11 @@ static bool SAV_GameSave (const char* filename, const char* comment, char** erro + { + xmlNode_t* topNode, *node; + char savegame[MAX_OSPATH]; ++ char* buf; + int res; + int requiredBufferLength; + uLongf bufLen; + saveFileHeader_t header; +- char dummy[2]; + int i; + dateLong_t date; + char message[30]; +@@ -308,19 +308,16 @@ static bool SAV_GameSave (const char* filename, const char* comment, char** erro + date.year, Date_GetMonthName(date.month - 1), date.day); + Q_strncpyz(header.realDate, timeStampBuffer, sizeof(header.realDate)); + +- requiredBufferLength = mxmlSaveString(topNode, dummy, 2, MXML_NO_CALLBACK); +- +- header.xmlSize = LittleLong(requiredBufferLength); +- byte* const buf = Mem_PoolAllocTypeN(byte, requiredBufferLength + 1, cp_campaignPool); ++ buf = mxmlSaveAllocString(topNode, nullptr); ++ mxmlDelete(topNode); + if (!buf) { +- mxmlDelete(topNode); + *error = _("Could not allocate enough memory to save this game"); + Com_Printf("Error: Could not allocate enough memory to save this game\n"); + return false; + } +- res = mxmlSaveString(topNode, (char*)buf, requiredBufferLength + 1, MXML_NO_CALLBACK); +- mxmlDelete(topNode); +- Com_Printf("XML Written to buffer (%d Bytes)\n", res); ++ requiredBufferLength = strlen(buf) + 1; ++ header.xmlSize = LittleLong(requiredBufferLength); ++ Com_Printf("XML Written to buffer (%d Bytes)\n", requiredBufferLength); + + if (header.compressed) + bufLen = compressBound(requiredBufferLength); +@@ -331,8 +328,8 @@ static bool SAV_GameSave (const char* filename, const char* comment, char** erro + memcpy(fbuf, &header, sizeof(header)); + + if (header.compressed) { +- res = compress(fbuf + sizeof(header), &bufLen, buf, requiredBufferLength); +- Mem_Free(buf); ++ res = compress(fbuf + sizeof(header), &bufLen, (byte*) buf, requiredBufferLength); ++ free(buf); + + if (res != Z_OK) { + Mem_Free(fbuf); +@@ -342,7 +339,7 @@ static bool SAV_GameSave (const char* filename, const char* comment, char** erro + } + } else { + memcpy(fbuf + sizeof(header), buf, requiredBufferLength); +- Mem_Free(buf); ++ free(buf); + } + + /* last step - write data */ +diff --git a/src/client/cgame/cl_game_team.cpp b/src/client/cgame/cl_game_team.cpp +index 94274e74b4..f37c9ad93e 100644 +--- a/src/client/cgame/cl_game_team.cpp ++++ b/src/client/cgame/cl_game_team.cpp +@@ -223,7 +223,7 @@ static bool GAME_SaveTeam (const char* filename, const char* name) + { + int requiredBufferLength; + teamSaveFileHeader_t header; +- char dummy[2]; ++ char* buf; + int i; + xmlNode_t* topNode, *node, *snode; + equipDef_t* ed = GAME_GetEquipmentDefinition(); +@@ -248,26 +248,22 @@ static bool GAME_SaveTeam (const char* filename, const char* name) + XML_AddIntValue(ssnode, SAVE_TEAM_NUMLOOSE, ed->numItemsLoose[od->idx]); + } + } +- requiredBufferLength = mxmlSaveString(topNode, dummy, 2, MXML_NO_CALLBACK); +- /* required for storing compressed */ +- header.xmlSize = LittleLong(requiredBufferLength); +- +- byte* const buf = Mem_PoolAllocTypeN(byte, requiredBufferLength + 1, cl_genericPool); ++ buf = mxmlSaveAllocString(topNode, nullptr); ++ mxmlDelete(topNode); + if (!buf) { +- mxmlDelete(topNode); + Com_Printf("Error: Could not allocate enough memory to save this game\n"); + return false; + } +- mxmlSaveString(topNode, (char*)buf, requiredBufferLength + 1, MXML_NO_CALLBACK); +- mxmlDelete(topNode); ++ requiredBufferLength = strlen(buf) + 1; ++ header.xmlSize = LittleLong(requiredBufferLength); + +- byte* const fbuf = Mem_PoolAllocTypeN(byte, requiredBufferLength + 1 + sizeof(header), cl_genericPool); ++ byte* const fbuf = Mem_PoolAllocTypeN(byte, requiredBufferLength + sizeof(header), cl_genericPool); + memcpy(fbuf, &header, sizeof(header)); +- memcpy(fbuf + sizeof(header), buf, requiredBufferLength + 1); +- Mem_Free(buf); ++ memcpy(fbuf + sizeof(header), buf, requiredBufferLength); ++ free(buf); + + /* last step - write data */ +- FS_WriteFile(fbuf, requiredBufferLength + 1 + sizeof(header), filename); ++ FS_WriteFile(fbuf, requiredBufferLength + sizeof(header), filename); + Mem_Free(fbuf); + + return true; +diff --git a/src/common/xml.cpp b/src/common/xml.cpp +index 1629c90a6a..176846c421 100644 +--- a/src/common/xml.cpp ++++ b/src/common/xml.cpp +@@ -508,33 +508,37 @@ xmlNode_t* XML_GetNode (xmlNode_t* parent, const char* name) + */ + xmlNode_t* XML_GetNextNode (xmlNode_t* current, xmlNode_t* parent, const char* name) + { +- return mxmlFindElement(current, parent, name, nullptr, nullptr, MXML_NO_DESCEND); ++ return mxmlFindElement(current, parent, name, nullptr, nullptr, MXML_DESCEND_NONE); + } + + /** + * @brief callback function for parsing the node tree + */ +-static mxml_type_t mxml_ufo_type_cb (xmlNode_t* node) ++static mxml_type_t mxml_ufo_type_cb (void *cbdata, xmlNode_t* node) + { + /* You can lookup attributes and/or use the + * element name, hierarchy, etc... */ + const char* type = mxmlElementGetAttr(node, "type"); + if (type == nullptr) +- type = node->value.element.name; ++ type = mxmlGetElement(node); + + if (!strcmp(type, "int")) +- return MXML_INTEGER; ++ return MXML_TYPE_INTEGER; + else if (!strcmp(type, "opaque")) +- return MXML_OPAQUE; ++ return MXML_TYPE_OPAQUE; + else if (!strcmp(type, "string")) +- return MXML_OPAQUE; ++ return MXML_TYPE_OPAQUE; + else if (!strcmp(type, "double")) +- return MXML_REAL; ++ return MXML_TYPE_REAL; + else +- return MXML_TEXT; ++ return MXML_TYPE_TEXT; + } + + xmlNode_t* XML_Parse (const char* buffer) + { +- return mxmlLoadString(nullptr, buffer, mxml_ufo_type_cb); ++ mxml_options_t *options = mxmlOptionsNew(); ++ mxmlOptionsSetTypeCallback(options, &mxml_ufo_type_cb, nullptr); ++ xmlNode_t *ret = mxmlLoadString(nullptr, nullptr, buffer); ++ mxmlOptionsDelete(options); ++ return ret; + } diff --git a/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-no-register.patch b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-no-register.patch new file mode 100644 index 000000000000..66ba5b25eb84 --- /dev/null +++ b/games-strategy/ufoai/files/ufoai-2.5.0_p20180603-no-register.patch @@ -0,0 +1,84 @@ +From 829468a95ae1dca297765143b0a0aa73717e13d6 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot +Date: Sat, 28 Sep 2024 19:53:59 +0100 +Subject: [PATCH] ISO C++17 does not allow 'register' storage class specifier + +--- + src/client/renderer/r_font.cpp | 2 +- + src/common/md5.cpp | 2 +- + src/shared/shared.cpp | 12 ++++++------ + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/client/renderer/r_font.cpp b/src/client/renderer/r_font.cpp +index abbe67e68e..53c69d6ee9 100644 +--- a/src/client/renderer/r_font.cpp ++++ b/src/client/renderer/r_font.cpp +@@ -259,7 +259,7 @@ void R_FontListCache_f (void) + */ + static int R_FontHash (const char* string, const font_t* font) + { +- register int hashValue, i; ++ int hashValue, i; + + hashValue = 0x2040189 * ((font - fonts) + 1); + for (i = 0; string[i] != '\0'; i++) +diff --git a/src/common/md5.cpp b/src/common/md5.cpp +index e04b34b05c..46ba312f0d 100644 +--- a/src/common/md5.cpp ++++ b/src/common/md5.cpp +@@ -78,7 +78,7 @@ static void MD5Init (struct MD5Context *ctx) + */ + static void MD5Transform (uint32_t buf[4], uint32_t const in[16]) + { +- register uint32_t a, b, c, d; ++ uint32_t a, b, c, d; + + a = buf[0]; + b = buf[1]; +diff --git a/src/shared/shared.cpp b/src/shared/shared.cpp +index 07347378c4..0d4e27b556 100644 +--- a/src/shared/shared.cpp ++++ b/src/shared/shared.cpp +@@ -105,8 +105,8 @@ char* Com_ConvertToASCII7 (char* s) + */ + static int Com_FilterAfterStar (const char* pattern, const char* text) + { +- register const char* p = pattern, *t = text; +- register char c, c1; ++ const char* p = pattern, *t = text; ++ char c, c1; + + while ((c = *p++) == '?' || c == '*') + if (c == '?' && *t++ == '\0') +@@ -144,8 +144,8 @@ static int Com_FilterAfterStar (const char* pattern, const char* text) + */ + int Com_Filter (const char* pattern, const char* text) + { +- register const char* p = pattern, *t = text; +- register char c; ++ const char* p = pattern, *t = text; ++ char c; + + while ((c = *p++) != '\0') + switch (c) { +@@ -166,7 +166,7 @@ int Com_Filter (const char* pattern, const char* text) + + case '[': + { +- register char c1 = *t++; ++ char c1 = *t++; + int invert; + + if (!c1) +@@ -178,7 +178,7 @@ int Com_Filter (const char* pattern, const char* text) + + c = *p++; + while (1) { +- register char cstart = c, cend = c; ++ char cstart = c, cend = c; + + if (c == '\\') { + cstart = *p++; +-- +2.46.0 + diff --git a/games-strategy/ufoai/ufoai-2.5.0_p20180603-r2.ebuild b/games-strategy/ufoai/ufoai-2.5.0_p20180603-r2.ebuild deleted file mode 100644 index b87029251055..000000000000 --- a/games-strategy/ufoai/ufoai-2.5.0_p20180603-r2.ebuild +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit desktop flag-o-matic toolchain-funcs xdg - -# 2.5.0 requires several patches -COMMIT="8b4533e85fdc0665889ff285e1521432084ee784" - -# UFO:AI v2.5.0 was uploaded to SourceForge as 2.5 -DIST_VERSION=$(ver_cut 1-2) - -# Install game data here -DATADIR="/usr/share/${PN}" - -DESCRIPTION="UFO: Alien Invasion - X-COM inspired strategy game" -HOMEPAGE="https://ufoai.org/" -SRC_URI=" - https://dev.gentoo.org/~chewi/distfiles/${PN}-code-${COMMIT}.zip - https://downloads.sourceforge.net/${PN}/${PN}-${DIST_VERSION}-data.tar -" -S="${WORKDIR}/${PN}-code-${COMMIT}" - -# https://ufoai.org/licenses/ -LICENSE="GPL-2 GPL-3 public-domain CC-BY-3.0 CC-BY-SA-3.0 MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="+client cpu_flags_x86_sse debug server" -REQUIRED_USE="|| ( client server )" - -RDEPEND=" - dev-libs/mxml:0 - net-misc/curl - sys-libs/zlib - - client? ( - media-libs/libogg - media-libs/libpng:0= - media-libs/libsdl2[joystick,opengl,sound,threads,video] - media-libs/libtheora - media-libs/libvorbis - media-libs/sdl2-mixer - media-libs/sdl2-ttf - media-libs/xvid - virtual/jpeg:0 - virtual/opengl - ) - - server? ( - media-libs/libsdl2[threads] - ) -" - -DEPEND=" - ${RDEPEND} - app-arch/unzip - sys-devel/gettext - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${P}-install.patch - "${FILESDIR}"/${P}-mxml3.patch -) - -src_unpack() { - unpack ${PN}-code-${COMMIT}.zip - cd "${S}" || die - unpack ${PN}-${DIST_VERSION}-data.tar -} - -src_prepare() { - default - - # Make the build system a bit happier, will be fixed upstream - mkdir -p base/{maps,models} contrib/installer/mojosetup/scripts || die - - # Remove bundled mxml - rm -r src/libs/mxml/ || die -} - -src_configure() { - # Avoid noise, will be present in 2.6 - append-cxxflags -Wno-expansion-to-defined - - # The configure script of UFO:AI is hand crafted and a bit special - # econf does not work: "invalid option --build=x86_64-pc-linux-gnu" - local config=( - --prefix="${EPREFIX}"/usr - --datadir="${EPREFIX}${DATADIR}" - --libdir="${EPREFIX}"/usr/$(get_libdir)/${PN} - --localedir="${EPREFIX}"/usr/share/locale - --disable-paranoid - --disable-memory - --disable-testall - --disable-ufomodel - --disable-ufoslicer - $(use_enable cpu_flags_x86_sse sse) - $(use_enable !debug release) - $(use_enable server ufoded) - $(use_enable client ufo) - --disable-uforadiant - --disable-ufo2map - ) - - if use client || use server; then - config+=( --enable-game ) - else - config+=( --disable-game ) - fi - - echo ./configure "${config[@]}" - - CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ - ./configure "${config[@]}" || die "configure failed" -} - -src_compile() { - emake all lang Q= -} - -src_install() { - newicon -s 32 src/ports/linux/ufo.png ${PN}.png - emake install Q= DESTDIR="${D}" - - if use client; then - doman debian/ufo.6 - make_desktop_entry ufo "UFO: Alien Invasion" ${PN} - fi - - if use server; then - doman debian/ufoded.6 - make_desktop_entry ufoded "UFO: Alien Invasion Server" ${PN} "Game;StrategyGame" "Terminal=true" - fi -} diff --git a/games-strategy/ufoai/ufoai-2.5.0_p20180603-r3.ebuild b/games-strategy/ufoai/ufoai-2.5.0_p20180603-r3.ebuild new file mode 100644 index 000000000000..152d3a479973 --- /dev/null +++ b/games-strategy/ufoai/ufoai-2.5.0_p20180603-r3.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop flag-o-matic toolchain-funcs xdg + +# 2.5.0 requires several patches +COMMIT="8b4533e85fdc0665889ff285e1521432084ee784" + +# UFO:AI v2.5.0 was uploaded to SourceForge as 2.5 +DIST_VERSION=$(ver_cut 1-2) + +# Install game data here +DATADIR="/usr/share/${PN}" + +DESCRIPTION="UFO: Alien Invasion - X-COM inspired strategy game" +HOMEPAGE="https://ufoai.org/" +SRC_URI=" + https://dev.gentoo.org/~chewi/distfiles/${PN}-code-${COMMIT}.zip + https://downloads.sourceforge.net/${PN}/${PN}-${DIST_VERSION}-data.tar +" +S="${WORKDIR}/${PN}-code-${COMMIT}" + +# https://ufoai.org/licenses/ +LICENSE="GPL-2 GPL-3 public-domain CC-BY-3.0 CC-BY-SA-3.0 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+client cpu_flags_x86_sse debug server" +REQUIRED_USE="|| ( client server )" + +RDEPEND=" + dev-libs/mxml:4 + net-misc/curl + sys-libs/zlib + + client? ( + media-libs/libglvnd[X] + media-libs/libjpeg-turbo:= + media-libs/libogg + media-libs/libpng:0= + media-libs/libsdl2[joystick,opengl,sound,threads(+),video] + media-libs/libtheora + media-libs/libvorbis + media-libs/sdl2-mixer[vorbis] + media-libs/sdl2-ttf + media-libs/xvid + ) + + server? ( + media-libs/libsdl2[threads(+)] + ) +" + +DEPEND=" + ${RDEPEND} + app-arch/unzip + sys-devel/gettext + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-install.patch + "${FILESDIR}"/${P}-mxml4.patch + "${FILESDIR}"/${P}-flags.patch + "${FILESDIR}"/${P}-no-register.patch +) + +src_unpack() { + unpack ${PN}-code-${COMMIT}.zip + cd "${S}" || die + unpack ${PN}-${DIST_VERSION}-data.tar +} + +src_prepare() { + default + + # Make the build system a bit happier, will be fixed upstream + mkdir -p base/{maps,models} contrib/installer/mojosetup/scripts || die + + # Remove bundled mxml + rm -r src/libs/mxml/ || die +} + +src_configure() { + # Avoid noise, will be present in 2.6 + append-cxxflags -Wno-expansion-to-defined + + # The configure script of UFO:AI is hand crafted and a bit special + # econf does not work: "invalid option --build=x86_64-pc-linux-gnu" + local config=( + --prefix="${EPREFIX}"/usr + --datadir="${EPREFIX}${DATADIR}" + --libdir="${EPREFIX}"/usr/$(get_libdir)/${PN} + --localedir="${EPREFIX}"/usr/share/locale + --disable-paranoid + --disable-memory + --disable-testall + --disable-ufomodel + --disable-ufoslicer + $(use_enable cpu_flags_x86_sse sse) + $(use_enable !debug release) + $(use_enable server ufoded) + $(use_enable client ufo) + --disable-uforadiant + --disable-ufo2map + ) + + if use client || use server; then + config+=( --enable-game ) + else + config+=( --disable-game ) + fi + + echo ./configure "${config[@]}" + + CC="$(tc-getCC)" CXX="$(tc-getCXX)" \ + ./configure "${config[@]}" || die "configure failed" +} + +src_compile() { + emake all lang Q= +} + +src_install() { + newicon -s 32 src/ports/linux/ufo.png ${PN}.png + emake install Q= DESTDIR="${D}" + + if use client; then + doman debian/ufo.6 + make_desktop_entry ufo "UFO: Alien Invasion" ${PN} + fi + + if use server; then + doman debian/ufoded.6 + make_desktop_entry ufoded "UFO: Alien Invasion Server" ${PN} "Game;StrategyGame" "Terminal=true" + fi +} -- cgit v1.2.3