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
darwin.stdenv: use minimal python to bootstrap clang #21078
Conversation
@LnL7, thanks for your PR! By analyzing the history of the files in this pull request, we identified @FRidh, @Ralith and @copumpkin to be potential reviewers. |
255ad1a
to
30abd0a
Compare
Why do we want this? Are those dependencies a problem? Is it for the closure size? While it is possible with this change to reduce the closure size, it will typically require more building. Earlier we got rid of the 'small' Python with the modules because it was causing a lot of confusion. It will need to be clear then that this derivation should typically not be used or we end up with the previous scenario. Is it necessary to copy the 2.7 expression? I suppose passing |
The main reason why I would like this is to reduce the set of packages that only cause rebuilds on darwin. |
Can we name it "pythonMinimal" instead of "pythonBoot"? "pythonMinimal" seems more descriptive. |
It's not really just a minimal python, things might not work if you do more then run a python script that uses the standard library. Might be better not to expose it in all-packages.nix I'm working on some other changes that, together with this, will get rid of |
30abd0a
to
5484f87
Compare
5484f87
to
a472338
Compare
llvmPackages = callPackage ../development/compilers/llvm/3.7 { | ||
cmake = cmakeBoot; | ||
libxml2 = libxml2Boot; | ||
python2 = python27Boot; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe use this only on Darwin
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason not to do this on linux? It's only used when building llvmPackages_*
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since I highly doubt anyone will have a system which didn't need already Python somewhere else.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, makes sense in that case.
The cmake changes look pretty good, that will make this a bit simpler. |
Closing in favor of #21596 |
Motivation for this change
By using a minimal version of python in the stdenv we can remove a bunch of dependencies like
db
,readline
andsqlite
.I'm testing a branch WIP with #21078, #21099 and #21101.
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)