From 3952f4af1a91aa8557175f5a8eeed713ba9355c2 Mon Sep 17 00:00:00 2001 From: Tobias Kortkamp Date: Sat, 7 Jul 2018 21:09:10 +0000 Subject: [PATCH] science/simlib: Fix build - Doesn't build with Clang 6 errors.cc:14:42: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] /* 0 */ "SIMLIB/C++ Simulation Library, "SIMLIB_COPYRIGHT"\0" ^ http://beefy12.nyi.freebsd.org/data/head-amd64-default/p473790_s335878/logs/simlib-3.02_1.log - nm crashes during the build on FreeBSD >= 11.1. Use binutils from ports as a workaround. [1] Assertion failed: (ddata->output.size > 0), function cpp_demangle_read_sname, file /usr/src/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c, line 2137. http://beefy9.nyi.freebsd.org/data/111amd64-default/473790/logs/simlib-3.02_1.log PR: 223333 [1] --- science/simlib/Makefile | 9 +++++++++ science/simlib/files/patch-src_errors.txt | 13 +++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 science/simlib/files/patch-src_errors.txt diff --git a/science/simlib/Makefile b/science/simlib/Makefile index fa3b6d83614c..c960aea1fea4 100644 --- a/science/simlib/Makefile +++ b/science/simlib/Makefile @@ -20,6 +20,15 @@ CXXFLAGS+= -fPIC NOT_FOR_ARCHS= aarch64 armv6 armv7 mips mips64 powerpc powerpc64 sparc64 NOT_FOR_ARCHS_REASON= contains not working ${ARCH}-dependent assembly code +.include + +.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1101000 +# nm crashes during the build: +# Assertion failed: (ddata->output.size > 0), function cpp_demangle_read_sname, file /usr/src/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c, line 2137. +USE_BINUTILS= yes +BINARY_ALIAS= nm=${NM} +.endif + post-patch: @${REINPLACE_CMD} -e 's|make|gmake|g' ${WRKSRC}/Makefile @${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \ diff --git a/science/simlib/files/patch-src_errors.txt b/science/simlib/files/patch-src_errors.txt new file mode 100644 index 000000000000..d14d80bb2ca8 --- /dev/null +++ b/science/simlib/files/patch-src_errors.txt @@ -0,0 +1,13 @@ +src/errors.txt is used to generate src/errors.cc + +--- src/errors.txt.orig 2018-07-07 20:48:53 UTC ++++ src/errors.txt +@@ -14,7 +14,7 @@ _ErrMsg(_ErrEnum) + + //////////////////////////////////////////////////////////////////////////// + +-Copyright SIMLIB/C++ Simulation Library, "SIMLIB_COPYRIGHT" ++Copyright SIMLIB/C++ Simulation Library, " SIMLIB_COPYRIGHT " + UnknownError Undocumented error + InternalError Internal error + MemoryError No memory