Thanks to visit codestin.com
Credit goes to github.com

Skip to content

setuptools v75.8.2#377

Merged
rgommers merged 2 commits into
conda-forge:mainfrom
regro-cf-autotick-bot:75.8.2_hfb42c7
Feb 27, 2025
Merged

setuptools v75.8.2#377
rgommers merged 2 commits into
conda-forge:mainfrom
regro-cf-autotick-bot:75.8.2_hfb42c7

Conversation

@regro-cf-autotick-bot

Copy link
Copy Markdown
Contributor

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Closes: #376

Dependency Analysis

Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add bot: inspection: disabled to your conda-forge.yml. If you encounter issues with this feature please ping the bot team conda-forge/bot.

Analysis by grayskull shows a discrepancy between it and the the package's stated requirements in the meta.yaml.

Packages found by grayskull but not in the meta.yaml:

  • python >=3.9
  • pip

Packages found in the meta.yaml but not found by grayskull:

  • python 3.9

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/13557768486 - please use this URL for debugging.

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
    • For the test.requires section of recipe, you should usually use python {{ python_min }} for the python entry.
    • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/13557861247. Examine the logs at this URL for more detail.

@rgommers rgommers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This only contains a single fix for a regression in 75.8.1, and the other changes in 75.8.1 look desirable - one crash fix for free-threading, and a change to how CFLAGS behaves. Note that the CFLAGS changes may affect builds within conda-forge, because the flags with which CPython itself builds are no longer inherited (semantics changed from "append" to "overwrite"). However, no way to find out without actually starting to use this version.

@rgommers rgommers merged commit 66dcc5d into conda-forge:main Feb 27, 2025
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 75.8.2_hfb42c7 branch February 27, 2025 10:57
@jakirkham

Copy link
Copy Markdown
Member

Note that the CFLAGS changes may affect builds within conda-forge, because the flags with which CPython itself builds are no longer inherited (semantics changed from "append" to "overwrite").

Yeah this is a likely going to be a surprising change for some. In what cases, how visible, etc. am not sure

For others coming by here, please see these upstream refs:

Probably thing for builds to do (borrowing your syntax Ralf) is something like this

export CFLAGS=$(python -c "import sysconfig; print(sysconfig.get_config_var('CFLAGS'))")

@rgommers

Copy link
Copy Markdown
Contributor

Probably thing for builds to do (borrowing your syntax Ralf) is something like this

Yes either that, or figure out what's actually needed and use it as an opportunity to fix the problem that is being turned up by a build failure.

@jakirkham

Copy link
Copy Markdown
Member

Given how tightly we align CFLAGS in conda-forge, probably the first step is making sure they match. Certainly there are cases where tweaking a flag is needed

Have also mentioned this in Zulip to help raise awareness

@isuruf

isuruf commented Feb 27, 2025

Copy link
Copy Markdown
Member

Let's mark this release as broken.

@isuruf

isuruf commented Feb 27, 2025

Copy link
Copy Markdown
Member

use it as an opportunity to fix the problem that is being turned up by a build failure.

Without the workaround, even -O2 is not passed to the build and would lead to non-optimized builds.

@eli-schwartz

Copy link
Copy Markdown

Sorry. What? Are you seriously telling me you don't pass -O2 for all the many build systems other than setuptools? Like the ones for C/C++ libraries? Many of which have used build systems for the past twenty-some-odd years with the exact same "overwrite" behavior that setuptools is late to the party with?

@isuruf

isuruf commented Feb 27, 2025

Copy link
Copy Markdown
Member

We do when conda packages are being built, but conda packages are used for building locally as well which is where we don't set CFLAGS.

@eli-schwartz

Copy link
Copy Markdown

Note that the CFLAGS changes may affect builds within conda-forge, because the flags with which CPython itself builds are no longer inherited (semantics changed from "append" to "overwrite").

Yeah this is a likely going to be a surprising change for some.

So is this not accurate, then? Which is it? :)

@isuruf

isuruf commented Feb 27, 2025

Copy link
Copy Markdown
Member

It may affect builds within conda-forge. 99% of cases it won't, but there would be corner cases where it would be.
It will affect builds using setuptools.

@rgommers

Copy link
Copy Markdown
Contributor

It may affect builds within conda-forge. 99% of cases it won't, but there would be corner cases where it would be.
It will affect builds using setuptools.

I can't yet think of concrete cases where it will go wrong, but I agree that there will be some corner cases. I thought it'd be useful to smoke those out the sooner the better.

We do when conda packages are being built, but conda packages are used for building locally as well which is where we don't set CFLAGS.

Fewer things in CFLAGS et al. for local builds would be better. There's only a single thing that really needs to be in there, which is -isystem /path/to/prefix/include/. Everything else tends to cause more problems than it solves. And -O2 is already in CFLAGS from compiler activation scripts anyway (bad).

Let's mark this release as broken.

I'm fine with marking this release as broken and blocking merges of further setuptools releases on this issue for a while if you prefer, to see if anything changes upstream or let problems be sorted out elsewhere first. But if it doesn't change upstream, sooner or later we have to follow suit here.

@jakirkham

Copy link
Copy Markdown
Member

Did we get some user reports somewhere? What are the issues they are seeing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants