summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch
diff options
context:
space:
mode:
authorLiam Murphy <liampm32@gmail.com>2025-04-09 13:12:12 +1000
committerLiam Murphy <liampm32@gmail.com>2025-04-09 13:12:12 +1000
commitd4a8babe9037722c5fe0f40068ba496d59c49492 (patch)
tree0d143035d84448a9d14dc8228acfa4e1f7b0c0a2 /pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch
parent959931a042ddd182352bb11033ca7493a99e9474 (diff)
judy: revert Darwin reproducibility fixes
It was already reproducible: the only reason it seemed not to be was due to a quirk of how `--rebuild` works on macOS. Since the implementation of the Nix sandbox on macOS is unable to change the meaning of paths, when rebuilding a derivation, it can't be done at the same path as the original. Instead, the rebuild occurs with a different output path, and the output is scanned for instances of that path so that they can be replaced with the correct one afterwards (ala ca-derivations). Unfortunately, macOS's codesigning system seems to include the hash of the signed binary as part of its signature, including any incorrect paths it contains. This results in the binaries still being different after the path replacement step has occured. The reason to go out of our way to revert this is that the workaround to avoid including the output path in any binaries includes replacing the install name of judy with `@rpath/*` rather than its absolute path, which breaks at least one dependency that doesn't add it to RPATH (gtkwave), and possibly others. To confirm that it's reproducible: ``` drv=$(nix eval .#judy --apply "pkg: (pkg.overrideAttrs { __REBUILD = true; }).drvPath" --raw) out=$(nix derivation show "$drv" | jq -r ".[].outputs.out.path") nix build "$drv^*" --no-link cp -r "$out" rebuild-1 nix store delete "$out" --option keep-outputs false nix build "$drv^*" --no-link cp -r "$out" rebuild-2 diff -r rebuild-1 rebuild-2 ```
Diffstat (limited to 'pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch')
0 files changed, 0 insertions, 0 deletions