MSavoritias kirjoitti 3.10.2024 klo 10.39:
Tobias Geerinckx-Rice kirjoitti 2.10.2024 klo 21.22:
Hi [explicitly CC'ing Ludo', I hope that's OK],
I don't think
guix install $(guix build foo)
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
from the link above:
Alternatively, a package can directly specify a store file name such
as /gnu/store/...-guile-3.0.7, as produced by, e.g., |guix build|.
Sometimes packages have /propagated inputs/: these are dependencies
that automatically get installed along with the required package (see
|propagated-inputs| in |package| objects
<https://guix.gnu.org/manual/devel/en/html_node/package-Reference.html#package_002dpropagated_002dinputs>,
for information about propagated inputs in package definitions).
There was an investigation yesterday at the xmpp room and that is how
we discovered that the documentation has a bug. If we do not want to
supportĀ it then this is just a documentation bug.
Personally i could go either way. I already updated the project
documentation I have to reflect not to do this
https://codeberg.org/Guix_Bechamel/collective/wiki/Updating-Packages#testing-the-package-at-runtime
MSavoritias
Sorry for the second reply just wanted to add some additional things here.
> Packages have more metadata attached to them than store items.
I was very surprised to discover this yesterday when somebody pointed it
out. The manual does not mention this in the store section. Is this
because what you want is a nar that is retrieved only when doing guix
export/import? at least that is my guess doing a search for metadata in
the guix manual.
Aside from that as a separate issue of concern
it was mentioned that the Gnu Guix channel has solved this by doing the
whole pre-inst-env architecture thing but i found little documentation
to go on in the manual aside from "keeping things separate". There is
also no mention of why it is needed, why these tools where picked, how
the architecture is arranged and interacts or what each tool actually
does. I tried to read the source files but there is not enough comments
to go on. I assume it is expected to know pathing, unix, autotools, bash
scripting among others but that is not mentioned and shouldn't be needed
imo.
Some clarifications of this would be nice but as I said these are out of
scope of this bug report probably.
Also some guide on the Guix manual by hopefully more knowledgeable
people on how you are supposed to test packages at runtime would be
nice. The guide only mentions to build packages but that doesn't make
sure that packages actually work. namely:
- po4a in the gnu channel of guix is atm broken. It misses gettext at
runtime.
- gajim doesn't show emojis
MSavoritias