Tuesday, January 02, 2024

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

On Tue, Jan 02, 2024 at 11:13:58AM +0100, Theo Buehler wrote:
> 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

Here's a better diff. I may have done amnesia before I noticed that
search in tmux was broken...

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 2 Jan 2024 12:44:42 -0000
@@ -39,6 +39,8 @@ LIB_DEPENDS = audio/libogg \
CONFIGURE_ARGS = -DSYSTEMWIDE_RESOURCES=ON \
-DSYSTEMWIDE_RESOURCES_LOCATION="${PREFIX}/share/amnesia-tdd"

+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 2 Jan 2024 10:03:56 -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