Add versioning support for Vcpkg ports.
angelfor3v3r opened this issue · 1 comments
Vcpkg ports support versioning.
It seems like the current official way of listing versions is to run a git command line git blame -l versions/<port-first-char>-/<portname>.json
. There's also 3rd party sites such as this one that display version history.
I'm not sure what the best way is to go about implementing this, but I think we can do a syntax like [“<port name>[<features, here>]==<version number>#<port version>"]
. A more specific example would be ["imgui[dx9-binding, freetype]==v1.89.6#1
which means imgui with dx9-bindings, freetype
features, version v1.89.6
and port #1
.
It seems like Vcpkg supports having dependencies
with a version
key inside. The builtin-baseline
brings in ports with that version number at the time of the commit and Vcpkg will decide if it satisfies the minimum version specified in the version
key. But then it gets a bit more complicated because you can specify older versions using the overrides
key, with names and versions inside that too.
There's a lot of information about them here.
At the moment, the only way to use old versions is to specify old commit tags/hash, which I assume isn't ideal if you want to lock to specific port versions, and it might be missing newly added ports too.
If I'm misunderstanding how Vcpkg versioning works, please let me know so I can update the issue. So far, this sounds like a huge hassle to support.