databases/postgresql-plv8js: disable C++ RTTI

Fixes
/usr/local/lib/postgresql/plv8-3.0.0.so: Undefined symbol
"_ZTIN2v811ArrayBuffer9AllocatorE"

Also enable V8 pointer compression, fixes
Embedder-vs-V8 build configuration mismatch. On embedder side pointer
compression is DISABLED while on V8 side it's ENABLED.

PR: 259262
Reported by: ryan@cybership.net
Submitted by: felix@palmen-it.de

Sponsored by: Postgres Professional
This commit is contained in:
Felix Palmen 2021-10-19 17:59:13 +02:00 committed by Michael Zhilin
parent 51c8c9bdc2
commit ca9de5d453

View file

@ -2,7 +2,7 @@
PORTNAME= plv8
PORTVERSION= 3.0.0
PORTREVISION= 1
PORTREVISION= 2
DISTVERSIONPREFIX= v
CATEGORIES= databases
PKGNAMEPREFIX= postgresql${PGSQL_VER:S/.//}-
@ -16,12 +16,13 @@ LICENSE= PostgreSQL
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libv8.so:lang/v8
USES= compiler:c++14-lang gmake perl5 pgsql:9.6-10
USES= compiler:c++14-lang gmake perl5 pgsql
USE_PERL5= build
USE_GITHUB= yes
PLIST_SUB= PORTVERSION="${PORTVERSION}"
CXXFLAGS+= -std=c++14
CXXFLAGS+= -std=c++14 -fno-rtti \
-DV8_COMPRESS_POINTERS=1 -DV8_31BIT_SMIS_ON_64BIT_ARCH=1
MAKEFILE= Makefile.shared
MAKE_ARGS= CUSTOM_CC=${CXX} CCFLAGS="${CXXFLAGS}"