Pin libxsql to v1.0.21 instead of tracking main

This series needs libxsql 1.0.21 (exact_int64 / exact_text /
Int64KeyRange). All three build paths fetched libxsql main, so a later
libxsql change could break a build of this exact source. CMake's
GIT_TAG, the meson wrap's revision and the Makefile's clone now name the
release tag; bump them together.
This commit is contained in:
Elias Bachaalany authored and pancake committed 2026-10-02 17:25:55 +02:00
1 parent 2618735bd4
commit d92f9d962d
4 files changed
+7 -6

No files matched your search

+1 -1
View File
@@ -105,7 +105,7 @@ else()
message(STATUS "r2xsql: fetching libxsql from GitHub")
FetchContent_Declare(libxsql
GIT_REPOSITORY https://github.com/0xeb/libxsql.git
GIT_TAG main
GIT_TAG v1.0.21 # needs 1.0.21: exact_int64 / exact_text / Int64KeyRange
GIT_SHALLOW TRUE)
FetchContent_MakeAvailable(libxsql)
endif()
+4 -3
View File
@@ -35,6 +35,7 @@ BUILD=build-make
# --- libxsql: sibling checkout by default, else fetched into build-make/ ------
LIBXSQL_DIR?=../libxsql
LIBXSQL_URL?=https://github.com/0xeb/libxsql.git
LIBXSQL_REF?=v1.0.21
ifeq ($(wildcard $(LIBXSQL_DIR)/CMakeLists.txt),)
LIBXSQL_DIR:=$(BUILD)/libxsql
endif
@@ -52,8 +53,8 @@ R2XSQL_INC=-I$(CWD)/src/lib/include -I$(CWD)/src/lib/src -I$(CWD)/src
# --- defines ------------------------------------------------------------------
# R2XSQL_HAVE_LIBR=1 -> compile the in-process libr backend (real, not stub).
# XSQL_VERSION_STRING -> libxsql's --version string. Derived from libxsql's own
# CMakeLists at build time so it always follows whatever libxsql main is at —
# no pinned value here (r2xsql tracks libxsql main). Override with
# CMakeLists at build time, so it follows the libxsql checkout in use (the
# pinned LIBXSQL_REF when fetched). Override with
# `make XSQL_VERSION=x` only if you must.
# (pattern has no '(' on purpose: an unbalanced paren inside $(shell ...) makes
# GNU make read it as an unterminated call.)
@@ -91,7 +92,7 @@ all: $(PLUGIN)
# libxsql fetch (only if the sibling is absent and we redirected into build-make)
$(LIBXSQL_DIR)/CMakeLists.txt:
@echo "libxsql not found at ../libxsql -- cloning $(LIBXSQL_URL)"
git clone --depth 1 $(LIBXSQL_URL) $(LIBXSQL_DIR)
git clone --depth 1 --branch $(LIBXSQL_REF) $(LIBXSQL_URL) $(LIBXSQL_DIR)
$(BUILD)/libxsql.mk: $(LIBXSQL_DIR)/CMakeLists.txt
@mkdir -p $(dir $@)
+1 -1
View File
@@ -7,7 +7,7 @@
# preference to the wrap. Otherwise this fetches the same source CMake does.
[wrap-git]
url = https://github.com/0xeb/libxsql.git
revision = main
revision = v1.0.21
depth = 1
patch_directory = libxsql
+1 -1
View File
@@ -8,7 +8,7 @@ project('libxsql', ['c', 'cpp'],
default_options: ['cpp_std=c++17'])
# Derive libxsql's version from its own CMakeLists so the --version banner
# always follows whatever libxsql main is at — no pinned value here.
# follows the libxsql checkout in use (the wrap's pinned revision when fetched).
fs = import('fs')
libxsql_ver = 'unknown'
foreach line : fs.read('CMakeLists.txt').split('\n')