Subject: bug#73599: packages from store paths don't propagate propagated-inputs

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Thu, 03 Oct 2024 09:29:25 +0000

Heyo,

On 3 October 2024 07:39:27 UTC, MSavoritias <[email-masked]> wrote:
>Tobias Geerinckx-Rice kirjoitti 2.10.2024 klo 21.22:
>> is, or is expected to be, a supported way to install packages?  Packages have more metadata attached to them than store items.  I don't think that propagation is recorded in the Nix database.  Nor do I think it should be just to support this hack.
>
>It actually is mentioned explicitly in the manual. https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-package.html

I think I was misunderstood.  That is the part that needs improvement.  It may not 'explicitly' say that propagation will work in both cases, but the flow strongly implies it.

What I'm not aware of is any documentation that 'installing a store item'  is not the same as 'installing a package'.  It's a lossy transformation.

See also:

  $ guix package -I sbcl-typo
  $ guix install sbcl-typo &>/dev/null
  $ guix package -I sbcl-typo
  sbcl-typo       0.0.0-0.0e88349 out     /gnu/store/67nkzm5mw4ma39na24l9rv98gkfh3nbg-sbcl-typo-0.0.0-0.0e88349
  $ guix package -r sbcl-typo -i $(guix build sbcl-typo) &>/dev/null
  $ guix package -I sbcl-typo
  sbcl-typo-0.0.0 0.0e88349       out     /gnu/store/67nkzm5mw4ma39na24l9rv98gkfh3nbg-sbcl-typo-0.0.0-0.0e88349
  $ guix package -r sbcl-typo
  guix package: error: package 'sbcl-typo' not found in profile

Because  <https://gitlab.oit.duke.edu/duke-guix/guix/-/blob/master/guix/scripts/package.scm?ref_type=heads#L619> — I guess Savannah's down again.

Store items just aren't packages.

>Personally i could go either way.

I don't think you can, not *without* extending the database schema or otherwise adding the missing metadata back to the store item though, e.g., a hidden Scheme file, i.e., overkill.  I'd love to be proven wrong.

Otherwise, the documentation-bug way is the only realistic way.

Kind regards,

T G-R

Sent on the go.  Excuse or enjoy my brevity.