Le problème que tu as, c'est que tu télécharges le paquet entier, alors que tu n'as besoin que d'une petite partie (les bibliothèques). Sur la plupart des distributions, c'est le cas : tu as libpng, libpng-dev ou pour postgresql, tu vas avoir libpostgresql et postgresql-server par exemple.
Dans le cas de Guix, ça complique un peu les choses de séparer les paquets, même si c'est possible. Un paquet peut avoir plusieurs sorties (par exemple le paquet bind a la sortie out par défaut et utils, on peut le voir avec guix package --show=bind).
La plupart du temps, c'est un peu compliqué de faire ça, parce qu'il faut alors spécifier la sortie qu'on veut utiliser comme dépendance d'un paquet si ce n'est pas la sortie par défaut. Il peut aussi y avoir parfois des problèmes de références circulaires entre les sorties. Ça fait que la séparation en différentes sorties est limitée. Maintenant ça serait sans doute intéressant d'étudier l'impact de la séparation de quelques paquets clefs sur la taille totale du téléchargement d'applications courantes.
Tu peux aussi regarder avec guix graph la raison pour laquelle tu as besoin de postgresql et wayland pour le paquet que tu installes. guix size te donneras la taille totale du paquet, en prenant en compte les dépendances récursivement (mais sans prendre en compte le fait que ces dépendances sont partagées avec d'autres applications).
[^] # 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.
Le problème que tu as, c'est que tu télécharges le paquet entier, alors que tu n'as besoin que d'une petite partie (les bibliothèques). Sur la plupart des distributions, c'est le cas : tu as libpng, libpng-dev ou pour postgresql, tu vas avoir libpostgresql et postgresql-server par exemple.
Dans le cas de Guix, ça complique un peu les choses de séparer les paquets, même si c'est possible. Un paquet peut avoir plusieurs sorties (par exemple le paquet bind a la sortie out par défaut et utils, on peut le voir avec guix package --show=bind).
La plupart du temps, c'est un peu compliqué de faire ça, parce qu'il faut alors spécifier la sortie qu'on veut utiliser comme dépendance d'un paquet si ce n'est pas la sortie par défaut. Il peut aussi y avoir parfois des problèmes de références circulaires entre les sorties. Ça fait que la séparation en différentes sorties est limitée. Maintenant ça serait sans doute intéressant d'étudier l'impact de la séparation de quelques paquets clefs sur la taille totale du téléchargement d'applications courantes.
Tu peux aussi regarder avec
guix graphla raison pour laquelle tu as besoin de postgresql et wayland pour le paquet que tu installes.guix sizete donneras la taille totale du paquet, en prenant en compte les dépendances récursivement (mais sans prendre en compte le fait que ces dépendances sont partagées avec d'autres applications).