microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.31k stars 6.19k forks source link

[readline-(osx|win32|unix)] remove platform dependent ports. #22436

Closed Neumann-A closed 4 days ago

Neumann-A commented 2 years ago

there should only be one readline port. (see how openssl does it.....)

dg0yt commented 2 years ago

Only 27 days ago: https://github.com/microsoft/vcpkg/pull/22000#issuecomment-992223797

JackBoosY commented 2 years ago

@dg0yt Now readline uses makefile in non-Windows.

dg0yt commented 2 years ago

@dg0yt Now readline uses makefile in non-Windows.

I know. Still, it would have been less work to just implement it in port readline, right from my first comment, before adding new names to the catalog. And it seems we need a vcpkg-pkgconfig-validate as much as the submitted vcpkg-cmake-validate.

Neumann-A commented 2 years ago

vcpkg-pkgconfig-validate

In the past vcpkg_fixup_pkgconfig had validation but it was removed since a lot of pc files contain system libs in Libs:. and vcpkg cannot guess all those for all cases.

dg0yt commented 2 years ago

In the past vcpkg_fixup_pkgconfig had validation but it was removed since a lot of pc files contain system libs in Libs:. and vcpkg cannot guess all those for all cases.

No guessing needed. Builds a test project which consumes the pc file. It must break when there is -lm for x64-windows.

Neumann-A commented 2 years ago

No guessing needed.

13126 was the pr removing the library checks.

dg0yt commented 2 years ago

13126 was the pr removing the library checks.

However, these were pure script mode checks. I mean building a test project. Takes more CI build time, but should catch such errors quite reliably.

Neumann-A commented 2 years ago

I mean building a test project.

requires symbol usage to detect stuff. And even that is not reliable. If you have already ports depending on the upstream pkgconfig stuff that is better than any arbitrary test. In generally the only test needed is to see if the stuff in Libs: is existing.

dg0yt commented 2 years ago

If you have already ports depending on the upstream pkgconfig stuff that is better than any arbitrary test.

The problem is that we sometimes/often don't have the ports (yet), or the feature combination isn't tested (yet), or the dependency is not used (yet) due to some cascaded skip, or whatever. When a problem appears in some consuming configuration, it is hard to track down the origin of the problem.

github-actions[bot] commented 2 weeks ago

This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 180 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment.