Skip to content

V3.0.2 merge upgrade deps add new distros #5033

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 32 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d81aaa3
add fedora42
mirostauder May 27, 2025
4ab0ad9
update deps and fix issues
mirostauder May 27, 2025
5bb5d87
replace sed actions with patch files
mirostauder May 27, 2025
9e761f0
cleanups
mirostauder May 27, 2025
52a3418
fix almalinux8
mirostauder May 27, 2025
6b14554
fix ubuntu22-tap builds, cleanups
mirostauder May 28, 2025
306b70b
add centos10
mirostauder May 30, 2025
c919529
add almalinux10
mirostauder May 30, 2025
3dcb5ca
upgrade curl to v8.14.0
mirostauder May 30, 2025
6b6a951
upgrade libmicrohttpd to v1.0.1
mirostauder May 30, 2025
0b815e3
upgrade sqlite3 to v3.50.0
mirostauder May 30, 2025
b66df68
upgrade nlohmann json to v3.12.0
mirostauder May 30, 2025
730fc4c
Merge branch 'v3.0-upgrade_json' into v3.0.2-upgrade_deps
mirostauder Jun 13, 2025
765eaa8
Merge branch 'v3.0-upgrade_libmicrohttpd' into v3.0.2-upgrade_deps
mirostauder Jun 13, 2025
9f9a741
Merge branch 'v3.0-upgrade_sqlite3' into v3.0.2-upgrade_deps
mirostauder Jun 13, 2025
eabbe1f
Revert "upgrade nlohmann json to v3.12.0"
mirostauder Jun 13, 2025
4fac35c
Make deps/json easily integrable with cmake projects
wazir-ahmed Jun 12, 2025
b0a8016
deps: Add abseil-cpp
wazir-ahmed Jun 13, 2025
8fcd0c3
deps: Build clickhouse with deps/abseil
wazir-ahmed Jun 13, 2025
1ac85b0
make: Add json include path in lib and test
wazir-ahmed Jun 13, 2025
d439ecd
Install curl in local directory
wazir-ahmed Jun 12, 2025
64c388a
fix almalinux8 and opensuse15
mirostauder Jun 16, 2025
fffb05f
upgrade prometheus-cpp to v1.3.0
mirostauder Jun 18, 2025
308c205
Merge branch 'v3.0-upgrade_prometheus-cpp' into v3.0.2-upgrade_deps
mirostauder Jun 18, 2025
2c82ae7
fix JSON includes for tap tests
mirostauder Jun 18, 2025
5af4304
Merge branch 'v3.0-add_fedora42_builds' into v3.0.2-add_new_distros
mirostauder Jun 30, 2025
6eaf124
Merge branch 'v3.0-add_centos10_builds' into v3.0.2-add_new_distros
mirostauder Jun 30, 2025
0c98b14
add support for debian13
mirostauder Jun 30, 2025
a0780ac
Merge branch 'v3.0-add_debian13_builds' into v3.0.2-add_new_distros
mirostauder Jun 30, 2025
7b24499
update deps and fix issues for fedora42
mirostauder May 27, 2025
7ab0932
fix bad merge
mirostauder Jul 3, 2025
28f15b5
Merge remote-tracking branch 'origin/v3.0.2-upgrade_deps' into v3.0.2…
mirostauder Jul 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ deps/sqlite3/sqlite-amalgamation-*/
deps/coredumper/coredumper-*/
deps/postgresql/postgresql-*/
deps/libusual/libusual-*/
deps/json/json-*/
deps/abseil/abseil-cpp-*/

test/.vagrant
.DS_Store
Expand Down
17 changes: 9 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ ifneq (,$(findstring $(OS),Darwin FreeBSD))
LEGACY_BUILD := 1
export CC=gcc
export CXX=g++
export AR=ar
endif
export MAKEOPT := -j${NPROCS}

Expand Down Expand Up @@ -315,21 +316,21 @@ pkglist: $(REL_ARCH)-pkglist

