Boost logo

Boost :

Subject: [boost] [ann] C++ Archive Network
From: Egor Pugin (egor.pugin_at_[hidden])
Date: 2016-03-13 20:01:57


Hi,

I'd like to present my project - C++ Archive Network (or simply
CPPAN). You can consider it as (yet another) C/C++ package manager. In
the beginning it was targeting C++ Modules, but it seems it can handle
many current C/C++ projects. You can read more information about idea
and motivation from links below (see docs).

This is an alpha release (0.1.2). I'm announcing it only here to get
initial feedback (but still boost community is large enough).

As always the general idea is to create programs faster, to reuse and
share your or anyone's code. But specifically here: source only
packages (no tools, no tests in distribution pkg - keep all your stuff
in your repos), Modules-like paths (org.boost.algorithm), semantic
versioning (semver.org), zero-conf. projects, all-or-nothing
dependencies (no optional deps.) and some other convenient features.
At the moment CPPAN works only with CMake. It generates files that you
include to your project (see docs).

To be closer to boost and modern C++ community I added some popular
projects as demo versions:
- boost 1.60.0 - all projects - some core parts work (filesystem,
thread, log, asio etc.), did not tried less used libraries.
- new boost libs: coroutine2 (added but not set up, so does not works), dll
- boost incubator libs: fit, DI - you can try them faster during reviews
- gsl, range-v3, mach7, sqlpp11 (and connectors) - some modern libs
- concepts libs: cmcstl2, text_view - so users can try and adopt new
C++ features faster
- google's: gtest,gmock,protobuf, recent 'highwayhash' lib
- sqlite3 (3.11.0)
- zlib, bzip2
- libressl
- image libs: libpng, tiff, gif, webp, some others
- libpqxx

Most of them just works. Almost all dependencies are met. In boost.* I
do not untangle the core dependencies, so base dependency-ball is
quite big. I believe that library authors can eliminate unneeded deps
better.

Links:
https://cppan.org/ - website
https://github.com/cppan/cppan - client, use issues for feedback
https://github.com/cppan/cppan/wiki - docs
https://github.com/cppan/demo_project - example project that uses cppan
https://github.com/cppan/packages - example packages (config files)
https://github.com/cppan/packages/blob/master/boost/boost.cppan - base
boost config file (big list of deps, probably can be shorter)

---
ps. I'm not writing about pros. and cons. Both are present.
Just give CPPAN a try and we'll see how we can improve it.
-- 
Egor Pugin

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk