Skip to content

py-pybind11: 2.9.1#29387

Merged
adamjstewart merged 2 commits into
spack:developfrom
ax3l:pybind11-2.9.1
Mar 14, 2022
Merged

py-pybind11: 2.9.1#29387
adamjstewart merged 2 commits into
spack:developfrom
ax3l:pybind11-2.9.1

Conversation

@ax3l
Copy link
Copy Markdown
Member

@ax3l ax3l commented Mar 7, 2022

Add the latest releases of pybind11.

Add the latest releases of pybind11.
@ax3l
Copy link
Copy Markdown
Member Author

ax3l commented Mar 7, 2022

tested with openpmd-api +python ✔️

Copy link
Copy Markdown
Member

@adamjstewart adamjstewart left a comment

Choose a reason for hiding this comment

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

Can you add the following deps (and versions) from pyproject.toml:

requires = ["setuptools>=42", "wheel", "cmake>=3.18", "ninja"]

wheel is added by the base class so you can skip that one.

according to `pyproject.toml`
@ax3l
Copy link
Copy Markdown
Member Author

ax3l commented Mar 7, 2022

@adamjstewart ok, done :)

version('2.1.0', sha256='2860f2b8d0c9f65f0698289a161385f59d099b7ead1bf64e8993c486f2b93ee0')

depends_on('py-setuptools', type='build')
depends_on('ninja', type='build')
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.

I think we want deps on py-cmake and py-ninja. Not sure if it actually makes any difference, but that's what pip would check for

Copy link
Copy Markdown
Member Author

@ax3l ax3l Mar 14, 2022

Choose a reason for hiding this comment

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

We just need cmake and ninja on our PATH, no need to pull them in via pypa packages.

Pip declares them because for pip its the only way to consistently & automatically fetch them.

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.

My only concern is what will happen if pip doesn't find those deps. I think that it will be fine since we use --no-deps, but I wonder what would happen if we moved from pip to build/installer which doesn't have that option.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Correct, it will ignore them with --no-deps.

Copy link
Copy Markdown
Member Author

@ax3l ax3l Mar 14, 2022

Choose a reason for hiding this comment

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

As far as I understand, build intentionally has no dependency resolution.

No, it will check build dependencies from PEP517, but it has --skip-dependency-check for us.
https://pypa-build.readthedocs.io

Copy link
Copy Markdown
Member Author

@ax3l ax3l Mar 14, 2022

Choose a reason for hiding this comment

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

installer will not look at build dependencies: https://installer.readthedocs.io/en/latest/concepts/

I wonder how you would skip (runtime) dependencies there, but it's not related to the problem here :)

@ax3l ax3l requested a review from adamjstewart March 14, 2022 20:20
@adamjstewart adamjstewart merged commit 7f03724 into spack:develop Mar 14, 2022
@ax3l ax3l deleted the pybind11-2.9.1 branch March 14, 2022 21:23
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