Skip to content

[orderflow-c] add new port#50493

Closed
gregorian-09 wants to merge 5 commits intomicrosoft:masterfrom
gregorian-09:add-orderflow-c
Closed

[orderflow-c] add new port#50493
gregorian-09 wants to merge 5 commits intomicrosoft:masterfrom
gregorian-09:add-orderflow-c

Conversation

@gregorian-09
Copy link
Copy Markdown

@gregorian-09 gregorian-09 commented Mar 16, 2026

What does your PR fix?

Adds a new official orderflow-c port to vcpkg for the Orderflow C ABI runtime library.

Which triplets are supported/not supported? Have you updated the CI baseline?

Supported: (windows | linux | osx) & x64
Baseline updated via ./vcpkg x-add-version orderflow-c.

Does your port depend on any new vcpkg tools?

No.

How did you test this PR?

  • ./vcpkg install orderflow-c:x64-linux

Notes

  • Source tag: v0.1.1 from gregorian-09/orderflow
  • SHA512 is pinned in ports/orderflow-c/portfile.cmake.

@gregorian-09
Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

@gregorian-09
Copy link
Copy Markdown
Author

All CI checks are green on the latest commit (including arm64_osx) and CLA is satisfied. Could a maintainer please review and merge when possible? Thanks.

@dg0yt
Copy link
Copy Markdown
Contributor

dg0yt commented Mar 17, 2026

I don't believe the vcpkg rust integration problem is solved by bootstrapping and running cargo by per-port recipes.

@gregorian-09
Copy link
Copy Markdown
Author

gregorian-09 commented Mar 17, 2026

Thanks for the review and the clarification. Understood on the Rust integration concern. I’ll stop pursuing curated-registry merge with the current per-port rustup/cargo bootstrap approach, and move this package to a custom-registry/overlay distribution path for now. I’ll keep tracking upstream Rust integration direction in vcpkg and can resubmit once there is a maintainer-approved pattern.

@vicroms
Copy link
Copy Markdown
Member

vicroms commented Mar 19, 2026

Hi @gregorian-09,

Thanks for your contribution! Unfortunately, this port doesn't yet meet our minimum project maturity requirement.

But don't worry, you can still use vcpkg to install this library! Here are some alternatives you can try:

Publish a collection of overlay ports

Set up a repository to hold your port(s):

mkdir my-vcpkg-ports
cd my-vcpkg-ports
git init

Follow the registry structure and create a ports folder to store all your ports.

You don’t need to create a versions folder since you’re not making a full registry. This setup makes it easier if you want to turn your repository into a full registry later.

mkdir ports
# Put all your ports inside the "ports" folder
git add .
git commit -m "Add ports"

Publish your repository somewhere public like https://github.com:

git remote add origin https://github.com/<my username>/my-vcpkg-ports
git push origin HEAD

Add instructions for users in your repository’s README:

To use these ports with vcpkg:

```bash
git clone https://github.com/<my username>/my-vcpkg-ports my-vcpkg-ports
vcpkg install <ports> --overlay-ports=<path/to>/my-vcpkg-ports/ports
```

Check out vcpkg’s docs on [using overlay ports](https://learn.microsoft.com/vcpkg/concepts/overlay-ports#using-an-overlay-port).

Publish your port alongside your project

This is great for library authors who want to include a vcpkg port within their project.

Place your port somewhere in your repository, like:

# Place ports in <repo root>/vcpkg/ports
mkdir -p vcpkg/ports
cp <path/to/my port> ./vcpkg/ports/
git add ./vcpkg/ports/.
git commit -m "Add vcpkg port files"
git push

Add usage instructions in your repository’s README:

To install this library with vcpkg:

```bash
git clone https://github.com/<my username>/<my repository> <local repository>
vcpkg install <port> --overlay-ports=<path/to/local repository>/vcpkg/ports
```

See vcpkg’s docs on [using overlay ports](https://learn.microsoft.com/vcpkg/concepts/overlay-ports#using-an-overlay-port).

NOTE: If you want the port to stay in sync with your project’s sources, instead of using the vcpkg_from_* portfile functions, try something like set(SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}/../..) and set SOURCE_PATH to the relative path to your sources from portfile.cmake.

Publish a Git registry

If you want your users to fully benefit from vcpkg’s versioning features, create a Git registry.

Check out our full guide on how to create a custom registry.

Then add instructions for users in your repository’s README:

To use this registry, add it to your `vcpkg-configuration.json`:

`vcpkg-configuration.json`

```json
{
  "registries": [{
    "kind": "git",
    "repository": "https://github.com/<my username>/<my repository>",
    "baseline": "<latest commit SHA>",
    "packages": [ /* list of packages you want to consume from this registry */ ]
  }]
}
```

Read more about [consuming packages from custom registries](https://learn.microsoft.com/vcpkg/consume/git-registries).

Let us know if any of these options sound good to you or if you want help setting them up. You can still publish your port in the curated registry once it meets our maturity guidelines!

@vicroms vicroms closed this Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants