emulators/yuzu: switch to newer libc++

Disable src/common/polyfill_ranges.h as it's not tested by upstream CI
and breaks build with recent libc++ versions.
This commit is contained in:
Jan Beich 2023-01-31 01:50:14 +00:00
parent 4b7f892af8
commit 71ce3cb476
2 changed files with 16 additions and 7 deletions

View file

@ -1,5 +1,6 @@
PORTNAME= yuzu
PORTVERSION= s20230130
PORTREVISION= 1
CATEGORIES= emulators wayland
.if make(makesum)
MASTER_SITES= https://api.yuzu-emu.org/gamedb/?dummy=/:gamedb
@ -71,7 +72,6 @@ CMAKE_ON+= BUNDLE_SPEEX # only used by cubeb tests
CMAKE_OFF= YUZU_CHECK_SUBMODULES YUZU_USE_EXTERNAL_SDL2 YUZU_USE_EXTERNAL_VULKAN_HEADERS
CMAKE_OFF+= ${CMAKE_TESTING_ON}
CMAKE_TESTING_ON= YUZU_TESTS
CXXFLAGS+= -D_LIBCPP_HAS_NO_INCOMPLETE_RANGES # common/polyfill_ranges.h
LDFLAGS+= -Wl,--as-needed # Qt5Network
ELF_FEATURES= ${PLIST_FILES:Mbin/*:S/^/+wxneeded:/}
PLIST_FILES= bin/${PORTNAME}-cmd \
@ -145,17 +145,26 @@ post-patch-VAAPI-off:
@${REINPLACE_CMD} -i .nova '/pkg_check.*libva/d' \
${WRKSRC}/CMakeLists.txt
# libc++ >= 14 defines std::ranges outside -D_LIBCPP_HAS_NO_INCOMPLETE_RANGES
.if exists(/usr/include/c++/v1/__memory/concepts.h)
# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 (don't forget distinfo)
.if !exists(/usr/include/c++/v1/__ranges/as_rvalue_view.h) || make(makesum) || make(fetch)
. if !exists(/usr/include/c++/v1/__memory/concepts.h)
USES+= llvm:min=14,build
CC= clang${LLVM_VERSION}
CXX= clang++${LLVM_VERSION}
CPP= clang-cpp${LLVM_VERSION}
CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" CPP="${CPP}"
. endif
# XXX Move into separate port and standardize via USES
GH_TUPLE+= llvm:llvm-project:llvmorg-13.0.1:libcxx
GH_TUPLE+= llvm:llvm-project:llvmorg-16.0.0-rc1:libcxx
CXXFLAGS+= -nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1
# Don't link against old libc++ to avoid ABI mismatch in Qt
# Don't link against new libc++ to avoid ABI mismatch in Qt
#LDFLAGS+= -nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt
pre-configure: bundled-libcxx
bundled-libcxx:
@${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:M*Ninja*} \
-DLIBCXX_INCLUDE_BENCHMARKS:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \
-B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx
@${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build

View file

@ -21,7 +21,7 @@ SHA256 (kinetiknz-cubeb-cubeb-0.2-1350-gf79e0cf_GH0.tar.gz) = 8629757290774a34ed
SIZE (kinetiknz-cubeb-cubeb-0.2-1350-gf79e0cf_GH0.tar.gz) = 220847
SHA256 (yhirose-cpp-httplib-v0.10.8-1-g305a7ab_GH0.tar.gz) = 2b8ebbe60c5fab1254e454518108cb8da5ee3a07e1cf9f432448d985efe4a003
SIZE (yhirose-cpp-httplib-v0.10.8-1-g305a7ab_GH0.tar.gz) = 620778
SHA256 (llvm-llvm-project-llvmorg-13.0.1_GH0.tar.gz) = 09c50d558bd975c41157364421820228df66632802a4a6a7c9c17f86a7340802
SIZE (llvm-llvm-project-llvmorg-13.0.1_GH0.tar.gz) = 147290251
SHA256 (llvm-llvm-project-llvmorg-16.0.0-rc1_GH0.tar.gz) = e1b8d991921c8e9564359b17955878716dc68201ded4699c6b175b14fe3085aa
SIZE (llvm-llvm-project-llvmorg-16.0.0-rc1_GH0.tar.gz) = 180127224
SHA256 (c17d71240b23.patch) = 4aaf5522ec3f7d393cec59638220d6142489c4e946060ec94444ca3f47e2b2a7
SIZE (c17d71240b23.patch) = 7562