unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* guidelines for package names (namespaces?)
@ 2023-07-03 20:55 Andy Tai
  2023-07-05 20:19 ` John Kehayias
  2023-07-06  9:28 ` Attila Lendvai
  0 siblings, 2 replies; 7+ messages in thread
From: Andy Tai @ 2023-07-03 20:55 UTC (permalink / raw)
  To: guix-devel

Hi, in Guix there seems no guidelines for package  names/namespaces
although there are conventions like Python packages prefixed with
python-...  (good).  However, this does not cover cases like Gnome
applications. For example, I submitted the original definition for
(the GNOME terminal package) terminator, and later I tried to rename
that gnome-terminator but that was rejected by reviewers.

Or GNU Guix maintainers may want to consider some type of name space
support in the package name space because I think name collisions will
be more and more likely as more packages are submitted for inclusion
in Guix.


^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: guidelines for package names (namespaces?)
@ 2023-07-04 18:30 Juliana Sims
  0 siblings, 0 replies; 7+ messages in thread
From: Juliana Sims @ 2023-07-04 18:30 UTC (permalink / raw)
  To: atai; +Cc: guix-devel

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




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-07-09 13:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-03 20:55 guidelines for package names (namespaces?) Andy Tai
2023-07-05 20:19 ` John Kehayias
2023-07-06  4:53   ` Csepp
2023-07-06 14:23   ` Andreas Enge
2023-07-06  9:28 ` Attila Lendvai
2023-07-06 15:24   ` Felix Lechner via Development of GNU Guix and the GNU System distribution.
  -- strict thread matches above, loose matches on Subject: below --
2023-07-04 18:30 Juliana Sims

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).