Subject: bug#35618: 'guix environment' doesn't honor package transformations

From: Ludovic Courtès <[email-masked]>
Date: Tue, 07 May 2019 14:16:28 +0200

Hello,

‘guix environment’ apparently doesn’t honor package transformation
options:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generacio 80	May 02 2019 15:50:50	(nuna)
  guix 746ac45
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 746ac457cc2748152a3a39d4296972fa20f19741
$ guix environment guile-json --with-input=guile=guile-next
[env]$ cat $GUIX_ENVIRONMENT/manifest | grep -C4 guile
          ":"
          directory
          #f)))
      (properties))
     ("guile"
      "2.2.4"
      "out"
      "/gnu/store/9alic3caqhay3h8mx4iihpmyj6ymqpcx-guile-2.2.4"
      (propagated-inputs
        (("libunistring"
          "0.9.10"
          "out"
--
          (search-paths ())
          (properties))))
      (search-paths
        (("GUILE_LOAD_PATH"
          ("share/guile/site/2.2")
          ":"
          directory
          #f)
         ("GUILE_LOAD_COMPILED_PATH"
          ("lib/guile/2.2/site-ccache")
          ":"
          directory
          #f)))
      (properties))
--8<---------------cut here---------------end--------------->8---

With ‘--ad-hoc’, package transformation options are honored:

--8<---------------cut here---------------start------------->8---
$ guix environment --ad-hoc guile-json --with-input=guile=guile-next

[...]

[env]$ cat $GUIX_ENVIRONMENT/manifest | grep -C4 guile
(manifest
  (version 3)
  (packages
    (("guile-json"
      "3.1.0"
      "out"
      "/gnu/store/lyzfdnifdm21m20yxjc4lpwf67b74kgz-guile-json-3.1.0"
      (propagated-inputs ())
      (search-paths ())
      (properties)))))
[env]$ guix gc --references $(guix gc --derivers "/gnu/store/lyzfdnifdm21m20yxjc4lpwf67b74kgz-guile-json-3.1.0" |head -1) |grep guile
/gnu/store/16c8c8hm1qdn6xz8014939mirc7c4d4j-guile-2.2.4.drv
/gnu/store/36r9kmss44r1w96pqjd52bpkbvg0mh72-guile-json-3.1.0-guile-builder
/gnu/store/qfxz4zcnxgavf70j2b4ad0wr44bg2m2l-guile-next-2.9.1.drv
/gnu/store/qmsj1jnlah66cqmhwznabd09zjm2yqsm-guile-json-3.1.0.tar.gz.drv
[env]$ grep guile-next /gnu/store/36r9kmss44r1w96pqjd52bpkbvg0mh72-guile-json-3.1.0-guile-builder
--8<---------------cut here---------------end--------------->8---

Ludo’.