Dans Guix, les paquets sont déclarés avec leurs recettes, et en général il n'y a à un seul instant une seule version de tel ou tel paquet. Chaque paquet déclaré est associé à une variable qu'on utilise ensuite. Donc par exemple, la variable libpng contient une déclaration du paquet libpng. En utilisant cette variable dans la liste des dépendances, on utilise précisément le paquet construit quant on « évalue » la variable. Le fait qu'il n'y ait qu'une seule variable qui s'appelle libpng signifie que tous les paquets d'une version de guix qui utilisent libpng utiliseront le même paquet.
Entre deux versions de Guix, la version de libpng peut changer mais ce n'est pas grave : une fois installé dans le dépôt un paquet continue de faire référence à la même libpng. On peut aussi utiliser des inférieurs pour utiliser la version de telle révision de Guix (une révision passée ou future). On peut déclarer un nouveau paquet, qu'on pourrait lier à une variable libpng-1.5 pour utiliser une autre version. Comme chaque paquet est installé dans un répertoire à lui qui contient un hash des entrées et de sa recette, cette dernière solution crée un paquet différent du paquet libpng (en version 1.5) d'un inférieur où libpng était dans cette version. Il n'y a pas de conflit.
Guix va télécharger toutes les dépendances. Scribus a sans doute des dépendances à des trucs qui peuvent utiliser mesa, ou wayland, ou postgresql, en tant que bibliothèques, mais il ne lancera jamais de service sur une distribution externe. Ces paquets n'ont pas été séparés en bibliothèques / binaires / etc, mais ils pourraient l'être.
[^] # Re: Le système d'exploitation du futur ?
Posté par roptat . En réponse à la dépêche GNU Guix version Un‐Point‐Zéro. Évalué à 2.
Dans Guix, les paquets sont déclarés avec leurs recettes, et en général il n'y a à un seul instant une seule version de tel ou tel paquet. Chaque paquet déclaré est associé à une variable qu'on utilise ensuite. Donc par exemple, la variable libpng contient une déclaration du paquet libpng. En utilisant cette variable dans la liste des dépendances, on utilise précisément le paquet construit quant on « évalue » la variable. Le fait qu'il n'y ait qu'une seule variable qui s'appelle libpng signifie que tous les paquets d'une version de guix qui utilisent libpng utiliseront le même paquet.
Entre deux versions de Guix, la version de libpng peut changer mais ce n'est pas grave : une fois installé dans le dépôt un paquet continue de faire référence à la même libpng. On peut aussi utiliser des inférieurs pour utiliser la version de telle révision de Guix (une révision passée ou future). On peut déclarer un nouveau paquet, qu'on pourrait lier à une variable libpng-1.5 pour utiliser une autre version. Comme chaque paquet est installé dans un répertoire à lui qui contient un hash des entrées et de sa recette, cette dernière solution crée un paquet différent du paquet libpng (en version 1.5) d'un inférieur où libpng était dans cette version. Il n'y a pas de conflit.
Guix va télécharger toutes les dépendances. Scribus a sans doute des dépendances à des trucs qui peuvent utiliser mesa, ou wayland, ou postgresql, en tant que bibliothèques, mais il ne lancera jamais de service sur une distribution externe. Ces paquets n'ont pas été séparés en bibliothèques / binaires / etc, mais ils pourraient l'être.