core/pkgs/by-name/sq/sqlite/tools.nix
2024-06-30 09:12:46 +01:00

65 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchurl,
unzip,
sqlite,
tcl,
Foundation,
}:
let
archiveVersion = import ./archive-version.nix lib;
mkTool =
{
pname,
makeTarget,
description,
homepage,
mainProgram,
}:
stdenv.mkDerivation rec {
inherit pname;
version = "3.45.2";
# nixpkgs-update: no auto update
src =
assert version == sqlite.version;
fetchurl {
url = "https://sqlite.org/2024/sqlite-src-${archiveVersion version}.zip";
hash = "sha256-SkWjV3zIr2g8S9TG6Bp8eCxbfV2qBhdeosuXHKcWkbE=";
};
nativeBuildInputs = [ unzip ];
buildInputs = [ tcl ] ++ lib.optional stdenv.isDarwin Foundation;
makeFlags = [ makeTarget ];
installPhase = "install -Dt $out/bin ${makeTarget}";
meta = with lib; {
inherit description homepage mainProgram;
downloadPage = "http://sqlite.org/download.html";
license = licenses.publicDomain;
maintainers = with maintainers; [ johnazoidberg ];
platforms = platforms.unix;
};
};
in
{
sqldiff = mkTool {
pname = "sqldiff";
makeTarget = "sqldiff";
description = "A tool that displays the differences between SQLite databases";
homepage = "https://www.sqlite.org/sqldiff.html";
mainProgram = "sqldiff";
};
sqlite-analyzer = mkTool {
pname = "sqlite-analyzer";
makeTarget = "sqlite3_analyzer";
description = "A tool that shows statistics about SQLite databases";
homepage = "https://www.sqlite.org/sqlanalyze.html";
mainProgram = "sqlite3_analyzer";
};
}