|
From: | Juliana Sims |
Subject: | Re: guidelines for package names (namespaces?) |
Date: | Tue, 04 Jul 2023 14:30:04 -0400 |
Hi Andy,There are some guidelines for naming packages, as discussed in the manual: https://guix.gnu.org/en/manual/devel/en/html_node/Package-Naming.html. Ultimately, of course, the final say rests with the commiters who do or do not accept a given patch in a given state. As for namespaces, Guix packages being defined in Guile and thus in Guile modules provides namespacing in most contexts - if not operating at the command line, one need only use the correct module and reference a given package object directly.
That said, last night I was just considering the potential for name conflicts. If a given `guix package -i <package>` command would resolve equally well to two different packages, for example, it seems the priority goes to whichever one comes first in some alphabetic comparisons - or perhaps it's by the order of channels in the channel list; I didn't investigate much more than to find out if Guix offers any manual intervention.
I mused aloud about the possibility of adding a switch to specify channels in such situations and was offered the following addition to the command: `-e '(@ (my channel packages) foo)'`. This allows one to specify Scheme objects precisely. In this case, that code resolves to the package `foo` in the module `(my channel packages)`. Of course, this is not necessarily obvious or approachable to a relatively new or casual user - I had to test to understand the incantation above, and I would not have considered it without advice.
All of that to say, you raise some good questions. I hope these thoughts prove useful to you in your endeavors.
Best, Juli
[Prev in Thread] | Current Thread | [Next in Thread] |