--- /dev/null
+From: Markus Koschany <apo@debian.org>
+Date: Tue, 13 Mar 2018 20:25:31 +0100
+Subject: glibc 2.27
+
+Remove SVID error handling to fix FTBFS with glibc 2.27.
+
+Forwarded: no
+Bug-Debian: https://bugs.debian.org/891338
+---
+ src/tclx/src/tclxfmat.c | 21 +--------------------
+ 1 file changed, 1 insertion(+), 20 deletions(-)
+
+diff --git a/src/tclx/src/tclxfmat.c b/src/tclx/src/tclxfmat.c
+index 19d42c3..2146566 100644
+--- a/src/tclx/src/tclxfmat.c
++++ b/src/tclx/src/tclxfmat.c
+@@ -119,27 +119,8 @@ static int
+ ReturnFPMathError (interp)
+ Tcl_Interp *interp;
+ {
+- char *errorMsg;
+
+- switch (G_errorType) {
+- case DOMAIN:
+- errorMsg = "domain";
+- break;
+- case SING:
+- errorMsg = "singularity";
+- break;
+- case OVERFLOW:
+- errorMsg = "overflow";
+- break;
+- case UNDERFLOW:
+- errorMsg = "underflow";
+- break;
+- case TLOSS:
+- case PLOSS:
+- errorMsg = "loss of significance";
+- break;
+- }
+- Tcl_AppendResult (interp, "floating point ", errorMsg, " error",
++ Tcl_AppendResult (interp, "floating point error",
+ (char *) NULL);
+ G_gotTclFPMathErr = FALSE; /* Clear the flag. */
+ return TCL_ERROR;
--- /dev/null
+From: Markus Koschany <apo@debian.org>
+Date: Tue, 13 Mar 2018 21:42:31 +0100
+Subject: remove matherr
+
+Work around "tclxmerr.c:40:30: error: dereferencing pointer to incomplete type
+'struct exception'"
+
+---
+ src/tclx/src/tclxmerr.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/src/tclx/src/tclxmerr.c b/src/tclx/src/tclxmerr.c
+index dc3596b..06aad3a 100644
+--- a/src/tclx/src/tclxmerr.c
++++ b/src/tclx/src/tclxmerr.c
+@@ -33,15 +33,6 @@
+ *
+ *-----------------------------------------------------------------------------
+ */
+-int
+-matherr (except)
+- struct exception *except;
+-{
+- if (Tcl_MathError (except->name, except->type))
+- return 1;
+- else
+- return 0;
+-}
+
+ #else
+ \f
--- /dev/null
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit eutils
+
+DESCRIPTION="Free version of the well-known city building simulation"
+HOMEPAGE="http://www.donhopkins.com/home/micropolis/"
+SRC_URI="http://www.donhopkins.com/home/micropolis/${PN}-activity-source.tgz
+ http://rmdir.de/~michael/${PN}_git.patch"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+ media-libs/libsdl
+ media-libs/sdl-mixer
+ x11-libs/libX11
+ x11-libs/libXpm"
+DEPEND="${RDEPEND}
+ sys-devel/bison"
+
+S=${WORKDIR}/${PN}-activity/
+
+PATCHES=(
+ "${DISTDIR}"/${PN}_git.patch
+ "${FILESDIR}/micropolis-glibc-2.27.patch"
+ "${FILESDIR}/micropolis-remove-matherr.patch"
+)
+
+src_unpack() {
+ unpack ${PN}-activity-source.tgz
+}
+
+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}"
+}
+
+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
+}