amd64-%: SYS_ARCH := x86_64
amd64-packages: amd64-centos amd64-ubuntu amd64-debian amd64-fedora amd64-opensuse amd64-almalinux
amd64-almalinux: almalinux8 almalinux8-clang almalinux8-dbg almalinux9 almalinux9-clang almalinux9-dbg
amd64-centos: centos9 centos9-clang centos9-dbg
amd64-debian: debian12 debian12-clang debian12-dbg
amd64-fedora: fedora40 fedora40-clang fedora40-dbg fedora41 fedora41-clang fedora41-dbg
amd64-almalinux: almalinux8 almalinux8-clang almalinux8-dbg almalinux9 almalinux9-clang almalinux9-dbg almalinux10 almalinux10-clang almalinux10-dbg
amd64-centos: centos9 centos9-clang centos9-dbg centos10 centos10-clang centos10-dbg
amd64-debian: debian12 debian12-clang debian12-dbg debian13 debian13-clang debian13-dbg
amd64-fedora: fedora40 fedora40-clang fedora40-dbg fedora41 fedora41-clang fedora41-dbg fedora42 fedora42-clang fedora42-dbg
amd64-opensuse: opensuse15 opensuse15-clang opensuse15-dbg
amd64-ubuntu: ubuntu22 ubuntu22-clang ubuntu22-dbg ubuntu24 ubuntu24-clang ubuntu24-dbg
amd64-pkglist:
@${MAKE} -nk amd64-packages 2>/dev/null | grep -Po '(?<=binaries/)proxysql\S+$$'

arm64-%: SYS_ARCH := aarch64
arm64-packages: arm64-centos arm64-debian arm64-ubuntu arm64-fedora arm64-opensuse arm64-almalinux
arm64-almalinux: almalinux8 almalinux9
arm64-centos: centos9
arm64-debian: debian12
arm64-fedora: fedora40 fedora41
arm64-almalinux: almalinux8 almalinux9 almalinux10
arm64-centos: centos9 centos10
arm64-debian: debian12 debian13
arm64-fedora: fedora40 fedora41 fedora42
arm64-opensuse: opensuse15
arm64-ubuntu: ubuntu22 ubuntu24
arm64-pkglist:
Expand Down
115 changes: 88 additions & 27 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ endif
UNAME_S := $(shell uname -s)
UNAME_M := $(shell uname -m)

DISTRO := $(shell grep '^ID=' /etc/os-release | cut -d= -f2 | tr -d '"')
DISTRO := $(shell grep '^ID=' /etc/os-release | cut -d= -f2 | tr -d '"' | cut -d' ' -f1 | cut -d- -f1)
DISTVERS := $(shell grep '^VERSION=' /etc/os-release | cut -d= -f2 | tr -d '"' | cut -d' ' -f1 | cut -d. -f1)

CENTOSVER := Unknown
ifneq (,$(wildcard /etc/system-release))
Expand Down Expand Up @@ -45,7 +46,28 @@ endif
STDCPP := -std=c++$(shell echo $(CPLUSPLUS) | cut -c3-4) -DCXX$(shell echo $(CPLUSPLUS) | cut -c3-4)


targets := check_openssl_version libconfig libdaemon jemalloc mariadb_client re2 sqlite3 pcre lz4 cityhash microhttpd curl ev libhttpserver libinjection prometheus-cpp postgresql libusual libscram
targets := check_openssl_version \
libconfig \
libdaemon \
jemalloc \
mariadb_client \
re2 \
sqlite3 \
pcre \
lz4 \
cityhash \
microhttpd \
curl \
ev \
libhttpserver \
libinjection \
prometheus-cpp \
postgresql \
libusual \
libscram \
json \
abseil

ifeq ($(UNAME_S),Linux)
targets += coredumper
endif
Expand All @@ -60,9 +82,13 @@ default: $(targets)

### deps targets

include ../common_mk/openssl_flags.mk
include ../common_mk/openssl_version_check.mk


libinjection/libinjection/src/libinjection.a:
cd libinjection && rm -rf libinjection-*/ || true
cd libinjection && tar -zxf libinjection-3.10.0.tar.gz
cd libinjection && tar -zxf libinjection-*.tar.gz

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The tar command extracts the archive without specifying a target directory. This could lead to files being extracted in the current directory, potentially mixing with existing files. It's safer to extract to a subdirectory to keep things organized. Consider adding -C libinjection to the tar command to extract the contents into the libinjection directory.

ifneq ($(CENTOSVER),6)
cd libinjection/libinjection && patch -p1 < ../update-build-py3.diff
cd libinjection/libinjection && patch -p1 < ../libinjection_sqli.c.patch
Expand All @@ -76,8 +102,6 @@ endif

libinjection: libinjection/libinjection/src/libinjection.a

include ../common_mk/openssl_flags.mk
include ../common_mk/openssl_version_check.mk

