Skip to content

Commit

Permalink
emulators/rpcs3: limit llvm13 dependency to FreeBSD 12.3
Browse files Browse the repository at this point in the history
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)
                          ~~~~~^
  • Loading branch information
jbeich committed Dec 24, 2022
1 parent 0c0c236 commit cac4607
Showing 1 changed file with 9 additions and 13 deletions.
22 changes: 9 additions & 13 deletions emulators/rpcs3/Makefile
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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>

0 comments on commit cac4607

Please sign in to comment.