[Dev] Add "registries" to vcpkg.json, add script to list the packages of the registry.#17124
Conversation
There was a problem hiding this comment.
Thanks a lot! This makes sense as-is already, thanks for the step.
There are two (independent) path in which this can move forward:
modernizing current extensions
- Copy current ports to vcpkg-duckdb-ports repository (see REAME)
- Add (once) a snippet like:
"registries": [
{
"kind": "git",
"repository": "https://github.com/duckdb/vcpkg-duckdb-ports",
"baseline": "0f9bf648ba1ee29291890a1ca9a49a80bba017eb",
"packages": [ 'avro-c', 'vcpkg-cmake' ]
},
"builtin-baseline" : "5e5d0e1cd7785623065e77eff011afdeec1a3574"
to vcpkg.json. See reference PR for duckdb-avro at https://github.com/duckdb/duckdb-avro/pull/22/files#diff-dbbb1b147126744a5eee012901d2b9a29cc478be03677f67825b9b2794f5d283
Actual hash AND list of packages should be like current main of duckdb/vcpkg-duckdb-ports and list of all packages.
3. Remove local vcpkg_ports in favor of external ones provided by duckdb/vcpkg-duckdb-ports (this require removing folder from vcpkg_ports and checking dependency is listed in registry.packages
4. Iterate
keep developing extensions
Eventually there will be needs to improve ports.
- Move back to local vcpkg_port
- Modify however needed
- Test
- send a PR to duckdb/vcpkg-duckdb-ports (currently missing CI, to be done)
- once merge, remove local vcpkg_port and move back to centralized vcpkg-duckdb-ports, new hash
- send a PR to duckdb/duckdb to bump the hash
Advantage in centralizing is that most extensions will need the same changes, and that allows also faster diffusion of changes like enabling compilation to Wasm.
|
Obviously here CI on extension building is relevant to double check, but should (in theory) work |
|
Thanks! |
|
@carlopi I think this might need a follow up |
|
I need to update my comment, when you add |
External File Cache (duckdb/duckdb#16463) [Dev] Add "registries" to `vcpkg.json`, add script to list the packages of the registry. (duckdb/duckdb#17124)
External File Cache (duckdb/duckdb#16463) [Dev] Add "registries" to `vcpkg.json`, add script to list the packages of the registry. (duckdb/duckdb#17124)
External File Cache (duckdb/duckdb#16463) [Dev] Add "registries" to `vcpkg.json`, add script to list the packages of the registry. (duckdb/duckdb#17124)
This PR adds https://github.com/duckdb/vcpkg-duckdb-ports to the generated vcpkg.json file.
This serves as an alternative to the copy-and-pasted ports we had previously.
All of the ports currently in (out of tree) extensions should move to the registry, this avoids needing to copy and paste the port when another extension depends on the same dependency, or even depends on a different extension that has a port.