Skip to content

[flatcitybuf] Add new port - #53406

Draft
HideBa (HideBa) wants to merge 11 commits into
microsoft:masterfrom
HideBa:master
Draft

[flatcitybuf] Add new port#53406
HideBa (HideBa) wants to merge 11 commits into
microsoft:masterfrom
HideBa:master

Conversation

@HideBa

@HideBa HideBa (HideBa) commented Aug 13, 2026

Copy link
Copy Markdown
  • Changes comply with the maintainer guide.
  • The packaged project is mature and ready for broad sharing with vcpkg users
    • Has a release at least 6 months old or 6 months of demonstrated public development
      The project has more than 1 year history and being used by users.

    • Is an official component of something else meeting that criteria

    • Some other reason (please explain)

  • The packaged project shows strong association with the chosen port name. Check this box if at least one of the following criteria is met:
    • The project is in Repology: https://repology.org/project//versions

    • The project is amongst the first web search results for "" or " C++". Include a screenshot of the search engine results in the PR.
      Here is a screenshot of the search engine. The project also has research papers about it.
      CleanShot 2026-08-13 at 21 36 44@2x

    • The port name follows the 'GitHubOrg-GitHubRepo' form or equivalent Owner-Project form.

  • Optional dependencies of the build are all controlled by the port. A dependency is controlled if it is declared an unconditional dependency in vcpkg.json, or explicitly disabled through patches or build system arguments such as CMAKE_DISABLE_FIND_PACKAGE_Xxx or VCPKG_LOCK_FIND_PACKAGE
  • The versioning scheme in vcpkg.json matches what upstream says.
  • The license declaration in vcpkg.json matches what upstream says.
  • The installed as the "copyright" file matches what upstream says.
  • The source code of the component installed comes from an authoritative source.
  • The generated "usage text" is brief and accurate. See adding-usage for context. Don't add a usage file if the automatically generated usage is correct.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Exactly one version is added in each modified versions file.

HideBa (HideBa) and others added 8 commits March 7, 2026 11:56
The 0.7.4 port shipped prebuilt binaries of the Rust core behind a CXX
bridge. Upstream now has a native C++17 implementation in src/cpp with
its own install(EXPORT) rules, so build it from source instead: no
platform-specific archives, no hand-written config file, and the
exported flatcitybuf::flatcitybuf target comes from upstream.

Adds the flatbuffers and nlohmann-json dependencies the library links
publicly, and a "curl" feature for the HTTP range-request reader.
Public encoded-geometry API (Feature::raw) and a bracket-free LICENSE.
C++ releases are now tagged cpp-v<version>: bare v<version> is the tag
release.yml cuts for the independently-versioned Rust crates.
@HideBa HideBa (HideBa) changed the title [flatcitybuf]: Add new port] [flatcitybuf] Add new port Aug 13, 2026
@HideBa

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

The 0.8.0 and 0.7.4 entries referenced git-trees that exist only in
this fork's history; after a squash-merge upstream they would dangle.
A new port lands with exactly one version.
@HideBa
HideBa (HideBa) marked this pull request as ready for review August 13, 2026 20:10
HideBa (HideBa) and others added 2 commits August 14, 2026 15:17
Minor, not patch: cityjson/flatcitybuf#58 turned nine FileInfo strings
into std::optional<std::string> and deleted has_poc_email, so header
metadata is gated on presence rather than emptiness. It also fixed
Byte/UByte/Binary feature-attribute decoding.

The cpp-v0.8.1 tag was cut on a release branch before microsoft#58 landed, so
the 0.8.1 port predates every one of those fixes.

relax-flatbuffers-version-check.patch still applies unchanged; the
release build installs a ConfigVersion of 0.9.0, matching this port.

@BillyONeal Billy O'Neal (BillyONeal) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the new port!

-static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
- FLATBUFFERS_VERSION_MINOR == 9 &&
- FLATBUFFERS_VERSION_REVISION == 23,
+// vcpkg: the exact-version assert flatc emits here was relaxed to a major

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems likely that these need to be regenerated rather than just removing the safety check. Has upstream signed off on this change?

Comment thread ports/flatcitybuf/usage
@@ -0,0 +1,15 @@
flatcitybuf provides CMake targets:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't put "how to use this in code" in usage blocks; the expectation for vcpkg customers is that they know what the library they're trying to install is but might not remember the exact spelling of build system bindings or similar. Without those parts, the remaining usage is substantially identical to the default generated usage, so we should remove this usage file.

Comment on lines +7 to +11
},
{
"git-tree": "922f5c9984fe68f60b03630bc2f701a9ace104ed",
"version": "0.8.1",
"port-version": 0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
},
{
"git-tree": "922f5c9984fe68f60b03630bc2f701a9ace104ed",
"version": "0.8.1",
"port-version": 0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will fix the "check for common mistakes" failure

],
"homepage": "https://github.com/cityjson/flatcitybuf",
"documentation": "https://github.com/cityjson/flatcitybuf/tree/main/src/cpp",
"license": "MIT",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GPT 5.6 Sol reports:

@BillyONeal
Billy O'Neal (BillyONeal) marked this pull request as draft August 14, 2026 23:48
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.

2 participants