From 4b2f6a53ca288e514ef4b9d5fd18a0b713640375 Mon Sep 17 00:00:00 2001 From: crueter Date: Mon, 1 Dec 2025 12:56:25 -0500 Subject: [PATCH] cpm fixes, update deps Signed-off-by: crueter --- CMakeLists.txt | 6 +++--- cpmfile.json | 8 ++++---- externals/cpmfile.json | 18 +++++++++--------- tools/cpm/check-updates.sh | 26 +++++++++++++++++++------- tools/cpm/download.sh | 14 +++++++++++--- 5 files changed, 46 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4597c2407f..7dcfe9acbb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,7 @@ include(DefaultConfig) include(DownloadExternals) include(CMakeDependentOption) include(CTest) +include(CPMUtil) DetectArchitecture() @@ -374,8 +375,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) # System imported libraries # ======================================================================= -include(CPMUtil) - # openssl funniness if (ENABLE_OPENSSL) if (YUZU_USE_BUNDLED_OPENSSL) @@ -532,7 +531,8 @@ endfunction() if (APPLE) # Umbrella framework for everything GUI-related - find_library(COCOA_LIBRARY Cocoa) + find_library(COCOA_LIBRARY Cocoa REQUIRED) + find_library(IOKIT_LIBRARY IOKit REQUIRED) set(PLATFORM_LIBRARIES ${COCOA_LIBRARY} ${IOKIT_LIBRARY} ${COREVIDEO_LIBRARY}) elseif (WIN32) # Target Windows 10 diff --git a/cpmfile.json b/cpmfile.json index 7a14ccfaf7..4b5d24ecae 100644 --- a/cpmfile.json +++ b/cpmfile.json @@ -25,9 +25,9 @@ "fmt": { "repo": "fmtlib/fmt", "tag": "%VERSION%", - "hash": "c4ab814c20fbad7e3f0ae169125a4988a2795631194703251481dc36b18da65c886c4faa9acd046b0a295005217b3689eb0126108a9ba5aac2ca909aae263c2f", + "hash": "f0da82c545b01692e9fd30fdfb613dbb8dd9716983dcd0ff19ac2a8d36f74beb5540ef38072fdecc1e34191b3682a8542ecbf3a61ef287dbba0a2679d4e023f2", "version": "8", - "git_version": "12.0.0" + "git_version": "12.1.0" }, "lz4": { "name": "lz4", @@ -96,8 +96,8 @@ "package": "VVL", "repo": "KhronosGroup/Vulkan-ValidationLayers", "tag": "vulkan-sdk-%VERSION%", - "git_version": "1.4.328.0", + "git_version": "1.4.328.1", "artifact": "android-binaries-%VERSION%.zip", - "hash": "e45a7975f87b3d6105eae570e73660a693869a8f7ed512f158e056513e48784344f80a8e8da5d50393e532a05e2539a8c294e2632ff151e1861a2ac77254bd0a" + "hash": "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e" } } diff --git a/externals/cpmfile.json b/externals/cpmfile.json index a5ce47193f..62ac4a5550 100644 --- a/externals/cpmfile.json +++ b/externals/cpmfile.json @@ -28,8 +28,8 @@ "httplib": { "repo": "yhirose/cpp-httplib", "tag": "v%VERSION%", - "hash": "b364500f76e2ecb0fe21b032d831272e3f1dfeea71af74e325f8fc4ce9dcdb3c941b97a5b422bdeafb9facd058597b90f8bfc284fb9afe3c33fefa15dd5a010b", - "git_version": "0.26.0", + "hash": "e7a8877d489c97669a8ee536e1498575be921e558ed947253013fe6b67a49d4569eedd01f543caa70183b92d8ac0e8687d662a70d880954412e387317008a239", + "git_version": "0.28.0", "find_args": "MODULE GLOBAL", "patches": [ "0001-mingw.patch" @@ -89,9 +89,9 @@ "package": "unordered_dense", "repo": "martinus/unordered_dense", "tag": "v%VERSION%", - "hash": "f9c819e28e1c1a387acfee09277d6af5e366597a0d39acf1c687acf0608a941ba966af8aaebdb8fba0126c7360269c4a51754ef4cab17c35c01a30215f953368", + "hash": "b98b5d4d96f8e0081b184d6c4c1181fae4e41723b54bed4296717d7f417348b48fad0bbcc664cac142b8c8a47e95aa57c1eb1cf6caa855fd782fad3e3ab99e5e", "find_args": "CONFIG", - "git_version": "4.5.0" + "git_version": "4.8.1" }, "mbedtls": { "package": "MbedTLS", @@ -188,9 +188,9 @@ "package": "SimpleIni", "repo": "brofield/simpleini", "tag": "v%VERSION%", - "hash": "6c198636816a0018adbf7f735d402c64245c6fcd540b7360d4388d46f007f3a520686cdaec4705cb8cb31401b2cb4797a80b42ea5d08a6a5807c0848386f7ca1", + "hash": "b937c18a7b6277d77ca7ebfb216af4984810f77af4c32d101b7685369a4bd5eb61406223f82698e167e6311a728d07415ab59639fdf19eff71ad6dc2abfda989", "find_args": "MODULE", - "git_version": "4.22" + "git_version": "4.25" }, "sdl2_generic": { "package": "SDL2", @@ -210,12 +210,12 @@ "key": "steamdeck", "bundled": true, "skip_updates": "true" - }, + }, "moltenvk": { "repo": "KhronosGroup/MoltenVK", "tag": "v%VERSION%", - "git_version": "1.4.0", + "git_version": "1.4.1", "artifact": "MoltenVK-macOS.tar", - "hash": "63721377503bbfaa9c8df79e7ebc3dc43577d38fa0f4a986c50a56a3904f9629b4cf9001d9c95c184228b574cd06608ff29ab89c14549cb6be8a7fb9cbe1e95a" + "hash": "a394329f390a11d1052d2efeef5f7f33860465eea4d7e9e1faf808e616d533a283b9c55074fb833ef95ef40067fc319470eab07dc72ac63e6464dc26cbe34905" } } diff --git a/tools/cpm/check-updates.sh b/tools/cpm/check-updates.sh index 5fc7836199..189c520690 100755 --- a/tools/cpm/check-updates.sh +++ b/tools/cpm/check-updates.sh @@ -8,10 +8,14 @@ RETURN=0 -filter() { +filter_out() { TAGS=$(echo "$TAGS" | jq "[.[] | select(.name | test(\"$1\"; \"i\") | not)]") } +filter_in() { + TAGS=$(echo "$TAGS" | jq "[.[] | select(.name | test(\"$1\"; \"i\"))]") +} + usage() { cat << EOF Usage: $0 [uf] [PACKAGE]... @@ -83,19 +87,27 @@ while true; do # filter out some commonly known annoyances # TODO add more - filter vulkan-sdk # vulkan - filter yotta # mbedtls + if [ "$PACKAGE" = "vulkan-validation-layers" ]; then + filter_in vulkan-sdk + else + filter_out vulkan-sdk + fi + + [ "$CI" = "true" ] && filter_in "-" + + filter_out yotta # mbedtls # ignore betas/alphas (remove if needed) - filter alpha - filter beta - filter rc + filter_out alpha + filter_out beta + filter_out rc # Add package-specific overrides here, e.g. here for fmt: - [ "$PACKAGE" = fmt ] && filter v0.11 + [ "$PACKAGE" = fmt ] && filter_out v0.11 LATEST=$(echo "$TAGS" | jq -r '.[0].name') + [ "$LATEST" = "null" ] && echo "-- * Up-to-date" && continue [ "$LATEST" = "$TAG" ] && [ "$FORCE" != "true" ] && echo "-- * Up-to-date" && continue RETURN=1 diff --git a/tools/cpm/download.sh b/tools/cpm/download.sh index bc436ba0f1..1f5c5a48a0 100755 --- a/tools/cpm/download.sh +++ b/tools/cpm/download.sh @@ -20,10 +20,13 @@ download_package() { ACTUAL_HASH=$("${HASH_ALGO}"sum "$OUTFILE" | cut -d" " -f1) [ "$ACTUAL_HASH" != "$HASH" ] && echo "!! $FILENAME did not match expected hash; expected $HASH but got $ACTUAL_HASH" && exit 1 + TMPDIR="$TMP/extracted" mkdir -p "$OUTDIR" + mkdir -p "$TMPDIR" PREVDIR="$PWD" - cd "$OUTDIR" + mkdir -p "$TMPDIR" + cd "$TMPDIR" case "$FILENAME" in (*.7z) @@ -44,11 +47,16 @@ download_package() { # thanks gnu if [ "$(echo "$DIRS" | wc -l)" -eq 2 ]; then SUBDIR=$(find . -maxdepth 1 -type d -not -name ".") - mv "$SUBDIR"/* . - mv "$SUBDIR"/.* . 2>/dev/null || true + mv "$SUBDIR"/* "$OUTDIR" + mv "$SUBDIR"/.* "$OUTDIR" 2>/dev/null || true rmdir "$SUBDIR" + else + mv ./* "$OUTDIR" + mv ./.* "$OUTDIR" 2>/dev/null || true fi + cd "$OUTDIR" + if echo "$JSON" | grep -e "patches" > /dev/null; then PATCHES=$(echo "$JSON" | jq -r '.patches | join(" ")') for patch in $PATCHES; do