Hi, Mark H Weaver skribis: > ludo@gnu.org (Ludovic Courtès) writes: > >> First, we could mark the ‘replacement’ field as “innate”, which means it >> will never be inherited (like the ‘location’ field.) Like you, I can’t >> think of a situation where inheriting the replacement makes sense. > > I think we should do this. It's not a complete solution, but it would > be a step in the right direction. I’ll push the attached patch if that’s fine with you. It has the desired effect: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> ,use(guix) scheme@(guile-user)> ,use(gnu packages base) scheme@(guile-user)> (package-replacement glibc) $1 = # scheme@(guile-user)> (package-replacement glibc-locales) $2 = #f scheme@(guile-user)> (package-replacement glibc-2.24) $3 = #f scheme@(guile-user)> ,optimize (package (inherit glibc) (name "foo")) $4 = (make-struct/no-tail (@@ (guix packages) ) "foo" (struct-ref ((@@ (gnu packages base) glibc-for-target)) 1) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 2) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 3) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 4) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 5) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 6) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 7) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 8) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 9) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 10) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 11) (lambda () #f) ; <——— ‘replacement’ field (struct-ref ((@@ (gnu packages base) glibc-for-target)) 13) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 14) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 15) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 16) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 17) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 18) (struct-ref ((@@ (gnu packages base) glibc-for-target)) 19) ((@@ (guix packages) and=>) '((line . 5) (column . 10) (filename . #f)) (@@ (guix packages) source-properties->location))) --8<---------------cut here---------------end--------------->8--- Thanks, Ludo’.