-
Notifications
You must be signed in to change notification settings - Fork 19
[Request] conan #4186
Description
Package
https://aur.archlinux.org/packages/conan
https://aur.archlinux.org/packages/conan-bin
Purpose
-
What does the package do?
Conan is a decentralized package manager for C and C++ development. It automates downloading, building, and integrating third-party libraries (such as Boost, OpenSSL, fmt) into a project. Conan works alongside existing build systems (CMake, MSBuild, Meson, Autotools, etc.) - it orchestrates dependencies without replacing your build system. -
How is it used?
Conan can be installed via pip (pip install conan) or through a system package manager. After installation, you define dependencies in a recipe file (conanfile.py or conanfile.txt), then run conan install to fetch binaries or build from source. Integration with CMake is provided through generated toolchains, allowing libraries to be linked without manually specifying paths. -
How is it useful?
Conan solves the "dependency hell" problem that C++ developers frequently face — C++ lacks a standard, language‑level package manager (unlike npm for JavaScript or pip for Python). Conan allows you to:
- Avoid storing third‑party libraries in your project repository (reduces repo size).
- Reuse the same libraries across different projects without copying them.
- Ensure that all developers on a team use identical library versions and build configurations (Release/Debug, static/shared linking).
-
Why would a user use this package instead of another?
Unlike vcpkg (from Microsoft), Conan is fully decentralized (you can use multiple servers, including your own private ones) and is not tightly coupled to CMake — it works with any build system. Compared to simply using pacman -S, Conan allows different projects to use different versions of the same library simultaneously (isolation), whereas the system package manager enforces a single version for the entire OS. This is especially useful on Arch when an application needs an older version of a library (e.g., libcurl) while the system expects a newer one. -
What are some use cases for this package?
- Game development (e.g., Unreal Engine): Conan helps manage build tools and plugin dependencies.
- Cross‑platform / embedded development: Building for Android or ARM (Raspberry Pi) from an Arch Linux workstation — Conan understands cross‑compilation toolchains.
- CI/CD pipelines: Developers need the same tooling locally (on Arch) and on build servers — Conan ensures reproducible builds across environments.
- Modern C++ libraries: Projects like boost, spdlog, or gRPC have complex build systems; Conan lets you add them to your project with a single line of configuration.
License
MIT
Submission checklist
- The package is not banned.
- The package is not available in Chaotic AUR or official Arch repos.
- The package has not already been requested.