Skip to content

Commit 10b2374

Browse files
authored
{grafana,yarn-berry_{3,4}-fetcher}: Fix cross (NixOS#465092)
2 parents 7519f62 + 756865d commit 10b2374

File tree

3 files changed

+54
-33
lines changed

3 files changed

+54
-33
lines changed

pkgs/by-name/ya/yarn-berry/fetcher/default.nix

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
{
22
lib,
3-
newScope,
43
yarn-berry,
54
yarn,
65
replaceVars,
76
libzip,
87
zlib,
98
zlib-ng,
9+
makeScopeWithSplicing',
10+
generateSplicesForMkScope,
1011
}:
1112

1213
let
@@ -56,32 +57,36 @@ let
5657
});
5758
};
5859
};
59-
in
6060

61-
lib.makeScope newScope (
62-
final:
63-
let
64-
berryVersion = lib.versions.major yarn-berry.version;
61+
berryVersion = lib.versions.major yarn-berry.version;
62+
63+
otherSplices = generateSplicesForMkScope "yarn-berry_${berryVersion}-fetcher";
64+
in
6565

66-
err = throw ''
67-
Berry version ${toString berryVersion} not supported by yarn-berry-fetcher.
68-
Supported versions: ${lib.concatStringsSep ", " (lib.attrNames variantOverlays)}
69-
'';
70-
variantOverlay = (variantOverlays.${berryVersion} or err) final;
71-
in
72-
(
73-
{
74-
inherit yarn-berry berryVersion;
66+
makeScopeWithSplicing' {
67+
inherit otherSplices;
68+
f =
69+
final:
70+
let
71+
err = throw ''
72+
Berry version ${toString berryVersion} not supported by yarn-berry-fetcher.
73+
Supported versions: ${lib.concatStringsSep ", " (lib.attrNames variantOverlays)}
74+
'';
75+
variantOverlay = (variantOverlays.${berryVersion} or err) final;
76+
in
77+
(
78+
{
79+
inherit yarn-berry berryVersion;
7580

76-
yarn-berry-offline = final.yarn-berry.overrideAttrs (old: {
77-
pname = old.pname + "-offline";
78-
patches = (old.patches or [ ]) ++ final.berryOfflinePatches;
79-
});
81+
yarn-berry-offline = final.yarn-berry.overrideAttrs (old: {
82+
pname = old.pname + "-offline";
83+
patches = (old.patches or [ ]) ++ final.berryOfflinePatches;
84+
});
8085

81-
yarn-berry-fetcher = final.callPackage ./yarn-berry-fetcher.nix { };
82-
fetchYarnBerryDeps = final.callPackage ./fetch-yarn-berry-deps.nix { };
83-
yarnBerryConfigHook = final.callPackage ./yarn-berry-config-hook.nix { };
84-
}
85-
// variantOverlay
86-
)
87-
)
86+
yarn-berry-fetcher = final.callPackage ./yarn-berry-fetcher.nix { };
87+
fetchYarnBerryDeps = final.callPackage ./fetch-yarn-berry-deps.nix { };
88+
yarnBerryConfigHook = final.callPackage ./yarn-berry-config-hook.nix { };
89+
}
90+
// variantOverlay
91+
);
92+
}

pkgs/servers/monitoring/grafana/default.nix

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
tzdata,
88
wire,
99
yarn-berry_4,
10+
yarn-berry_4-fetcher,
11+
buildPackages,
1012
python3,
1113
jq,
1214
moreutils,
@@ -44,7 +46,8 @@ buildGoModule (finalAttrs: {
4446
};
4547

4648
missingHashes = ./missing-hashes.json;
47-
offlineCache = yarn-berry_4.fetchYarnBerryDeps {
49+
# Since this is not a dependency attribute the buildPackages has to be specified.
50+
offlineCache = buildPackages.yarn-berry_4-fetcher.fetchYarnBerryDeps {
4851
inherit (finalAttrs) src missingHashes;
4952
hash = "sha256-CAEhdKsFMUuIs8DsJ9xSr2FRdBp4fPUWyvjC6FuiyG8=";
5053
};
@@ -69,17 +72,19 @@ buildGoModule (finalAttrs: {
6972

7073
proxyVendor = true;
7174

75+
depsBuildBuild = [ buildPackages.stdenv.cc ];
76+
7277
nativeBuildInputs = [
7378
wire
7479
jq
7580
moreutils
7681
removeReferencesTo
7782
# required to run old node-gyp
78-
(python3.withPackages (ps: [ ps.distutils ]))
83+
(python3.pythonOnBuildForHost.withPackages (ps: [ ps.distutils ]))
7984
faketty
8085
nodejs
8186
yarn-berry_4
82-
yarn-berry_4.yarnBerryConfigHook
87+
yarn-berry_4-fetcher.yarnBerryConfigHook
8388
]
8489
++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild.xcbuild ];
8590

@@ -88,7 +93,7 @@ buildGoModule (finalAttrs: {
8893
overrideModAttrs = (
8994
old: {
9095
nativeBuildInputs = lib.filter (
91-
x: lib.getName x != (lib.getName yarn-berry_4.yarnBerryConfigHook)
96+
x: lib.getName x != (lib.getName buildPackages.yarn-berry_4-fetcher.yarnBerryConfigHook)
9297
) old.nativeBuildInputs;
9398
}
9499
);
@@ -99,9 +104,14 @@ buildGoModule (finalAttrs: {
99104
wire gen -tags oss ./pkg/server
100105
wire gen -tags oss ./pkg/cmd/grafana-cli/runner
101106
102-
GOARCH= CGO_ENABLED=0 go generate ./kinds/gen.go
103-
GOARCH= CGO_ENABLED=0 go generate ./public/app/plugins/gen.go
104-
107+
# ```
108+
# go-1.25.4/share/go/pkg/tool/linux_amd64/link: running aarch64-unknown-linux-gnu-gcc failed: exit status 1
109+
# aarch64-unknown-linux-gnu-gcc -m64 -s -o $WORK/b001/exe/gen -rdynamic /build/go-link-507658645/go.o
110+
# aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option '-m64'
111+
# ```
112+
# Above log is due to https://github.com/golang/go/blob/b194f5d24a71e34f147c90e4351d80ac75be55de/src/cmd/cgo/gcc.go#L1763
113+
CC="$CC_FOR_BUILD" LD="$CC_FOR_BUILD" GOOS= GOARCH= CGO_ENABLED=0 go generate ./kinds/gen.go
114+
CC="$CC_FOR_BUILD" LD="$LD_FOR_BUILD" GOOS= GOARCH= CGO_ENABLED=0 go generate ./public/app/plugins/gen.go
105115
'';
106116

107117
postBuild = ''

pkgs/top-level/all-packages.nix

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4184,7 +4184,13 @@ with pkgs;
41844184
yapf = with python3Packages; toPythonApplication yapf;
41854185

41864186
yarn-berry_4 = yarn-berry.override { berryVersion = 4; };
4187+
yarn-berry_4-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher {
4188+
yarn-berry = yarn-berry_4;
4189+
};
41874190
yarn-berry_3 = yarn-berry.override { berryVersion = 3; };
4191+
yarn-berry_3-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher {
4192+
yarn-berry = yarn-berry_3;
4193+
};
41884194

41894195
yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea { };
41904196

0 commit comments

Comments
 (0)