Skip to content

py-breathe: fix version constraints to avoid concretizing old breathe#31828

Merged
sethrj merged 1 commit intospack:developfrom
sethrj:py-breathe-version-fix
Aug 1, 2022
Merged

py-breathe: fix version constraints to avoid concretizing old breathe#31828
sethrj merged 1 commit intospack:developfrom
sethrj:py-breathe-version-fix

Conversation

@sethrj
Copy link
Copy Markdown
Contributor

@sethrj sethrj commented Aug 1, 2022

No description provided.

@sethrj sethrj merged commit 2ec1728 into spack:develop Aug 1, 2022
@sethrj sethrj deleted the py-breathe-version-fix branch August 1, 2022 14:58
depends_on("py-sphinx@:3", type=("build", "run"), when="@:4.20")
depends_on("py-sphinx@3:3.2", type=("build", "run"), when="@4.21:4.32")
depends_on("py-sphinx@3:4", type=("build", "run"), when="@4.33:")
depends_on("py-sphinx@3:", type=("build", "run"), when="@4.33:")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is incorrect, the setup.py for breathe 4.33.1 does not support sphinx 5:

requires = ["Sphinx>=3.0,<5", "docutils>=0.12"]                                          

@alalazo why was this PR merged without maintainer approval?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@adamjstewart It builds and works with sphinx 5 for me, and didn't work with the previous concretization. Not sure what's up with the embedded version file.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why was this PR merged without maintainer approval?

I guess out of a misunderstanding? We all have merge power here, and I only approved the PR after just checking the syntax. @sethrj merged, possibly thinking that I might have forgot to hit merge. If there's anything to fix we can do it in a follow up PR.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In terms of merging: I usually wait up to a week for official maintainers to review a PR before merging. In the case of Python, that means me. Idk if we have any official policy on this, but might be worth implementing.

In terms of breathe/sphinx: more broadly, this is a question of do we trust documented dependency versions or tested/known-working versions. I've mostly been following the former since it's impossible to actually test all versions. Currently, we're using pip to install packages, and purposefully using a flag to disable checking of dependency versions. If we remove that flag, or switch to build/installer, these unsupported versions will break.

What was the concretization issue? It might be better to cap old versions at :5 since even newer versions don't claim to support it yet. That will ensure that pip/build are happy and still use the latest version of breathe by default. If you need to use breathe and Sphinx 5, then we'll need to add a newer version of breathe to the package.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Sorry @adamjstewart , I saw the reviewer "approval" and thought everything was kosher for merging. This one's on me not @alalazo . I'll wait for you for further python merges.

The last time I updated py-breathe I did so based on the setup.py dependency. It looks like without this update, I get [email protected] ^[email protected] which definitely fails.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Your first line should fix that (assuming that you found that it works with 3.5.4 but not 4.0.0.

Your second line should probably be reverted.

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.

3 participants