git: cac460734976 - main - emulators/rpcs3: limit llvm13 dependency to FreeBSD 12.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 24 Dec 2022 16:37:14 UTC
The branch main has been updated by jbeich:
URL: https://cgit.FreeBSD.org/ports/commit/?id=cac460734976d1db837a52a2ddd047c0adaf8194
commit cac460734976d1db837a52a2ddd047c0adaf8194
Author: Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-12-24 15:38:02 +0000
Commit: Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-12-24 16:35:07 +0000
emulators/rpcs3: limit llvm13 dependency to FreeBSD 12.3
Base clang 10 is too old:
rpcs3/util/types.hpp:1170:20: error: substitution into constraint expression resulted in a non-constant expression
concept PtrSame = (is_same_ptr<X, Y>());
^~~~~~~~~~~~~~~~~~~
rpcs3/Emu/IdManager.h:701:18: note: while checking the satisfaction of concept 'PtrSame<lv2_fs_object, lv2_file>' requested here
static_assert((PtrSame<T, Get> && ...), "Invalid ID type combination");
^~~~~~~~~~~~~~~
rpcs3/Emu/VFS.cpp:940:7: note: in instantiation of function template specialization 'idm::select<lv2_fs_object, lv2_file, (lambda at rpcs3/Emu/VFS.cpp:940:39), std::__1::integral_constant<bool, true> >' requested here
idm::select<lv2_fs_object, lv2_file>([&](u32 id, lv2_file& file)
^
Base libc++ 10 is too old:
rpcs3/Emu/RSX/Common/simple_array.hpp:287:17: error: no template named 'predicate' in namespace 'std'
bool any(std::predicate<const Ty&> auto predicate) const
~~~~~^
rpcs3/Emu/RSX/Common/simple_array.hpp:299:20: error: no template named 'predicate' in namespace 'std'
void filter(std::predicate<const Ty&> auto predicate)
~~~~~^
rpcs3/Emu/RSX/Common/simple_array.hpp:317:18: error: no template named 'predicate' in namespace 'std'
void sort(std::predicate<const Ty&, const Ty&> auto predicate)
~~~~~^
---
emulators/rpcs3/Makefile | 22 +++++++++-------------
1 file changed, 9 insertions(+), 13 deletions(-)
diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile
index df3b4ff3cca1..caad21ce8fbf 100644
--- a/emulators/rpcs3/Makefile
+++ b/emulators/rpcs3/Makefile
@@ -2,7 +2,7 @@ PORTNAME= rpcs3
DISTVERSIONPREFIX= v
DISTVERSION= 0.0.25-14499 # git rev-list --count HEAD
DISTVERSIONSUFFIX= -g5b95cfda40
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= emulators wayland
MAINTAINER= jbeich@FreeBSD.org
@@ -106,17 +106,12 @@ post-patch:
-e '/GIT_VERSION/s/local_build/${GH_TAGNAME:C/[^-]*-//}/' \
${WRKSRC}/${PORTNAME}/git-version.cmake
-.include <bsd.port.pre.mk>
-
-# Ignore Mk/bsd.default-versions.mk but respect make.conf(5)
-.if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*}
-LLVM_DEFAULT= 13 # bump if not latest release
-.endif
-BUILD_DEPENDS+= clang++${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
-USES:= ${USES:Ncompiler*}
-CC= clang${LLVM_DEFAULT}
-CXX= clang++${LLVM_DEFAULT}
-CPP= clang-cpp${LLVM_DEFAULT}
+# XXX Drop after FreeBSD 12.3 EOL around 2023-03-01 (don't forget distinfo)
+.if !exists(/usr/include/c++/v1/concepts) || make(makesum) || make(fetch)
+USES+= llvm:13,build
+CC= clang${LLVM_VERSION}
+CXX= clang++${LLVM_VERSION}
+CPP= clang-cpp${LLVM_VERSION}
# XXX Move into separate port and standardize via USES
GH_TUPLE+= llvm:llvm-project:llvmorg-13.0.1:libcxx
@@ -129,5 +124,6 @@ bundled-libcxx:
-DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \
-B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx
@${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build
+.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>