cargo-pgrx 0.9.8

Cargo subcommand for 'pgrx' to make Postgres extension development easy
{ lib
, naersk
, hostPlatform
, postgresql_11
, postgresql_12
, postgresql_13
, pkg-config
, openssl
, rustfmt
, libiconv
, llvmPackages
, gitignoreSource
, release ? true
, callPackage
, fenixToolchain
}:

let
  cargoToml = (builtins.fromTOML (builtins.readFile ./Cargo.toml));
  naerskLib = callPackage naersk {
    cargo = fenixToolchain hostPlatform.system;
    rustc = fenixToolchain hostPlatform.system;
  };
in

naerskLib.buildPackage rec {
  name = cargoToml.package.name;
  version = cargoToml.package.version;

  src = gitignoreSource ../.;
  inherit release;

  cargoBuildOptions = final: final ++ [ "--package" "cargo-pgrx" ];
  cargoTestOptions = final: final ++ [ "--package" "cargo-pgrx" ];

  nativeBuildInputs = [
    pkg-config
  ];
  buildInputs = [
    openssl
    libiconv
  ];

  LIBCLANG_PATH = "${llvmPackages.libclang}/lib";

  meta = with lib; {
    description = cargoToml.package.description;
    homepage = cargoToml.package.homepage;
    license = with licenses; [ mit ];
    maintainers = with maintainers; [ hoverbear ];
  };
}