This reverts commit 65a333600d.
This wasn't tested for correctness with something like fodwatch [0],
and should not have been (self-)merged so quickly, especially without
further review.
It also resulted in the breakage of at least one package [1] (and that's
the one we know of and was caught).
A few packages that were updated in between this commit and this revert
were not reverted back to using `rev`, but other than that, this is a
1:1 revert.
[0]: https://codeberg.org/raphaelr/fodwatch
[1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e458
Except in special wrapper environments like `python3.withPackages`,
where all "build" dependencies are also runtime dependencies,
`propagatedBuildInputs` doesn't actually encode runtime dependencies.
It's meant to propagate build dependencies to dependants, so the
dependants don't have to explicitly add them to their `buildInputs`.
With `wrapProgram`, you can now run rr without having gdb
installed (eg. `nix run nixpkgs#rr replay`).
These CMake flags have been present ever since the package was added in
2014. There is no documentation on why these flags should be necessary.
During local testing, rr built just fine without them.
In fact, I stumbled upon this when rr from nixpkgs failed to record
applications that use OpenGL, such as glxinfo or glxgears, whereas a
manually built rr worked just fine. I tracked it down to these flags.
I wasn't able to determine the relevant differences between the two
builds of rr.
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
Lack of 32bit support led to the creation
of an overlay to add it back again,
but since it at least builds and seems to work
don't see why we'd disallow it here :).
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/rr/versions.
These checks were done:
- built on NixOS
- /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0/bin/signal-rr-recording.sh passed the binary check.
- Warning: no invocation of /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0/bin/rr_page_64 had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0/bin/rr_page_64_replay had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0/bin/rr_page_32 had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0/bin/rr_page_32_replay had a zero exit code or showed the expected version
- /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0/bin/rr passed the binary check.
- Warning: no invocation of /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0/bin/rr_exec_stub had a zero exit code or showed the expected version
- 2 of 7 passed binary check by having a zero exit code.
- 1 of 7 passed binary check by having the new version present in output.
- found 5.2.0 with grep in /nix/store/yavka83b6xy0fd22d63gvs5jhzq2yl4f-rr-5.2.0
- directory tree listing: https://gist.github.com/74edbd75eb39af483431d15e9b4c34a8
- du listing: https://gist.github.com/a6983da3782900061246fd222ecc50f9
rr wants to build itself with 32+64bit support on 64bit systems, but
this fails in recent NixOS versions as it can't find libstdc++.so.6 at
runtime.
This patch disables 32bit builds on 64bit. To debug 32bit binaries,
pkgsi686Linux.rr can be used.