NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.32k stars 13.56k forks source link

Refactor r-modules / rPackages / etc - hard to override #60493

Open deliciouslytyped opened 5 years ago

deliciouslytyped commented 5 years ago

Sorry if I missed something; Either the R packages implementation needs more documentation or it needs to be refactored. It seems utterly impossible to override most things.

I was trying to help someone to debug reticle and I would have wanted to recompile with lower optimization levels and/or various changed compilation flags. The current infrastructure does not visibly support this.

Note: My mostly unsuccessful research suggests that R CMD INSTALL may rely on --configure-vars, --configure-flags, and some kind of "makevars" file, for influencing package compilation. Out of these, --configure-flags is used at https://github.com/NixOS/nixpkgs/blob/00fe2aaffeaeb1b7857145274869e7f4399a3fe0/pkgs/development/r-modules/generic-builder.nix#L39 but I could not see a way to actually override that because everything is called in an opaque way from...IIRC whatever provides rWrapper.

I managed to hack in some stuff by overriding preConfigure on the stdenv passed in to the infrastructure :P , but I was ultimately unsuccessful. Maybe the optimization flags were coming from GCC? - my extra flags did not seem to appear regardless.

TL;DR: confusion and opacity.

stale[bot] commented 4 years ago

Thank you for your contributions.

This has been automatically marked as stale because it has had no activity for 180 days.

If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity.

Here are suggestions that might help resolve this more quickly:

  1. Search for maintainers and people that previously touched the related code and @ mention them in a comment.
  2. Ask on the NixOS Discourse.
  3. Ask on the #nixos channel on irc.freenode.net.