at master 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 unzip, 6 sqlite, 7 tcl, 8}: 9 10let 11 archiveVersion = import ./archive-version.nix lib; 12 mkTool = 13 { 14 pname, 15 makeTarget, 16 description, 17 homepage, 18 mainProgram, 19 }: 20 stdenv.mkDerivation rec { 21 inherit pname; 22 version = "3.50.2"; 23 24 # nixpkgs-update: no auto update 25 src = 26 assert version == sqlite.version; 27 fetchurl { 28 url = "https://sqlite.org/2025/sqlite-src-${archiveVersion version}.zip"; 29 hash = "sha256-CR7uw64sy5Gqwh0OmkpYlE+yyxEvpnv/w+CMLsothcg="; 30 }; 31 32 nativeBuildInputs = [ unzip ]; 33 buildInputs = [ tcl ]; 34 35 makeFlags = [ makeTarget ]; 36 37 installPhase = "install -Dt $out/bin ${makeTarget}"; 38 39 meta = with lib; { 40 inherit description homepage mainProgram; 41 downloadPage = "http://sqlite.org/download.html"; 42 license = licenses.publicDomain; 43 maintainers = with maintainers; [ johnazoidberg ]; 44 platforms = platforms.unix; 45 }; 46 }; 47in 48{ 49 sqldiff = mkTool { 50 pname = "sqldiff"; 51 makeTarget = "sqldiff"; 52 description = "Tool that displays the differences between SQLite databases"; 53 homepage = "https://www.sqlite.org/sqldiff.html"; 54 mainProgram = "sqldiff"; 55 }; 56 sqlite-analyzer = mkTool { 57 pname = "sqlite-analyzer"; 58 makeTarget = "sqlite3_analyzer"; 59 description = "Tool that shows statistics about SQLite databases"; 60 homepage = "https://www.sqlite.org/sqlanalyze.html"; 61 mainProgram = "sqlite3_analyzer"; 62 }; 63 sqlite-rsync = mkTool { 64 pname = "sqlite-rsync"; 65 makeTarget = "sqlite3_rsync"; 66 description = "Database remote-copy tool for SQLite"; 67 homepage = "https://www.sqlite.org/rsync.html"; 68 mainProgram = "sqlite3_rsync"; 69 }; 70}