[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: logiciel qui satisfait les dépendances à la compilation



Bonsoir,

Benoît Barbier a écrit :
> Existe-t-il un logiciel qui installe les dépendances à la compilation
> en téléchargeant et compilant les sources si les dépendances ne sont
> pas disponibles en paquet debian ?

Sous cette forme, la question est bien trop généraliste et je suis tenté
de répondre « oui, il existe des tas de gestionnaires de dépendances :
maven, bundle, cargo… ».

En fait, la réponse dépend du langage considéré. Or, Digikam est
développé en C++ et l'un des points faibles des langages C et C++
a toujours été « l'absence » de gestionnaire de dépendances. J'écris
« l'absence » entre guillemets parce qu'en réalité, deux gestionnaires
de dépendances pour le C et le C++ ont tardivement fait leur entrée en
scène :

* vcpkg : https://vcpkg.io/
* conan : https://conan.io/

Le problème est qu'aucun des deux n'a sérieusement pris. Des centaines
de projets font l'effort de fournir un paquet vcpkg ou conan pour leur
bibliothèque (à cette heure, 1837 pour conan, 2590 pour vcpkg), mais
c'est une goutte d'eau dans l'océan du C/C++.

Outre le catalogue, vcpkg et conan se distinguent essentiellement par le
fait que vcpkg ne propose que les paquets de sources (qui sont donc
systématiquement compilées sur la machine cible), alors que conan
propose les paquets sources et les paquets binaires (on peut donc
télécharger un binaire prêt à l'emploi).

Sinon, CMake supporte partiellement les fonctions que tu recherches :

* Il peut vérifier si une dépendance est disponible sur le système hôte ;

* Il peut télécharger les sources de dépendances et les compiler,
  y compris si elles utilisent un autre gestionnaire de compilation que
  CMake.

Par contre, à ma connaissance, il ne gère pas l'entre deux, à savoir que
si le paquet n'est pas installé sur le système, il ne sait pas interagir
avec le gestionnaire de paquets natif du système (dans le cas présent,
apt) pour lui demander si un paquet est disponible et, le cas échéant,
déclencher son installation.

Mais surtout, pour que CMake fasse cela, il faut que le script CMake de
l'outil à compiler contienne les directives idoines, ce qui est pas
toujours le cas.

Ceci étant, si tu arrives à identifier les dépendances de Digikam et si
conan ou vcpkg proposent des paquets pour ces bibliothèques, tu peux
très bien écrire un petit script Shell invoquant vcpkg et/ou conan pour
les installer si elles ne sont pas disponibles dans les référentiels de
Debian.

Sébastien

-- 
Sébastien Dinot, sebastien.dinot@free.fr
https://www.palabritudes.net/
Ne goutez pas au logiciel libre, vous ne pourriez plus vous en passer !


Reply to: