A small shell script that can be used to extract a binary wrapper's
makeCWrapper call from its embedded docstring, without depending on
makeBinaryWrapper.
Simplifies Firefox maintenance. See #160520
- make the firefox common.nix available from the top level as
buildMozillaMach
- use new buildMozillaMach function in librewolf expressions
- minor changes to update script
We can't just edit binary wrappers in place because of a length
mismatch, so we have to parse the generating makeCWrapper call out of
the binary, extract wrapper arguments from it and add them to the
Firefox wrapper.
All these contortions are needed because Firefox looks for its runtime
in argv0, so the proper argv0 needs to be set by wrappers to always
point to the "final" runtime. I think this could be avoided by wrapping
/lib/$libName/firefox instead of /bin/firefox, and I'd like to look into
that in the future, but for now I'm just fixing the immediate problem.
This makes it easier to report bugs upstream and ensures that NixOS user crashes are fixed.
Based on my testing these reports weren't automatically submitted anyways so the privacy concern is minimal. For my crashes it both asked my if a crash report should be produced after a crash, and required manual sending. Although possibly the report world eventually be sent automatically.
Fixes https://github.com/NixOS/nixpkgs/issues/107889
LLVM 14 doesn't support those build flags yet
(-no-opaque-pointers is the argument for -Xclang):
error: unknown argument: '-no-opaque-pointers'
Those build flags were added in the following commit:
003067c130
This fixes the following error:
configuring
ERROR at //infra/orchestrator/BUILD.gn:38:17: Could not read file.
pydeps_file = "//third_party/blink/tools/merge_web_test_results.pydeps"
^--------------------------------------------------------
I resolved this to "/build/chromium-102.0.5005.27/third_party/blink/tools/merge_web_test_results.pydeps".
See //infra/orchestrator/BUILD.gn:37:1: whence it was called.
python_library("blink_merge_web_test_results_py") {
^--------------------------------------------------
See //BUILD.gn:89:5: which caused the file to be included.
"//infra/orchestrator:orchestrator_all",
^--------------------------------------
It's a known upstream issue when building from the generated tarballs:
- https://bugs.chromium.org/p/chromium/issues/detail?id=1313361
- https://chromium-review.googlesource.com/c/chromium/src/+/3457503
This fixes the following error during patchShebangs:
./third_party/dawn/third_party/webgpu-cts/tools/run_deno: unsupported interpreter directive "#!/usr/bin/env -S deno run --unstable --allow-read --allow-write --allow-env --allow-net=deno.land --no-check" (set dontPatchShebangs=1 and handle shebang patching yourself)