-
-
Notifications
You must be signed in to change notification settings - Fork 15k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gperftools: split output #334825
base: staging
Are you sure you want to change the base?
gperftools: split output #334825
Conversation
Nothing against this, but wouldn't packaging https://github.com/google/tcmalloc/blob/master/docs/gperftools.md also be a good alternative? |
Maybe that is possible too. I don't really know the extent of the differences between these two versions though, and I worry that replacing the version of tcmalloc with the slightly different google version may lead to surprises down the line (such as errors that only seem to happen on Nix but which can't be reproduced on dev machines running something else). For what it's worth, getting tcmalloc_minimal on Debian would get you the version from gperftools. It looks like the same goes for Fedora. I think it's therefore reasonable to assume that most (non-google) packages depending on tcmalloc would be expecting to get it from gperftools. |
6d6744a
to
5fed533
Compare
Giving this PR a nudge since it has been here for about 2 weeks. @vcunat could you have a look? |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/prs-already-reviewed/2617/1953 |
should this target staging? |
Should it? I'm new to this so I'm not very familiar yet with the nixpkgs development process. I also had no idea that this would affect so many packages when I made the PR. |
Read I can't help much since I've never rebased myself. Or a new PR targeting staging should be fine. |
5fed533
to
6353ebe
Compare
6353ebe
to
f779f4e
Compare
Repushed to resolve conflict with tree-wide change. |
f779f4e
to
9e1032c
Compare
Another two months passed and a new version of NixOS was released in the meantime. is there any chance of this getting merged or should I just close? |
I'd like to see this merged, but I can't do that myself. |
This will need another fixup since gperftools got moved into the by-name hierarchy. I'm not sure if it makes sense to keep doing this here or to open a new PR though. |
You can post it on discourse "prs ready for review" and matrix #review-requests channels. And reach out to @vcunat on matrix or discourse for a review request.
You can do it in this pr. Just a headsup. There is a treewide nixfmt pr which will conflict with this soon https://discourse.nixos.org/t/nix-formatting-team-treewide-nixpkgs-formatting/56666 as it is touching by-name/gperftools/package.nix as well. It will get merged on Dec 11 (mentioned in the discourse post) And I am not a commiter, just came across your pr. |
Description of changes
This PR splits the output of gperftools, to allow applications that link to tcmalloc (provided by gperftools) to not also depend on the profiling tools, which would pull in perl. Additionally, the minimal dynamic tcmalloc library (libtcmalloc_minimal.so on linux) is moved into its own dedicated output, which further allows dropping libunwind for applications that only need a replacement allocator.
Additionally, static libraries get moved to a special output 'static' which goes last on the propagated build output list, ensuring that dynamic linking dependents can drop the static libraries too, and naive linking using the cc wrappers and NIX_LDFLAGS will prioritize dynamic over static linking.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.