File tree Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -33,8 +33,15 @@ ourArgs:
33
33
, path
34
34
, ...
35
35
} :
36
- import path {
37
- pkgs =
36
+ let
37
+ # Remove target from final crate overrides
38
+ # If target is an attrset, mkDerivation tries to coerce it to a string
39
+ cleanedCrateOverrides =
40
+ lib . mapAttrs
41
+ ( _ : override : attrs : lib . removeAttrs ( override attrs ) [ "target" ] )
42
+ cfg . crateOverrides ;
43
+
44
+ finalPkgs =
38
45
if target == null then pkgs
39
46
else import pkgs . path {
40
47
inherit ( pkgs ) system config overlays ;
@@ -43,12 +50,15 @@ ourArgs:
43
50
then { config = target ; }
44
51
else target ;
45
52
} ;
46
-
47
- buildRustCrateForPkgs = _ : pkgs . buildRustCrate . override {
53
+ in
54
+ import path {
55
+ pkgs = finalPkgs ;
56
+ buildRustCrateForPkgs = _ : finalPkgs . buildRustCrate . override {
48
57
inherit cargo ;
49
58
rustc = rust ;
50
59
} ;
51
- defaultCrateOverrides = pkgs . defaultCrateOverrides // cfg . crateOverrides ;
60
+ defaultCrateOverrides = finalPkgs . defaultCrateOverrides
61
+ // cleanedCrateOverrides ;
52
62
} ;
53
63
54
64
# Handle possible cross compiling requests in crateOverrides
You can’t perform that action at this time.
0 commit comments