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: setuptools/wheel/pip now bootstrap from source #71438

Merged
merged 1 commit into from Oct 20, 2019

Conversation

FRidh
Copy link
Member

@FRidh FRidh commented Oct 20, 2019

Since wheel support was introduced in 2015 we always relied on pre-built
wheels for bootstrapping. Now, we can bootstrap directly from the
sources of these packages in git.

The bootstrapped-pip packages is used to build pip, after which
that pip is used for everything else. Note that when building
bootstrapped-pip some errors are shown. These are not important,
the build actually does succeed and work as intended.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @

Since wheel support was introduced in 2015 we always relied on pre-built
wheels for bootstrapping. Now, we can bootstrap directly from the
sources of these packages in git.

The `bootstrapped-pip` packages is used to build `pip`, `setuptools` and `wheel`,
after which those packages are used to build everything else.

Note that when building `bootstrapped-pip` some errors are shown.
These are not important, the build actually does succeed and work as intended.
Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

able to build pytest on all the platforms (skipped 38 because it's broken on master, might work on staging though...)

[10:31:59] jon@jon-desktop /home/jon/projects/nixpkgs ((9986d39a9f9...))
$ nix build -f . --keep-going pythonPackages.pytest python35Packages.pytest python36Packages.pytest python37Packages.pytest python38Packages.python
[100 built, 2 copied, 0.0 MiB DL]

@FRidh FRidh merged commit 56727dc into NixOS:staging Oct 20, 2019
@FRidh FRidh deleted the bootstrap branch October 20, 2019 17:48
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

2 participants