MFH: r478237 r478238 r478239

games/keeperrl: unbreak with libc++ 7, GCC and on FreeBSD 10

Approved by:	ports-secteam blanket
This commit is contained in:
Jan Beich 2018-08-27 17:31:44 +00:00
parent 5bc14a7c96
commit 3b34e5a77b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2018Q3/; revision=478240
3 changed files with 29 additions and 6 deletions

View File

@ -2,9 +2,12 @@
PORTNAME= keeperrl
PORTVERSION= 0.0.${ALPHA_VERSION}
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= games
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES= c0fc69cbee72.patch:-p1
MAINTAINER= ports@FreeBSD.org
COMMENT= Ambitious dungeon builder with roguelike elements
@ -13,12 +16,10 @@ LICENSE_COMB= multi
LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING.txt
LICENSE_FILE_OFL11= ${WRKSRC}/data_contrib/SIL_Open_Font_License.txt
BROKEN_FreeBSD_10= needs c++14, does not build even with clang5
LIB_DEPENDS= libvorbis.so:audio/libvorbis \
libcurl.so:ftp/curl
USES= gmake localbase openal
USES= compiler:c++14-lang gmake localbase openal
USE_GITHUB= yes
GH_ACCOUNT= miki151
@ -32,6 +33,8 @@ LIBS+= -lexecinfo
LLD_UNSAFE= yes
MAKE_ARGS= DATA_DIR="${DATADIR}" GCC="${CXX}" \
LDFLAGS="${LDFLAGS}" RELEASE=true
# USE_GCC adds -Wl,-rpath=${_GCC_RUNTIME} which breaks -x c++-header
MAKE_ARGS+= PCH= PCHINC=
DESKTOP_ENTRIES="KeeperRL" "" "" "keeper" \
"Game;Simulation;" false
@ -42,8 +45,6 @@ post-patch:
-e 's|bash|sh|' \
${WRKSRC}/Makefile
@${REINPLACE_CMD} 's|bash|sh|' ${WRKSRC}/check_serial.sh
@${REINPLACE_CMD} '/_GLIBCXX_END_NAMESPACE_VERSION/d' \
${WRKSRC}/extern/iomanip.h
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/keeper ${STAGEDIR}${PREFIX}/bin

View File

@ -1,3 +1,5 @@
TIMESTAMP = 1516986107
SHA256 (miki151-keeperrl-0.0.23-alpha23_GH0.tar.gz) = 046cba3c8834f52f9e796d2deece8770b833d351eb222c216fdf65b0c1869979
SIZE (miki151-keeperrl-0.0.23-alpha23_GH0.tar.gz) = 3252139
SHA256 (c0fc69cbee72.patch) = ca2a3158182b1bcab2c9ec0d9e9525800d49c62f2d544c9a3b6c01fbee75750b
SIZE (c0fc69cbee72.patch) = 533

View File

@ -0,0 +1,20 @@
https://svnweb.freebsd.org/changeset/base/294930
stack_printer.cpp:329:18: error: assigning to 'char *' from incompatible type 'void *'
ss.ss_sp = (void*)alternate_stack;
^~~~~~~~~~~~~~~~~~~~~~
--- stack_printer.cpp.orig 2017-10-24 09:45:42 UTC
+++ stack_printer.cpp
@@ -326,7 +326,11 @@ int printStacktraceWithGdb() {
stack_t ss = {};
/* malloc is usually used here, I'm not 100% sure my static allocation
is valid but it seems to work just fine. */
+#if defined(__DragonFly__) || (defined(__FreeBSD__) && __FreeBSD__ < 11)
+ ss.ss_sp = (char*)alternate_stack;
+#else
ss.ss_sp = (void*)alternate_stack;
+#endif
ss.ss_size = SIGSTKSZ;
ss.ss_flags = 0;