Publish Graaf to vcpkg and Conan package registries
- 主要語言
- C++
- 星號
- 413
- 分支
- 67
- 平均合併
- 7 小時 24 分鐘
- 30 天內合併 PR
- 53
描述
## Summary
Graaf is not currently published on any C/C++ package registry (vcpkg, Conan Center, Homebrew, etc.). The only documented installation methods ([docs/docs/quickstart/installation/installation.md](../blob/main/docs/docs/quickstart/installation/installation.md)) are: manually copying the `graaflib` directory, or CMake `FetchContent` pointed at the GitHub repo.
## Current state
- No `vcpkg.json` / port file exists in the repository or in the [microsoft/vcpkg](https://github.com/microsoft/vcpkg) ports directory.
- No `conanfile.py` exists in the repository, and there is no listing under [conan-center-index](https://github.com/conan-io/conan-center-index).
- `packaging/graaf.pc.in` generates a pkg-config file on install, but the library itself is not distributed through any registry that would let a pkg-config-based dependency manager pull it automatically.
## Why this matters
Teams building on C++ increasingly manage dependencies through vcpkg or Conan rather than vendoring source or hand-rolling `FetchContent` declarations, both because it gives them reproducible, auditable dependency graphs and because it fits existing internal artifact/proxy setups. A dependency that isn't available through any of the mainstream registries adds friction and manual review overhead for adopting teams, and complicates keeping the library up to date.
## Suggested resolution
- Add a `vcpkg.json` manifest and a port definition, and submit it to `microsoft/vcpkg`.
- Add a `conanfile.py` (or `conanfile.txt` reference) and submit a recipe to `conan-io/conan-center-index`.
- Document both installation paths in the installation guide alongside the existing methods.
- Consider a Homebrew formula for macOS/Linuxbrew users, given the library is header-only and has minimal build requirements.
## Acceptance criteria
- [ ] Graaf can be installed via `vcpkg install graaf` (or equivalent) once the vcpkg PR is merged.
- [ ] Graaf can be consumed via a Conan recipe once the Conan Center PR is merged.
- [ ] Installation docs list these methods.
貢獻指南
研究方向
The repository's CMake configuration and packaging files are the starting point. Examine the existing CMakeLists.txt and the packaging/graaf.pc.in file. Research vcpkg and Conan documentation to understand how to create a port file (vcpkg.json) and a conanfile.py. The acceptance criteria require submitting PRs to external registries (microsoft/vcpkg and conan-io/conan-center-index), so understanding their contribution guidelines is essential. Success means Graaf can be installed via `vcpkg install graaf` and consumed via Conan, with updated installation documentation.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- cmake, cpp
- 領域
- build-system, developer-experience, tooling
- Issue 類型
- 功能
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 活躍
- 描述清晰度
- 描述清楚
- 新手友好度
- 45/100