Conversation
|
OMG yes please @drodin! Let me know if I can help. |
|
@rbsheth Had time to think about it, and found a major downside: |
|
I'd like to revive this, since the requirement to have a fork of every supported package really makes adding new packages a lot harder and not user friendly. I have two notes on this:
So instead of having an entire directory with multiple patch files and CMakelists per version I propose using a single Another concern is the reduced ability to quickly view the changes made by a patch. I dont have a solution for that one, but worst case you could fork the original project, apply the patch and push it to your fork. One important thing this should help with is non git packages. Currently its practically a requirement for packages to live on github which, especially for older packages is often not the case. |
Just a POC of a patch mechanism which was discussed many times: #28 #255 etc.
This is a minimal change which doesn't break anything.
All logic is directory/file based: search PROJECT_NAME/patches/PROJECT_VERSION folder for file CMakeLists.txt, directory cmake and copy them to project source folder, apply *.patch files if they are found.
Example conversion of libmad (non CMake, source forge based) from vcpkg with some changes for installation:
from: https://github.com/microsoft/vcpkg/tree/030cfaa24de9ea1bbf0a4d9c615ce7312ba77af1/ports/libmad
to: drodin@0cfad8a
tests: https://github.com/drodin/hunter/runs/2972493798