emulators/rpcs3: unbreak on FreeBSD 12.2 via full libc++

Link statically to avoid ABI mismatch with in-base libc++.
Building libc++ requires full LLVM source, so align with devel/llvm12.

(cherry picked from commit 30ccf57842)
This commit is contained in:
Jan Beich 2021-11-29 23:57:33 +00:00
parent 33931ecb99
commit 811db80bdd
2 changed files with 12 additions and 6 deletions

View File

@ -17,7 +17,6 @@ LIB_DEPENDS= libcurl.so:ftp/curl \
libpng.so:graphics/png \
libavcodec.so:multimedia/ffmpeg
BROKEN_FreeBSD_12= ld: error: undefined symbol: std::__1::__cxx_atomic_notify_one
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= requires int128 and SSE2
@ -101,9 +100,16 @@ CPP= clang-cpp${LLVM_DEFAULT}
# XXX Drop after FreeBSD 12.2 EOL
.if make(makesum) || (!exists(/usr/include/c++/v1/__bits) && exists(/usr/lib/libc++.so))
MASTER_SITES+= https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/:libcxx
DISTFILES+= libcxx-${LLVM_VER}.src.tar.xz:libcxx
CXXFLAGS+= -nostdinc++ -D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS -isystem${WRKDIR}/libcxx-${LLVM_VER}.src/include
LLVM_VER= 12.0.0
DISTFILES+= llvm-project-${LLVM_VER}.src.tar.xz:libcxx
CXXFLAGS+= -nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1
LDFLAGS+= -nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt
LLVM_VER= 12.0.1
pre-configure:
@${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:M*Ninja*} \
-DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \
-B ${WRKDIR}/libcxx_build -S ${WRKDIR}/llvm-project-${LLVM_VER}.src/libcxx
@${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build
.endif
.include <bsd.port.post.mk>

View File

@ -1,6 +1,6 @@
TIMESTAMP = 1638053061
SHA256 (libcxx-12.0.0.src.tar.xz) = 7dcb75ca4f6aae2c677d128460c48a57398c8b6791b77b74bea7cf9e04e7c3f1
SIZE (libcxx-12.0.0.src.tar.xz) = 1880864
SHA256 (llvm-project-12.0.1.src.tar.xz) = 129cb25cd13677aad951ce5c2deb0fe4afc1e9d98950f53b51bdcfb5a73afa0e
SIZE (llvm-project-12.0.1.src.tar.xz) = 90910004
SHA256 (RPCS3-rpcs3-v0.0.19-13056-g38bfefcdf_GH0.tar.gz) = a91a793f5a037f35963ba61182a537122ffa79c68affa374858d78d4dfe96a1f
SIZE (RPCS3-rpcs3-v0.0.19-13056-g38bfefcdf_GH0.tar.gz) = 8163177
SHA256 (RPCS3-hidapi-hidapi-0.8.0-rc1-125-g01f601a_GH0.tar.gz) = d6aecf7a9e4d6f4935f1da5fd29cb8011f76567c8e5b571b7410e2fa6942bf37