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

python3.pkgs.tiler: unpin setuptools-scm dependency #248949

Merged
merged 1 commit into from
Aug 16, 2023
Merged

python3.pkgs.tiler: unpin setuptools-scm dependency #248949

merged 1 commit into from
Aug 16, 2023

Conversation

tjni
Copy link
Contributor

@tjni tjni commented Aug 13, 2023

Description of changes

Pull in a patch that unpins the setuptools-scm dependency, which will be needed when we switch to build.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

nativeBuildInputs = [
setuptools
setuptools-scm
wheel
Copy link
Member

Choose a reason for hiding this comment

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

I don't know much about how build works, but do we need wheel for nativeBuildInputs? Your patch seems to remove it from pyproject.toml.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, it looks confusing, and I can explain. We use build to build a wheel (instead of an sdist), and setuptools always needs wheel in order to do this. PEP 517 provides a way for a build backend like setuptools to specify any additional dependencies it needs in order to build a wheel, which setuptools does here, so it does not need to be listed in pyproject.toml. (In fact, when it is listed in pyproject.toml, it is always included, even for an sdist build, which is unnecessary in this case.)

A normal PEP 517 build would create an isolated virtual environment and download wheel automatically, but in nixpkgs we have to explicitly specify it.

Copy link
Member

Choose a reason for hiding this comment

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

Thanks for the clarification!
I'll take another look at your amazing work in light of this.

@natsukium
Copy link
Member

@ofborg build python310Packages.tiler

@natsukium natsukium merged commit a544655 into NixOS:master Aug 16, 2023
@tjni tjni deleted the tiler branch August 16, 2023 05:42
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.

2 participants