libhttpserver/libhttpserver/build/src/.libs/libhttpserver.a: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a re2/re2/obj/libre2.a
cd libhttpserver && rm -rf libhttpserver-*/ || true
Expand Down Expand Up @@ -114,26 +138,28 @@ coredumper/coredumper/src/libcoredumper.a:
cd coredumper/coredumper && patch -p1 < ../includes.patch
cd coredumper/coredumper && cmake . -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug
cd coredumper/coredumper && CC=${CC} CXX=${CXX} ${MAKE}

coredumper: coredumper/coredumper/src/libcoredumper.a

curl/curl/lib/.libs/libcurl.a:


curl/curl/local/lib/libcurl.a:
cd curl && rm -rf curl-*/ || true
cd curl && tar -zxf curl-*.tar.gz
# cd curl/curl && ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-crypto-auth --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --with-ssl=$(shell pwd)/../../libssl/openssl/ && CC=${CC} CXX=${CXX} ${MAKE}
cd curl/curl && autoreconf -fi
ifeq ($(UNAME_S),Darwin)
cd curl/curl && patch configure < ../configure.patch
endif
cd curl/curl && CPPFLAGS="-I$(SSL_IDIR)" LDFLAGS="$(LIB_SSL_PATH) $(LIB_CRYPTO_PATH)" ./configure --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --without-librtmp --without-libpsl --without-zstd --with-ssl --enable-shared=yes
cd curl/curl && CPPFLAGS="-I$(SSL_IDIR)" LDFLAGS="$(LIB_SSL_PATH) $(LIB_CRYPTO_PATH)" ./configure --prefix=$(abspath ./curl/curl/local) --disable-debug --disable-ftp --disable-ldap --disable-ldaps --disable-rtsp --disable-proxy --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-ntlm-wb --disable-tls-srp --without-nghttp2 --without-libidn2 --without-libssh2 --without-brotli --without-librtmp --without-libpsl --without-zstd --with-ssl --enable-shared=yes
cd curl/curl && CFLAGS=-fPIC CC=${CC} CXX=${CXX} ${MAKE}
cd curl/curl && ${MAKE} install
Comment on lines +153 to +155

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The configure script is executed without specifying an installation prefix. This can lead to files being installed in system directories, potentially causing conflicts with other software. It's recommended to use --prefix=$(abspath ./curl/curl/local) to install the library in a local directory.


curl: curl/curl/lib/.libs/libcurl.a
curl: curl/curl/local/lib/libcurl.a


libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a:
cd libmicrohttpd && rm -rf libmicrohttpd-*/ || true
cd libmicrohttpd && tar -zxf libmicrohttpd-*.tar.gz
# cd libmicrohttpd/libmicrohttpd && patch src/microhttpd/connection.c < ../connection.c-snprintf-overflow.patch
cd libmicrohttpd/libmicrohttpd && ./configure --enable-https && CC=${CC} CXX=${CXX} ${MAKE}

microhttpd: libmicrohttpd/libmicrohttpd/src/microhttpd/.libs/libmicrohttpd.a
Expand All @@ -156,20 +182,21 @@ lz4/lz4/lib/liblz4.a:
lz4: lz4/lz4/lib/liblz4.a


clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib-static.a:
clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib.a: abseil
cd clickhouse-cpp && rm -rf clickhouse-cpp-*/ || true
cd clickhouse-cpp && tar -zxf v2.3.0.tar.gz
cd clickhouse-cpp && ln -fs clickhouse-cpp-*/ clickhouse-cpp
cd clickhouse-cpp/clickhouse-cpp && patch clickhouse/base/wire_format.h < ../wire_format.patch
cd clickhouse-cpp/clickhouse-cpp && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .
cd clickhouse-cpp && tar -zxf clickhouse-cpp-*.tar.gz
cd clickhouse-cpp/clickhouse-cpp && patch -p0 < ../fix_ciso646.patch
cd clickhouse-cpp/clickhouse-cpp && cmake . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_PREFIX_PATH=$(abspath abseil/abseil-cpp/local)
Comment on lines +189 to +191

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The cmake command is executed without specifying CMAKE_INSTALL_PREFIX. This can lead to files being installed in system directories, potentially causing conflicts with other software. It's recommended to use -DCMAKE_INSTALL_PREFIX=$(abspath abseil/abseil-cpp/local) to install the library in a local directory.

cd clickhouse-cpp/clickhouse-cpp && CC=${CC} CXX=${CXX} ${MAKE}

