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

Remove incorrect dependencies from setup.cfg #4443

Merged
merged 1 commit into from
Nov 26, 2023

Conversation

mgorny
Copy link
Contributor

@mgorny mgorny commented Nov 20, 2023

Remove the install_requires on setuptools. This key is used to specify packages that are needed at runtime. SCons nowhere in its code does import setuptools or pkg_resources.

Remove the setup_requires on build. build is a frontend package and a detail of how the build is invoked, while setup_requires are used to specify backend dependencies (i.e. packages that are installed after build is invoked).

Remove the setup_requires on setuptools. It is a key specific to setuptools, so for it to be interpreted setuptools need to be installed already. The actual backend dependency on setuptools is specified in pyproject.toml, so the dependency is entirely redundant.

Contributor Checklist:

  • I have created a new test or updated the unit tests to cover the new/changed functionality.
  • I have updated CHANGES.txt (and read the README.rst)
  • I have updated the appropriate documentation

@mgorny
Copy link
Contributor Author

mgorny commented Nov 20, 2023

I'm not sure if a ChangeLog entry is appropriate since it tackles build details and should not have any user-facing changes.

@bdbaddog
Copy link
Contributor

I'm not sure if a ChangeLog entry is appropriate since it tackles build details and should not have any user-facing changes.

Yes. CHANGES.txt should have both user and non-user facing items. Same with RELEASE.txt.
For this it's probably sufficient to say below in both.
* Remove unecessary dependencies on pypi packages from setup.cfg

Remove the `install_requires` on `setuptools`.  This key is used to
specify packages that are needed at runtime.  SCons nowhere in its code
does import `setuptools` or `pkg_resources`.

Remove the `setup_requires` on `build`.  `build` is a frontend package
and a detail of how the build is invoked, while `setup_requires` are
used to specify backend dependencies (i.e. packages that are installed
after `build` is invoked).

Remove the `setup_requires` on `setuptools`.  It is a key specific
to setuptools, so for it to be interpreted `setuptools` need to be
installed already.  The actual backend dependency on `setuptools`
is specified in `pyproject.toml`, so the dependency is entirely
redundant.
@mgorny
Copy link
Contributor Author

mgorny commented Nov 20, 2023

I've added the changelog entry and release note.

install_requires = setuptools
setup_requires =
setuptools
build
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this ('build') be added to pyproject.toml's

[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools"]

Copy link
Contributor Author

@mgorny mgorny Nov 26, 2023

Choose a reason for hiding this comment

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

No, it is a frontend. It is not used on the backend because it's build installing stuff from requires.

@bdbaddog
Copy link
Contributor

Thanks for the PR Merging!

@bdbaddog bdbaddog merged commit 6facdff into SCons:master Nov 26, 2023
3 of 5 checks passed
@mgorny mgorny deleted the setup-cfg-deps branch November 26, 2023 04:14
@mgorny
Copy link
Contributor Author

mgorny commented Nov 26, 2023

Thanks!

@mwichmann mwichmann added the Release Any an all issues with releasing and packaging SCons itself label Nov 30, 2023
@mwichmann mwichmann added this to the 4.7 milestone Nov 30, 2023
@wimglenn
Copy link

@mwichmann Is it possible to get this change in a 4.6.1 sooner than 4.7? The setuptools dependency is a bit of a bother for Python 3.12 users. Thanks!

@mwichmann
Copy link
Collaborator

I believe we're very close to a 4.7. @bdbaddog - thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Release Any an all issues with releasing and packaging SCons itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants