about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/rust/cargo-pgrx/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/rust/cargo-pgrx/default.nix')
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-pgrx/default.nix90
1 files changed, 63 insertions, 27 deletions
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-pgrx/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-pgrx/default.nix
index a0d2657702a5..3aa7003b7567 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-pgrx/default.nix
+++ b/nixpkgs/pkgs/development/tools/rust/cargo-pgrx/default.nix
@@ -1,38 +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!";
-    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=";
   };
 }