Tuesday, January 02, 2024

amnesia-tdd, crack-attack, manaplus vs libcxx update

The following games will no longer build once robert updates libcxx and
friends because they use std::unary_function or std::binary_function,
which were deprecated in C++11 and removed in C++17.

An ugly workaround is to re-enable these to fix the build as in the diff
below. Another ugly workaround is to switch to a build with C++ <= 14.

Please check if upstream has fixed this already and do either one of
1. update the port
2. backport the fix
3. remove the annotations in the affected functions and test
4. if you don't like the below, figure out a better fix.

Thanks

Index: games/amnesia-tdd/Makefile
===================================================================
RCS file: /cvs/ports/games/amnesia-tdd/Makefile,v
diff -u -p -r1.7 Makefile
--- games/amnesia-tdd/Makefile 30 Apr 2023 19:05:02 -0000 1.7
+++ games/amnesia-tdd/Makefile 28 Dec 2023 05:27:24 -0000
@@ -39,6 +39,8 @@ LIB_DEPENDS = audio/libogg \
CONFIGURE_ARGS = -DSYSTEMWIDE_RESOURCES=ON \
-DSYSTEMWIDE_RESOURCES_LOCATION="${PREFIX}/share/amnesia-tdd"

+CONFIGURE_ENV += CXXFLAGS=-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
+
WRKSRC = ${WRKDIST}/amnesia/src

post-install:
Index: games/crack-attack/Makefile
===================================================================
RCS file: /cvs/ports/games/crack-attack/Makefile,v
diff -u -p -r1.30 Makefile
--- games/crack-attack/Makefile 26 Sep 2023 09:41:33 -0000 1.30
+++ games/crack-attack/Makefile 28 Dec 2023 02:03:58 -0000
@@ -30,6 +30,8 @@ CONFIGURE_STYLE=gnu
CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"

+CXXFLAGS += -D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
+
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps
cd ${WRKSRC}/data; \
Index: games/manaplus/Makefile
===================================================================
RCS file: /cvs/ports/games/manaplus/Makefile,v
diff -u -p -r1.106 Makefile
--- games/manaplus/Makefile 26 Sep 2023 09:41:38 -0000 1.106
+++ games/manaplus/Makefile 28 Dec 2023 00:12:24 -0000
@@ -41,6 +41,8 @@ CONFIGURE_ARGS = --without-librt \
--with-sdl2 \
--without-internalsdlgfx

+CXXFLAGS = -D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
+
FAKE_FLAGS += desktopdir=${PREFIX}/share/applications/

AUTOCONF_VERSION = 2.69

No comments:

Post a Comment