chatdesk-ui/postgres_15.8.1.044/nix/ext/pg_graphql.nix

48 lines
1.3 KiB
Nix

{ lib, stdenv, fetchFromGitHub, postgresql, buildPgrxExtension_0_12_9, cargo, rust-bin }:
let
rustVersion = "nightly";
cargo = rust-bin.nightly.latest.default;
in
buildPgrxExtension_0_12_9 rec {
pname = "pg_graphql";
version = "1.5.11";
inherit postgresql;
src = fetchFromGitHub {
owner = "supabase";
repo = pname;
rev = "v${version}";
hash = "sha256-BMZc9ui+2J3U24HzZZVCU5+KWhz+5qeUsRGeptiqbek=";
};
nativeBuildInputs = [ cargo ];
buildInputs = [ postgresql ];
CARGO = "${cargo}/bin/cargo";
cargoLock = {
lockFile = "${src}/Cargo.lock";
};
# Setting RUSTFLAGS in env to ensure it's available for all phases
env = lib.optionalAttrs stdenv.isDarwin {
POSTGRES_LIB = "${postgresql}/lib";
PGPORT = "5434";
RUSTFLAGS = "-C link-arg=-undefined -C link-arg=dynamic_lookup";
NIX_BUILD_CORES = "4"; # Limit parallel jobs
CARGO_BUILD_JOBS = "4"; # Limit cargo parallelism
};
CARGO_BUILD_RUSTFLAGS = "--cfg tokio_unstable -C debuginfo=0";
CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG = true;
doCheck = false;
meta = with lib; {
description = "GraphQL support for PostreSQL";
homepage = "https://github.com/supabase/${pname}";
maintainers = with maintainers; [ samrose ];
platforms = postgresql.meta.platforms;
license = licenses.postgresql;
};
}