summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHanno Böck <hanno@gentoo.org>2024-03-10 14:41:17 +0100
committerHanno Böck <hanno@gentoo.org>2024-03-10 14:41:19 +0100
commit467c208fc96e7a3455aa85b97c49148a357c7602 (patch)
tree4ad922c9175934eb2d0868092adc50705a3f62a6
parentwww-apps/phpsysinfo: fix CVE-2023-49006 (diff)
downloadgentoo-467c208fc96e7a3455aa85b97c49148a357c7602.tar.gz
gentoo-467c208fc96e7a3455aa85b97c49148a357c7602.tar.bz2
gentoo-467c208fc96e7a3455aa85b97c49148a357c7602.zip
games-simulation/micropolis: add 1.0_p20220604
Latest upstream git snapshot. Fix errors with modern clang. Disable parallel make. Closes: https://bugs.gentoo.org/794754 Closes: https://bugs.gentoo.org/884345 Signed-off-by: Hanno Böck <hanno@gentoo.org>
-rw-r--r--games-simulation/micropolis/Manifest1
-rw-r--r--games-simulation/micropolis/files/micropolis-fix-clang15.diff104
-rw-r--r--games-simulation/micropolis/micropolis-1.0_p20220604.ebuild57
3 files changed, 162 insertions, 0 deletions
diff --git a/games-simulation/micropolis/Manifest b/games-simulation/micropolis/Manifest
index cc2239cc731b..ce05ccaf3db0 100644
--- a/games-simulation/micropolis/Manifest
+++ b/games-simulation/micropolis/Manifest
@@ -1 +1,2 @@
+DIST micropolis-6f873e16d6a1a8f6f59c1e5a75ec5f52ce5c89b6.tar.bz2 6725237 BLAKE2B 0ab99ecc3e418f6df3e35aacfd99c1077aeab877ab446d788b42c8ebc95a704e37ba3cdf8fa2d1a54ad182da08f18a15dfc6baeacdf5a6216054fe6b5a162b37 SHA512 ae399d530b9ddbf5da76d6b6b2bec9b9156e0941e7106cc5b393f4758891fdce4b6b5e25fbf0ecddc4d02f346a4b03bfe9bf91e60bea7d667c1005df9f53b5db
DIST micropolis-cc31822e4ebe54c0109623ac0c5cdf0e3acad755.tar.bz2 6725746 BLAKE2B a916389a1ccf63e1a13b5b6ea533939fdb14d814480c9e528c8b1bb89cbefbbad9ad067821c1de199f337692e226d35b3219354dc32612486d013cc20f21c5bc SHA512 1b5f644f6d7d7cb78965d0e0edcfcc0bdab7a103dd5dc3ce97a0048da9fa29d8757063d6681febab3d03182433cfe8a7bf1b8145a21e067a4c754af3b5af8e00
diff --git a/games-simulation/micropolis/files/micropolis-fix-clang15.diff b/games-simulation/micropolis/files/micropolis-fix-clang15.diff
new file mode 100644
index 000000000000..20454a844162
--- /dev/null
+++ b/games-simulation/micropolis/files/micropolis-fix-clang15.diff
@@ -0,0 +1,104 @@
+diff --git a/src/tclx/src/tclxgdat.y b/src/tclx/src/tclxgdat.y
+index aea9f3d49ced8818421c6aca538df0f1a08b17b3..2439a2fc8cfd4a90be7f51216ed4bae1b9feb7e2 100644
+--- a/src/tclx/src/tclxgdat.y
++++ b/src/tclx/src/tclxgdat.y
+@@ -46,11 +46,11 @@
+ #if 0
+ static time_t timeconv(int hh, int mm, int ss, int mer);
+ static time_t daylcorr(time_t future, time_t now);
+- static lookup(char *id);
++ static int lookup(char *id);
+ #else
+ static time_t timeconv();
+ static time_t daylcorr();
+- static lookup();
++ static int lookup();
+ #endif
+
+ #define AM 1
+@@ -463,7 +463,7 @@ struct table milzone[] = {
+ {0, 0, 0}};
+
+ static
+-lookup(id) char *id;
++int lookup(id) char *id;
+ {
+ #define gotit (yylval=i->value, i->type)
+ #define getid for(j=idvar, k=id; *j++ = *k++; )
+diff --git a/src/tclx/src/tclxmath.c b/src/tclx/src/tclxmath.c
+index 9f967bf4f2402c7f61f0f2b8f03ef835c7ceb70d..bf5a52a76f3eca59260299096436aebaf8ba2818 100644
+--- a/src/tclx/src/tclxmath.c
++++ b/src/tclx/src/tclxmath.c
+@@ -16,6 +16,7 @@
+ *-----------------------------------------------------------------------------
+ */
+
++#include <time.h>
+ #include "tclxint.h"
+
+ extern int rand();
+diff --git a/src/tk/tkbitmap.c b/src/tk/tkbitmap.c
+index cc81cd02c477b6289a25b76909b3b46f8db212a6..c7693e84a71953b340ee3b37044ec65be6050dc7 100644
+--- a/src/tk/tkbitmap.c
++++ b/src/tk/tkbitmap.c
+@@ -434,7 +434,7 @@ Tk_GetBitmapFromData(interp, tkwin, source, width, height)
+ Tk_Uid name = NULL; /* Initialization need only to prevent
+ * compiler warning. */
+ int new;
+- static autoNumber = 0;
++ static int autoNumber = 0;
+ char string[20];
+
+ if (!initialized) {
+diff --git a/src/tk/tkerror.c b/src/tk/tkerror.c
+index a58814c4599d4a8111cdf03cf67054009c7a626f..b6fdb17c41853f9fb5dbd33274d314d5ca8a723f 100644
+--- a/src/tk/tkerror.c
++++ b/src/tk/tkerror.c
+@@ -23,7 +23,7 @@ static char rcsid[] = "$Header: /user6/ouster/wish/RCS/tkError.c,v 1.10 92/04/12
+ #include "tkconfig.h"
+ #include "tkint.h"
+
+-static initialized = 0;
++static int initialized = 0;
+
+ /*
+ * Forward references to procedures declared later in this file:
+diff --git a/src/tk/tkpack.c b/src/tk/tkpack.c
+index f065bd5d20d6cfa81c4ce37104a9764a99816287..a998017fcfd308595aed170ad3915817a85ec9f7 100644
+--- a/src/tk/tkpack.c
++++ b/src/tk/tkpack.c
+@@ -95,7 +95,7 @@ static Tcl_HashTable packerHashTable;
+ * Have statics in this module been initialized?
+ */
+
+-static initialized = 0;
++static int initialized = 0;
+
+ /*
+ * Forward declarations for procedures defined later in this file:
+diff --git a/src/tk/tkpixmap.c b/src/tk/tkpixmap.c
+index 753bbe190caa3e585b82a0757e77184f1ec68b20..8d23daded56264edd6d3dbc333014f253568592a 100644
+--- a/src/tk/tkpixmap.c
++++ b/src/tk/tkpixmap.c
+@@ -516,7 +516,7 @@ Tk_GetPixmapFromData(interp, tkwin, source, width, height)
+ Tk_Uid name = NULL; /* Initialization need only to prevent
+ * compiler warning. */
+ int new;
+- static autoNumber = 0;
++ static int autoNumber = 0;
+ char string[20];
+
+ if (!initialized) {
+diff --git a/src/tk/tkwindow.c b/src/tk/tkwindow.c
+index 05029aa38b11e2e189010736c69c74113616d581..eb6b7fe22bc66cebfae99a0fe663a9089a7c5b2a 100644
+--- a/src/tk/tkwindow.c
++++ b/src/tk/tkwindow.c
+@@ -55,7 +55,7 @@ TkDisplay *tkDisplayList = NULL;
+ * Have statics in this module been initialized?
+ */
+
+-static initialized = 0;
++static int initialized = 0;
+
+ /*
+ * Context information used to map from X window id's to
diff --git a/games-simulation/micropolis/micropolis-1.0_p20220604.ebuild b/games-simulation/micropolis/micropolis-1.0_p20220604.ebuild
new file mode 100644
index 000000000000..bee00da41495
--- /dev/null
+++ b/games-simulation/micropolis/micropolis-1.0_p20220604.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop toolchain-funcs wrapper
+
+COMMIT="6f873e16d6a1a8f6f59c1e5a75ec5f52ce5c89b6"
+DESCRIPTION="Free version of the well-known city building simulation"
+HOMEPAGE="https://www.donhopkins.com/home/micropolis/"
+SRC_URI="https://gitlab.com/stargo/micropolis/-/archive/${COMMIT}/micropolis-${COMMIT}.tar.bz2"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ media-libs/libsdl
+ media-libs/sdl-mixer
+ x11-libs/libX11
+ x11-libs/libXpm"
+DEPEND="${RDEPEND}"
+BDEPEND="app-alternatives/yacc"
+
+# parallel build is broken
+MAKEOPTS="-j1"
+
+# clang fixes, submitted upstream:
+# https://gitlab.com/stargo/micropolis/-/merge_requests/1
+PATCHES=( "${FILESDIR}/micropolis-fix-clang15.diff" )
+
+src_prepare() {
+ default
+
+ sed -i -e "s|-O3|${CFLAGS}|" \
+ src/tclx/config.mk src/{sim,tcl,tk}/makefile || die
+ sed -i -e "s|XLDFLAGS=|&${LDFLAGS}|" \
+ src/tclx/config.mk || die
+}
+
+src_compile() {
+ emake -C src LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)"
+}
+
+src_install() {
+ local dir=/usr/share/${PN}
+
+ exeinto "${dir}/res"
+ doexe src/sim/sim
+ insinto "${dir}"
+ doins -r activity cities images manual res
+
+ make_wrapper micropolis res/sim "${dir}"
+ doicon Micropolis.png
+ make_desktop_entry micropolis "Micropolis" Micropolis
+}