-
Notifications
You must be signed in to change notification settings - Fork 2.4k
[Dev] Add "registries" to vcpkg.json
, add script to list the packages of the registry.
#17124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Dev] Add "registries" to vcpkg.json
, add script to list the packages of the registry.
#17124
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.