sqlite: Build canonical source with tcl

See
https://github.com/sqlite/sqlite/blob/051e942f5db1cbc3fce64d3a52df7428fe517de4/autoconf/README.txt#L27-L40
for motivation

Also adds support for the TCL sqlite library
This commit is contained in:
Silvan Mosberger
2026-01-12 14:32:21 +01:00
parent a12bc43499
commit a3987ff328
@@ -3,6 +3,7 @@
stdenv, stdenv,
fetchurl, fetchurl,
unzip, unzip,
tcl,
zlib, zlib,
readline, readline,
ncurses, ncurses,
@@ -32,8 +33,8 @@ stdenv.mkDerivation rec {
# nixpkgs-update: no auto update # nixpkgs-update: no auto update
# NB! Make sure to update ./tools.nix src (in the same directory). # NB! Make sure to update ./tools.nix src (in the same directory).
src = fetchurl { src = fetchurl {
url = "https://sqlite.org/2026/sqlite-autoconf-${archiveVersion version}.tar.gz"; url = "https://sqlite.org/2026/sqlite-src-${archiveVersion version}.zip";
hash = "sha256-+9ifhmsUA7tmoUMGVEAInddhAPIjgxTZInSggtTyt7s="; hash = "sha256-hREPdi1QeUFNmd1deRe8P/fgWHbmzL0T2ElqOBfyCCk=";
}; };
docsrc = fetchurl { docsrc = fetchurl {
url = "https://sqlite.org/2026/sqlite-doc-${archiveVersion version}.zip"; url = "https://sqlite.org/2026/sqlite-doc-${archiveVersion version}.zip";
@@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
unzip unzip
tcl
]; ];
buildInputs = [ buildInputs = [
zlib zlib
@@ -74,10 +76,13 @@ stdenv.mkDerivation rec {
# on a per-output basis. # on a per-output basis.
setOutputFlags = false; setOutputFlags = false;
env.TCLLIBDIR = "${placeholder "out"}/lib";
configureFlags = [ configureFlags = [
"--bindir=${placeholder "bin"}/bin" "--bindir=${placeholder "bin"}/bin"
"--includedir=${placeholder "dev"}/include" "--includedir=${placeholder "dev"}/include"
"--libdir=${placeholder "out"}/lib" "--libdir=${placeholder "out"}/lib"
"--with-tcl=${lib.getLib tcl}/lib"
] ]
++ lib.optional (!interactive) "--disable-readline" ++ lib.optional (!interactive) "--disable-readline"
# autosetup only looks up readline.h in predefined set of directories. # autosetup only looks up readline.h in predefined set of directories.