python3Packages.bootstrapped-build: to replace pip #105714
python3Packages.bootstrapped-build: to replace pip #105714FRidh wants to merge 3 commits intoNixOS:masterfrom
Conversation
There was a problem hiding this comment.
for every runtime dep of build we create a wheel and install it. This requires the build backends to be available already. We probably end up needing to add setuptools and flit here as well.
There was a problem hiding this comment.
That name is not that nice.
|
I marked this as stale due to inactivity. → More info |
6dfd0ca to
9c245d9
Compare
|
Managed to get bootstrapping going with |
SuperSandro2000
left a comment
There was a problem hiding this comment.
some random style comments mostly for when you are done with the implementation.
There was a problem hiding this comment.
| export PYTHONPATH="$(pwd)/installer/src:$(pwd)/wheel/src:$(pwd)/build/src:$(pwd)/setuptools/pkg_resources:$PYTHONPATH" | |
| ''; | |
| export PYTHONPATH="$(pwd)/installer/src:$(pwd)/wheel/src:$(pwd)/build/src:$(pwd)/setuptools/pkg_resources:$PYTHONPATH" | |
| ''; |
There was a problem hiding this comment.
| ''; | |
| ''; | |
| meta = { | |
| description = "Package for bootstrapping the Python packages set."; | |
| maintainers = [ lib.maintainers.fridh ]; | |
| }; |
There was a problem hiding this comment.
I think it would be nice if we had some version attribute but honestly I have no idea what we should use because this is just a collection of files.
There was a problem hiding this comment.
| data = map (drv: lib.getAttrs ["pname" "src" ] drv) runtimeDeps; | |
| data = map (drv: lib.getAttrs [ "pname" "src" ] drv) runtimeDeps; |
There was a problem hiding this comment.
Normally shell inside of nix files is intended with 2 spaces.
1a47d88 to
f77e33a
Compare
|
Superseded by #245509 |
buildis a lightweight PEP 517 frontend for building wheels that couldreplace pip for this purpose.
installeris a new project for installing wheels.Why replace
pipwithbuildandinstaller?piphas a largecodebase doing many more things, and it vendors its dependencies.
See also https://github.com/FFY00/python-bootstrap
Might become significantly simpler if pypa/flit#511 is merged.
Things done
sandboxinnix.confon non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"./result/bin/)nix path-info -Sbefore and after)TODO
bootstrapped-buildbootstrapped-build-installerpipInstallFlags = [ "--ignore-installed" ];for eachbootstrapped-builddep