A package actually has two names associated with it. First, there is the
name of the Scheme variable, the one following define-public
.
By this name, the package can be made known in the Scheme code, for instance
as input to another package. Second, there is the string in the name
field of a package definition. This name is used by package management
commands such as guix package
and guix build
.
两个名字通常是相同的,常是上游项目名字转成小写字母并把下划线替换成连字符的结果。比如,GNUnet转成gnunet
,SDL_net转成sdl-net
。
A noteworthy exception to this rule is when the project name is only a
single character, or if an older maintained project with the same name
already exists—regardless of whether it has already been packaged for
Guix. Use common sense to make such names unambiguous and meaningful. For
example, Guix’s package for the shell called “s” upstream is
s-shell
and not s
. Feel free to ask your fellow
hackers for inspiration.
我们不给库软件包添加lib
前缀,除非它是项目官方名字的一部分。但是see Python模块和Perl模块有关于Python和Perl语言的特殊规则。
字体软件包的名字处理起来不同,see 字体.