1{ lib, stdenv, fetchurl, unzip, sqlite, tcl, Foundation }:
2
3let
4 archiveVersion = import ./archive-version.nix lib;
5 mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
6 inherit pname;
7 version = "3.36.0";
8
9 src = assert version == sqlite.version; fetchurl {
10 url = "https://sqlite.org/2021/sqlite-src-${archiveVersion version}.zip";
11 sha256 = "092khwfm0m0i80sjb4fc5569jj0kilm6pa867w0akcv6h38bk8r5";
12 };
13
14 nativeBuildInputs = [ unzip ];
15 buildInputs = [ tcl ] ++ lib.optional stdenv.isDarwin Foundation;
16
17 makeFlags = [ makeTarget ];
18
19 installPhase = "install -Dt $out/bin ${makeTarget}";
20
21 meta = with lib; {
22 inherit description homepage;
23 downloadPage = "http://sqlite.org/download.html";
24 license = licenses.publicDomain;
25 maintainers = with maintainers; [ johnazoidberg ];
26 platforms = platforms.unix;
27 };
28 };
29in
30{
31 sqldiff = mkTool {
32 pname = "sqldiff";
33 makeTarget = "sqldiff";
34 description = "A tool that displays the differences between SQLite databases";
35 homepage = "https://www.sqlite.org/sqldiff.html";
36 };
37 sqlite-analyzer = mkTool {
38 pname = "sqlite-analyzer";
39 makeTarget = "sqlite3_analyzer";
40 description = "A tool that shows statistics about SQLite databases";
41 homepage = "https://www.sqlite.org/sqlanalyze.html";
42 };
43}