Subject: bug#67685: ‘guix shell --export-manifest’ ignores transformations for ‘-D’ packages

From: Ludovic Courtès <[email-masked]>
Date: Thu, 07 Dec 2023 11:17:06 +0100

Hello!

‘--export-manifest’ does not apply transformations to packages preceded
by ‘-D’ (development environment):

--8<---------------cut here---------------start------------->8---
$ guix shell -D guile-git --with-branch=libgit2=main --export-manifest
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.
(package->development-manifest
  (specification->package "guile-git"))

$ guix shell guile-git --with-branch=libgit2=main --export-manifest
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.

(use-modules (guix transformations))

(define transform1
  (options->transformation
    '((with-branch . "libgit2=main"))))

(packages->manifest
  (list (transform1 (specification->package "guile-git"))))

$ guix describe
Generation 283	Dec 04 2023 00:32:23	(current)
  guix 6e2dd51
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 6e2dd51df5f3f51e9056dd4f2e1b036195ab3caa
--8<---------------cut here---------------end--------------->8---

Ludo’.