Created attachment 168979 [details]
Remove C++ keyword overriding defines from databases/postgresql-plv8js
During the exp-run in bug 208158, it was found that databases/postgresql-plv8js gives errors with libc++ 3.8.0 :
In file included from plv8.cc:21:
In file included from /usr/local/include/postgresql/server/access/xact.h:17:
In file included from /usr/local/include/postgresql/server/access/xlog.h:16:
In file included from /usr/local/include/postgresql/server/datatype/timestamp.h:18:
/usr/include/c++/v1/math.h:331:1: error: unknown type name 'typename_'; did you mean 'typename'?
typename std::enable_if<std::is_arithmetic<_A1>::value, bool>::type
plv8.cc:15:18: note: expanded from macro 'typename'
#define typename typename_
This is because several .cc files in this package attempt to redefine C++ keywords such as delete, namespace, typename etc with different identifiers. I have no idea why this weirdness was added, but deleting all those #defines makes the port compile just fine.
A commit references this bug:
Date: Sat Apr 30 04:34:35 UTC 2016
New revision: 414328
databases/postgresql-plv8js: Fix build with libc++ 3.8.0
Submitted by: dim
Approved by: vanilla (maintainer)