Python: no separate output for tkinter but build interpreter twice#19594
Python: no separate output for tkinter but build interpreter twice#19594copumpkin merged 1 commit intoNixOS:stagingfrom
Conversation
|
@FRidh, thanks for your PR! By analyzing the history of the files in this pull request, we identified @vcunat, @kragniz and @domenkozar to be potential reviewers. |
In NixOS#19309 a separate output for tkinter was added. Several dependencies of Python depend indirectly on Python. We have the following two paths: ``` ‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘libXrender-0.9.10’ - ‘libX11-1.6.4’ - ‘libxcb-1.12’ - ‘libxslt-1.1.29’- ‘libxml2-2.9.4’ - ‘python-2.7.12’ ‘python-2.7.12’ - ‘tk-8.6.6’ - ‘libXft-2.3.2’ - ‘fontconfig-2.12.1’ - ‘dejavu-fonts-2.37’ - ‘fontforge-20160404’ - ‘python-2.7.12’ ``` Because only `tkinter` needs this, I added ``` pythonSmall = python.override {x11Support = false;}; ``` to break the infinite recursion. We also still have the output `tkinter`. However, we might as well build without x11Support by default. Then we build with x11Support as well so we get the tkinter module and put that in a separate package.
|
I think this is good, assuming I understand the implications properly. I'm going to poke at it on Darwin and see if it makes the bootstrap happy again. |
|
@FRidh just to make sure I understand this properly, the old |
|
Correct On Oct 16, 2016 11:43 PM, "Daniel Peebles" [email protected] wrote:
|
|
Okay, this appears to have fixed the Darwin stdenv bootstrap in staging, thanks! I'd probably leave I'd also be okay with merging this ASAP because staging is broken right now 😄 |
|
Anyone mind if I merge? |
|
It was blocking me so I figured I'd just go ahead and merge 😄 thanks again for fixing this! |
Actually, its not exactly the same as the previous |
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandboxinnix.confon non-NixOS)
nix-shell -p nox --run "nox-review wip"./result/bin/)In #19309 a separate output for tkinter was added.
Several dependencies of Python depend indirectly on Python. We have the
following two paths:
Because only
tkinterneeds this, I addedto break the infinite recursion. We also still have the output
tkinter.However, we might as well build without x11Support by default. Then we build with x11Support as well so we get the tkinter module and put that in a separate package.