clickhouse-cpp: clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib-static.a
clickhouse-cpp: clickhouse-cpp/clickhouse-cpp/clickhouse/libclickhouse-cpp-lib.a


libdaemon/libdaemon/libdaemon/.libs/libdaemon.a:
cd libdaemon && rm -rf libdaemon-*/ || true
cd libdaemon && tar -zxf libdaemon-0.14.tar.gz
cd libdaemon && tar -zxf libdaemon-*.tar.gz
cd libdaemon/libdaemon && patch -p0 < ../daemon_fork_umask.patch
cd libdaemon/libdaemon && cp ../config.guess . && chmod +x config.guess && cp ../config.sub . && chmod +x config.sub && ./configure --disable-examples
cd libdaemon/libdaemon && CC=${CC} CXX=${CXX} ${MAKE}
Expand All @@ -179,7 +206,7 @@ libdaemon: libdaemon/libdaemon/libdaemon/.libs/libdaemon.a

jemalloc/jemalloc/lib/libjemalloc.a:
cd jemalloc && rm -rf jemalloc-*/ || true
cd jemalloc && tar --no-same-owner -jxf jemalloc-5.2.0.tar.bz2
cd jemalloc && tar --no-same-owner -jxf jemalloc-*.tar.bz2
cd jemalloc/jemalloc && patch src/jemalloc.c < ../issue823.520.patch
cd jemalloc/jemalloc && patch src/jemalloc.c < ../issue2358.patch
cd jemalloc/jemalloc && patch -p0 < ../nothrow.patch
Expand All @@ -192,7 +219,7 @@ jemalloc: jemalloc/jemalloc/lib/libjemalloc.a

mariadb-client-library/mariadb_client/libmariadb/libmariadbclient.a:
cd mariadb-client-library && rm -rf mariadb-connector-c-*/ || true
cd mariadb-client-library && tar -zxf mariadb-connector-c-3.3.8-src.tar.gz
cd mariadb-client-library && tar -zxf mariadb-connector-c-*-src.tar.gz
cd mariadb-client-library/mariadb_client && patch -p0 < ../plugin_auth_CMakeLists.txt.patch
cd mariadb-client-library/mariadb_client && cmake . -Wno-dev -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOPENSSL_ROOT_DIR=$(SSL_IDIR) -DOPENSSL_LIBRARIES=$(SSL_LDIR) -DICONV_LIBRARIES=$(brew --prefix libiconv)/lib -DICONV_INCLUDE=$(brew --prefix libiconv)/include .
ifeq ($(PROXYDEBUG),1)
Expand Down Expand Up @@ -234,6 +261,8 @@ endif
cd mariadb-client-library/mariadb_client && patch -p0 < ../mariadb_rpl.patch
cd mariadb-client-library/mariadb_client && patch -p0 < ../cmakelists.txt.patch
cd mariadb-client-library/mariadb_client && patch -p0 < ../mariadb_lib.c.metadata_column_check.patch
cd mariadb-client-library/mariadb_client && patch -p0 < ../fix_bool.patch

cd mariadb-client-library/mariadb_client && CC=${CC} CXX=${CXX} ${MAKE} mariadbclient
# cd mariadb-client-library/mariadb_client/include && make my_config.h

Expand All @@ -243,22 +272,23 @@ mariadb_client: mariadb-client-library/mariadb_client/libmariadb/libmariadbclien
sqlite3/sqlite3/sqlite3.o:
cd sqlite3 && rm -rf sqlite-amalgamation-*/ || true
cd sqlite3 && tar -zxf sqlite-amalgamation-*.tar.gz
cd sqlite3/sqlite3 && patch -p1 < ../from_unixtime.patch
cd sqlite3/sqlite3 && patch sqlite3.c < ../sqlite3.c-multiplication-overflow.patch
cd sqlite3/sqlite3 && patch -p0 < ../from_unixtime.patch
cd sqlite3/sqlite3 && patch -p0 < ../sqlite3_pass_exts.patch
cd sqlite3/sqlite3 && patch -p0 < ../throw.patch
cd sqlite3/sqlite3 && ${CC} ${MYCFLAGS} -fPIC -c -o sqlite3.o sqlite3.c -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_JSON1 -DSQLITE_DLL=1
cd sqlite3/sqlite3 && ${CC} -shared -o libsqlite3.so sqlite3.o

sqlite3: sqlite3/sqlite3/sqlite3.o

