nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 fetchFromGitHub,
3 lib,
4 libiconv,
5 libpg_query,
6 openssl,
7 pkg-config,
8 rustPlatform,
9 stdenv,
10}:
11rustPlatform.buildRustPackage rec {
12 pname = "squawk";
13 version = "2.34.0";
14
15 src = fetchFromGitHub {
16 owner = "sbdchd";
17 repo = "squawk";
18 tag = "v${version}";
19 hash = "sha256-SdCtZ+A4MuHhTrL5v65uDb47FeIBaGweHRXhD9crx2k=";
20 };
21
22 cargoHash = "sha256-r12pNc7C4mNYzIaE/99jrWBQ/YPqR30k90TFx1hBGR4=";
23
24 nativeBuildInputs = [
25 pkg-config
26 rustPlatform.bindgenHook
27 ];
28
29 buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [
30 libiconv
31 openssl
32 ];
33
34 env = {
35 OPENSSL_NO_VENDOR = 1;
36
37 LIBPG_QUERY_PATH = libpg_query;
38 };
39
40 checkFlags = [
41 # depends on the PostgreSQL version
42 "--skip=parse::tests::test_parse_sql_query_json"
43 ];
44
45 cargoBuildFlags = [
46 "-p squawk"
47 ];
48
49 meta = {
50 description = "Linter for PostgreSQL, focused on migrations";
51 homepage = "https://squawkhq.com";
52 changelog = "https://github.com/sbdchd/squawk/blob/v${version}/CHANGELOG.md";
53 license = with lib.licenses; [ gpl3Only ];
54 maintainers = [ ];
55 };
56}