bobluppes / bobluppes/graaf

Publish Graaf to vcpkg and Conan package registries

未關閉
#320 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。