libconfig/libconfig/lib/.libs/libconfig++.a:

libconfig/libconfig/out/libconfig++.a:
cd libconfig && rm -rf libconfig-*/ || true
cd libconfig && tar -zxf libconfig-*.tar.gz
cd libconfig/libconfig && ./configure --disable-examples
cd libconfig/libconfig && cmake -DBUILD_SHARED_LIBS=0 -DBUILD_EXAMPLES=0 -DBUILD_TESTS=0 -DBUILD_FUZZERS=0 .
cd libconfig/libconfig && CC=${CC} CXX=${CXX} ${MAKE}

libconfig: libconfig/libconfig/lib/.libs/libconfig++.a

libconfig: libconfig/libconfig/out/libconfig++.a


prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a:
Expand All @@ -267,7 +297,7 @@ prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a:
cd prometheus-cpp && tar --strip-components=1 -zxf civetweb-*.tar.gz -C prometheus-cpp/3rdparty/civetweb
cd prometheus-cpp/prometheus-cpp && patch -p1 < ../serial_exposer.patch
cd prometheus-cpp/prometheus-cpp && patch -p1 < ../registry_counters_reset.patch
cd prometheus-cpp/prometheus-cpp && patch -p1 < ../fix_old_distros.patch
# cd prometheus-cpp/prometheus-cpp && patch -p1 < ../fix_old_distros.patch
cd prometheus-cpp/prometheus-cpp && cmake . -DBUILD_SHARED_LIBS=OFF -DENABLE_TESTING=OFF -DENABLE_PUSH=OFF
cd prometheus-cpp/prometheus-cpp && CC=${CC} CXX=${CXX} ${MAKE}

Expand Down Expand Up @@ -301,6 +331,7 @@ pcre/pcre/.libs/libpcre.a:

pcre: pcre/pcre/.libs/libpcre.a


postgresql/postgresql/src/interfaces/libpq/libpq.a:
cd postgresql && rm -rf postgresql-*/ || true
cd postgresql && tar -zxf postgresql-*.tar.gz
Expand All @@ -314,6 +345,7 @@ postgresql/postgresql/src/interfaces/libpq/libpq.a:

postgresql: postgresql/postgresql/src/interfaces/libpq/libpq.a


libusual/libusual/.libs/libusual.a:
cd libusual && rm -rf libusual-*/ || true
cd libusual && tar -zxf libusual-*.tar.gz
Expand All @@ -323,12 +355,40 @@ libusual/libusual/.libs/libusual.a:

libusual: libusual/libusual/.libs/libusual.a


libscram/lib/libscram.a:postgresql/postgresql/src/interfaces/libpq/libpq.a
cd libscram && rm -rf lib/* || true
cd libscram && CC=${CC} CXX=${CXX} ${MAKE} LIBOPENSSL_DIR="$(SSL_IDIR)" POSTGRESQL_DIR="$(shell pwd)/postgresql/postgresql/"

libscram: libscram/lib/libscram.a


json/json/include/nlohmann/json.hpp:
cd json && rm -rf json-*/ || true
cd json && tar -zxf json-*.tar.gz
cd json/json && cmake .

json: json/json/include/nlohmann/json.hpp


abseil/abseil-cpp/local/lib/libabsl.a:
cd abseil && rm -rf abseil-cpp-*/ || true
cd abseil && tar -zxf abseil-cpp-*.tar.gz
cd abseil/abseil-cpp && mkdir -p build
ifneq (,$(filter $(DISTRO)$(DISTVERS),almalinux8 opensuse15))
cd abseil/abseil-cpp && patch -p0 < ../constexpr.patch
endif
cd abseil/abseil-cpp/build && cmake .. -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' -DCMAKE_INSTALL_PREFIX=../local -DBUILD_TESTING=OFF
cd abseil/abseil-cpp/build && CC=${CC} CXX=${CXX} ${MAKE}
cd abseil/abseil-cpp/build && ${MAKE} install
cd abseil/abseil-cpp/local && ln -fsT lib64 lib || true
#cd abseil/abseil-cpp/local/lib && ${AR} -crs --thin libabsl.a *.a # older ar doesn't support --thin
cd abseil/abseil-cpp/local/lib && ls libabsl_*.a | xargs -n1 ${AR} -x
cd abseil/abseil-cpp/local/lib && ${AR} -crs libabsl.a *.o && rm *.o

abseil: abseil/abseil-cpp/local/lib/libabsl.a


