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
*Flags implies a list
slightly relevant:
> stdenv: start deprecating non-list configureFlags https://github.com/NixOS/nixpkgs/pull/173172
the makeInstalledTests function in `nixos/tests/installed-tests/default.nix` isn't available outside of nixpkgs so
it's not a breaking change
It seems like the original reason for the rr-unstable package has gone
stale, and there has been a proper release (5.4.0) since it was made.
However, it has now been over 8 months since a release again, so I
figured I would repurpose rr-unstable.
I personally need the following unreleased commit to be able to use rr
at all on an AMD Ryzen 5900X CPU:
854b51effa
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.