···201 # it only produces an empty json object `{ }`.
202 ./serialize_nulls.patch
203000000000000000204 ./darwin_sleep.patch
205206 # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
···258 inherit Foundation bazel_self distDir repoCache runJdk;
259 };
260261- src_for_updater = stdenv.mkDerivation rec {
262- name = "updater-sources";
263- inherit src;
264- nativeBuildInputs = [ unzip ];
265- inherit sourceRoot;
266- installPhase = ''
267- runHook preInstall
268-269- cp -r . "$out"
270-271- runHook postInstall
272- '';
273- };
274275 # Bazel starts a local server and needs to bind a local address.
276 __darwinAllowLocalNetworking = true;
277- # XXX: For IORegisterForSystemPower
278- # propagatedSandboxProfile = ''
279- # (allow iokit-open (iokit-user-client-class "RootDomainUserClient"))
280- # '';
281282 postPatch =
283 let
···201 # it only produces an empty json object `{ }`.
202 ./serialize_nulls.patch
203204+ # Bazel integrates with apple IOKit to inhibit and track system sleep.
205+ # Inside the darwin sandbox, these API calls are blocked, and bazel
206+ # crashes. It seems possible to allow these APIs inside the sandbox, but it
207+ # feels simpler to patch bazel not to use it at all. So our bazel is
208+ # incapable of preventing system sleep, which is a small price to pay to
209+ # guarantee that it will always run in any nix context.
210+ #
211+ # If you want to investigate the sandbox profile path,
212+ # IORegisterForSystemPower can be allowed with
213+ #
214+ # propagatedSandboxProfile = ''
215+ # (allow iokit-open (iokit-user-client-class "RootDomainUserClient"))
216+ # '';
217+ #
218+ # I do not know yet how to allow IOPMAssertion{CreateWithName,Release}
219 ./darwin_sleep.patch
220221 # On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
···273 inherit Foundation bazel_self distDir repoCache runJdk;
274 };
275276+ passthru.updater = throw "TODO";
000000000000277278 # Bazel starts a local server and needs to bind a local address.
279 __darwinAllowLocalNetworking = true;
0000280281 postPatch =
282 let