Subject: bug#67221: Package identity transformation produces different derivation

From: Simon Tournier <[email-masked]>
Date: Fri, 12 Jan 2024 11:50:23 +0100

Hi,

On Wed, 15 Nov 2023 at 21:56, Ulf Herrman <[email-masked]> wrote:
> $ guix build --no-grafts --derivations -e \
>      '(begin
>        (use-modules (guix packages) (gnu packages gtk))
>        ((package-mapping identity) cairo-sans-poppler))' \
>        -e '(@ (gnu packages gtk) cairo-sans-poppler)'
> =>
> /gnu/store/51hwf2mc2ig76a3nm86msv4z9az3s0j3-cairo-1.16.0.drv
> /gnu/store/q78ziqcg2dvi2lzj18hzdld85bcydzwk-cairo-1.16.0.drv

The only difference is from the builder: %build-inputs contains

   ("util-linux" . "/gnu/store/gwx2sf5wl9bsl21lwv35g5la63bwyy95-util-linux-2.37.4-lib")

for the non-transformed ’(@ (gnu packages gtk) cairo-sans-poppler)’
package, only.

Hum, is ’package-mapping’ removing it?

> 1. (package-mapping identity #:deep? #t) *does* produce the same
>    derivation.

Well, it means that #:deep? #t adds “util-linux” in the builder.

Cheers,
simon