Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[poppler] Fix poppler/paraview name clash #35472

Merged
merged 5 commits into from
Mar 6, 2024

Conversation

dg0yt
Copy link
Contributor

@dg0yt dg0yt commented Dec 3, 2023

Cherry-picked from #35437:
Add a test port which covers non-default features of gdal.
Fix duplicate symbol definition in poppler and paraview found by the test-port. (#35437 (comment). paraview using vtk using gdal using poppler.)
Disallow cascaded failure of gdal.

@dg0yt dg0yt changed the title [vcpkg-ci-gdal,poppler] Test features, fix poppler/paraview name clash [vcpkg-ci-gdal,poppler] Test gdal features, fix poppler/paraview name clash Dec 3, 2023
@LilyWangLL LilyWangLL self-assigned this Dec 4, 2023
@LilyWangLL LilyWangLL added the category:port-bug The issue is with a library, which is something the port should already support label Dec 4, 2023
LilyWangLL
LilyWangLL previously approved these changes Dec 4, 2023
@LilyWangLL LilyWangLL added the info:reviewed Pull Request changes follow basic guidelines label Dec 4, 2023
@dg0yt dg0yt marked this pull request as draft December 4, 2023 08:24
Comment on lines +24 to +25
+namespace poppler_private {
class POPPLER_PRIVATE_EXPORT Parser
Copy link
Member

Choose a reason for hiding this comment

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

This is going to affect exported names. Is that OK? It would be better if upstream gets to see that before we merge it...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It affects the ABI, and it is source-incompatible with regard to forward declarations. But these headers are private includes. We only install them because GDAL needs them to implement proper memory management (across DLL boundaries, IIRC).

@BillyONeal
Copy link
Member

This LGTM subject to upstream seeing the patch

@LilyWangLL LilyWangLL removed the info:reviewed Pull Request changes follow basic guidelines label Dec 5, 2023
@dg0yt
Copy link
Contributor Author

dg0yt commented Dec 5, 2023

This LGTM subject to upstream seeing the patch

For upstream, the change should be extended to similar classes (as mentioned). It will take time. And it changes the ABI.

@BillyONeal
Copy link
Member

For upstream, the change should be extended to similar classes (as mentioned). It will take time. And it changes the ABI.

They still need to see it. If they look at this and go 'heck no', then it would be wrong for vcpkg to expose that behavior, since that is claiming they wrote something they didn't write.

@BillyONeal
Copy link
Member

BillyONeal commented Dec 6, 2023

Upstream contacted:

email submitted to maintainers

@dg0yt
Copy link
Contributor Author

dg0yt commented Dec 7, 2023

This is what I did: https://gitlab.freedesktop.org/poppler/poppler/-/issues/1449

# Conflicts:
#	ports/poppler/vcpkg.json
#	versions/baseline.json
#	versions/p-/poppler.json
@dg0yt dg0yt changed the title [vcpkg-ci-gdal,poppler] Test gdal features, fix poppler/paraview name clash [poppler] Fix poppler/paraview name clash Dec 28, 2023
@dg0yt dg0yt marked this pull request as ready for review December 30, 2023 17:10
@LilyWangLL LilyWangLL added the depends:upstream-changes Waiting on a change to the upstream project label Jan 8, 2024
@BillyONeal
Copy link
Member

Since poppler's upstream maintainers seem ... uninterested in resolving this situation, would it make sense to try to patch paraview to stop stomping on the name instead?

@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 25, 2024

I know little about paraview. This is the PR I trust. The patch is small, and it should be maintainable even if the test port finds other collisions in the future.

@BillyONeal
Copy link
Member

I know little about paraview. This is the PR I trust. The patch is small, and it should be maintainable even if the test port finds other collisions in the future.

I agree, I think this is the right change! But I'm uncomfortable speaking for upstream when they seem to have explicitly said no to it. :(

@dg0yt
Copy link
Contributor Author

dg0yt commented Jan 27, 2024

IMO we shouldn't take upstream's response as meaning "no". It is not the first time that communication with this project is ... difficult. Let us accept their priorities, even if it means holding back direct contributions.
And let us assume that those users of the vcpkg port poppler who can accept the GPL3 license are also able to accept our minimal opensource modifications to private interfaces.

@BillyONeal BillyONeal added the requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look. label Jan 30, 2024
@BillyONeal
Copy link
Member

I agree. Tagging vcpkg-team-review for a 2nd opinion from the other maintainers on just taking this anyway given upstream's inconsistent statements.

vicroms
vicroms previously approved these changes Feb 29, 2024
@LilyWangLL LilyWangLL removed depends:upstream-changes Waiting on a change to the upstream project requires:vcpkg-team-review This PR or issue requires someone on the vcpkg team to take a further look. labels Mar 1, 2024
@LilyWangLL LilyWangLL added the info:reviewed Pull Request changes follow basic guidelines label Mar 6, 2024
@vicroms vicroms merged commit 187b695 into microsoft:master Mar 6, 2024
16 checks passed
@dg0yt dg0yt deleted the vcpkg-ci-gdal branch March 7, 2024 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants