From 90b21b50ed41404b67520bf1e24eb1b5b32538be Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Wed, 16 Sep 2026 23:02:26 +0100 Subject: [PATCH] getdeps: bump sparsemap to 0.7.0 for CMake 4 sparse-map 0.6.2 declares cmake_minimum_required(VERSION 3.1). CMake 4 removed compatibility with anything below 3.5, so on hosts whose system CMake is 4.x (Fedora 44, Homebrew, the GitHub macOS runners, and soon Ubuntu 26.04 and Debian 14) the sparsemap step fails to configure: CMake Error at CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.5 has been removed from CMake. Upstream fixed this in 0.7.0 (released 2025-11-02), which requires CMake 3.10, so take the release rather than carry a patch. 0.7.0 also moves to C++17, fixes iterator invalidation on a non-inserting insert and the serialization of small hashes, and adds a no-exceptions mode; the headers install to the same include/tsl layout. cachelib is the only manifest that depends on sparsemap, and the one internal type it reaches into, tsl::detail_sparse_hash::sparse_array, keeps the same template parameters. Tested on Fedora 44 with system CMake 4.3.0 and gcc 15, no CMAKE_POLICY_VERSION_MINIMUM anywhere on the command line: `getdeps.py --allow-system-packages build --no-tests --src-dir=. cachelib` configured and installed sparsemap 0.7.0 with no CMake error (the only CMake output of note being the < 3.10 deprecation warnings from fizz and wangle, tracked in facebook/folly#2703), compiled SparseMapIndex.cpp against the new headers with -Werror on, and linked cachebench; 51 minutes at two jobs. Co-Authored-By: Claude Fable 5.1 Signed-off-by: Michel Lind --- build/fbcode_builder/manifests/sparsemap | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/fbcode_builder/manifests/sparsemap b/build/fbcode_builder/manifests/sparsemap index 330b6439fc..4a8717d2cc 100644 --- a/build/fbcode_builder/manifests/sparsemap +++ b/build/fbcode_builder/manifests/sparsemap @@ -2,9 +2,9 @@ name = sparsemap [download] -url = https://github.com/Tessil/sparse-map/archive/refs/tags/v0.6.2.tar.gz -sha256 = 7020c21e8752e59d72e37456cd80000e18671c803890a3e55ae36b295eba99f6 +url = https://github.com/Tessil/sparse-map/archive/refs/tags/v0.7.0.tar.gz +sha256 = b603a24f596f95a06ec1d437f4cb928c2647cf9bc73b751ac6fb82deb7863d98 [build] builder = cmake -subdir = sparse-map-0.6.2/ +subdir = sparse-map-0.7.0/