You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I have been using vcpkg for a couple years now and would like to share an idea I have for introducing overlay patches.
Essentially the idea is that it should be possible to provide port-specific patches, similar in concept to overlay triplets and overlay ports.
For example, the quickfix port already provides two patches, but I had to make another patch to fix an issue I encountered when using the port with a C++17 project. As far as I know, the only way to add additional patches to the port is to fork the entire port to a separate vcpkg registry and add the patch there. This approach works, but it has obvious drawbacks:
Most of the port directory is copy and pasted except for the new patch file
The patch cannot easily be shared with other people facing the same issue
The patch results in a different git-tree with a different port version, which might clash with future official versions
What I want is to be able to use the officially provided port, and then have vcpkg apply my overlay patches on top of any other patches when installing the port. If the patch gets upstreamed in the future, the overlay patch can simply be removed from my project.
Lastly, it should be possible to support specifying the overlay patches via a new VCPKG_OVERLAY_PATCHES CMake variable for seamless integration with manifest mode.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello, I have been using vcpkg for a couple years now and would like to share an idea I have for introducing overlay patches.
Essentially the idea is that it should be possible to provide port-specific patches, similar in concept to overlay triplets and overlay ports.
For example, the quickfix port already provides two patches, but I had to make another patch to fix an issue I encountered when using the port with a C++17 project. As far as I know, the only way to add additional patches to the port is to fork the entire port to a separate vcpkg registry and add the patch there. This approach works, but it has obvious drawbacks:
git-tree
with a different port version, which might clash with future official versionsWhat I want is to be able to use the officially provided port, and then have vcpkg apply my overlay patches on top of any other patches when installing the port. If the patch gets upstreamed in the future, the overlay patch can simply be removed from my project.
Lastly, it should be possible to support specifying the overlay patches via a new
VCPKG_OVERLAY_PATCHES
CMake variable for seamless integration with manifest mode.Can I get some feedback on this idea?
Beta Was this translation helpful? Give feedback.
All reactions