Skip to content

Commit

Permalink
sagemathgh-36552: src/sage/misc/cython.py: Fix the workaround for s…
Browse files Browse the repository at this point in the history
…etuptools_scm

<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
The part of sagemath#36400 that was intended to fix the runtime use of cython
did not actually fix it because `finalize_distribution` is called
already by `Distribution.__init__`.

This shows up when invoked from a directory with `pyproject.toml` or a
similar config file. As the Build & Test workflow invokes the doctester
from `SAGE_ROOT/src`, these errors show up in all tests. Marking it as a
blocker so it is [applied automatically in CI
workflows](https://github.com/sagemath/sage/wiki/Sage-10.2-Release-
Tour#open-blocker-prs-are-applied-automatically-in-ci-workflows)

<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
Fixes
sagemath#36400 (comment)
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->

URL: sagemath#36552
Reported by: Matthias Köppe
Reviewer(s): Tobias Diez
  • Loading branch information
Release Manager committed Oct 29, 2023
2 parents 2ef8ca5 + 8272fe5 commit 7350e6f
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 6 deletions.
6 changes: 3 additions & 3 deletions build/pkgs/configure/checksums.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
tarball=configure-VERSION.tar.gz
sha1=aa7054a0e6a582d2db1475dc47f63a54e6ac569f
md5=40eab024557ad51e08dfb08e2753a465
cksum=802824779
sha1=2e10c6289199a61f8bcf7223187d1c73941e7cf7
md5=8ed9a9b76fe5ced09e60a2ea9f796cb4
cksum=2516922817
2 changes: 1 addition & 1 deletion build/pkgs/configure/package-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
c47788b02a42ef4907a0e61e702fbe9bbef27590
ab10fe939823febb1f5c3d14400f143631b84f81
9 changes: 7 additions & 2 deletions src/sage/misc/cython.py
Original file line number Diff line number Diff line change
Expand Up @@ -421,15 +421,20 @@ def cython(filename, verbose=0, compile_message=False,
os.curdir)

# This emulates running "setup.py build" with the correct options
dist = Distribution()
#
# setuptools plugins considered harmful:
# If build isolation is not in use and setuptools_scm is installed,
# then its file_finders entry point is invoked, which we don't need.
# And with setuptools_scm 8, we get more trouble:
# LookupError: pyproject.toml does not contain a tool.setuptools_scm section
# LookupError: setuptools-scm was unable to detect version ...
# We just remove all handling of "setuptools.finalize_distribution_options" entry points.
dist._removed = staticmethod(lambda ep: True)
class Distribution_no_finalize_distribution_options(Distribution):
@staticmethod
def _removed(ep):
return True

dist = Distribution_no_finalize_distribution_options()
dist.ext_modules = [ext]
dist.include_dirs = includes
buildcmd = dist.get_command_obj("build")
Expand Down

0 comments on commit 7350e6f

Please sign in to comment.