diff options
Diffstat (limited to 'pkgs/development/tools/rust/cargo-pgrx/default.nix')
-rw-r--r-- | pkgs/development/tools/rust/cargo-pgrx/default.nix | 91 |
1 files changed, 63 insertions, 28 deletions
diff --git a/pkgs/development/tools/rust/cargo-pgrx/default.nix b/pkgs/development/tools/rust/cargo-pgrx/default.nix index 85fc916104ad..3aa7003b7567 100644 --- a/pkgs/development/tools/rust/cargo-pgrx/default.nix +++ b/pkgs/development/tools/rust/cargo-pgrx/default.nix @@ -1,39 +1,74 @@ -{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, Security }: +{ lib +, darwin +, fetchCrate +, openssl +, pkg-config +, rustPlatform +, stdenv +}: let - pname = "cargo-pgrx"; - version = "0.11.2"; -in -rustPlatform.buildRustPackage rec { - inherit version pname; + generic = + { version + , hash + , cargoHash + }: + rustPlatform.buildRustPackage rec { + pname = "cargo-pgrx"; - src = fetchCrate { - inherit version pname; - hash = "sha256-8NlpMDFaltTIA8G4JioYm8LaPJ2RGKH5o6sd6lBHmmM="; - }; + inherit version; + + src = fetchCrate { + inherit version pname hash; + }; + + inherit cargoHash; - cargoHash = "sha256-qTb3JV3u42EilaK2jP9oa5D09mkuHyRbGGRs9Rg4TzI="; + nativeBuildInputs = lib.optionals stdenv.isLinux [ + pkg-config + ]; - nativeBuildInputs = [ pkg-config ]; + buildInputs = lib.optionals stdenv.isLinux [ + openssl + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; - buildInputs = [ openssl ] - ++ lib.optionals stdenv.isDarwin [ Security ]; + preCheck = '' + export PGRX_HOME=$(mktemp -d) + ''; - preCheck = '' - export PGRX_HOME=$(mktemp -d) - ''; + checkFlags = [ + # requires pgrx to be properly initialized with cargo pgrx init + "--skip=command::schema::tests::test_parse_managed_postmasters" + ]; - checkFlags = [ - # requires pgrx to be properly initialized with cargo pgrx init - "--skip=command::schema::tests::test_parse_managed_postmasters" - ]; + meta = with lib; { + description = "Build Postgres Extensions with Rust"; + homepage = "https://github.com/pgcentralfoundation/pgrx"; + changelog = "https://github.com/pgcentralfoundation/pgrx/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ happysalada ]; + mainProgram = "cargo-pgrx"; + }; + }; +in +{ + cargo-pgrx_0_10_2 = generic { + version = "0.10.2"; + hash = "sha256-FqjfbJmSy5UCpPPPk4bkEyvQCnaH9zYtkI7txgIn+ls="; + cargoHash = "sha256-syZ3cQq8qDHBLvqmNDGoxeK6zXHJ47Jwkw3uhaXNCzI="; + }; + + cargo-pgrx_0_11_2 = generic { + version = "0.11.2"; + hash = "sha256-8NlpMDFaltTIA8G4JioYm8LaPJ2RGKH5o6sd6lBHmmM="; + cargoHash = "sha256-qTb3JV3u42EilaK2jP9oa5D09mkuHyRbGGRs9Rg4TzI="; + }; - meta = with lib; { - description = "Build Postgres Extensions with Rust!"; - mainProgram = "cargo-pgrx"; - homepage = "https://github.com/tcdi/pgrx"; - changelog = "https://github.com/tcdi/pgrx/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ happysalada ]; + cargo-pgrx_0_11_3 = generic { + version = "0.11.3"; + hash = "sha256-UHIfwOdXoJvR4Svha6ud0FxahP1wPwUtviUwUnTmLXU="; + cargoHash = "sha256-j4HnD8Zt9uhlV5N7ldIy9564o9qFEqs5KfXHmnQ1WEw="; }; } |