Skip to content

py-protobuf: add 4.23.3#38614

Merged
adamjstewart merged 3 commits intospack:developfrom
manuelakuhn:py-protobuf-4.23.3
Jul 14, 2023
Merged

py-protobuf: add 4.23.3#38614
adamjstewart merged 3 commits intospack:developfrom
manuelakuhn:py-protobuf-4.23.3

Conversation

@manuelakuhn
Copy link
Copy Markdown
Member

This version also works with [email protected] whereas the older versions don't (see #38608)

Copy link
Copy Markdown
Contributor

@tldahlgren tldahlgren left a comment

Choose a reason for hiding this comment

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

Confirmed the sha256, deferring merge to maintainers

@tldahlgren
Copy link
Copy Markdown
Contributor

Confirmed the sha256, deferring merge to maintainers

Oops. Just noticed this is DRAFT.

@tldahlgren tldahlgren self-assigned this Jun 28, 2023
@manuelakuhn
Copy link
Copy Markdown
Member Author

Ok, when testing it locally it just build with ~cpp, that's why it worked.

I have added [email protected] and [email protected] (which is needed by protobuf) as well.

The cpp variant was deprecated starting [email protected] (see Release Notes and ReadMe).
Is restricting the variant enough for this? py-tensorflow for example depends on py-protobuf+cpp

@manuelakuhn manuelakuhn marked this pull request as ready for review June 28, 2023 21:37
@manuelakuhn
Copy link
Copy Markdown
Member Author

This should be ready to review now.

@manuelakuhn
Copy link
Copy Markdown
Member Author

@spackbot run pipeline

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Jun 28, 2023

I've started that pipeline for you!

@adamjstewart
Copy link
Copy Markdown
Member

Thanks for updating this! I was going to add it in #36711 but chickened out when I saw that bazel might be required to build from source: protocolbuffers/protobuf#12390

So is bazel required or not? My understanding is that the PyPI source code (which we use) doesn't require bazel, but also doesn't support cpp, only upb/python. So if someone really wanted cpp, they would have to build from the git repo and use bazel. Is that correct?

py-tensorflow for example depends on py-protobuf+cpp

In all honesty, the TF package is a series of hacks built on top of hacks to get things working. The docs say it depends on protobuf but doesn't specify whether that's the Python lib or the C++ lib so we added both. And things start to break if those aren't the same version, which I think is why we added +cpp. So feel free to make changes because you likely know about as much as I do how things are actually supposed to work. As long as CI still passes I'm happy.

Wondering if we should replace +cpp with a multi-value variant like implementation=(upb|cpp|python). We can mark each value as limited to a particular range of versions.

@manuelakuhn
Copy link
Copy Markdown
Member Author

bazel is listed as requirement, but the package builds fine without it. So I think your analysis is correct.
I actually don't know much about protobuf and just wanted to update it because of py-pip.

For the multi-value variant approach. At the moment I don't see any advantage in it.

@adamjstewart
Copy link
Copy Markdown
Member

The advantage would be that they can be marked as mutually exclusive. Of course, if no one wants or needs upb support and it's only +cpp or ~cpp as options, it doesn't make much of a difference.

P.S. TF no longer requires protobuf+cpp.

@adamjstewart
Copy link
Copy Markdown
Member

We can add support for upb in a future PR if someone actually needs it.

@adamjstewart adamjstewart merged commit ee335c0 into spack:develop Jul 14, 2023
@manuelakuhn manuelakuhn deleted the py-protobuf-4.23.3 branch July 14, 2023 18:57
mpokorny pushed a commit to mpokorny/spack that referenced this pull request Sep 18, 2023
* py-protobuf: add 4.23.3

* protobuf: add 3.23.3

* py-protobuf: disable cpp variant for @4.22:
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