Skip to content
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

Python: redo setuptools bootstrapping #22210

Closed
wants to merge 8 commits into from
Closed

Conversation

FRidh
Copy link
Member

@FRidh FRidh commented Jan 27, 2017

Motivation for this change

As I mentioned in #22139 setuptools will no longer vendor its dependencies.

This PR reimplements part of the bootstrapping. All dependencies of setuptools as well as setuptools itself are installed from wheels.

Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@FRidh, thanks for your PR! By analyzing the history of the files in this pull request, we identified @domenkozar, @edolstra, @chaoflow and @FRidh to be potential reviewers.

@FRidh
Copy link
Member Author

FRidh commented Mar 18, 2017

We need to backport 0f864fb84bd4113044df034c10223dd7224f1eac, see #24011.

@vcunat
Copy link
Member

vcunat commented Apr 1, 2017

@FRidh: is this still WIP? (I'm collecting some mass-rebuild stuff.)

@FRidh
Copy link
Member Author

FRidh commented Apr 1, 2017

yep, still WIP.

@FRidh FRidh force-pushed the setuptools branch 2 times, most recently from 3c56ee2 to 5471fac Compare April 18, 2017 11:07
for consistency since we do so for all Python packages.
Somehow pip complaints it can't find the setuptools dependencies, but
they're really there and they're working.
@FRidh FRidh changed the base branch from master to staging April 18, 2017 13:02
@blogle
Copy link
Contributor

blogle commented May 12, 2017

One of the packages I am attempting to install has a dependency on setuptools >30, and ultimately I stumbled across this issue. what needs to be done to get this merged? And is there anything I can do as a stop gap to get setuptools 35 installed in the interim. I tried authoring a custom expression, but It seems to me that the pip tries to cleanup the previous version 30.2.0 which obviously fails as it cant modify the store.

@FRidh
Copy link
Member Author

FRidh commented May 14, 2017

Which package is it that has a dependency on setuptools > 30? Our current version is 30.2.0.
This doesn't need much work to get it in a workable state.

The main issue is whether we want these wheels to be the main versions of our packages. We could instead choose to use these wheels to only bootstrap, and then replace each of these packages with a Nix-built one. That way we can also (more easily) apply certain fixes to the wheel package regarding determinism.

@blogle
Copy link
Contributor

blogle commented May 17, 2017 via email

@FRidh
Copy link
Member Author

FRidh commented May 17, 2017 via email

@FRidh
Copy link
Member Author

FRidh commented May 30, 2017

Not going any further with this for the time being. I'm quite sure that setuptools is going to vendor its dependencies again because of the trouble this change is causing.

@FRidh
Copy link
Member Author

FRidh commented May 31, 2017

Yep, setuptools 36 vendors again. Closing.

@FRidh FRidh closed this May 31, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants