buildBazelPackage: allow buildAttrs and fetchAttrs to override inherited attrs

This commit is contained in:
Uri Baghin 2023-04-05 13:46:39 +10:00
parent 4116178905
commit 1ee2c5c9eb

View File

@ -44,7 +44,15 @@ args@{
}: }:
let let
fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ]; fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ] // {
name = name;
bazelFlags = bazelFlags;
bazelBuildFlags = bazelBuildFlags;
bazelTestFlags = bazelTestFlags;
bazelFetchFlags = bazelFetchFlags;
bazelTestTargets = bazelTestTargets;
dontAddBazelOpts = dontAddBazelOpts;
};
fBuildAttrs = fArgs // buildAttrs; fBuildAttrs = fArgs // buildAttrs;
fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ]; fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
bazelCmd = { cmd, additionalFlags, targets }: bazelCmd = { cmd, additionalFlags, targets }:
@ -69,11 +77,9 @@ let
''; '';
in in
stdenv.mkDerivation (fBuildAttrs // { stdenv.mkDerivation (fBuildAttrs // {
inherit name bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTargets bazelTestTargets;
deps = stdenv.mkDerivation (fFetchAttrs // { deps = stdenv.mkDerivation (fFetchAttrs // {
name = "${name}-deps.tar.gz"; name = "${name}-deps.tar.gz";
inherit bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTargets bazelTestTargets;
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or []; impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or [];
@ -103,7 +109,7 @@ stdenv.mkDerivation (fBuildAttrs // {
"--loading_phase_threads=1" "--loading_phase_threads=1"
"$bazelFetchFlags" "$bazelFetchFlags"
]; ];
targets = bazelTargets ++ bazelTestTargets; targets = fFetchAttrs.bazelTargets ++ fFetchAttrs.bazelTestTargets;
} }
} }
@ -187,8 +193,6 @@ stdenv.mkDerivation (fBuildAttrs // {
done done
'' + fBuildAttrs.preConfigure or ""; '' + fBuildAttrs.preConfigure or "";
inherit dontAddBazelOpts;
buildPhase = fBuildAttrs.buildPhase or '' buildPhase = fBuildAttrs.buildPhase or ''
runHook preBuild runHook preBuild
@ -221,15 +225,15 @@ stdenv.mkDerivation (fBuildAttrs // {
bazelCmd { bazelCmd {
cmd = "test"; cmd = "test";
additionalFlags = additionalFlags =
["--test_output=errors"] ++ bazelTestFlags; ["--test_output=errors"] ++ fBuildAttrs.bazelTestFlags;
targets = bazelTestTargets; targets = fBuildAttrs.bazelTestTargets;
} }
} }
${ ${
bazelCmd { bazelCmd {
cmd = "build"; cmd = "build";
additionalFlags = bazelBuildFlags; additionalFlags = fBuildAttrs.bazelBuildFlags;
targets = bazelTargets; targets = fBuildAttrs.bazelTargets;
} }
} }
runHook postBuild runHook postBuild