Fixes CVE-2026-54341 (RESTORE operations may crash the server; affects versions < 1.39), and brings the package up to the current release. The vendored dependency patches are regenerated against the v1.39.0 helio/dragonfly CMake files, which changed a large number of third-party declarations: - Pin abseil-cpp to 20250512.1, the release helio's in-tree patches target (nixpkgs' abseil-cpp now tracks a newer version the patches no longer apply to), and bump the vendored aws-sdk-cpp and jsoncons pins. - hnswlib now comes from dragonfly's fork rather than nixpkgs, matching upstream's switch away from nmslib's hnswlib. - Vendor the new snowball stemmer dependency (built in-tree); nixpkgs' libstemmer is an older snowball release. - Drop the mimalloc 2.1.6 and jemalloc pins, which helio no longer builds. - Disable aws-sdk-cpp's git-dependent submodule-version enforcement, which cannot run in the sandbox (the source is already fetched at the exact tag with submodules). Assisted-by: Claude Code (Claude Opus 4.8)
129 lines
5.0 KiB
Diff
129 lines
5.0 KiB
Diff
diff --git a/src/external_libs.cmake b/src/external_libs.cmake
|
|
index 5a98540..1c5ab6d 100644
|
|
--- a/src/external_libs.cmake
|
|
+++ b/src/external_libs.cmake
|
|
@@ -1,7 +1,6 @@
|
|
add_third_party(
|
|
lua
|
|
- GIT_REPOSITORY https://github.com/dragonflydb/lua
|
|
- GIT_TAG Dragonfly-5.4.6a
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/lua/. <SOURCE_DIR>
|
|
CONFIGURE_COMMAND echo
|
|
BUILD_IN_SOURCE 1
|
|
BUILD_COMMAND ${DFLY_TOOLS_MAKE} all
|
|
@@ -19,20 +18,16 @@ endif()
|
|
|
|
add_third_party(
|
|
dconv
|
|
- GIT_REPOSITORY https://github.com/google/double-conversion
|
|
- # URL https://github.com/google/double-conversion/archive/refs/tags/v3.3.1.tar.gz
|
|
- GIT_TAG 0604b4c
|
|
- PATCH_COMMAND ${SED_REPL} "/static const std::ctype/d"
|
|
- <SOURCE_DIR>/double-conversion/string-to-double.cc
|
|
- COMMAND ${SED_REPL} "/std::use_facet</d" <SOURCE_DIR>/double-conversion/string-to-double.cc
|
|
- COMMAND ${SED_REPL} "s/cType.tolower/std::tolower/g" <SOURCE_DIR>/double-conversion/string-to-double.cc
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/dconv/. <SOURCE_DIR>
|
|
+ PATCH_COMMAND echo
|
|
+ CMAKE_PASS_FLAGS "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
|
LIB libdouble-conversion.a
|
|
)
|
|
|
|
add_third_party(
|
|
reflex
|
|
- URL https://github.com/Genivia/RE-flex/archive/refs/tags/v5.2.2.tar.gz
|
|
- PATCH_COMMAND autoreconf -fi
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/reflex/. <SOURCE_DIR>
|
|
+ PATCH_COMMAND echo
|
|
CONFIGURE_COMMAND <SOURCE_DIR>/configure --disable-avx2 --prefix=${THIRD_PARTY_LIB_DIR}/reflex
|
|
CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER}
|
|
)
|
|
@@ -41,16 +36,14 @@ set(REFLEX "${THIRD_PARTY_LIB_DIR}/reflex/bin/reflex")
|
|
|
|
add_third_party(
|
|
jsoncons
|
|
- GIT_REPOSITORY https://github.com/dragonflydb/jsoncons
|
|
- GIT_TAG Dragonfly1.5.0
|
|
- GIT_SHALLOW 1
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/jsoncons/. <SOURCE_DIR>
|
|
CMAKE_PASS_FLAGS "-DJSONCONS_BUILD_TESTS=OFF -DJSONCONS_HAS_POLYMORPHIC_ALLOCATOR=ON"
|
|
LIB "none"
|
|
)
|
|
|
|
add_third_party(
|
|
lz4
|
|
- URL https://github.com/lz4/lz4/archive/refs/tags/v1.10.0.tar.gz
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/lz4/. <SOURCE_DIR>
|
|
|
|
BUILD_IN_SOURCE 1
|
|
CONFIGURE_COMMAND echo skip
|
|
@@ -65,7 +58,7 @@ set(MIMALLOC_C_FLAGS "-O3 -g -DMI_STAT=1 -DNDEBUG")
|
|
file(MAKE_DIRECTORY ${MIMALLOC_INCLUDE_DIR})
|
|
|
|
ExternalProject_Add(mimalloc2_project
|
|
- URL https://github.com/microsoft/mimalloc/archive/refs/tags/v2.2.4.tar.gz
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/mimalloc224/. <SOURCE_DIR>
|
|
DOWNLOAD_DIR ${THIRD_PARTY_DIR}/mimalloc2
|
|
SOURCE_DIR ${THIRD_PARTY_DIR}/mimalloc2
|
|
# INSTALL_DIR ${MIMALLOC_ROOT_DIR}
|
|
@@ -119,23 +112,21 @@ set_target_properties(TRDP::mimalloc2 PROPERTIES IMPORTED_LOCATION ${MIMALLOC_RO
|
|
|
|
add_third_party(
|
|
croncpp
|
|
- URL https://github.com/mariusbancila/croncpp/archive/refs/tags/v2023.03.30.tar.gz
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/croncpp/. <SOURCE_DIR>
|
|
LIB "none"
|
|
)
|
|
|
|
if (WITH_SEARCH)
|
|
add_third_party(
|
|
uni-algo
|
|
- URL https://github.com/uni-algo/uni-algo/archive/refs/tags/v1.0.0.tar.gz
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/uni-algo/. <SOURCE_DIR>
|
|
|
|
CMAKE_PASS_FLAGS "-DCMAKE_CXX_STANDARD:STRING=20"
|
|
)
|
|
|
|
add_third_party(
|
|
hnswlib
|
|
- GIT_REPOSITORY https://github.com/dragonflydb/hnswlib.git
|
|
- # HEAD of dragonfly branch
|
|
- GIT_TAG d07dd1da2bf48b85d2f03b8396193ad7120f75c2
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/hnswlib/. <SOURCE_DIR>
|
|
|
|
BUILD_COMMAND echo SKIP
|
|
INSTALL_COMMAND cp -R <SOURCE_DIR>/hnswlib ${THIRD_PARTY_LIB_DIR}/hnswlib/include/
|
|
@@ -145,7 +136,7 @@ if (WITH_SEARCH)
|
|
# No autoconf/cmake/install in upstream Makefile; manual install copy.
|
|
add_third_party(
|
|
stemmer
|
|
- URL https://github.com/snowballstem/snowball/archive/refs/tags/v3.0.1.tar.gz
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/stemmer/. <SOURCE_DIR>
|
|
BUILD_IN_SOURCE 1
|
|
CONFIGURE_COMMAND echo skip
|
|
BUILD_COMMAND ${DFLY_TOOLS_MAKE} -j4 CFLAGS=-O3\ -fPIC libstemmer.a
|
|
@@ -159,21 +150,20 @@ endif()
|
|
|
|
add_third_party(
|
|
fast_float
|
|
- URL https://github.com/fastfloat/fast_float/archive/refs/tags/v5.2.0.tar.gz
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/fast_float/. <SOURCE_DIR>
|
|
LIB "none"
|
|
)
|
|
|
|
add_third_party(
|
|
flatbuffers
|
|
- URL https://github.com/google/flatbuffers/archive/refs/tags/v23.5.26.tar.gz
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/flatbuffers/. <SOURCE_DIR>
|
|
CMAKE_PASS_FLAGS "-DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_LIBCXX_WITH_CLANG=OFF
|
|
-DFLATBUFFERS_BUILD_FLATC=OFF"
|
|
)
|
|
|
|
add_third_party(
|
|
hdr_histogram
|
|
- GIT_REPOSITORY https://github.com/HdrHistogram/HdrHistogram_c/
|
|
- GIT_TAG 652d51bcc36744fd1a6debfeb1a8a5f58b14022c
|
|
+ DOWNLOAD_COMMAND cp -r ${CMAKE_BINARY_DIR}/deps-nixpkgs/hdr_histogram/. <SOURCE_DIR>
|
|
CMAKE_PASS_FLAGS "-DHDR_LOG_REQUIRED=OFF -DHDR_HISTOGRAM_BUILD_PROGRAMS=OFF
|
|
-DHDR_HISTOGRAM_INSTALL_SHARED=OFF"
|
|
LIB libhdr_histogram_static.a
|