From c577ce0f3bb7ccb0e7c55d315f6cdc48c9b4f669 Mon Sep 17 00:00:00 2001 From: Yogthos Date: Wed, 30 Sep 2026 15:01:56 -0400 Subject: [PATCH] Load sqlite on Windows and drop clojure.jdbc's mem: file The clojure.jdbc pin carried an empty file named mem:, and Windows can't check out a path with a colon, so no project depending on this library could fetch it there. clojure.jdbc#4 removes it. The native declarations also had no :windows key, and jolt reads only the running platform's, so sqlite was never found on Windows. They now name the official, MSYS2 and System32 DLLs. --- deps.edn | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/deps.edn b/deps.edn index 0c8ca3f..a537430 100644 --- a/deps.edn +++ b/deps.edn @@ -23,7 +23,7 @@ ;; jdbc.util/lower-case calls (Locale/US), which that library provides rather ;; than jolt core (RFC 0008), and it sits in the path of every insert. :deps {io.github.yogthos/clojure.jdbc {:git/url "https://github.com/yogthos/clojure.jdbc.git" - :git/sha "9fc25d66492164ce204960d6d7b1531e194e2193"} + :git/sha "f6c88efb2db79533047f2aa8c4e490cfed500bcd"} io.github.jolt-lang/time {:git/url "https://github.com/jolt-lang/time.git" :git/sha "33c5e9831c046cfcbe68bc0c9c33e92568eaebb1"}} @@ -32,12 +32,17 @@ ;; before the namespaces are required. libsqlite3 ships on macOS and most Linux ;; distros; libpq is optional — only the postgres backend uses it, so a ;; sqlite-only app runs fine without it present. + ;; On Windows jolt reads only the :windows key, so without one the library is + ;; never found. sqlite3.dll is the official build, libsqlite3-0.dll MSYS2's, + ;; and winsqlite3.dll the copy Windows 10 and later ship in System32. :jolt/native [{:name "sqlite3" - :darwin ["libsqlite3.0.dylib" "libsqlite3.dylib"] - :linux ["libsqlite3.so.0" "libsqlite3.so"]} + :darwin ["libsqlite3.0.dylib" "libsqlite3.dylib"] + :linux ["libsqlite3.so.0" "libsqlite3.so"] + :windows ["sqlite3.dll" "libsqlite3-0.dll" "winsqlite3.dll"]} {:name "pq" - :darwin ["libpq.5.dylib" "libpq.dylib"] - :linux ["libpq.so.5" "libpq.so"] + :darwin ["libpq.5.dylib" "libpq.dylib"] + :linux ["libpq.so.5" "libpq.so"] + :windows ["libpq.dll"] :optional true}] :aliases {:test {:extra-paths ["clj-test"]