[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
11/11: doc: Move "Package Modules" under "Programming Interface".
From: |
guix-commits |
Subject: |
11/11: doc: Move "Package Modules" under "Programming Interface". |
Date: |
Tue, 22 Jan 2019 17:05:12 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit ce6236f41974b427c43332c460d103ee9dcabcc1
Author: Ludovic Courtès <address@hidden>
Date: Mon Jan 21 11:35:52 2019 +0100
doc: Move "Package Modules" under "Programming Interface".
* doc/guix.texi (Package Modules): Move to...
(Programming Interface): ... here. Turn into a section.
---
doc/guix.texi | 128 +++++++++++++++++++++++++++++-----------------------------
1 file changed, 64 insertions(+), 64 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index ef23701..782c681 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -125,7 +125,6 @@ Project}.
* Documentation:: Browsing software user manuals.
* Installing Debugging Files:: Feeding the debugger.
* Security Updates:: Deploying security fixes quickly.
-* Package Modules:: Packages from the programmer's viewpoint.
* Bootstrapping:: GNU/Linux built from scratch.
* Porting:: Targeting another platform or kernel.
* Contributing:: Your help needed!
@@ -188,6 +187,7 @@ Substitutes
Programming Interface
+* Package Modules:: Packages from the programmer's viewpoint.
* Defining Packages:: Defining new packages.
* Build Systems:: Specifying how packages are built.
* The Store:: Manipulating the package store.
@@ -4437,6 +4437,7 @@ This chapter describes all these APIs in turn, starting
from high-level
package definitions.
@menu
+* Package Modules:: Packages from the programmer's viewpoint.
* Defining Packages:: Defining new packages.
* Build Systems:: Specifying how packages are built.
* The Store:: Manipulating the package store.
@@ -4446,6 +4447,68 @@ package definitions.
* Invoking guix repl:: Fiddling with Guix interactively.
@end menu
address@hidden Package Modules
address@hidden Package Modules
+
+From a programming viewpoint, the package definitions of the
+GNU distribution are provided by Guile modules in the @code{(gnu packages
address@hidden)} name address@hidden that packages under the @code{(gnu
+packages @dots{})} module name space are not necessarily ``GNU
+packages''. This module naming scheme follows the usual Guile module
+naming convention: @code{gnu} means that these modules are distributed
+as part of the GNU system, and @code{packages} identifies modules that
+define packages.} (@pxref{Modules, Guile modules,, guile, GNU Guile
+Reference Manual}). For instance, the @code{(gnu packages emacs)}
+module exports a variable named @code{emacs}, which is bound to a
address@hidden<package>} object (@pxref{Defining Packages}).
+
+The @code{(gnu packages @dots{})} module name space is
+automatically scanned for packages by the command-line tools. For
+instance, when running @code{guix package -i emacs}, all the @code{(gnu
+packages @dots{})} modules are scanned until one that exports a package
+object whose name is @code{emacs} is found. This package search
+facility is implemented in the @code{(gnu packages)} module.
+
address@hidden customization, of packages
address@hidden package module search path
+Users can store package definitions in modules with different
+names---e.g., @code{(my-packages emacs)address@hidden that the file
+name and module name must match. For instance, the @code{(my-packages
+emacs)} module must be stored in a @file{my-packages/emacs.scm} file
+relative to the load path specified with @option{--load-path} or
address@hidden @xref{Modules and the File System,,,
+guile, GNU Guile Reference Manual}, for details.}. There are two ways to make
+these package definitions visible to the user interfaces:
+
address@hidden
address@hidden
+By adding the directory containing your package modules to the search path
+with the @code{-L} flag of @command{guix package} and other commands
+(@pxref{Common Build Options}), or by setting the @code{GUIX_PACKAGE_PATH}
+environment variable described below.
+
address@hidden
+By defining a @dfn{channel} and configuring @command{guix pull} so that it
+pulls from it. A channel is essentially a Git repository containing package
+modules. @xref{Channels}, for more information on how to define and use
+channels.
address@hidden enumerate
+
address@hidden works similarly to other search path variables:
+
address@hidden {Environment Variable} GUIX_PACKAGE_PATH
+This is a colon-separated list of directories to search for additional
+package modules. Directories listed in this variable take precedence
+over the own modules of the distribution.
address@hidden defvr
+
+The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}:
+each package is built based solely on other packages in the
+distribution. The root of this dependency graph is a small set of
address@hidden binaries}, provided by the @code{(gnu packages
+bootstrap)} module. For more information on bootstrapping,
address@hidden
+
@node Defining Packages
@section Defining Packages
@@ -24106,69 +24169,6 @@ lsof | grep /gnu/store/.*bash
@end example
address@hidden Package Modules
address@hidden Package Modules
-
-From a programming viewpoint, the package definitions of the
-GNU distribution are provided by Guile modules in the @code{(gnu packages
address@hidden)} name address@hidden that packages under the @code{(gnu
-packages @dots{})} module name space are not necessarily ``GNU
-packages''. This module naming scheme follows the usual Guile module
-naming convention: @code{gnu} means that these modules are distributed
-as part of the GNU system, and @code{packages} identifies modules that
-define packages.} (@pxref{Modules, Guile modules,, guile, GNU Guile
-Reference Manual}). For instance, the @code{(gnu packages emacs)}
-module exports a variable named @code{emacs}, which is bound to a
address@hidden<package>} object (@pxref{Defining Packages}).
-
-The @code{(gnu packages @dots{})} module name space is
-automatically scanned for packages by the command-line tools. For
-instance, when running @code{guix package -i emacs}, all the @code{(gnu
-packages @dots{})} modules are scanned until one that exports a package
-object whose name is @code{emacs} is found. This package search
-facility is implemented in the @code{(gnu packages)} module.
-
address@hidden customization, of packages
address@hidden package module search path
-Users can store package definitions in modules with different
-names---e.g., @code{(my-packages emacs)address@hidden that the file
-name and module name must match. For instance, the @code{(my-packages
-emacs)} module must be stored in a @file{my-packages/emacs.scm} file
-relative to the load path specified with @option{--load-path} or
address@hidden @xref{Modules and the File System,,,
-guile, GNU Guile Reference Manual}, for details.}. There are two ways to make
-these package definitions visible to the user interfaces:
-
address@hidden
address@hidden
-By adding the directory containing your package modules to the search path
-with the @code{-L} flag of @command{guix package} and other commands
-(@pxref{Common Build Options}), or by setting the @code{GUIX_PACKAGE_PATH}
-environment variable described below.
-
address@hidden
-By defining a @dfn{channel} and configuring @command{guix pull} so that it
-pulls from it. A channel is essentially a Git repository containing package
-modules. @xref{Channels}, for more information on how to define and use
-channels.
address@hidden enumerate
-
address@hidden works similarly to other search path variables:
-
address@hidden {Environment Variable} GUIX_PACKAGE_PATH
-This is a colon-separated list of directories to search for additional
-package modules. Directories listed in this variable take precedence
-over the own modules of the distribution.
address@hidden defvr
-
-The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}:
-each package is built based solely on other packages in the
-distribution. The root of this dependency graph is a small set of
address@hidden binaries}, provided by the @code{(gnu packages
-bootstrap)} module. For more information on bootstrapping,
address@hidden
-
-
@node Bootstrapping
@chapter Bootstrapping
- branch master updated (d1dfcc7 -> ce6236f), guix-commits, 2019/01/22
- 02/11: self: Remove leftover export., guix-commits, 2019/01/22
- 04/11: compile: Let compiler warnings through during the load phase., guix-commits, 2019/01/22
- 03/11: gnu: Remove duplicate record fields., guix-commits, 2019/01/22
- 01/11: vm: Remove unnecessary import., guix-commits, 2019/01/22
- 05/11: records: Detect duplicate field initializers., guix-commits, 2019/01/22
- 07/11: self: System tests depend on CLI modules., guix-commits, 2019/01/22
- 06/11: offload: 'status' reports the time difference., guix-commits, 2019/01/22
- 11/11: doc: Move "Package Modules" under "Programming Interface".,
guix-commits <=
- 08/11: doc: Move sections under "GNU Distribution" one level higher., guix-commits, 2019/01/22
- 10/11: doc: Move "Packaging Guidelines" under "Contributing"., guix-commits, 2019/01/22
- 09/11: doc: Move "System Installation" right after "Installation"., guix-commits, 2019/01/22