diff options
author | Yt <raphael@megzari.com> | 2024-03-23 11:51:28 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-23 11:51:28 +0000 |
commit | 86de7cd867a32429dc1b4a687931f9675afcb746 (patch) | |
tree | 13aa21f8710fc4f3886ad2b440842cd42e1e213f | |
parent | 560a21374575fcdd201155119617564ee3163772 (diff) | |
parent | 72d1bae4063ef7f34658d645af65d764c8bc6fc0 (diff) | |
download | nixlib-86de7cd867a32429dc1b4a687931f9675afcb746.tar nixlib-86de7cd867a32429dc1b4a687931f9675afcb746.tar.gz nixlib-86de7cd867a32429dc1b4a687931f9675afcb746.tar.bz2 nixlib-86de7cd867a32429dc1b4a687931f9675afcb746.tar.lz nixlib-86de7cd867a32429dc1b4a687931f9675afcb746.tar.xz nixlib-86de7cd867a32429dc1b4a687931f9675afcb746.tar.zst nixlib-86de7cd867a32429dc1b4a687931f9675afcb746.zip |
Merge pull request #296336 from marsam/refactor-cargo-pgrx
cargo-pgrx: refactor
-rw-r--r-- | pkgs/development/tools/rust/cargo-pgrx/default.nix | 91 | ||||
-rw-r--r-- | pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix | 22 | ||||
-rw-r--r-- | pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix | 21 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 10 |
4 files changed, 74 insertions, 70 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="; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix index 23d4499029ea..d6a4f24bf5e6 100644 --- a/pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix +++ b/pkgs/servers/sql/postgresql/ext/pgvecto-rs/default.nix @@ -1,6 +1,6 @@ { lib , buildPgrxExtension -, cargo-pgrx +, cargo-pgrx_0_11_2 , clang_16 , fetchCrate , fetchFromGitHub @@ -23,27 +23,11 @@ let bindgenHook = rustPlatform.bindgenHook.override { inherit clang; }; }; +in +(buildPgrxExtension.override { # Upstream only works with a fixed version of cargo-pgrx for each release, # so we're pinning it here to avoid future incompatibility. # See https://docs.pgvecto.rs/developers/development.html#environment, step 6 - cargo-pgrx_0_11_2 = cargo-pgrx.overrideAttrs (old: rec { - pname = "cargo-pgrx"; - version = "0.11.2"; - - src = fetchCrate { - pname = "cargo-pgrx"; - inherit version; - hash = "sha256-8NlpMDFaltTIA8G4JioYm8LaPJ2RGKH5o6sd6lBHmmM="; - }; - - cargoDeps = old.cargoDeps.overrideAttrs (_: { - inherit src; - outputHash = "sha256-qTb3JV3u42EilaK2jP9oa5D09mkuHyRbGGRs9Rg4TzI="; - }); - }); - -in -(buildPgrxExtension.override { cargo-pgrx = cargo-pgrx_0_11_2; rustPlatform = rustPlatform'; }) rec { diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix index 77dd41db7f6d..96bff3fe20b3 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb_toolkit.nix @@ -3,31 +3,12 @@ , buildPgrxExtension , postgresql , nixosTests -, cargo-pgrx +, cargo-pgrx_0_10_2 , fetchCrate , nix-update-script , stdenv }: -let - cargo-pgrx_0_10_2 = cargo-pgrx.overrideAttrs (old: rec { - name = "cargo-pgrx-${version}"; - version = "0.10.2"; - - src = fetchCrate { - pname = "cargo-pgrx"; - inherit version; - hash = "sha256-FqjfbJmSy5UCpPPPk4bkEyvQCnaH9zYtkI7txgIn+ls="; - }; - - cargoDeps = old.cargoDeps.overrideAttrs (_: { - inherit src; - outputHash = "sha256-XyI3RaPI3Edm/tCP2xoZemib2d2n2cAhobgk9Oafg6s="; - }); - }); - -in - (buildPgrxExtension.override { cargo-pgrx = cargo-pgrx_0_10_2; }) rec { inherit postgresql; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 46cb413f7c58..50e6201066ba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16829,9 +16829,13 @@ with pkgs; buildPgxExtension = callPackage ../development/tools/rust/cargo-pgx/buildPgxExtension.nix { inherit (darwin.apple_sdk.frameworks) Security; }; - cargo-pgrx = callPackage ../development/tools/rust/cargo-pgrx/default.nix { - inherit (darwin.apple_sdk.frameworks) Security; - }; + inherit (callPackages ../development/tools/rust/cargo-pgrx { }) + cargo-pgrx_0_10_2 + cargo-pgrx_0_11_2 + cargo-pgrx_0_11_3 + ; + cargo-pgrx = cargo-pgrx_0_11_2; + buildPgrxExtension = callPackage ../development/tools/rust/cargo-pgrx/buildPgrxExtension.nix { inherit (darwin.apple_sdk.frameworks) Security; }; |