Conan, nouvelle tentative de gestionnaire de dépendances en C++

L’environnement des bibliothèques C++ peut être considéré en bonne approximation comme un capharnaüm : à moins de développer exclusivement sous Linux avec des bibliothèques relativement matures (et donc disponibles dans les différents gestionnaires de paquets), l’installation des dépendances (et de leurs dépendances respectives !) devient rapidement difficile pour gérer d’autres plateformes ou pour des bibliothèques moins courantes. Même dans ce cas idyllique, il n’est pas rare que les versions disponibles soient trop anciennes.

Conan vient combler ce déficit : en tant que gestionnaire de dépendances, il prend en entrée une série de bibliothèques requises pour un programme donné, puis il les télécharge et les compile si nécessaire, de telle sorte qu’il devient possible de compiler le programme demandé. De plus, Conan dispose déjà d’une grande base de données en ligne de bibliothèques compilées pour différentes plateformes en versions variées — plusieurs dizaines de bibliothèques, certaines très courantes en C++ comme Boost.

Ce projet ne vient pas de nulle part : il s’agit en réalité de Biicode, dont une très grande partie du code a été repris, suite à la faillite de la société derrière ce projet. Une chose a été améliorée depuis : la simplicité de création d’un paquet. Les contributeurs de Conan sont en grande partie des anciens de Biicode, avec des contributions comme des générateurs de fichiers de projet depuis lors. Actuellement, il n’y a aucune société derrière Conan, il s’agit plus d’un projet personnel. Bien que libre, l’objectif est de développer une société derrière pour faire vivre le projet et un modèle économique viable : les idées pour l’instant se rapprochent du modèle de GitHub, c’est-à-dire des paquets privés payants, même s’il a déjà échoué pour Biicode.

Découvrir Conan

Sources : Conan: One Month After Launch, Thanks!, Nerd Food: Dogen: The Package Management Saga

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s