Files
nixpkgs/pkgs/development/libraries/sqlite/tools.nix
T
Silvan Mosberger 374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](https://github.com/NixOS/nixpkgs/tree/8616af08d915377bd930395f3b700a0e93d08728/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00

72 lines
1.8 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.48.0";
# nixpkgs-update: no auto update
src =
assert version == sqlite.version;
fetchurl {
url = "https://sqlite.org/2025/sqlite-src-${archiveVersion version}.zip";
hash = "sha256-LXsDK2/f6MRCqoCfhQaHqB0GOB3uzXvjMSYB0oYS5kA=";
};
nativeBuildInputs = [ unzip ];
buildInputs = [ tcl ] ++ lib.optional stdenv.hostPlatform.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 = "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 = "Tool that shows statistics about SQLite databases";
homepage = "https://www.sqlite.org/sqlanalyze.html";
mainProgram = "sqlite3_analyzer";
};
sqlite-rsync = mkTool {
pname = "sqlite-rsync";
makeTarget = "sqlite3_rsync";
description = "Database remote-copy tool for SQLite";
homepage = "https://www.sqlite.org/rsync.html";
mainProgram = "sqlite3_rsync";
};
}