lol
at master 66 lines 1.4 kB view raw
1{ 2 lib, 3 rustPlatform, 4 buildNpmPackage, 5 fetchFromGitHub, 6 pkg-config, 7 openssl, 8 nix-update-script, 9}: 10let 11 pname = "sql-studio"; 12 version = "0.1.45"; 13 14 src = fetchFromGitHub { 15 owner = "frectonz"; 16 repo = "sql-studio"; 17 tag = version; 18 hash = "sha256-LAPJPYHCIBRrnz03s3VhFaVfmGAoIj1UrsY+u2/FaRQ="; 19 }; 20 21 ui = buildNpmPackage { 22 pname = "sql-studio-ui"; 23 inherit version src; 24 npmDepsHash = "sha256-RVVCmlfembWI+MLxt+96V2Xmczkscuw79aNPWtYlGG8="; 25 sourceRoot = "${src.name}/ui"; 26 installPhase = '' 27 runHook preInstall 28 29 cp -pr --reflink=auto -- dist "$out/" 30 31 runHook postInstall 32 ''; 33 }; 34in 35rustPlatform.buildRustPackage { 36 inherit pname version src; 37 38 cargoHash = "sha256-Dtstp9xEWGau+OJ6471gCEC5eWneiPj03pBMxYBr7DI="; 39 40 nativeBuildInputs = [ pkg-config ]; 41 42 buildInputs = [ openssl ]; 43 44 preBuild = '' 45 cp -pr --reflink=auto -- ${ui} ui/dist 46 ''; 47 48 passthru = { 49 inherit ui; 50 updateScript = nix-update-script { 51 extraArgs = [ 52 "--subpackage" 53 "ui" 54 ]; 55 }; 56 }; 57 58 meta = { 59 description = "SQL Database Explorer [SQLite, libSQL, PostgreSQL, MySQL/MariaDB, ClickHouse, Microsoft SQL Server]"; 60 homepage = "https://github.com/frectonz/sql-studio"; 61 mainProgram = "sql-studio"; 62 license = lib.licenses.mit; 63 maintainers = [ lib.maintainers.frectonz ]; 64 platforms = lib.platforms.all; 65 }; 66}