From 82c2735bb60489fdebe70ac81935a2047c335889 Mon Sep 17 00:00:00 2001 From: azban Date: Fri, 10 Apr 2026 00:44:56 -0600 Subject: [PATCH] _389-ds-base: use cargoSetupHook and remove hard-coded vendor path This was not previously not using cargoSetupHook and therefore had a faulty configuration when building subpackages with vendored packages. This fixes that and removes a hard-coded vendor path from the source cargo config which was interfering with the generated configuration. --- .../0001-remove-hard-coded-vendor-paths.patch | 26 +++++++++++++++++++ pkgs/by-name/_3/_389-ds-base/package.nix | 11 ++++---- 2 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 pkgs/by-name/_3/_389-ds-base/0001-remove-hard-coded-vendor-paths.patch diff --git a/pkgs/by-name/_3/_389-ds-base/0001-remove-hard-coded-vendor-paths.patch b/pkgs/by-name/_3/_389-ds-base/0001-remove-hard-coded-vendor-paths.patch new file mode 100644 index 000000000000..8e7d32898c7c --- /dev/null +++ b/pkgs/by-name/_3/_389-ds-base/0001-remove-hard-coded-vendor-paths.patch @@ -0,0 +1,26 @@ +From 815bf49134f9dc049080b0ec4eb2fd807c23086b Mon Sep 17 00:00:00 2001 +From: azban +Date: Mon, 6 Apr 2026 19:49:19 -0600 +Subject: [PATCH 1/2] remove hard-coded vendor paths + +Hard-coded vendored sources is not compatible with fetchCargoVendor. + +Signed-off-by: azban +--- + .cargo/config.toml.in | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in +index d7d8ff4d4..e69de29bb 100644 +--- a/.cargo/config.toml.in ++++ b/.cargo/config.toml.in +@@ -1,6 +0,0 @@ +-[source.crates-io] +-registry = "https://github.com/rust-lang/crates.io-index" +-@rust_vendor_sources@ +- +-[source.vendored-sources] +-directory = "./vendor" +-- +2.51.2 + diff --git a/pkgs/by-name/_3/_389-ds-base/package.nix b/pkgs/by-name/_3/_389-ds-base/package.nix index 9d3dec9e04c4..dd2da0d95d65 100644 --- a/pkgs/by-name/_3/_389-ds-base/package.nix +++ b/pkgs/by-name/_3/_389-ds-base/package.nix @@ -57,11 +57,13 @@ stdenv.mkDerivation (finalAttrs: { url = "https://github.com/389ds/389-ds-base/commit/1701419551c246e9dc21778b118220eeb2258125.patch"; hash = "sha256-trzY/fDH3rs66DWbWI+PY46tIC9ShuVqspMHqEEKZYA="; }) + ./0001-remove-hard-coded-vendor-paths.patch ]; + cargoRoot = "src"; + cargoDeps = rustPlatform.fetchCargoVendor { - inherit (finalAttrs) src; - sourceRoot = "${finalAttrs.src.name}/src"; + inherit (finalAttrs) src cargoRoot; name = "389-ds-base-${finalAttrs.version}"; hash = "sha256-pNzMQjeBpmzFg6oWCxhLDmKGUKIW6jGmZQWai5Yunjc="; }; @@ -74,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: { python3 cargo rustc + rustPlatform.cargoSetupHook ] ++ lib.optional withCockpit rsync; @@ -106,10 +109,6 @@ stdenv.mkDerivation (finalAttrs: { ./autogen.sh --prefix="$out" ''; - preBuild = '' - ln -s ${finalAttrs.cargoDeps} ./vendor - ''; - configureFlags = [ "--enable-rust-offline" "--enable-autobind"