From 40da74f28c0298f964b1b3033625eece4ad10404 Mon Sep 17 00:00:00 2001 From: Charles Hall Date: Thu, 24 Jul 2025 15:05:43 -0700 Subject: [PATCH] Revert "do default-feature unification in nix" This reverts commit 8f24ac1f27d5e09cb7ba36cc4bf0d7835945d5ba. This is no longer necessary since the set of all features is equal to the set of default features. --- nix/pkgs/default/default.nix | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/nix/pkgs/default/default.nix b/nix/pkgs/default/default.nix index c15b8f82..60b85a38 100644 --- a/nix/pkgs/default/default.nix +++ b/nix/pkgs/default/default.nix @@ -11,7 +11,6 @@ # Options (keep sorted) , default-features ? true -, all-features ? false , features ? [] , profile ? "release" , version-extra ? inputs.self.shortRev @@ -20,19 +19,7 @@ }: let - # We perform default-feature unification in nix, because some of the dependencies - # on the nix side depend on feature values. cargoManifest = lib.importTOML "${inputs.self}/Cargo.toml"; - allDefaultFeatures = cargoManifest.features.default; - allFeatures = lib.unique ( - lib.remove "default" (lib.attrNames cargoManifest.features) ++ - lib.attrNames - (lib.filterAttrs (_: dependency: dependency.optional or false) - cargoManifest.dependencies)); - features' = lib.unique - (features ++ - lib.optionals default-features allDefaultFeatures ++ - lib.optionals all-features allFeatures); buildDepsOnlyEnv = { @@ -104,10 +91,13 @@ craneLib.buildPackage (commonAttrs // { env = buildDepsOnlyEnv; }); - cargoExtraArgs = "--locked --no-default-features " + cargoExtraArgs = "--locked " + lib.optionalString - (features' != []) - "--features " + (builtins.concatStringsSep "," features'); + (!default-features) + "--no-default-features " + + lib.optionalString + (features != []) + "--features " + (builtins.concatStringsSep "," features); env = buildPackageEnv;