### clean targets

cleanpart:
Expand All @@ -348,7 +408,7 @@ cleanall:
cd re2 && rm -rf re2-*/ || true
cd pcre && rm -rf pcre-*/ || true
cd sqlite3 && rm -rf sqlite-amalgamation-*/ || true
cd clickhouse-cpp/ && rm -rf clickhouse-cpp-* || true
cd clickhouse-cpp/ && rm -rf clickhouse-cpp-*/ || true
cd lz4 && rm -rf lz4-*/ || true
cd libmicrohttpd && rm -rf libmicrohttpd-*/ || true
cd curl && rm -rf curl-*/ || true
Expand All @@ -360,5 +420,6 @@ cleanall:
cd postgresql && rm -rf postgresql-*/ || true
cd libusual && rm -rf libusual-*/ || true
cd libscram && rm -rf lib/* obj/* || true
cd json && rm -rf json-*/ || true
cd abseil && rm -rf abseil-cpp-*/ || true
.PHONY: cleanall

1 change: 1 addition & 0 deletions deps/abseil/abseil-cpp
Binary file added deps/abseil/abseil-cpp-20250512.0.tar.gz
Binary file not shown.
74 changes: 74 additions & 0 deletions deps/abseil/constexpr.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
--- absl/time/time.h 2025-05-12 17:41:36.000000000 +0000
+++ ../time.h 2025-06-15 22:04:19.463661983 +0000
@@ -620,9 +620,9 @@
//
// absl::Duration d = absl::Milliseconds(1500);
// int64_t isec = absl::ToInt64Seconds(d); // isec == 1
-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Nanoseconds(Duration d);
-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Microseconds(Duration d);
-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Milliseconds(Duration d);
+ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Nanoseconds(Duration d);
+ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Microseconds(Duration d);
+ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Milliseconds(Duration d);
ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Seconds(Duration d);
ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Minutes(Duration d);
ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Hours(Duration d);
@@ -964,9 +964,9 @@
//
// Creates an `absl::Time` from a variety of other representations. See
// https://unicode-org.github.io/icu/userguide/datetime/universaltimescale.html
-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixNanos(int64_t ns);
-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMicros(int64_t us);
-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMillis(int64_t ms);
+ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUnixNanos(int64_t ns);
+ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUnixMicros(int64_t us);
+ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUnixMillis(int64_t ms);
ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixSeconds(int64_t s);
ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromTimeT(time_t t);
ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUDate(double udate);
@@ -1844,15 +1844,15 @@
return time_internal::FromChrono(d);
}

-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixNanos(int64_t ns) {
+ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUnixNanos(int64_t ns) {
return time_internal::FromUnixDuration(Nanoseconds(ns));
}

-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMicros(int64_t us) {
+ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUnixMicros(int64_t us) {
return time_internal::FromUnixDuration(Microseconds(us));
}

-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr Time FromUnixMillis(int64_t ms) {
+ABSL_ATTRIBUTE_CONST_FUNCTION Time FromUnixMillis(int64_t ms) {
return time_internal::FromUnixDuration(Milliseconds(ms));
}

@@ -1864,7 +1864,7 @@
return time_internal::FromUnixDuration(Seconds(t));
}

-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Nanoseconds(Duration d) {
+ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Nanoseconds(Duration d) {
if (time_internal::GetRepHi(d) >= 0 &&
time_internal::GetRepHi(d) >> 33 == 0) {
return (time_internal::GetRepHi(d) * 1000 * 1000 * 1000) +
@@ -1873,7 +1873,7 @@
return d / Nanoseconds(1);
}

-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Microseconds(
+ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Microseconds(
Duration d) {
if (time_internal::GetRepHi(d) >= 0 &&
time_internal::GetRepHi(d) >> 43 == 0) {
@@ -1884,7 +1884,7 @@
return d / Microseconds(1);
}

-ABSL_ATTRIBUTE_CONST_FUNCTION constexpr int64_t ToInt64Milliseconds(
+ABSL_ATTRIBUTE_CONST_FUNCTION int64_t ToInt64Milliseconds(
Duration d) {
if (time_internal::GetRepHi(d) >= 0 &&
time_internal::GetRepHi(d) >> 53 == 0) {
2 changes: 1 addition & 1 deletion deps/clickhouse-cpp/clickhouse-cpp
Binary file added deps/clickhouse-cpp/clickhouse-cpp-2.5.1.tar.gz
Binary file not shown.
Loading
Loading