Hi Mathieu, On Thu, 24 Sep 2020 at 15:08, Mathieu Othacehe <othac...@gnu.org> wrote:
> The order of what appears in "bin" depends on both the name of the > binaries provided by both packages and also how the "ls" command decides > to sort its output. I'm not sure that much can be done here. I have badly worded. The point is that "diffutils" and "busybox" provide both the 'diff' binary. Therefore, depending on the order, 'diff' is provided by one or the other. Compare: guix package -i busybox diffutils -p /tmp/busybox-diffutils /tmp/busybox-diffutils/bin/diff and guix package -i diffutils busybox -p /tmp/diffutils-busybox /tmp/diffutils-busybox/bin/diff In the same time, compare the manifest.scm files: --8<---------------cut here---------------start------------->8--- ;;; busybox-diffutils.scm (specifications->manifest '("busybox" "diffutils")) ;;; diffutils-busybox.scm (specifications->manifest '("diffutils" "busybox")) --8<---------------cut here---------------end--------------->8--- then guix package -m busybox-diffutils.scm -p /tmp/busybox-diffutils-m /tmp/busybox-diffutils-m/bin/diff and guix package -m diffutils-busybox.scm -p /tmp/diffutils-busybox-m /tmp/diffutils-busybox-m/bin/diff Concretely, "guix package" processes command-line arguments from right to left. And the manifest.scm file read the list in order (so from left to right). All the best, simon PS: For another example not related: $ guix package --show=diffutils --show=busybox | recsel -C -p name name: busybox name: diffutils and "guix show" corrects that, processing from left to right. $ guix show diffutils busybox | recsel -C -p name name: diffutils name: busybox