48 lines
1.3 KiB
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;
|
|
};
|
|
} |