diff options
| author | Théo Tyburn <theo.tyburn@posteo.net> | 2026-06-03 10:56:10 +0200 |
|---|---|---|
| committer | Nguyễn Gia Phong <cnx@loang.net> | 2026-08-31 11:00:19 +0900 |
| commit | c62ebcd02c2eb190ab5dc157475ef4a93a1c7581 (patch) | |
| tree | f178f262874978ac0be45e5499db5cc2d63248fe | |
| parent | 30cb1f541eb99b0fbbec1f8f29796151103c5f2b (diff) | |
doc: Move Commentary above module definition.
Merges: https://codeberg.org/guix/guix/pulls/9052
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
235 files changed, 2050 insertions, 2031 deletions
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 942cf5f5346..96a288672a8 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm | |||
| @@ -16,6 +16,20 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; When loaded, this module returns a monadic procedure of at least one | ||
| 22 | ;;; argument: the source tree to build. It returns a derivation that | ||
| 23 | ;;; builds it. | ||
| 24 | ;;; | ||
| 25 | ;;; This file uses modules provided by the already-installed Guix. Those | ||
| 26 | ;;; modules may be arbitrarily old compared to the version we want to | ||
| 27 | ;;; build. Because of that, it must rely on the smallest set of features | ||
| 28 | ;;; that are likely to be provided by the (guix) and (gnu) modules, and by | ||
| 29 | ;;; Guile itself, forever and ever. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 19 | (define-module (build-self) | 33 | (define-module (build-self) |
| 20 | #:use-module (gnu) | 34 | #:use-module (gnu) |
| 21 | #:use-module (guix) | 35 | #:use-module (guix) |
| @@ -32,20 +46,6 @@ | |||
| 32 | #:use-module (ice-9 popen) | 46 | #:use-module (ice-9 popen) |
| 33 | #:export (build)) | 47 | #:export (build)) |
| 34 | 48 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; When loaded, this module returns a monadic procedure of at least one | ||
| 38 | ;;; argument: the source tree to build. It returns a derivation that | ||
| 39 | ;;; builds it. | ||
| 40 | ;;; | ||
| 41 | ;;; This file uses modules provided by the already-installed Guix. Those | ||
| 42 | ;;; modules may be arbitrarily old compared to the version we want to | ||
| 43 | ;;; build. Because of that, it must rely on the smallest set of features | ||
| 44 | ;;; that are likely to be provided by the (guix) and (gnu) modules, and by | ||
| 45 | ;;; Guile itself, forever and ever. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 49 | (define (date-version-string) | 49 | (define (date-version-string) |
| 50 | "Return the current date and hour in UTC timezone, for use as a poor | 50 | "Return the current date and hour in UTC timezone, for use as a poor |
| 51 | person's version identifier." | 51 | person's version identifier." |
diff --git a/etc/teams/qt/qt5-manifest.scm b/etc/teams/qt/qt5-manifest.scm index 96f13d478d6..754ba2744ab 100644 --- a/etc/teams/qt/qt5-manifest.scm +++ b/etc/teams/qt/qt5-manifest.scm | |||
| @@ -16,8 +16,6 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (load "common.scm") | ||
| 20 | |||
| 21 | ;;; Commentary: | 19 | ;;; Commentary: |
| 22 | ;;; | 20 | ;;; |
| 23 | ;;; This manifest can be used to update the Qt 5 packages collection, via | 21 | ;;; This manifest can be used to update the Qt 5 packages collection, via |
| @@ -27,4 +25,6 @@ | |||
| 27 | ;;; | 25 | ;;; |
| 28 | ;;; Code: | 26 | ;;; Code: |
| 29 | 27 | ||
| 28 | (load "common.scm") | ||
| 29 | |||
| 30 | (qt-packages-manifest #:major-version "5") | 30 | (qt-packages-manifest #:major-version "5") |
| @@ -18,6 +18,12 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This composite module re-exports core parts the (gnu …) public modules. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 21 | (define-module (gnu) | 27 | (define-module (gnu) |
| 22 | #:use-module (guix i18n) | 28 | #:use-module (guix i18n) |
| 23 | #:use-module (guix diagnostics) | 29 | #:use-module (guix diagnostics) |
| @@ -31,12 +37,6 @@ | |||
| 31 | use-service-modules | 37 | use-service-modules |
| 32 | use-system-modules)) | 38 | use-system-modules)) |
| 33 | 39 | ||
| 34 | ;;; Commentary: | ||
| 35 | ;;; | ||
| 36 | ;;; This composite module re-exports core parts the (gnu …) public modules. | ||
| 37 | ;;; | ||
| 38 | ;;; Code: | ||
| 39 | |||
| 40 | (eval-when (eval load compile) | 40 | (eval-when (eval load compile) |
| 41 | (begin | 41 | (begin |
| 42 | (define %public-modules | 42 | (define %public-modules |
diff --git a/gnu/artwork.scm b/gnu/artwork.scm index d3ab13b8af7..866af42a987 100644 --- a/gnu/artwork.scm +++ b/gnu/artwork.scm | |||
| @@ -17,17 +17,17 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | (define-module (gnu artwork) | ||
| 21 | #:use-module (guix packages) | ||
| 22 | #:use-module (guix git-download) | ||
| 23 | #:export (%artwork-repository)) | ||
| 24 | |||
| 25 | ;;; Commentary: | 20 | ;;; Commentary: |
| 26 | ;;; | 21 | ;;; |
| 27 | ;;; Common place for the definition of the Guix artwork repository. | 22 | ;;; Common place for the definition of the Guix artwork repository. |
| 28 | ;;; | 23 | ;;; |
| 29 | ;;; Code: | 24 | ;;; Code: |
| 30 | 25 | ||
| 26 | (define-module (gnu artwork) | ||
| 27 | #:use-module (guix packages) | ||
| 28 | #:use-module (guix git-download) | ||
| 29 | #:export (%artwork-repository)) | ||
| 30 | |||
| 31 | (define %artwork-repository | 31 | (define %artwork-repository |
| 32 | (let ((commit "08259679a0faef63e3ba169df5b937d836bd9262")) | 32 | (let ((commit "08259679a0faef63e3ba169df5b937d836bd9262")) |
| 33 | (origin | 33 | (origin |
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 79b9a1cac6f..a518c565700 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm | |||
| @@ -27,6 +27,12 @@ | |||
| 27 | ;;; You should have received a copy of the GNU General Public License | 27 | ;;; You should have received a copy of the GNU General Public License |
| 28 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 28 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 29 | 29 | ||
| 30 | ;;; Commentary: | ||
| 31 | ;;; | ||
| 32 | ;;; Configuration of GNU GRUB. | ||
| 33 | ;;; | ||
| 34 | ;;; Code: | ||
| 35 | |||
| 30 | (define-module (gnu bootloader grub) | 36 | (define-module (gnu bootloader grub) |
| 31 | #:use-module (guix build union) | 37 | #:use-module (guix build union) |
| 32 | #:use-module (guix deprecation) | 38 | #:use-module (guix deprecation) |
| @@ -73,12 +79,6 @@ | |||
| 73 | 79 | ||
| 74 | grub-configuration)) | 80 | grub-configuration)) |
| 75 | 81 | ||
| 76 | ;;; Commentary: | ||
| 77 | ;;; | ||
| 78 | ;;; Configuration of GNU GRUB. | ||
| 79 | ;;; | ||
| 80 | ;;; Code: | ||
| 81 | |||
| 82 | (define* (normalize-file file mount-point store-directory-prefix) | 82 | (define* (normalize-file file mount-point store-directory-prefix) |
| 83 | "Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a | 83 | "Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a |
| 84 | G-expression or other lowerable object denoting a file name." | 84 | G-expression or other lowerable object denoting a file name." |
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index dbe35f41b88..516f9d86bbe 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm | |||
| @@ -28,6 +28,14 @@ | |||
| 28 | ;;; You should have received a copy of the GNU General Public License | 28 | ;;; You should have received a copy of the GNU General Public License |
| 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 30 | 30 | ||
| 31 | ;;; Commentary: | ||
| 32 | ;;; | ||
| 33 | ;;; This module provides "activation" helpers. Activation is the process that | ||
| 34 | ;;; consists in setting up system-wide files and directories so that an | ||
| 35 | ;;; 'operating-system' configuration becomes active. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 31 | (define-module (gnu build activation) | 39 | (define-module (gnu build activation) |
| 32 | #:use-module (gnu system accounts) | 40 | #:use-module (gnu system accounts) |
| 33 | #:use-module (gnu system privilege) | 41 | #:use-module (gnu system privilege) |
| @@ -53,14 +61,6 @@ | |||
| 53 | activate-current-system | 61 | activate-current-system |
| 54 | mkdir-p/perms)) | 62 | mkdir-p/perms)) |
| 55 | 63 | ||
| 56 | ;;; Commentary: | ||
| 57 | ;;; | ||
| 58 | ;;; This module provides "activation" helpers. Activation is the process that | ||
| 59 | ;;; consists in setting up system-wide files and directories so that an | ||
| 60 | ;;; 'operating-system' configuration becomes active. | ||
| 61 | ;;; | ||
| 62 | ;;; Code: | ||
| 63 | |||
| 64 | (define %skeleton-directory | 64 | (define %skeleton-directory |
| 65 | ;; Directory containing skeleton files for new accounts. | 65 | ;; Directory containing skeleton files for new accounts. |
| 66 | ;; Note: keep the trailing '/' so that 'scandir' enters it. | 66 | ;; Note: keep the trailing '/' so that 'scandir' enters it. |
diff --git a/gnu/build/chromium-extension.scm b/gnu/build/chromium-extension.scm index 8171c727341..881cbbbcbc7 100644 --- a/gnu/build/chromium-extension.scm +++ b/gnu/build/chromium-extension.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Tools to deal with Chromium extensions. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (gnu build chromium-extension) | 26 | (define-module (gnu build chromium-extension) |
| 21 | #:use-module (guix gexp) | 27 | #:use-module (guix gexp) |
| 22 | #:use-module (guix packages) | 28 | #:use-module (guix packages) |
| @@ -26,12 +32,6 @@ | |||
| 26 | #:use-module (guix build-system trivial) | 32 | #:use-module (guix build-system trivial) |
| 27 | #:export (make-chromium-extension)) | 33 | #:export (make-chromium-extension)) |
| 28 | 34 | ||
| 29 | ;;; Commentary: | ||
| 30 | ;;; | ||
| 31 | ;;; Tools to deal with Chromium extensions. | ||
| 32 | ;;; | ||
| 33 | ;;; Code: | ||
| 34 | |||
| 35 | (define (make-signing-key seed) | 35 | (define (make-signing-key seed) |
| 36 | "Return a derivation for a deterministic PKCS #8 private key using SEED." | 36 | "Return a derivation for a deterministic PKCS #8 private key using SEED." |
| 37 | (computed-file | 37 | (computed-file |
diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm index da9016488f7..2246f45519d 100644 --- a/gnu/build/cross-toolchain.scm +++ b/gnu/build/cross-toolchain.scm | |||
| @@ -21,6 +21,12 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; This module provides tools to build a cross-compiler. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 24 | (define-module (gnu build cross-toolchain) | 30 | (define-module (gnu build cross-toolchain) |
| 25 | #:use-module (guix build utils) | 31 | #:use-module (guix build utils) |
| 26 | #:use-module (guix build gnu-build-system) | 32 | #:use-module (guix build gnu-build-system) |
| @@ -30,12 +36,6 @@ | |||
| 30 | #:use-module (ice-9 ftw) | 36 | #:use-module (ice-9 ftw) |
| 31 | #:export (cross-gcc-build-phases)) | 37 | #:export (cross-gcc-build-phases)) |
| 32 | 38 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; This module provides tools to build a cross-compiler. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 39 | (define %gcc-include-paths | 39 | (define %gcc-include-paths |
| 40 | ;; Environment variables for header search paths. | 40 | ;; Environment variables for header search paths. |
| 41 | ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'. | 41 | ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'. |
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index f236efd9250..d7831767b45 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm | |||
| @@ -26,6 +26,13 @@ | |||
| 26 | ;;; You should have received a copy of the GNU General Public License | 26 | ;;; You should have received a copy of the GNU General Public License |
| 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 28 | 28 | ||
| 29 | ;;; Commentary: | ||
| 30 | ;;; | ||
| 31 | ;;; This modules provides tools to deal with disk partitions, and to mount and | ||
| 32 | ;;; check file systems. | ||
| 33 | ;;; | ||
| 34 | ;;; Code: | ||
| 35 | |||
| 29 | (define-module (gnu build file-systems) | 36 | (define-module (gnu build file-systems) |
| 30 | #:use-module (gnu system uuid) | 37 | #:use-module (gnu system uuid) |
| 31 | #:use-module (gnu system file-systems) | 38 | #:use-module (gnu system file-systems) |
| @@ -80,13 +87,6 @@ | |||
| 80 | 87 | ||
| 81 | swap-space->flags-bit-mask)) | 88 | swap-space->flags-bit-mask)) |
| 82 | 89 | ||
| 83 | ;;; Commentary: | ||
| 84 | ;;; | ||
| 85 | ;;; This modules provides tools to deal with disk partitions, and to mount and | ||
| 86 | ;;; check file systems. | ||
| 87 | ;;; | ||
| 88 | ;;; Code: | ||
| 89 | |||
| 90 | (define (system*/console program . args) | 90 | (define (system*/console program . args) |
| 91 | "Run PROGRAM with ARGS in a tty on top of /dev/console. The return value is | 91 | "Run PROGRAM with ARGS in a tty on top of /dev/console. The return value is |
| 92 | as for 'system*'." | 92 | as for 'system*'." |
diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm index 67975bfa647..7de9f0ec63a 100644 --- a/gnu/build/hurd-boot.scm +++ b/gnu/build/hurd-boot.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This modules provides tools to deal with disk partitions, and to mount and | ||
| 23 | ;;; check file systems. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (gnu build hurd-boot) | 27 | (define-module (gnu build hurd-boot) |
| 21 | #:use-module (system repl error-handling) | 28 | #:use-module (system repl error-handling) |
| 22 | #:autoload (system repl repl) (start-repl) | 29 | #:autoload (system repl repl) (start-repl) |
| @@ -29,12 +36,6 @@ | |||
| 29 | #:export (make-hurd-device-nodes | 36 | #:export (make-hurd-device-nodes |
| 30 | boot-hurd-system)) | 37 | boot-hurd-system)) |
| 31 | 38 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; Utility procedures useful to boot a Hurd system. | ||
| 35 | ;;; | ||
| 36 | ;;; Code: | ||
| 37 | |||
| 38 | ;; XXX FIXME c&p from linux-boot.scm | 39 | ;; XXX FIXME c&p from linux-boot.scm |
| 39 | (define (find-long-option option arguments) | 40 | (define (find-long-option option arguments) |
| 40 | "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\". | 41 | "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\". |
diff --git a/gnu/build/install.scm b/gnu/build/install.scm index 58ee77d1831..df9befe058a 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm | |||
| @@ -19,6 +19,15 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module supports the installation of the GNU system on a hard disk. | ||
| 25 | ;;; It is meant to be used both in a build environment (in derivations that | ||
| 26 | ;;; build VM images), and on the bare metal (when really installing the | ||
| 27 | ;;; system.) | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 22 | (define-module (gnu build install) | 31 | (define-module (gnu build install) |
| 23 | #:use-module (guix build syscalls) | 32 | #:use-module (guix build syscalls) |
| 24 | #:use-module (guix build utils) | 33 | #:use-module (guix build utils) |
| @@ -33,15 +42,6 @@ | |||
| 33 | mount-cow-store | 42 | mount-cow-store |
| 34 | unmount-cow-store)) | 43 | unmount-cow-store)) |
| 35 | 44 | ||
| 36 | ;;; Commentary: | ||
| 37 | ;;; | ||
| 38 | ;;; This module supports the installation of the GNU system on a hard disk. | ||
| 39 | ;;; It is meant to be used both in a build environment (in derivations that | ||
| 40 | ;;; build VM images), and on the bare metal (when really installing the | ||
| 41 | ;;; system.) | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | (define (install-boot-config bootcfg bootcfg-location mount-point) | 45 | (define (install-boot-config bootcfg bootcfg-location mount-point) |
| 46 | "Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note | 46 | "Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note |
| 47 | that the caller must make sure that BOOTCFG is registered as a GC root so | 47 | that the caller must make sure that BOOTCFG is registered as a GC root so |
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index e0743eae55a..c1a294db18c 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm | |||
| @@ -20,6 +20,15 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Utility procedures useful in a Linux initial RAM disk (initrd). Note that | ||
| 26 | ;;; many of these use procedures not yet available in vanilla Guile (`mount', | ||
| 27 | ;;; `load-linux-module', etc.); these are provided by a Guile patch used in | ||
| 28 | ;;; the GNU distribution. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 23 | (define-module (gnu build linux-boot) | 32 | (define-module (gnu build linux-boot) |
| 24 | #:use-module (rnrs io ports) | 33 | #:use-module (rnrs io ports) |
| 25 | #:use-module (system repl error-handling) | 34 | #:use-module (system repl error-handling) |
| @@ -67,15 +76,6 @@ | |||
| 67 | 76 | ||
| 68 | read-linux-consoles)) | 77 | read-linux-consoles)) |
| 69 | 78 | ||
| 70 | ;;; Commentary: | ||
| 71 | ;;; | ||
| 72 | ;;; Utility procedures useful in a Linux initial RAM disk (initrd). Note that | ||
| 73 | ;;; many of these use procedures not yet available in vanilla Guile (`mount', | ||
| 74 | ;;; `load-linux-module', etc.); these are provided by a Guile patch used in | ||
| 75 | ;;; the GNU distribution. | ||
| 76 | ;;; | ||
| 77 | ;;; Code: | ||
| 78 | |||
| 79 | (define* (mount-essential-file-systems #:key (root "/")) | 79 | (define* (mount-essential-file-systems #:key (root "/")) |
| 80 | "Mount /dev, /proc, and /sys under ROOT." | 80 | "Mount /dev, /proc, and /sys under ROOT." |
| 81 | (define (scope dir) | 81 | (define (scope dir) |
diff --git a/gnu/build/linux-initrd.scm b/gnu/build/linux-initrd.scm index bb2ed0db0c7..559f02fc2a0 100644 --- a/gnu/build/linux-initrd.scm +++ b/gnu/build/linux-initrd.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Tools to create Linux initial RAM disks ("initrds"). Initrds are | ||
| 22 | ;;; essentially gzipped cpio archives, with a '/init' executable that the | ||
| 23 | ;;; kernel runs at boot time. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 19 | (define-module (gnu build linux-initrd) | 27 | (define-module (gnu build linux-initrd) |
| 20 | #:use-module ((guix cpio) #:prefix cpio:) | 28 | #:use-module ((guix cpio) #:prefix cpio:) |
| 21 | #:use-module (guix build utils) | 29 | #:use-module (guix build utils) |
| @@ -27,14 +35,6 @@ | |||
| 27 | #:export (write-cpio-archive | 35 | #:export (write-cpio-archive |
| 28 | build-initrd)) | 36 | build-initrd)) |
| 29 | 37 | ||
| 30 | ;;; Commentary: | ||
| 31 | ;;; | ||
| 32 | ;;; Tools to create Linux initial RAM disks ("initrds"). Initrds are | ||
| 33 | ;;; essentially gzipped cpio archives, with a '/init' executable that the | ||
| 34 | ;;; kernel runs at boot time. | ||
| 35 | ;;; | ||
| 36 | ;;; Code: | ||
| 37 | |||
| 38 | (define* (write-cpio-archive output directory | 38 | (define* (write-cpio-archive output directory |
| 39 | #:key | 39 | #:key |
| 40 | (compress? #t) | 40 | (compress? #t) |
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 6bf71100e49..ae0137e1c12 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm | |||
| @@ -20,6 +20,12 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Tools to deal with Linux kernel modules. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 23 | (define-module (gnu build linux-modules) | 29 | (define-module (gnu build linux-modules) |
| 24 | #:use-module (guix elf) | 30 | #:use-module (guix elf) |
| 25 | #:use-module (guix glob) | 31 | #:use-module (guix glob) |
| @@ -78,12 +84,6 @@ | |||
| 78 | 84 | ||
| 79 | make-linux-module-directory)) | 85 | make-linux-module-directory)) |
| 80 | 86 | ||
| 81 | ;;; Commentary: | ||
| 82 | ;;; | ||
| 83 | ;;; Tools to deal with Linux kernel modules. | ||
| 84 | ;;; | ||
| 85 | ;;; Code: | ||
| 86 | |||
| 87 | (define current-module-debugging-port | 87 | (define current-module-debugging-port |
| 88 | (make-parameter (%make-void-port "w"))) | 88 | (make-parameter (%make-void-port "w"))) |
| 89 | 89 | ||
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm index 015fc8a98b7..b6d4ec0de9c 100644 --- a/gnu/build/marionette.scm +++ b/gnu/build/marionette.scm | |||
| @@ -19,6 +19,17 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Instrumentation tools for QEMU virtual machines (VMs). A "marionette" is | ||
| 25 | ;;; essentially a VM (a QEMU instance) with its monitor connected to a | ||
| 26 | ;;; Unix-domain socket, and with a REPL inside the guest listening on a | ||
| 27 | ;;; virtual console, which is itself connected to the host via a Unix-domain | ||
| 28 | ;;; socket--these are the marionette's strings, connecting it to the almighty | ||
| 29 | ;;; puppeteer. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 22 | (define-module (gnu build marionette) | 33 | (define-module (gnu build marionette) |
| 23 | #:use-module (srfi srfi-9) | 34 | #:use-module (srfi srfi-9) |
| 24 | #:use-module (srfi srfi-26) | 35 | #:use-module (srfi srfi-26) |
| @@ -44,17 +55,6 @@ | |||
| 44 | system-test-runner | 55 | system-test-runner |
| 45 | qemu-command)) | 56 | qemu-command)) |
| 46 | 57 | ||
| 47 | ;;; Commentary: | ||
| 48 | ;;; | ||
| 49 | ;;; Instrumentation tools for QEMU virtual machines (VMs). A "marionette" is | ||
| 50 | ;;; essentially a VM (a QEMU instance) with its monitor connected to a | ||
| 51 | ;;; Unix-domain socket, and with a REPL inside the guest listening on a | ||
| 52 | ;;; virtual console, which is itself connected to the host via a Unix-domain | ||
| 53 | ;;; socket--these are the marionette's strings, connecting it to the almighty | ||
| 54 | ;;; puppeteer. | ||
| 55 | ;;; | ||
| 56 | ;;; Code: | ||
| 57 | |||
| 58 | (define-record-type <marionette> | 58 | (define-record-type <marionette> |
| 59 | (marionette command pid monitor repl) | 59 | (marionette command pid monitor repl) |
| 60 | marionette? | 60 | marionette? |
diff --git a/gnu/build/secret-service.scm b/gnu/build/secret-service.scm index 5447563cd94..0c8a0c7677b 100644 --- a/gnu/build/secret-service.scm +++ b/gnu/build/secret-service.scm | |||
| @@ -17,6 +17,15 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Utility procedures for copying secrets into a VM. | ||
| 23 | ;;; | ||
| 24 | ;;; Note: This code runs within the 'shepherd' process, hence the use of | ||
| 25 | ;;; Fibers. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 20 | (define-module (gnu build secret-service) | 29 | (define-module (gnu build secret-service) |
| 21 | #:autoload (fibers io-wakeup) (wait-until-port-readable-operation) | 30 | #:autoload (fibers io-wakeup) (wait-until-port-readable-operation) |
| 22 | #:autoload (fibers operations) (perform-operation | 31 | #:autoload (fibers operations) (perform-operation |
| @@ -33,15 +42,6 @@ | |||
| 33 | #:export (secret-service-receive-secrets | 42 | #:export (secret-service-receive-secrets |
| 34 | secret-service-send-secrets)) | 43 | secret-service-send-secrets)) |
| 35 | 44 | ||
| 36 | ;;; Commentary: | ||
| 37 | ;;; | ||
| 38 | ;;; Utility procedures for copying secrets into a VM. | ||
| 39 | ;;; | ||
| 40 | ;;; Note: This code runs within the 'shepherd' process, hence the use of | ||
| 41 | ;;; Fibers. | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | (define-syntax log | 45 | (define-syntax log |
| 46 | (lambda (s) | 46 | (lambda (s) |
| 47 | "Log the given message." | 47 | "Log the given message." |
diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm index 4ead27be0be..26f75e5d533 100644 --- a/gnu/build/shepherd.scm +++ b/gnu/build/shepherd.scm | |||
| @@ -19,6 +19,13 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module provides extensions to the GNU Shepherd. In particular, it | ||
| 25 | ;;; provides a helper to start services in a container. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 22 | (define-module (gnu build shepherd) | 29 | (define-module (gnu build shepherd) |
| 23 | #:use-module (gnu system file-systems) | 30 | #:use-module (gnu system file-systems) |
| 24 | #:use-module (gnu build linux-container) | 31 | #:use-module (gnu build linux-container) |
| @@ -35,13 +42,6 @@ | |||
| 35 | #:export (default-mounts | 42 | #:export (default-mounts |
| 36 | fork+exec-command/container)) | 43 | fork+exec-command/container)) |
| 37 | 44 | ||
| 38 | ;;; Commentary: | ||
| 39 | ;;; | ||
| 40 | ;;; This module provides extensions to the GNU Shepherd. In particular, it | ||
| 41 | ;;; provides a helper to start services in a container. | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | (define (clean-up file) | 45 | (define (clean-up file) |
| 46 | (when file | 46 | (when file |
| 47 | (catch 'system-error | 47 | (catch 'system-error |
diff --git a/gnu/ci.scm b/gnu/ci.scm index a55dfc2a5f3..83f3ff21e34 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm | |||
| @@ -20,6 +20,12 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; This file defines build jobs for Cuirass. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 23 | (define-module (gnu ci) | 29 | (define-module (gnu ci) |
| 24 | #:use-module (guix build-system channel) | 30 | #:use-module (guix build-system channel) |
| 25 | #:use-module (guix config) | 31 | #:use-module (guix config) |
| @@ -82,12 +88,6 @@ | |||
| 82 | arguments->systems | 88 | arguments->systems |
| 83 | cuirass-jobs)) | 89 | cuirass-jobs)) |
| 84 | 90 | ||
| 85 | ;;; Commentary: | ||
| 86 | ;;; | ||
| 87 | ;;; This file defines build jobs for Cuirass. | ||
| 88 | ;;; | ||
| 89 | ;;; Code: | ||
| 90 | |||
| 91 | (define* (derivation->job name drv | 91 | (define* (derivation->job name drv |
| 92 | #:key | 92 | #:key |
| 93 | (max-silent-time 3600) | 93 | (max-silent-time 3600) |
diff --git a/gnu/home.scm b/gnu/home.scm index f0dd4a19273..40abe49191e 100644 --- a/gnu/home.scm +++ b/gnu/home.scm | |||
| @@ -17,6 +17,14 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides a <home-environment> record for managing | ||
| 23 | ;;; per-user packages and configuration files in the similar way as | ||
| 24 | ;;; <operating-system> do for system packages and configuration files. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 20 | (define-module (gnu home) | 28 | (define-module (gnu home) |
| 21 | #:use-module (gnu home services) | 29 | #:use-module (gnu home services) |
| 22 | #:use-module (gnu home services symlink-manager) | 30 | #:use-module (gnu home services symlink-manager) |
| @@ -50,14 +58,6 @@ | |||
| 50 | 58 | ||
| 51 | %base-home-services)) | 59 | %base-home-services)) |
| 52 | 60 | ||
| 53 | ;;; Comment: | ||
| 54 | ;;; | ||
| 55 | ;;; This module provides a <home-environment> record for managing | ||
| 56 | ;;; per-user packages and configuration files in the similar way as | ||
| 57 | ;;; <operating-system> do for system packages and configuration files. | ||
| 58 | ;;; | ||
| 59 | ;;; Code: | ||
| 60 | |||
| 61 | (define-record-type* <home-environment> home-environment | 61 | (define-record-type* <home-environment> home-environment |
| 62 | make-home-environment | 62 | make-home-environment |
| 63 | home-environment? | 63 | home-environment? |
diff --git a/gnu/home/services.scm b/gnu/home/services.scm index f7d0ff08228..06f872e6460 100644 --- a/gnu/home/services.scm +++ b/gnu/home/services.scm | |||
| @@ -20,6 +20,59 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; This module is similar to (gnu system services) module, but | ||
| 26 | ;;; provides Home Services, which are supposed to be used for building | ||
| 27 | ;;; home-environment. | ||
| 28 | ;;; | ||
| 29 | ;;; Home Services use the same extension as System Services. Consult | ||
| 30 | ;;; (gnu system services) module or manual for more information. | ||
| 31 | ;;; | ||
| 32 | ;;; home-service-type is a root of home services DAG. | ||
| 33 | ;;; | ||
| 34 | ;;; home-profile-service-type is almost the same as profile-service-type, at least | ||
| 35 | ;;; for now. | ||
| 36 | ;;; | ||
| 37 | ;;; home-environment-variables-service-type generates a @file{setup-environment} | ||
| 38 | ;;; shell script, which is expected to be sourced by login shell or other program, | ||
| 39 | ;;; which starts early and spawns all other processes. Home services for shells | ||
| 40 | ;;; automatically add code for sourcing this file, if person do not use those home | ||
| 41 | ;;; services they have to source this script manually in their's shell *profile | ||
| 42 | ;;; file (details described in the manual). | ||
| 43 | ;;; | ||
| 44 | ;;; home-files-service-type is similar to etc-service-type, but doesn't extend | ||
| 45 | ;;; home-activation, because deploy mechanism for config files is pluggable | ||
| 46 | ;;; and can be different for different home environments: The default one is | ||
| 47 | ;;; called symlink-manager, which creates links for various dotfiles and xdg | ||
| 48 | ;;; configuration files to store, but is possible to implement alternative | ||
| 49 | ;;; approaches like read-only home from Julien's guix-home-manager. | ||
| 50 | ;;; | ||
| 51 | ;;; home-run-on-first-login-service-type provides an @file{on-first-login} guile | ||
| 52 | ;;; script, which runs provided gexps once, when user makes first login. It can | ||
| 53 | ;;; be used to start user's Shepherd and maybe some other process. It relies on | ||
| 54 | ;;; assumption that /run/user/$UID will be created on login by some login | ||
| 55 | ;;; manager (elogind for example). | ||
| 56 | ;;; | ||
| 57 | ;;; home-activation-service-type provides an @file{activate} guile script, which | ||
| 58 | ;;; do three main things: | ||
| 59 | ;;; | ||
| 60 | ;;; - Sets environment variables to the values declared in | ||
| 61 | ;;; @file{setup-environment} shell script. It's necessary, because user can set | ||
| 62 | ;;; for example XDG_CONFIG_HOME and it should be respected by activation gexp of | ||
| 63 | ;;; symlink-manager. | ||
| 64 | ;;; | ||
| 65 | ;;; - Sets GUIX_NEW_HOME and possibly GUIX_OLD_HOME vars to paths in the store. | ||
| 66 | ;;; Later those variables can be used by activation gexps, for example by | ||
| 67 | ;;; symlink-manager or run-on-change services. | ||
| 68 | ;;; | ||
| 69 | ;;; - Run all activation gexps provided by other home services. | ||
| 70 | ;;; | ||
| 71 | ;;; home-run-on-change-service-type allows to trigger actions during | ||
| 72 | ;;; activation if file or directory specified by pattern is changed. | ||
| 73 | ;;; | ||
| 74 | ;;; Code: | ||
| 75 | |||
| 23 | (define-module (gnu home services) | 76 | (define-module (gnu home services) |
| 24 | #:use-module (gnu services) | 77 | #:use-module (gnu services) |
| 25 | #:use-module ((gnu packages package-management) #:select (guix)) | 78 | #:use-module ((gnu packages package-management) #:select (guix)) |
| @@ -81,59 +134,6 @@ | |||
| 81 | for-home | 134 | for-home |
| 82 | for-home?)) | 135 | for-home?)) |
| 83 | 136 | ||
| 84 | ;;; Comment: | ||
| 85 | ;;; | ||
| 86 | ;;; This module is similar to (gnu system services) module, but | ||
| 87 | ;;; provides Home Services, which are supposed to be used for building | ||
| 88 | ;;; home-environment. | ||
| 89 | ;;; | ||
| 90 | ;;; Home Services use the same extension as System Services. Consult | ||
| 91 | ;;; (gnu system services) module or manual for more information. | ||
| 92 | ;;; | ||
| 93 | ;;; home-service-type is a root of home services DAG. | ||
| 94 | ;;; | ||
| 95 | ;;; home-profile-service-type is almost the same as profile-service-type, at least | ||
| 96 | ;;; for now. | ||
| 97 | ;;; | ||
| 98 | ;;; home-environment-variables-service-type generates a @file{setup-environment} | ||
| 99 | ;;; shell script, which is expected to be sourced by login shell or other program, | ||
| 100 | ;;; which starts early and spawns all other processes. Home services for shells | ||
| 101 | ;;; automatically add code for sourcing this file, if person do not use those home | ||
| 102 | ;;; services they have to source this script manually in their's shell *profile | ||
| 103 | ;;; file (details described in the manual). | ||
| 104 | ;;; | ||
| 105 | ;;; home-files-service-type is similar to etc-service-type, but doesn't extend | ||
| 106 | ;;; home-activation, because deploy mechanism for config files is pluggable | ||
| 107 | ;;; and can be different for different home environments: The default one is | ||
| 108 | ;;; called symlink-manager, which creates links for various dotfiles and xdg | ||
| 109 | ;;; configuration files to store, but is possible to implement alternative | ||
| 110 | ;;; approaches like read-only home from Julien's guix-home-manager. | ||
| 111 | ;;; | ||
| 112 | ;;; home-run-on-first-login-service-type provides an @file{on-first-login} guile | ||
| 113 | ;;; script, which runs provided gexps once, when user makes first login. It can | ||
| 114 | ;;; be used to start user's Shepherd and maybe some other process. It relies on | ||
| 115 | ;;; assumption that /run/user/$UID will be created on login by some login | ||
| 116 | ;;; manager (elogind for example). | ||
| 117 | ;;; | ||
| 118 | ;;; home-activation-service-type provides an @file{activate} guile script, which | ||
| 119 | ;;; do three main things: | ||
| 120 | ;;; | ||
| 121 | ;;; - Sets environment variables to the values declared in | ||
| 122 | ;;; @file{setup-environment} shell script. It's necessary, because user can set | ||
| 123 | ;;; for example XDG_CONFIG_HOME and it should be respected by activation gexp of | ||
| 124 | ;;; symlink-manager. | ||
| 125 | ;;; | ||
| 126 | ;;; - Sets GUIX_NEW_HOME and possibly GUIX_OLD_HOME vars to paths in the store. | ||
| 127 | ;;; Later those variables can be used by activation gexps, for example by | ||
| 128 | ;;; symlink-manager or run-on-change services. | ||
| 129 | ;;; | ||
| 130 | ;;; - Run all activation gexps provided by other home services. | ||
| 131 | ;;; | ||
| 132 | ;;; home-run-on-change-service-type allows to trigger actions during | ||
| 133 | ;;; activation if file or directory specified by pattern is changed. | ||
| 134 | ;;; | ||
| 135 | ;;; Code: | ||
| 136 | |||
| 137 | 137 | ||
| 138 | (define (home-derivation entries mextensions) | 138 | (define (home-derivation entries mextensions) |
| 139 | "Return as a monadic value the derivation of the 'home' | 139 | "Return as a monadic value the derivation of the 'home' |
diff --git a/gnu/home/services/fontutils.scm b/gnu/home/services/fontutils.scm index 083cdd4b569..ee5cfda9938 100644 --- a/gnu/home/services/fontutils.scm +++ b/gnu/home/services/fontutils.scm | |||
| @@ -19,6 +19,15 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Services related to fonts. home-fontconfig service provides | ||
| 25 | ;;; fontconfig configuration, which allows fc-* utilities to find | ||
| 26 | ;;; fonts in Guix Home's profile and regenerates font cache on | ||
| 27 | ;;; activation. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 22 | (define-module (gnu home services fontutils) | 31 | (define-module (gnu home services fontutils) |
| 23 | #:use-module (gnu home services) | 32 | #:use-module (gnu home services) |
| 24 | #:use-module (gnu packages fontutils) | 33 | #:use-module (gnu packages fontutils) |
| @@ -29,15 +38,6 @@ | |||
| 29 | 38 | ||
| 30 | #:export (home-fontconfig-service-type)) | 39 | #:export (home-fontconfig-service-type)) |
| 31 | 40 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; Services related to fonts. home-fontconfig service provides | ||
| 35 | ;;; fontconfig configuration, which allows fc-* utilities to find | ||
| 36 | ;;; fonts in Guix Home's profile and regenerates font cache on | ||
| 37 | ;;; activation. | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 41 | (define (write-fontconfig-doctype) | 41 | (define (write-fontconfig-doctype) |
| 42 | "Prints fontconfig's DOCTYPE to current-output-port." | 42 | "Prints fontconfig's DOCTYPE to current-output-port." |
| 43 | ;; This is necessary because SXML doesn't seem to have a way to represent a doctype, | 43 | ;; This is necessary because SXML doesn't seem to have a way to represent a doctype, |
diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm index eab6b9bda44..2e012ddeb41 100644 --- a/gnu/home/services/mcron.scm +++ b/gnu/home/services/mcron.scm | |||
| @@ -19,13 +19,6 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | (define-module (gnu home services mcron) | ||
| 23 | #:use-module (gnu home services) | ||
| 24 | #:use-module (gnu home services shepherd) | ||
| 25 | #:use-module (gnu services mcron) ;for the service mapping | ||
| 26 | #:export (home-mcron-configuration | ||
| 27 | home-mcron-service-type)) | ||
| 28 | |||
| 29 | ;;; Commentary: | 22 | ;;; Commentary: |
| 30 | ;; | 23 | ;; |
| 31 | ;; Service for the GNU mcron cron job manager. | 24 | ;; Service for the GNU mcron cron job manager. |
| @@ -49,6 +42,13 @@ | |||
| 49 | ;; | 42 | ;; |
| 50 | ;;; Code: | 43 | ;;; Code: |
| 51 | 44 | ||
| 45 | (define-module (gnu home services mcron) | ||
| 46 | #:use-module (gnu home services) | ||
| 47 | #:use-module (gnu home services shepherd) | ||
| 48 | #:use-module (gnu services mcron) ;for the service mapping | ||
| 49 | #:export (home-mcron-configuration | ||
| 50 | home-mcron-service-type)) | ||
| 51 | |||
| 52 | (define-syntax-rule (home-mcron-configuration fields ...) | 52 | (define-syntax-rule (home-mcron-configuration fields ...) |
| 53 | ;; Macro provided for backward compatibility. | 53 | ;; Macro provided for backward compatibility. |
| 54 | (for-home (mcron-configuration fields ...))) | 54 | (for-home (mcron-configuration fields ...))) |
diff --git a/gnu/home/services/music.scm b/gnu/home/services/music.scm index 3813ea230e4..86ec82fb359 100644 --- a/gnu/home/services/music.scm +++ b/gnu/home/services/music.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; A Guix Home service to configure Beets, a music file and metadata manager. | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (gnu home services music) | 25 | (define-module (gnu home services music) |
| 20 | #:use-module (guix gexp) | 26 | #:use-module (guix gexp) |
| 21 | #:use-module (guix records) | 27 | #:use-module (guix records) |
| @@ -25,12 +31,6 @@ | |||
| 25 | #:export (home-beets-configuration | 31 | #:export (home-beets-configuration |
| 26 | home-beets-service-type)) | 32 | home-beets-service-type)) |
| 27 | 33 | ||
| 28 | ;;; Commentary: | ||
| 29 | ;;; | ||
| 30 | ;;; A Guix Home service to configure Beets, a music file and metadata manager. | ||
| 31 | ;;; | ||
| 32 | ;;; Code: | ||
| 33 | |||
| 34 | (define-record-type* <home-beets-configuration> | 34 | (define-record-type* <home-beets-configuration> |
| 35 | home-beets-configuration make-home-beets-configuration | 35 | home-beets-configuration make-home-beets-configuration |
| 36 | home-beets-configuration? | 36 | home-beets-configuration? |
diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm index b4299957b01..242a2980bda 100644 --- a/gnu/home/services/shells.scm +++ b/gnu/home/services/shells.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module contains shell related services like Zsh. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 22 | (define-module (gnu home services shells) | 28 | (define-module (gnu home services shells) |
| 23 | #:use-module (gnu services configuration) | 29 | #:use-module (gnu services configuration) |
| 24 | #:use-module ((gnu services) #:select (%default-bash-aliases)) | 30 | #:use-module ((gnu services) #:select (%default-bash-aliases)) |
| @@ -52,12 +58,6 @@ | |||
| 52 | home-inputrc-service-type | 58 | home-inputrc-service-type |
| 53 | home-inputrc-configuration)) | 59 | home-inputrc-configuration)) |
| 54 | 60 | ||
| 55 | ;;; Commentary: | ||
| 56 | ;;; | ||
| 57 | ;;; This module contains shell related services like Zsh. | ||
| 58 | ;;; | ||
| 59 | ;;; Code: | ||
| 60 | |||
| 61 | 61 | ||
| 62 | ;;; | 62 | ;;; |
| 63 | ;;; Shell profile. | 63 | ;;; Shell profile. |
diff --git a/gnu/home/services/symlink-manager.scm b/gnu/home/services/symlink-manager.scm index 9f46f07e860..d11d3cdfe6f 100644 --- a/gnu/home/services/symlink-manager.scm +++ b/gnu/home/services/symlink-manager.scm | |||
| @@ -19,13 +19,7 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | (define-module (gnu home services symlink-manager) | 22 | ;;; Commentary: |
| 23 | #:use-module (gnu home services) | ||
| 24 | #:use-module (guix gexp) | ||
| 25 | #:use-module (guix modules) | ||
| 26 | #:export (home-symlink-manager-service-type)) | ||
| 27 | |||
| 28 | ;;; Comment: | ||
| 29 | ;;; | 23 | ;;; |
| 30 | ;;; symlink-manager cares about xdg configurations and other files: it backs | 24 | ;;; symlink-manager cares about xdg configurations and other files: it backs |
| 31 | ;;; up files created by user, removes symlinks and directories created by a | 25 | ;;; up files created by user, removes symlinks and directories created by a |
| @@ -35,6 +29,13 @@ | |||
| 35 | ;;; | 29 | ;;; |
| 36 | ;;; Code: | 30 | ;;; Code: |
| 37 | 31 | ||
| 32 | (define-module (gnu home services symlink-manager) | ||
| 33 | #:use-module (gnu home services) | ||
| 34 | #:use-module (guix gexp) | ||
| 35 | #:use-module (guix modules) | ||
| 36 | #:export (home-symlink-manager-service-type)) | ||
| 37 | |||
| 38 | |||
| 38 | (define (update-symlinks-script) | 39 | (define (update-symlinks-script) |
| 39 | (program-file | 40 | (program-file |
| 40 | "update-symlinks" | 41 | "update-symlinks" |
diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm index 04bf2ed4184..6342bb47297 100644 --- a/gnu/home/services/xdg.scm +++ b/gnu/home/services/xdg.scm | |||
| @@ -19,6 +19,17 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;; | ||
| 24 | ;; This module contains services related to XDG directories and | ||
| 25 | ;; applications. | ||
| 26 | ;; | ||
| 27 | ;; - XDG base directories | ||
| 28 | ;; - XDG user directories | ||
| 29 | ;; - XDG MIME applications | ||
| 30 | ;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 22 | (define-module (gnu home services xdg) | 33 | (define-module (gnu home services xdg) |
| 23 | #:use-module (gnu services configuration) | 34 | #:use-module (gnu services configuration) |
| 24 | #:use-module (gnu home services) | 35 | #:use-module (gnu home services) |
| @@ -62,17 +73,6 @@ | |||
| 62 | home-xdg-mime-applications-service-type | 73 | home-xdg-mime-applications-service-type |
| 63 | home-xdg-mime-applications-configuration)) | 74 | home-xdg-mime-applications-configuration)) |
| 64 | 75 | ||
| 65 | ;;; Commentary: | ||
| 66 | ;; | ||
| 67 | ;; This module contains services related to XDG directories and | ||
| 68 | ;; applications. | ||
| 69 | ;; | ||
| 70 | ;; - XDG base directories | ||
| 71 | ;; - XDG user directories | ||
| 72 | ;; - XDG MIME applications | ||
| 73 | ;; | ||
| 74 | ;;; Code: | ||
| 75 | |||
| 76 | 76 | ||
| 77 | ;;; | 77 | ;;; |
| 78 | ;;; XDG base directories. | 78 | ;;; XDG base directories. |
diff --git a/gnu/installer/connman.scm b/gnu/installer/connman.scm index d21272036f7..f1d631517f2 100644 --- a/gnu/installer/connman.scm +++ b/gnu/installer/connman.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides procedures for talking with the connman daemon. | ||
| 22 | ;;; The best approach would have been using connman dbus interface. | ||
| 23 | ;;; However, as Guile dbus bindings are not available yet, the console client | ||
| 24 | ;;; "connmanctl" is used to talk with the daemon. | ||
| 25 | ;;; | ||
| 26 | |||
| 19 | (define-module (gnu installer connman) | 27 | (define-module (gnu installer connman) |
| 20 | #:use-module (gnu installer utils) | 28 | #:use-module (gnu installer utils) |
| 21 | #:use-module (guix records) | 29 | #:use-module (guix records) |
| @@ -70,14 +78,6 @@ | |||
| 70 | connman-online? | 78 | connman-online? |
| 71 | connman-connect-with-auth)) | 79 | connman-connect-with-auth)) |
| 72 | 80 | ||
| 73 | ;;; Commentary: | ||
| 74 | ;;; | ||
| 75 | ;;; This module provides procedures for talking with the connman daemon. | ||
| 76 | ;;; The best approach would have been using connman dbus interface. | ||
| 77 | ;;; However, as Guile dbus bindings are not available yet, the console client | ||
| 78 | ;;; "connmanctl" is used to talk with the daemon. | ||
| 79 | ;;; | ||
| 80 | |||
| 81 | 81 | ||
| 82 | ;;; | 82 | ;;; |
| 83 | ;;; Technology record. | 83 | ;;; Technology record. |
diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm index c4414fc97ab..e798f4dbcfa 100644 --- a/gnu/installer/newt/page.scm +++ b/gnu/installer/newt/page.scm | |||
| @@ -19,6 +19,17 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Some helpers around guile-newt to draw or run generic pages. The | ||
| 25 | ;;; difference between 'draw' and 'run' terms comes from newt library. A page | ||
| 26 | ;;; is drawn when the form it contains does not expect any user | ||
| 27 | ;;; interaction. In that case, it is necessary to call (newt-refresh) to force | ||
| 28 | ;;; the page to be displayed. When a form is 'run', it is blocked waiting for | ||
| 29 | ;;; any action from the user (press a button, input some text, ...). | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 22 | (define-module (gnu installer newt page) | 33 | (define-module (gnu installer newt page) |
| 23 | #:use-module (gnu installer steps) | 34 | #:use-module (gnu installer steps) |
| 24 | #:use-module (gnu installer utils) | 35 | #:use-module (gnu installer utils) |
| @@ -52,17 +63,6 @@ | |||
| 52 | 63 | ||
| 53 | run-form-with-clients)) | 64 | run-form-with-clients)) |
| 54 | 65 | ||
| 55 | ;;; Commentary: | ||
| 56 | ;;; | ||
| 57 | ;;; Some helpers around guile-newt to draw or run generic pages. The | ||
| 58 | ;;; difference between 'draw' and 'run' terms comes from newt library. A page | ||
| 59 | ;;; is drawn when the form it contains does not expect any user | ||
| 60 | ;;; interaction. In that case, it is necessary to call (newt-refresh) to force | ||
| 61 | ;;; the page to be displayed. When a form is 'run', it is blocked waiting for | ||
| 62 | ;;; any action from the user (press a button, input some text, ...). | ||
| 63 | ;;; | ||
| 64 | ;;; Code: | ||
| 65 | |||
| 66 | (define* (watch-clients! form #:optional (clients (current-clients))) | 66 | (define* (watch-clients! form #:optional (clients (current-clients))) |
| 67 | "Have FORM watch the file descriptors corresponding to current client | 67 | "Have FORM watch the file descriptors corresponding to current client |
| 68 | connections. Consequently, FORM may exit with the 'exit-fd-ready' reason." | 68 | connections. Consequently, FORM may exit with the 'exit-fd-ready' reason." |
diff --git a/gnu/installer/tests.scm b/gnu/installer/tests.scm index a9a5d5d9880..b315176ff4c 100644 --- a/gnu/installer/tests.scm +++ b/gnu/installer/tests.scm | |||
| @@ -18,6 +18,17 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This module provides tools to test the guided "graphical" installer in a | ||
| 24 | ;;; non-interactive fashion. The core of it is 'converse': it allows you to | ||
| 25 | ;;; state Expect-style dialogues, which happen over the Unix-domain socket the | ||
| 26 | ;;; installer listens to. Higher-level procedures such as | ||
| 27 | ;;; 'choose-locale+keyboard' are provided to perform specific parts of the | ||
| 28 | ;;; dialogue. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 21 | (define-module (gnu installer tests) | 32 | (define-module (gnu installer tests) |
| 22 | #:use-module (srfi srfi-1) | 33 | #:use-module (srfi srfi-1) |
| 23 | #:use-module (srfi srfi-34) | 34 | #:use-module (srfi srfi-34) |
| @@ -44,17 +55,6 @@ | |||
| 44 | 55 | ||
| 45 | edit-configuration-file)) | 56 | edit-configuration-file)) |
| 46 | 57 | ||
| 47 | ;;; Commentary: | ||
| 48 | ;;; | ||
| 49 | ;;; This module provides tools to test the guided "graphical" installer in a | ||
| 50 | ;;; non-interactive fashion. The core of it is 'converse': it allows you to | ||
| 51 | ;;; state Expect-style dialogues, which happen over the Unix-domain socket the | ||
| 52 | ;;; installer listens to. Higher-level procedures such as | ||
| 53 | ;;; 'choose-locale+keyboard' are provided to perform specific parts of the | ||
| 54 | ;;; dialogue. | ||
| 55 | ;;; | ||
| 56 | ;;; Code: | ||
| 57 | |||
| 58 | (define %installer-socket-file | 58 | (define %installer-socket-file |
| 59 | ;; Socket the installer listens to. | 59 | ;; Socket the installer listens to. |
| 60 | "/var/guix/installer-socket") | 60 | "/var/guix/installer-socket") |
diff --git a/gnu/machine.scm b/gnu/machine.scm index 60be6749727..def1aacb55b 100644 --- a/gnu/machine.scm +++ b/gnu/machine.scm | |||
| @@ -17,6 +17,15 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides the types used to declare individual machines in a | ||
| 23 | ;;; heterogeneous Guix deployment. The interface allows users to specify system | ||
| 24 | ;;; configurations and the means by which resources should be provisioned on a | ||
| 25 | ;;; per-host basis. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 20 | (define-module (gnu machine) | 29 | (define-module (gnu machine) |
| 21 | #:use-module (gnu system) | 30 | #:use-module (gnu system) |
| 22 | #:use-module (guix derivations) | 31 | #:use-module (guix derivations) |
| @@ -48,15 +57,6 @@ | |||
| 48 | deploy-error-should-roll-back | 57 | deploy-error-should-roll-back |
| 49 | deploy-error-captured-args)) | 58 | deploy-error-captured-args)) |
| 50 | 59 | ||
| 51 | ;;; Commentary: | ||
| 52 | ;;; | ||
| 53 | ;;; This module provides the types used to declare individual machines in a | ||
| 54 | ;;; heterogeneous Guix deployment. The interface allows users to specify system | ||
| 55 | ;;; configurations and the means by which resources should be provisioned on a | ||
| 56 | ;;; per-host basis. | ||
| 57 | ;;; | ||
| 58 | ;;; Code: | ||
| 59 | |||
| 60 | 60 | ||
| 61 | ;;; | 61 | ;;; |
| 62 | ;;; Declarations for resources that can be provisioned. | 62 | ;;; Declarations for resources that can be provisioned. |
diff --git a/gnu/machine/digital-ocean.scm b/gnu/machine/digital-ocean.scm index d0f0bbe4cb6..f88d140900c 100644 --- a/gnu/machine/digital-ocean.scm +++ b/gnu/machine/digital-ocean.scm | |||
| @@ -19,6 +19,13 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module implements a high-level interface for provisioning "droplets" | ||
| 25 | ;;; from the Digital Ocean virtual private server (VPS) service. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 22 | (define-module (gnu machine digital-ocean) | 29 | (define-module (gnu machine digital-ocean) |
| 23 | #:use-module (gnu machine ssh) | 30 | #:use-module (gnu machine ssh) |
| 24 | #:use-module (gnu machine) | 31 | #:use-module (gnu machine) |
| @@ -63,13 +70,6 @@ | |||
| 63 | 70 | ||
| 64 | digital-ocean-environment-type)) | 71 | digital-ocean-environment-type)) |
| 65 | 72 | ||
| 66 | ;;; Commentary: | ||
| 67 | ;;; | ||
| 68 | ;;; This module implements a high-level interface for provisioning "droplets" | ||
| 69 | ;;; from the Digital Ocean virtual private server (VPS) service. | ||
| 70 | ;;; | ||
| 71 | ;;; Code: | ||
| 72 | |||
| 73 | (define %api-base "https://api.digitalocean.com") | 73 | (define %api-base "https://api.digitalocean.com") |
| 74 | 74 | ||
| 75 | (define %digital-ocean-token | 75 | (define %digital-ocean-token |
diff --git a/gnu/machine/hetzner.scm b/gnu/machine/hetzner.scm index b4858fa3d26..148e3139b19 100644 --- a/gnu/machine/hetzner.scm +++ b/gnu/machine/hetzner.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module implements a high-level interface for provisioning machines on | ||
| 25 | ;;; the Hetzner Cloud service https://docs.hetzner.cloud. | ||
| 26 | ;;; | ||
| 27 | |||
| 22 | (define-module (gnu machine hetzner) | 28 | (define-module (gnu machine hetzner) |
| 23 | #:use-module (gnu bootloader grub) | 29 | #:use-module (gnu bootloader grub) |
| 24 | #:use-module (gnu bootloader) | 30 | #:use-module (gnu bootloader) |
| @@ -91,12 +97,6 @@ | |||
| 91 | hetzner-configuration? | 97 | hetzner-configuration? |
| 92 | hetzner-environment-type)) | 98 | hetzner-environment-type)) |
| 93 | 99 | ||
| 94 | ;;; Commentary: | ||
| 95 | ;;; | ||
| 96 | ;;; This module implements a high-level interface for provisioning machines on | ||
| 97 | ;;; the Hetzner Cloud service https://docs.hetzner.cloud. | ||
| 98 | ;;; | ||
| 99 | |||
| 100 | 100 | ||
| 101 | ;;; | 101 | ;;; |
| 102 | ;;; Hetzner operating systems. | 102 | ;;; Hetzner operating systems. |
diff --git a/gnu/machine/hetzner/http.scm b/gnu/machine/hetzner/http.scm index f8580021a9e..6702a755351 100644 --- a/gnu/machine/hetzner/http.scm +++ b/gnu/machine/hetzner/http.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module implements a lower-level interface for interacting with the | ||
| 23 | ;;; Hetzner Cloud API https://docs.hetzner.cloud. | ||
| 24 | ;;; | ||
| 25 | |||
| 20 | (define-module (gnu machine hetzner http) | 26 | (define-module (gnu machine hetzner http) |
| 21 | #:use-module (guix diagnostics) | 27 | #:use-module (guix diagnostics) |
| 22 | #:use-module (guix i18n) | 28 | #:use-module (guix i18n) |
| @@ -179,12 +185,6 @@ | |||
| 179 | make-hetzner-server-type | 185 | make-hetzner-server-type |
| 180 | make-hetzner-ssh-key)) | 186 | make-hetzner-ssh-key)) |
| 181 | 187 | ||
| 182 | ;;; Commentary: | ||
| 183 | ;;; | ||
| 184 | ;;; This module implements a lower-level interface for interacting with the | ||
| 185 | ;;; Hetzner Cloud API https://docs.hetzner.cloud. | ||
| 186 | ;;; | ||
| 187 | |||
| 188 | (define %hetzner-default-api-token | 188 | (define %hetzner-default-api-token |
| 189 | (make-parameter (getenv "GUIX_HETZNER_API_TOKEN"))) | 189 | (make-parameter (getenv "GUIX_HETZNER_API_TOKEN"))) |
| 190 | 190 | ||
diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm index 0ce28602363..d8c634000f7 100644 --- a/gnu/machine/ssh.scm +++ b/gnu/machine/ssh.scm | |||
| @@ -19,6 +19,15 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module implements remote evaluation and system deployment for | ||
| 25 | ;;; machines that are accessible over SSH and have a known host-name. In the | ||
| 26 | ;;; sense of the broader "machine" interface, we describe the environment for | ||
| 27 | ;;; such machines as 'managed-host. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 22 | (define-module (gnu machine ssh) | 31 | (define-module (gnu machine ssh) |
| 23 | #:use-module (gnu bootloader) | 32 | #:use-module (gnu bootloader) |
| 24 | #:use-module (gnu machine) | 33 | #:use-module (gnu machine) |
| @@ -70,15 +79,6 @@ | |||
| 70 | machine-ssh-configuration-host-key | 79 | machine-ssh-configuration-host-key |
| 71 | machine-ssh-configuration-session)) | 80 | machine-ssh-configuration-session)) |
| 72 | 81 | ||
| 73 | ;;; Commentary: | ||
| 74 | ;;; | ||
| 75 | ;;; This module implements remote evaluation and system deployment for | ||
| 76 | ;;; machines that are accessible over SSH and have a known host-name. In the | ||
| 77 | ;;; sense of the broader "machine" interface, we describe the environment for | ||
| 78 | ;;; such machines as 'managed-host. | ||
| 79 | ;;; | ||
| 80 | ;;; Code: | ||
| 81 | |||
| 82 | 82 | ||
| 83 | ;;; | 83 | ;;; |
| 84 | ;;; Parameters for the SSH client. | 84 | ;;; Parameters for the SSH client. |
diff --git a/gnu/packages.scm b/gnu/packages.scm index 8d40e3e3352..b0283cade61 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm | |||
| @@ -21,6 +21,13 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; General utilities for the software distribution---i.e., the modules under | ||
| 27 | ;;; (gnu packages ...). | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 24 | (define-module (gnu packages) | 31 | (define-module (gnu packages) |
| 25 | #:use-module (guix packages) | 32 | #:use-module (guix packages) |
| 26 | #:use-module (guix ui) | 33 | #:use-module (guix ui) |
| @@ -74,13 +81,6 @@ | |||
| 74 | 81 | ||
| 75 | generate-package-cache)) | 82 | generate-package-cache)) |
| 76 | 83 | ||
| 77 | ;;; Commentary: | ||
| 78 | ;;; | ||
| 79 | ;;; General utilities for the software distribution---i.e., the modules under | ||
| 80 | ;;; (gnu packages ...). | ||
| 81 | ;;; | ||
| 82 | ;;; Code: | ||
| 83 | |||
| 84 | ;; By default, we store patches and auxiliary files | 84 | ;; By default, we store patches and auxiliary files |
| 85 | ;; alongside Guile modules. This is so that these extra files can be | 85 | ;; alongside Guile modules. This is so that these extra files can be |
| 86 | ;; found without requiring a special setup, such as a specific | 86 | ;; found without requiring a special setup, such as a specific |
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm index c445f3a83af..2c8c9486d1b 100644 --- a/gnu/packages/avr.scm +++ b/gnu/packages/avr.scm | |||
| @@ -21,6 +21,17 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; This module defines a procedure that can be used to create a complete | ||
| 27 | ;;; avr-toolchain package. The procedure must not be used at the top level, | ||
| 28 | ;;; to avoid cyclic module dependencies caused by the (gnu packages | ||
| 29 | ;;; cross-base) module referring to top level bindings from (gnu packages | ||
| 30 | ;;; gcc). | ||
| 31 | ;;; | ||
| 32 | ;;; It also contains packages for working with or targeting the AVR system. | ||
| 33 | ;;; | ||
| 34 | |||
| 24 | (define-module (gnu packages avr) | 35 | (define-module (gnu packages avr) |
| 25 | #:use-module ((guix licenses) #:prefix license:) | 36 | #:use-module ((guix licenses) #:prefix license:) |
| 26 | #:use-module (guix gexp) | 37 | #:use-module (guix gexp) |
| @@ -36,17 +47,6 @@ | |||
| 36 | #:export (make-avr-libc | 47 | #:export (make-avr-libc |
| 37 | make-avr-toolchain)) | 48 | make-avr-toolchain)) |
| 38 | 49 | ||
| 39 | ;;; Commentary: | ||
| 40 | ;;; | ||
| 41 | ;;; This module defines a procedure that can be used to create a complete | ||
| 42 | ;;; avr-toolchain package. The procedure must not be used at the top level, | ||
| 43 | ;;; to avoid cyclic module dependencies caused by the (gnu packages | ||
| 44 | ;;; cross-base) module referring to top level bindings from (gnu packages | ||
| 45 | ;;; gcc). | ||
| 46 | ;;; | ||
| 47 | ;;; It also contains packages for working with or targeting the AVR system. | ||
| 48 | ;;; | ||
| 49 | |||
| 50 | (define make-avr-binutils | 50 | (define make-avr-binutils |
| 51 | (mlambda () | 51 | (mlambda () |
| 52 | (package | 52 | (package |
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e7d0d2e406c..6fa024b2168 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm | |||
| @@ -40,6 +40,12 @@ | |||
| 40 | ;;; You should have received a copy of the GNU General Public License | 40 | ;;; You should have received a copy of the GNU General Public License |
| 41 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 41 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 42 | 42 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; Base packages of the Guix-based GNU user-land software distribution. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 43 | (define-module (gnu packages base) | 49 | (define-module (gnu packages base) |
| 44 | #:use-module ((guix licenses) | 50 | #:use-module ((guix licenses) |
| 45 | #:select (gpl3+ lgpl2.0+ lgpl3+ public-domain)) | 51 | #:select (gpl3+ lgpl2.0+ lgpl3+ public-domain)) |
| @@ -90,12 +96,6 @@ | |||
| 90 | canonical-package | 96 | canonical-package |
| 91 | %final-inputs)) | 97 | %final-inputs)) |
| 92 | 98 | ||
| 93 | ;;; Commentary: | ||
| 94 | ;;; | ||
| 95 | ;;; Base packages of the Guix-based GNU user-land software distribution. | ||
| 96 | ;;; | ||
| 97 | ;;; Code: | ||
| 98 | |||
| 99 | (define-public hello | 99 | (define-public hello |
| 100 | (package | 100 | (package |
| 101 | (name "hello") | 101 | (name "hello") |
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 5555098973c..2fc70210635 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm | |||
| @@ -23,6 +23,13 @@ | |||
| 23 | ;;; You should have received a copy of the GNU General Public License | 23 | ;;; You should have received a copy of the GNU General Public License |
| 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | ||
| 27 | ;;; | ||
| 28 | ;;; Pre-built packages that are used to bootstrap the | ||
| 29 | ;;; distribution--i.e., to build all the core packages from scratch. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 26 | (define-module (gnu packages bootstrap) | 33 | (define-module (gnu packages bootstrap) |
| 27 | #:use-module (guix licenses) | 34 | #:use-module (guix licenses) |
| 28 | #:use-module (gnu packages) | 35 | #:use-module (gnu packages) |
| @@ -64,14 +71,6 @@ | |||
| 64 | 71 | ||
| 65 | %bootstrap-inputs-for-tests)) | 72 | %bootstrap-inputs-for-tests)) |
| 66 | 73 | ||
| 67 | ;;; Commentary: | ||
| 68 | ;;; | ||
| 69 | ;;; Pre-built packages that are used to bootstrap the | ||
| 70 | ;;; distribution--i.e., to build all the core packages from scratch. | ||
| 71 | ;;; | ||
| 72 | ;;; Code: | ||
| 73 | |||
| 74 | |||
| 75 | 74 | ||
| 76 | ;;; | 75 | ;;; |
| 77 | ;;; The bootstrap executables: 'bash', 'mkdir', 'tar', 'xz'. They allow us to | 76 | ;;; The bootstrap executables: 'bash', 'mkdir', 'tar', 'xz'. They allow us to |
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 8ebcb405975..990930a0073 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm | |||
| @@ -32,6 +32,28 @@ | |||
| 32 | ;;; You should have received a copy of the GNU General Public License | 32 | ;;; You should have received a copy of the GNU General Public License |
| 33 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 33 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 34 | 34 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; This is the commencement, this is where things start. Before the | ||
| 38 | ;;; commencement, of course, there's the 'bootstrap' module, which provides us | ||
| 39 | ;;; with the initial binaries. This module uses those bootstrap binaries to | ||
| 40 | ;;; actually build up the whole tool chain that make up the implicit inputs of | ||
| 41 | ;;; 'gnu-build-system'. | ||
| 42 | ;;; | ||
| 43 | ;;; To avoid circular dependencies, this module should not be imported | ||
| 44 | ;;; directly from anywhere. | ||
| 45 | ;;; | ||
| 46 | ;;; Below, we frequently use "inherit" to create modified packages. The | ||
| 47 | ;;; reason why we use "inherit" instead of "package/inherit" is because we do | ||
| 48 | ;;; not want these commencement packages to inherit grafts. By definition, | ||
| 49 | ;;; these packages are not depended on at run time by any of the packages we | ||
| 50 | ;;; use. Thus it does not make sense to inherit grafts. Furthermore, those | ||
| 51 | ;;; grafts would often lead to extra overhead for users who would end up | ||
| 52 | ;;; downloading those "-boot0" packages just to build package replacements | ||
| 53 | ;;; that are in fact not going to be used. | ||
| 54 | ;;; | ||
| 55 | ;;; Code: | ||
| 56 | |||
| 35 | (define-module (gnu packages commencement) | 57 | (define-module (gnu packages commencement) |
| 36 | #:use-module (gnu packages) | 58 | #:use-module (gnu packages) |
| 37 | #:use-module (gnu packages bootstrap) | 59 | #:use-module (gnu packages bootstrap) |
| @@ -76,28 +98,6 @@ | |||
| 76 | #:use-module (ice-9 vlist) | 98 | #:use-module (ice-9 vlist) |
| 77 | #:use-module (ice-9 match)) | 99 | #:use-module (ice-9 match)) |
| 78 | 100 | ||
| 79 | ;;; Commentary: | ||
| 80 | ;;; | ||
| 81 | ;;; This is the commencement, this is where things start. Before the | ||
| 82 | ;;; commencement, of course, there's the 'bootstrap' module, which provides us | ||
| 83 | ;;; with the initial binaries. This module uses those bootstrap binaries to | ||
| 84 | ;;; actually build up the whole tool chain that make up the implicit inputs of | ||
| 85 | ;;; 'gnu-build-system'. | ||
| 86 | ;;; | ||
| 87 | ;;; To avoid circular dependencies, this module should not be imported | ||
| 88 | ;;; directly from anywhere. | ||
| 89 | ;;; | ||
| 90 | ;;; Below, we frequently use "inherit" to create modified packages. The | ||
| 91 | ;;; reason why we use "inherit" instead of "package/inherit" is because we do | ||
| 92 | ;;; not want these commencement packages to inherit grafts. By definition, | ||
| 93 | ;;; these packages are not depended on at run time by any of the packages we | ||
| 94 | ;;; use. Thus it does not make sense to inherit grafts. Furthermore, those | ||
| 95 | ;;; grafts would often lead to extra overhead for users who would end up | ||
| 96 | ;;; downloading those "-boot0" packages just to build package replacements | ||
| 97 | ;;; that are in fact not going to be used. | ||
| 98 | ;;; | ||
| 99 | ;;; Code: | ||
| 100 | |||
| 101 | (define built-in-builders* | 101 | (define built-in-builders* |
| 102 | (store-lift built-in-builders)) | 102 | (store-lift built-in-builders)) |
| 103 | 103 | ||
diff --git a/gnu/packages/cross-toolchain.scm b/gnu/packages/cross-toolchain.scm index 733f7e601fe..9f3ecd87af0 100644 --- a/gnu/packages/cross-toolchain.scm +++ b/gnu/packages/cross-toolchain.scm | |||
| @@ -16,11 +16,6 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (gnu packages cross-toolchain) | ||
| 20 | #:use-module (gnu packages cross-base) | ||
| 21 | #:use-module (gnu packages gcc) | ||
| 22 | #:use-module (guix packages)) | ||
| 23 | |||
| 24 | ;;; Commentary: | 19 | ;;; Commentary: |
| 25 | ;;; | 20 | ;;; |
| 26 | ;;; This module provides packages for cross compilation toolchains. These | 21 | ;;; This module provides packages for cross compilation toolchains. These |
| @@ -33,6 +28,11 @@ | |||
| 33 | ;;; compilation methods. For example, by using the `#:target' argument on | 28 | ;;; compilation methods. For example, by using the `#:target' argument on |
| 34 | ;;; packages or `--target' on the command line. | 29 | ;;; packages or `--target' on the command line. |
| 35 | 30 | ||
| 31 | (define-module (gnu packages cross-toolchain) | ||
| 32 | #:use-module (gnu packages cross-base) | ||
| 33 | #:use-module (gnu packages gcc) | ||
| 34 | #:use-module (guix packages)) | ||
| 35 | |||
| 36 | (define-public gcc-cross-avr-toolchain | 36 | (define-public gcc-cross-avr-toolchain |
| 37 | (cross-gcc-toolchain "avr")) | 37 | (cross-gcc-toolchain "avr")) |
| 38 | 38 | ||
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index e203d22e1ca..21af128411f 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm | |||
| @@ -26,6 +26,11 @@ | |||
| 26 | ;;; You should have received a copy of the GNU General Public License | 26 | ;;; You should have received a copy of the GNU General Public License |
| 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 28 | 28 | ||
| 29 | ;;; Commentary: | ||
| 30 | ;;; | ||
| 31 | ;;; This module has been separated from (gnu packages databases) to reduce the | ||
| 32 | ;;; number of module references for core packages. | ||
| 33 | |||
| 29 | (define-module (gnu packages dbm) | 34 | (define-module (gnu packages dbm) |
| 30 | #:use-module (gnu packages) | 35 | #:use-module (gnu packages) |
| 31 | #:use-module (gnu packages autotools) | 36 | #:use-module (gnu packages autotools) |
| @@ -37,11 +42,6 @@ | |||
| 37 | #:use-module (guix utils) | 42 | #:use-module (guix utils) |
| 38 | #:use-module (ice-9 match)) | 43 | #:use-module (ice-9 match)) |
| 39 | 44 | ||
| 40 | ;;; Commentary: | ||
| 41 | ;;; | ||
| 42 | ;;; This module has been separated from (gnu packages databases) to reduce the | ||
| 43 | ;;; number of module references for core packages. | ||
| 44 | |||
| 45 | (define bdb-snippet | 45 | (define bdb-snippet |
| 46 | ;; Remove some bundled and generated files. Some of the old | 46 | ;; Remove some bundled and generated files. Some of the old |
| 47 | ;; Autotools files are too old for some architectures | 47 | ;; Autotools files are too old for some architectures |
diff --git a/gnu/packages/duckdb.scm b/gnu/packages/duckdb.scm index 4a3edf99f21..50da727239b 100644 --- a/gnu/packages/duckdb.scm +++ b/gnu/packages/duckdb.scm | |||
| @@ -21,6 +21,14 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; This module contains DuckDB - an analytical in-process SQL database | ||
| 27 | ;;; management system (https://www.duckdb.org/) and it's binding in different | ||
| 28 | ;;; programming languages with other related to DuckDB packages. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 24 | (define-module (gnu packages duckdb) | 32 | (define-module (gnu packages duckdb) |
| 25 | #:use-module ((guix licenses) #:prefix license:) | 33 | #:use-module ((guix licenses) #:prefix license:) |
| 26 | #:use-module (guix build-system cmake) | 34 | #:use-module (guix build-system cmake) |
| @@ -43,13 +51,6 @@ | |||
| 43 | #:use-module (gnu packages statistics) | 51 | #:use-module (gnu packages statistics) |
| 44 | #:use-module (gnu packages time)) | 52 | #:use-module (gnu packages time)) |
| 45 | 53 | ||
| 46 | ;;; Commentary: | ||
| 47 | ;;; | ||
| 48 | ;;; This module contains DuckDB - an analytical in-process SQL database | ||
| 49 | ;;; management system (https://www.duckdb.org/) and it's binding in different | ||
| 50 | ;;; programming languages with other related to DuckDB packages. | ||
| 51 | ;;; | ||
| 52 | ;;; Code: | ||
| 53 | 54 | ||
| 54 | (define %duckdb-version "1.5.3") | 55 | (define %duckdb-version "1.5.3") |
| 55 | 56 | ||
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index d163ac5a57f..43bb77ae022 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm | |||
| @@ -32,6 +32,15 @@ | |||
| 32 | ;;; You should have received a copy of the GNU General Public License | 32 | ;;; You should have received a copy of the GNU General Public License |
| 33 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 33 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 34 | 34 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; This modules contains toolchain generators as well as packages for use in | ||
| 38 | ;;; embedded contexts. Note: the toolchain and specialized packages are | ||
| 39 | ;;; procedures, so as to delay their references to top level bindings such as | ||
| 40 | ;;; 'gcc' or 'cross-gcc', etc. | ||
| 41 | ;;; | ||
| 42 | ;;; Code: | ||
| 43 | |||
| 35 | (define-module (gnu packages embedded) | 44 | (define-module (gnu packages embedded) |
| 36 | #:use-module (guix utils) | 45 | #:use-module (guix utils) |
| 37 | #:use-module (guix packages) | 46 | #:use-module (guix packages) |
| @@ -121,14 +130,6 @@ | |||
| 121 | make-propeller-gcc-6 | 130 | make-propeller-gcc-6 |
| 122 | make-propeller-toolchain)) | 131 | make-propeller-toolchain)) |
| 123 | 132 | ||
| 124 | ;;; Commentary: | ||
| 125 | ;;; | ||
| 126 | ;;; This modules contains toolchain generators as well as packages for use in | ||
| 127 | ;;; embedded contexts. Note: the toolchain and specialized packages are | ||
| 128 | ;;; procedures, so as to delay their references to top level bindings such as | ||
| 129 | ;;; 'gcc' or 'cross-gcc', etc. | ||
| 130 | ;;; | ||
| 131 | |||
| 132 | ;; We must not use the released GCC sources here, because the cross-compiler | 133 | ;; We must not use the released GCC sources here, because the cross-compiler |
| 133 | ;; does not produce working binaries. Instead we take the very same SVN | 134 | ;; does not produce working binaries. Instead we take the very same SVN |
| 134 | ;; revision from the branch that is used for a release of the "GCC ARM | 135 | ;; revision from the branch that is used for a release of the "GCC ARM |
diff --git a/gnu/packages/gnome-circle.scm b/gnu/packages/gnome-circle.scm index 04f195180b5..1e294f55a24 100644 --- a/gnu/packages/gnome-circle.scm +++ b/gnu/packages/gnome-circle.scm | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | ;;; You should have received a copy of the GNU General Public License | 25 | ;;; You should have received a copy of the GNU General Public License |
| 26 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 26 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 27 | 27 | ||
| 28 | ;;; Comment: | 28 | ;;; Commentary: |
| 29 | 29 | ||
| 30 | ;;; This module is for packages that are part of GNOME Circle | 30 | ;;; This module is for packages that are part of GNOME Circle |
| 31 | ;;; <https://circle.gnome.org/>. | 31 | ;;; <https://circle.gnome.org/>. |
diff --git a/gnu/packages/golang-apps.scm b/gnu/packages/golang-apps.scm index 9b856d23b5b..80ad63d8535 100644 --- a/gnu/packages/golang-apps.scm +++ b/gnu/packages/golang-apps.scm | |||
| @@ -21,6 +21,18 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; Golang (Go) specific applications which are not inherited from their | ||
| 27 | ;;; source live here e.g linters, language servers, REPL implementations etc. | ||
| 28 | ;;; | ||
| 29 | ;;; If the <cmd/APP> is inherited from its source place it in corresponded | ||
| 30 | ;;; golang-*.scm file in the end after the section "Executables". | ||
| 31 | ;;; | ||
| 32 | ;;; Please: Try to add new variable in alphabetical order. | ||
| 33 | ;;; | ||
| 34 | ;;; Code: | ||
| 35 | |||
| 24 | (define-module (gnu packages golang-apps) | 36 | (define-module (gnu packages golang-apps) |
| 25 | #:use-module (guix build-system go) | 37 | #:use-module (guix build-system go) |
| 26 | #:use-module (guix gexp) | 38 | #:use-module (guix gexp) |
| @@ -34,17 +46,6 @@ | |||
| 34 | #:use-module (gnu packages golang-web) | 46 | #:use-module (gnu packages golang-web) |
| 35 | #:use-module (gnu packages golang-xyz)) | 47 | #:use-module (gnu packages golang-xyz)) |
| 36 | 48 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; Golang (Go) specific applications which are not inherited from their | ||
| 40 | ;;; source live here e.g linters, language servers, REPL implementations etc. | ||
| 41 | ;;; | ||
| 42 | ;;; If the <cmd/APP> is inherited from its source place it in corresponded | ||
| 43 | ;;; golang-*.scm file in the end after the section "Executables". | ||
| 44 | ;;; | ||
| 45 | ;;; Please: Try to add new variable in alphabetical order. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | 49 | ||
| 49 | (define-public go-chroma | 50 | (define-public go-chroma |
| 50 | (package | 51 | (package |
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm index 9e744c50c3a..70d99a41a77 100644 --- a/gnu/packages/golang-build.scm +++ b/gnu/packages/golang-build.scm | |||
| @@ -37,18 +37,6 @@ | |||
| 37 | ;;; You should have received a copy of the GNU General Public License | 37 | ;;; You should have received a copy of the GNU General Public License |
| 38 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 38 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 39 | 39 | ||
| 40 | (define-module (gnu packages golang-build) | ||
| 41 | #:use-module ((guix licenses) #:prefix license:) | ||
| 42 | #:use-module (guix build-system go) | ||
| 43 | #:use-module (guix gexp) | ||
| 44 | #:use-module (guix git-download) | ||
| 45 | #:use-module (guix packages) | ||
| 46 | #:use-module (guix utils) | ||
| 47 | #:use-module (gnu packages) | ||
| 48 | #:use-module (gnu packages audio) | ||
| 49 | #:use-module (gnu packages gl) | ||
| 50 | #:use-module (gnu packages golang)) | ||
| 51 | |||
| 52 | ;;; Commentary: | 40 | ;;; Commentary: |
| 53 | ;;; | 41 | ;;; |
| 54 | ;;; Modules (libraries) which are part of the Golang project but outside the | 42 | ;;; Modules (libraries) which are part of the Golang project but outside the |
| @@ -61,6 +49,19 @@ | |||
| 61 | ;;; Please: Try to add new module packages in alphabetic order. | 49 | ;;; Please: Try to add new module packages in alphabetic order. |
| 62 | ;;; | 50 | ;;; |
| 63 | ;;; Code: | 51 | ;;; Code: |
| 52 | |||
| 53 | (define-module (gnu packages golang-build) | ||
| 54 | #:use-module ((guix licenses) #:prefix license:) | ||
| 55 | #:use-module (guix build-system go) | ||
| 56 | #:use-module (guix gexp) | ||
| 57 | #:use-module (guix git-download) | ||
| 58 | #:use-module (guix packages) | ||
| 59 | #:use-module (guix utils) | ||
| 60 | #:use-module (gnu packages) | ||
| 61 | #:use-module (gnu packages audio) | ||
| 62 | #:use-module (gnu packages gl) | ||
| 63 | #:use-module (gnu packages golang)) | ||
| 64 | |||
| 64 | 65 | ||
| 65 | (define-public go-cel-dev-expr | 66 | (define-public go-cel-dev-expr |
| 66 | (package | 67 | (package |
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm index b3ef530bf22..d05e0ee2c59 100644 --- a/gnu/packages/golang-check.scm +++ b/gnu/packages/golang-check.scm | |||
| @@ -45,6 +45,16 @@ | |||
| 45 | ;;; You should have received a copy of the GNU General Public License | 45 | ;;; You should have received a copy of the GNU General Public License |
| 46 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 46 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 47 | 47 | ||
| 48 | ;;; Commentary: | ||
| 49 | ;;; | ||
| 50 | ;;; Golang packages providing tools to unit-test, mock, assert, and lint | ||
| 51 | ;;; processes for the Golang itself. They may provide executables and | ||
| 52 | ;;; libraries, for which there are marked sections. | ||
| 53 | ;;; | ||
| 54 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 55 | ;;; | ||
| 56 | ;;; Code: | ||
| 57 | |||
| 48 | (define-module (gnu packages golang-check) | 58 | (define-module (gnu packages golang-check) |
| 49 | #:use-module ((guix licenses) #:prefix license:) | 59 | #:use-module ((guix licenses) #:prefix license:) |
| 50 | #:use-module (guix packages) | 60 | #:use-module (guix packages) |
| @@ -59,15 +69,6 @@ | |||
| 59 | #:use-module (gnu packages golang-xyz) | 69 | #:use-module (gnu packages golang-xyz) |
| 60 | #:use-module (gnu packages version-control)) | 70 | #:use-module (gnu packages version-control)) |
| 61 | 71 | ||
| 62 | ;;; Commentary: | ||
| 63 | ;;; | ||
| 64 | ;;; Golang packages providing tools to unit-test, mock, assert, and lint | ||
| 65 | ;;; processes for the Golang itself. They may provide executables and | ||
| 66 | ;;; libraries, for which there are marked sections. | ||
| 67 | ;;; | ||
| 68 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 69 | ;;; | ||
| 70 | ;;; Code: | ||
| 71 | 72 | ||
| 72 | ;;; | 73 | ;;; |
| 73 | ;;; Libraries: | 74 | ;;; Libraries: |
diff --git a/gnu/packages/golang-compression.scm b/gnu/packages/golang-compression.scm index 2ea0b01110a..ee406036571 100644 --- a/gnu/packages/golang-compression.scm +++ b/gnu/packages/golang-compression.scm | |||
| @@ -23,6 +23,12 @@ | |||
| 23 | ;;; You should have received a copy of the GNU General Public License | 23 | ;;; You should have received a copy of the GNU General Public License |
| 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | ||
| 27 | ;;; | ||
| 28 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 26 | (define-module (gnu packages golang-compression) | 32 | (define-module (gnu packages golang-compression) |
| 27 | #:use-module ((guix licenses) #:prefix license:) | 33 | #:use-module ((guix licenses) #:prefix license:) |
| 28 | #:use-module (guix build-system go) | 34 | #:use-module (guix build-system go) |
| @@ -38,11 +44,6 @@ | |||
| 38 | #:use-module (gnu packages golang-xyz) | 44 | #:use-module (gnu packages golang-xyz) |
| 39 | #:use-module (gnu packages pkg-config)) | 45 | #:use-module (gnu packages pkg-config)) |
| 40 | 46 | ||
| 41 | ;;; Commentary: | ||
| 42 | ;;; | ||
| 43 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 44 | ;;; | ||
| 45 | ;;; Code: | ||
| 46 | 47 | ||
| 47 | (define-public go-code-forgejo-org-forgejo-go-rpmutils | 48 | (define-public go-code-forgejo-org-forgejo-go-rpmutils |
| 48 | (package | 49 | (package |
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm index 7e54b4d9818..d197029bfdf 100644 --- a/gnu/packages/golang-crypto.scm +++ b/gnu/packages/golang-crypto.scm | |||
| @@ -48,6 +48,16 @@ | |||
| 48 | ;;; You should have received a copy of the GNU General Public License | 48 | ;;; You should have received a copy of the GNU General Public License |
| 49 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 49 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 50 | 50 | ||
| 51 | ;;; Commentary: | ||
| 52 | ;;; | ||
| 53 | ;;; Golang modules (libraries) related to Cryptography: encryption algorithms, | ||
| 54 | ;;; hashing functions, TLS, key management, digital signatures, password | ||
| 55 | ;;; hashing etc. | ||
| 56 | ;;; | ||
| 57 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 58 | ;;; | ||
| 59 | ;;; Code: | ||
| 60 | |||
| 51 | (define-module (gnu packages golang-crypto) | 61 | (define-module (gnu packages golang-crypto) |
| 52 | #:use-module ((guix licenses) #:prefix license:) | 62 | #:use-module ((guix licenses) #:prefix license:) |
| 53 | #:use-module (guix build-system go) | 63 | #:use-module (guix build-system go) |
| @@ -70,15 +80,6 @@ | |||
| 70 | #:use-module (gnu packages specifications) | 80 | #:use-module (gnu packages specifications) |
| 71 | #:use-module (gnu packages tls)) | 81 | #:use-module (gnu packages tls)) |
| 72 | 82 | ||
| 73 | ;;; Commentary: | ||
| 74 | ;;; | ||
| 75 | ;;; Golang modules (libraries) related to Cryptography: encryption algorithms, | ||
| 76 | ;;; hashing functions, TLS, key management, digital signatures, password | ||
| 77 | ;;; hashing etc. | ||
| 78 | ;;; | ||
| 79 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 80 | ;;; | ||
| 81 | ;;; Code: | ||
| 82 | 83 | ||
| 83 | ;;; | 84 | ;;; |
| 84 | ;;; Libraries: | 85 | ;;; Libraries: |
diff --git a/gnu/packages/golang-graphics.scm b/gnu/packages/golang-graphics.scm index 725ffad1b77..6dadb0e3746 100644 --- a/gnu/packages/golang-graphics.scm +++ b/gnu/packages/golang-graphics.scm | |||
| @@ -18,6 +18,12 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 21 | (define-module (gnu packages golang-graphics) | 27 | (define-module (gnu packages golang-graphics) |
| 22 | #:use-module (guix build-system go) | 28 | #:use-module (guix build-system go) |
| 23 | #:use-module (guix gexp) | 29 | #:use-module (guix gexp) |
| @@ -33,11 +39,6 @@ | |||
| 33 | #:use-module (gnu packages pkg-config) | 39 | #:use-module (gnu packages pkg-config) |
| 34 | #:use-module (gnu packages xorg)) | 40 | #:use-module (gnu packages xorg)) |
| 35 | 41 | ||
| 36 | ;;; Commentary: | ||
| 37 | ;;; | ||
| 38 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | 42 | ||
| 42 | ;;; | 43 | ;;; |
| 43 | ;;; Libraries: | 44 | ;;; Libraries: |
diff --git a/gnu/packages/golang-maths.scm b/gnu/packages/golang-maths.scm index 71d3e3c6e52..895557a6dbb 100644 --- a/gnu/packages/golang-maths.scm +++ b/gnu/packages/golang-maths.scm | |||
| @@ -20,6 +20,12 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 23 | (define-module (gnu packages golang-maths) | 29 | (define-module (gnu packages golang-maths) |
| 24 | #:use-module ((guix licenses) #:prefix license:) | 30 | #:use-module ((guix licenses) #:prefix license:) |
| 25 | #:use-module (guix build-system go) | 31 | #:use-module (guix build-system go) |
| @@ -33,11 +39,6 @@ | |||
| 33 | #:use-module (gnu packages golang-check) | 39 | #:use-module (gnu packages golang-check) |
| 34 | #:use-module (gnu packages golang-compression)) | 40 | #:use-module (gnu packages golang-compression)) |
| 35 | 41 | ||
| 36 | ;;; Commentary: | ||
| 37 | ;;; | ||
| 38 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | 42 | ||
| 42 | ;;; | 43 | ;;; |
| 43 | ;;; Libraries: | 44 | ;;; Libraries: |
diff --git a/gnu/packages/golang-vcs.scm b/gnu/packages/golang-vcs.scm index d74be58bf26..f1374c8d5dc 100644 --- a/gnu/packages/golang-vcs.scm +++ b/gnu/packages/golang-vcs.scm | |||
| @@ -21,6 +21,12 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 24 | (define-module (gnu packages golang-vcs) | 30 | (define-module (gnu packages golang-vcs) |
| 25 | #:use-module ((guix licenses) #:prefix license:) | 31 | #:use-module ((guix licenses) #:prefix license:) |
| 26 | #:use-module (guix build-system go) | 32 | #:use-module (guix build-system go) |
| @@ -43,11 +49,6 @@ | |||
| 43 | #:use-module (gnu packages python-check) | 49 | #:use-module (gnu packages python-check) |
| 44 | #:use-module (gnu packages version-control)) | 50 | #:use-module (gnu packages version-control)) |
| 45 | 51 | ||
| 46 | ;;; Commentary: | ||
| 47 | ;;; | ||
| 48 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 49 | ;;; | ||
| 50 | ;;; Code: | ||
| 51 | 52 | ||
| 52 | ;;; | 53 | ;;; |
| 53 | ;;; Libraries: | 54 | ;;; Libraries: |
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index 320e15dc863..a673448d5cf 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm | |||
| @@ -68,6 +68,19 @@ | |||
| 68 | ;;; You should have received a copy of the GNU General Public License | 68 | ;;; You should have received a copy of the GNU General Public License |
| 69 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 69 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 70 | 70 | ||
| 71 | ;;; Commentary: | ||
| 72 | ;;; | ||
| 73 | ;;; Golang modules (libraries) for Web related projects: HTML, CSS, SCSS, | ||
| 74 | ;;; JavaScript, JSON, Web-framework, REST-API or similar functionality; for | ||
| 75 | ;;; Network related projects: OSI layers implementation algorithms, MIME, | ||
| 76 | ;;; Email protocols implementations, and similar. They may provide | ||
| 77 | ;;; executables and libraries, for which there are marked sections. | ||
| 78 | |||
| 79 | ;;; | ||
| 80 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 81 | ;;; | ||
| 82 | ;;; Code: | ||
| 83 | |||
| 71 | (define-module (gnu packages golang-web) | 84 | (define-module (gnu packages golang-web) |
| 72 | #:use-module ((guix licenses) #:prefix license:) | 85 | #:use-module ((guix licenses) #:prefix license:) |
| 73 | #:use-module (guix packages) | 86 | #:use-module (guix packages) |
| @@ -91,18 +104,6 @@ | |||
| 91 | #:use-module (gnu packages tls) | 104 | #:use-module (gnu packages tls) |
| 92 | #:use-module (gnu packages web)) | 105 | #:use-module (gnu packages web)) |
| 93 | 106 | ||
| 94 | ;;; Commentary: | ||
| 95 | ;;; | ||
| 96 | ;;; Golang modules (libraries) for Web related projects: HTML, CSS, SCSS, | ||
| 97 | ;;; JavaScript, JSON, Web-framework, REST-API or similar functionality; for | ||
| 98 | ;;; Network related projects: OSI layers implementation algorithms, MIME, | ||
| 99 | ;;; Email protocols implementations, and similar. They may provide | ||
| 100 | ;;; executables and libraries, for which there are marked sections. | ||
| 101 | |||
| 102 | ;;; | ||
| 103 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 104 | ;;; | ||
| 105 | ;;; Code: | ||
| 106 | 107 | ||
| 107 | ;;; | 108 | ;;; |
| 108 | ;;; Libraries: | 109 | ;;; Libraries: |
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index d465888f8ac..eca17e73700 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm | |||
| @@ -99,6 +99,20 @@ | |||
| 99 | ;;; You should have received a copy of the GNU General Public License | 99 | ;;; You should have received a copy of the GNU General Public License |
| 100 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 100 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 101 | 101 | ||
| 102 | ;;; Commentary: | ||
| 103 | ;;; | ||
| 104 | ;;; Nomad Golang modules (libraries) are welcome here. | ||
| 105 | ;;; | ||
| 106 | ;;; There are two sections her: Libraries - for any source only Golang | ||
| 107 | ;;; libraries which are meant to be imported by other packages; Executables - | ||
| 108 | ;;; should contain inherited packages where commands need to be built. | ||
| 109 | ;;; | ||
| 110 | ;;; Please: Try to add new module packages in alphabetic order and avoid stand | ||
| 111 | ;;; alone final executables which are not inherited from sources presented in | ||
| 112 | ;;; this module. | ||
| 113 | ;;; | ||
| 114 | ;;; Code: | ||
| 115 | |||
| 102 | (define-module (gnu packages golang-xyz) | 116 | (define-module (gnu packages golang-xyz) |
| 103 | #:use-module ((guix licenses) #:prefix license:) | 117 | #:use-module ((guix licenses) #:prefix license:) |
| 104 | #:use-module (guix build-system go) | 118 | #:use-module (guix build-system go) |
| @@ -140,19 +154,6 @@ | |||
| 140 | #:use-module (gnu packages kubernetes) | 154 | #:use-module (gnu packages kubernetes) |
| 141 | #:use-module (gnu packages prometheus)) | 155 | #:use-module (gnu packages prometheus)) |
| 142 | 156 | ||
| 143 | ;;; Commentary: | ||
| 144 | ;;; | ||
| 145 | ;;; Nomad Golang modules (libraries) are welcome here. | ||
| 146 | ;;; | ||
| 147 | ;;; There are two sections her: Libraries - for any source only Golang | ||
| 148 | ;;; libraries which are meant to be imported by other packages; Executables - | ||
| 149 | ;;; should contain inherited packages where commands need to be built. | ||
| 150 | ;;; | ||
| 151 | ;;; Please: Try to add new module packages in alphabetic order and avoid stand | ||
| 152 | ;;; alone final executables which are not inherited from sources presented in | ||
| 153 | ;;; this module. | ||
| 154 | ;;; | ||
| 155 | ;;; Code: | ||
| 156 | 157 | ||
| 157 | ;;; | 158 | ;;; |
| 158 | ;;; Libraries: | 159 | ;;; Libraries: |
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index ba46a34bd91..58c1598bb38 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm | |||
| @@ -34,6 +34,12 @@ | |||
| 34 | ;;; You should have received a copy of the GNU General Public License | 34 | ;;; You should have received a copy of the GNU General Public License |
| 35 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 35 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 36 | 36 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; GNU Guile, and modules and extensions. | ||
| 40 | ;;; | ||
| 41 | ;;; Code: | ||
| 42 | |||
| 37 | (define-module (gnu packages guile) | 43 | (define-module (gnu packages guile) |
| 38 | #:use-module ((guix licenses) #:prefix license:) | 44 | #:use-module ((guix licenses) #:prefix license:) |
| 39 | #:use-module (gnu packages) | 45 | #:use-module (gnu packages) |
| @@ -67,12 +73,6 @@ | |||
| 67 | #:use-module (guix deprecation) | 73 | #:use-module (guix deprecation) |
| 68 | #:use-module (guix utils)) | 74 | #:use-module (guix utils)) |
| 69 | 75 | ||
| 70 | ;;; Commentary: | ||
| 71 | ;;; | ||
| 72 | ;;; GNU Guile, and modules and extensions. | ||
| 73 | ;;; | ||
| 74 | ;;; Code: | ||
| 75 | |||
| 76 | (define-public guile-1.8 | 76 | (define-public guile-1.8 |
| 77 | (package | 77 | (package |
| 78 | (name "guile") | 78 | (name "guile") |
diff --git a/gnu/packages/ld-wrapper.in b/gnu/packages/ld-wrapper.in index c9bb235bca5..61d65b262d9 100644 --- a/gnu/packages/ld-wrapper.in +++ b/gnu/packages/ld-wrapper.in | |||
| @@ -39,12 +39,6 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") ($main (command-line))" "$@" | |||
| 39 | ;;; You should have received a copy of the GNU General Public License | 39 | ;;; You should have received a copy of the GNU General Public License |
| 40 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 40 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 41 | 41 | ||
| 42 | (define-module (gnu build-support ld-wrapper) | ||
| 43 | #:use-module (srfi srfi-1) | ||
| 44 | #:use-module (ice-9 match) | ||
| 45 | #:autoload (ice-9 rdelim) (read-delimited) | ||
| 46 | #:export (ld-wrapper)) | ||
| 47 | |||
| 48 | ;;; Commentary: | 42 | ;;; Commentary: |
| 49 | ;;; | 43 | ;;; |
| 50 | ;;; This is a wrapper for the linker. Its purpose is to inspect the -L and | 44 | ;;; This is a wrapper for the linker. Its purpose is to inspect the -L and |
| @@ -70,6 +64,12 @@ exec @GUILE@ -c "(load-compiled \"@SELF@.go\") ($main (command-line))" "$@" | |||
| 70 | ;;; | 64 | ;;; |
| 71 | ;;; Code: | 65 | ;;; Code: |
| 72 | 66 | ||
| 67 | (define-module (gnu build-support ld-wrapper) | ||
| 68 | #:use-module (srfi srfi-1) | ||
| 69 | #:use-module (ice-9 match) | ||
| 70 | #:autoload (ice-9 rdelim) (read-delimited) | ||
| 71 | #:export (ld-wrapper)) | ||
| 72 | |||
| 73 | (define %real-ld | 73 | (define %real-ld |
| 74 | ;; Name of the linker that we wrap. | 74 | ;; Name of the linker that we wrap. |
| 75 | "@LD@") | 75 | "@LD@") |
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index de1dd6ebd22..71eedb138ac 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm | |||
| @@ -23,6 +23,14 @@ | |||
| 23 | ;;; You should have received a copy of the GNU General Public License | 23 | ;;; You should have received a copy of the GNU General Public License |
| 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | ||
| 27 | ;;; | ||
| 28 | ;;; This module provides tools to build tarballs of the "bootstrap binaries" | ||
| 29 | ;;; used in (gnu packages bootstrap). These statically-linked binaries are | ||
| 30 | ;;; taken for granted and used as the root of the whole bootstrap procedure. | ||
| 31 | ;;; | ||
| 32 | ;;; Code: | ||
| 33 | |||
| 26 | (define-module (gnu packages make-bootstrap) | 34 | (define-module (gnu packages make-bootstrap) |
| 27 | #:use-module (guix gexp) | 35 | #:use-module (guix gexp) |
| 28 | #:use-module (guix utils) | 36 | #:use-module (guix utils) |
| @@ -58,14 +66,6 @@ | |||
| 58 | %guile-static-stripped | 66 | %guile-static-stripped |
| 59 | %guile-static-initrd)) | 67 | %guile-static-initrd)) |
| 60 | 68 | ||
| 61 | ;;; Commentary: | ||
| 62 | ;;; | ||
| 63 | ;;; This module provides tools to build tarballs of the "bootstrap binaries" | ||
| 64 | ;;; used in (gnu packages bootstrap). These statically-linked binaries are | ||
| 65 | ;;; taken for granted and used as the root of the whole bootstrap procedure. | ||
| 66 | ;;; | ||
| 67 | ;;; Code: | ||
| 68 | |||
| 69 | (define glibc-for-bootstrap | 69 | (define glibc-for-bootstrap |
| 70 | (mlambdaq (base) | 70 | (mlambdaq (base) |
| 71 | "Return a libc deriving from BASE whose `system' and `popen' functions looks | 71 | "Return a libc deriving from BASE whose `system' and `popen' functions looks |
diff --git a/gnu/packages/prometheus.scm b/gnu/packages/prometheus.scm index 910ee9e3c9e..1ab3f367217 100644 --- a/gnu/packages/prometheus.scm +++ b/gnu/packages/prometheus.scm | |||
| @@ -24,6 +24,15 @@ | |||
| 24 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 26 | 26 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; Libraries and commands related to, or provided by Prometheus project | ||
| 30 | ;;; <https://prometheus.io>. | ||
| 31 | ;;; | ||
| 32 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 33 | ;;; | ||
| 34 | ;;; Code: | ||
| 35 | |||
| 27 | (define-module (gnu packages prometheus) | 36 | (define-module (gnu packages prometheus) |
| 28 | #:use-module ((guix licenses) #:prefix license:) | 37 | #:use-module ((guix licenses) #:prefix license:) |
| 29 | #:use-module (guix build-system go) | 38 | #:use-module (guix build-system go) |
| @@ -40,14 +49,6 @@ | |||
| 40 | #:use-module (gnu packages golang-web) | 49 | #:use-module (gnu packages golang-web) |
| 41 | #:use-module (gnu packages golang-xyz)) | 50 | #:use-module (gnu packages golang-xyz)) |
| 42 | 51 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; Libraries and commands related to, or provided by Prometheus project | ||
| 46 | ;;; <https://prometheus.io>. | ||
| 47 | ;;; | ||
| 48 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 49 | ;;; | ||
| 50 | ;;; Code: | ||
| 51 | 52 | ||
| 52 | ;;; | 53 | ;;; |
| 53 | ;;; Libraries: | 54 | ;;; Libraries: |
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm index 69da97a8bc4..433bee7bf71 100644 --- a/gnu/packages/python-build.scm +++ b/gnu/packages/python-build.scm | |||
| @@ -38,6 +38,14 @@ | |||
| 38 | ;;; You should have received a copy of the GNU General Public License | 38 | ;;; You should have received a copy of the GNU General Public License |
| 39 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 39 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 40 | 40 | ||
| 41 | ;;; Commentary: | ||
| 42 | ;;; | ||
| 43 | ;;; Python packages to build... Python packages. Since they are bound to be | ||
| 44 | ;;; relied on by many, their dependencies should be kept minimal, and this | ||
| 45 | ;;; module should not depend on other modules containing Python packages. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 41 | (define-module (gnu packages python-build) | 49 | (define-module (gnu packages python-build) |
| 42 | #:use-module (gnu packages) | 50 | #:use-module (gnu packages) |
| 43 | #:use-module (gnu packages bash) | 51 | #:use-module (gnu packages bash) |
| @@ -50,14 +58,6 @@ | |||
| 50 | #:use-module (guix git-download) | 58 | #:use-module (guix git-download) |
| 51 | #:use-module (guix packages)) | 59 | #:use-module (guix packages)) |
| 52 | 60 | ||
| 53 | ;;; Commentary: | ||
| 54 | ;;; | ||
| 55 | ;;; Python packages to build... Python packages. Since they are bound to be | ||
| 56 | ;;; relied on by many, their dependencies should be kept minimal, and this | ||
| 57 | ;;; module should not depend on other modules containing Python packages. | ||
| 58 | ;;; | ||
| 59 | ;;; Code: | ||
| 60 | |||
| 61 | 61 | ||
| 62 | ;;; These are dependencies used by the build systems contained herein; they | 62 | ;;; These are dependencies used by the build systems contained herein; they |
| 63 | ;;; feel a bit out of place but are kept here to prevent circular module | 63 | ;;; feel a bit out of place but are kept here to prevent circular module |
diff --git a/gnu/packages/python-graphics.scm b/gnu/packages/python-graphics.scm index e7e07302af8..57e35610c21 100644 --- a/gnu/packages/python-graphics.scm +++ b/gnu/packages/python-graphics.scm | |||
| @@ -29,6 +29,15 @@ | |||
| 29 | ;;; You should have received a copy of the GNU General Public License | 29 | ;;; You should have received a copy of the GNU General Public License |
| 30 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 30 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 31 | 31 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; Python modules which are meant to be used in GUI creation or mainly are | ||
| 35 | ;;; bindings to low level libraries such as Glue, Mesa, OpenGL, Xorg etc. | ||
| 36 | ;;; | ||
| 37 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 32 | (define-module (gnu packages python-graphics) | 41 | (define-module (gnu packages python-graphics) |
| 33 | #:use-module ((guix licenses) #:prefix license:) | 42 | #:use-module ((guix licenses) #:prefix license:) |
| 34 | #:use-module (guix build-system pyproject) | 43 | #:use-module (guix build-system pyproject) |
| @@ -68,14 +77,6 @@ | |||
| 68 | #:use-module (gnu packages video) | 77 | #:use-module (gnu packages video) |
| 69 | #:use-module (gnu packages xorg)) | 78 | #:use-module (gnu packages xorg)) |
| 70 | 79 | ||
| 71 | ;;; Commentary: | ||
| 72 | ;;; | ||
| 73 | ;;; Python modules which are meant to be used in GUI creation or mainly are | ||
| 74 | ;;; bindings to low level libraries such as Glue, Mesa, OpenGL, Xorg etc. | ||
| 75 | ;;; | ||
| 76 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 77 | ;;; | ||
| 78 | ;;; Code: | ||
| 79 | 80 | ||
| 80 | (define-public python-asyncgui | 81 | (define-public python-asyncgui |
| 81 | (package | 82 | (package |
diff --git a/gnu/packages/quantum.scm b/gnu/packages/quantum.scm index 908a51773a4..5ca1846e353 100644 --- a/gnu/packages/quantum.scm +++ b/gnu/packages/quantum.scm | |||
| @@ -18,6 +18,13 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; Quantum computing and tensor operation module. For quantum mechanics | ||
| 24 | ;;; select (gnu packages physics) module. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 21 | (define-module (gnu packages quantum) | 28 | (define-module (gnu packages quantum) |
| 22 | #:use-module (gnu packages) | 29 | #:use-module (gnu packages) |
| 23 | #:use-module (gnu packages check) | 30 | #:use-module (gnu packages check) |
| @@ -35,12 +42,6 @@ | |||
| 35 | #:use-module ((guix licenses) #:prefix license:) | 42 | #:use-module ((guix licenses) #:prefix license:) |
| 36 | #:use-module (guix packages)) | 43 | #:use-module (guix packages)) |
| 37 | 44 | ||
| 38 | ;;; Commentary: | ||
| 39 | ;;; | ||
| 40 | ;;; Quantum computing and tensor operation module. For quantum mechanics | ||
| 41 | ;;; select (gnu packages physics) module. | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | 45 | ||
| 45 | 46 | ||
| 46 | (define %cirq-version "1.7.0") | 47 | (define %cirq-version "1.7.0") |
diff --git a/gnu/packages/ruby-check.scm b/gnu/packages/ruby-check.scm index 6535d8fd6e4..0406cf3fd2e 100644 --- a/gnu/packages/ruby-check.scm +++ b/gnu/packages/ruby-check.scm | |||
| @@ -48,6 +48,12 @@ | |||
| 48 | ;;; You should have received a copy of the GNU General Public License | 48 | ;;; You should have received a copy of the GNU General Public License |
| 49 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 49 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 50 | 50 | ||
| 51 | ;;; Commentary: | ||
| 52 | ;;; | ||
| 53 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 54 | ;;; | ||
| 55 | ;;; Code: | ||
| 56 | |||
| 51 | (define-module (gnu packages ruby-check) | 57 | (define-module (gnu packages ruby-check) |
| 52 | #:use-module ((guix licenses) #:prefix license:) | 58 | #:use-module ((guix licenses) #:prefix license:) |
| 53 | #:use-module (guix build-system ruby) | 59 | #:use-module (guix build-system ruby) |
| @@ -61,11 +67,6 @@ | |||
| 61 | #:use-module (gnu packages ruby) | 67 | #:use-module (gnu packages ruby) |
| 62 | #:use-module (gnu packages ruby-xyz)) | 68 | #:use-module (gnu packages ruby-xyz)) |
| 63 | 69 | ||
| 64 | ;;; Commentary: | ||
| 65 | ;;; | ||
| 66 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 67 | ;;; | ||
| 68 | ;;; Code: | ||
| 69 | 70 | ||
| 70 | 71 | ||
| 71 | ;; Bundler is yet another source of circular dependencies, so we must disable | 72 | ;; Bundler is yet another source of circular dependencies, so we must disable |
diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm index 24a5f741ed3..972e84a6c44 100644 --- a/gnu/packages/sqlite.scm +++ b/gnu/packages/sqlite.scm | |||
| @@ -31,6 +31,13 @@ | |||
| 31 | ;;; You should have received a copy of the GNU General Public License | 31 | ;;; You should have received a copy of the GNU General Public License |
| 32 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 32 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 33 | 33 | ||
| 34 | ;;; Commentary: | ||
| 35 | ;;; | ||
| 36 | ;;; This module has been separated from (gnu packages databases) to reduce the | ||
| 37 | ;;; number of module references for core packages. | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 34 | (define-module (gnu packages sqlite) | 41 | (define-module (gnu packages sqlite) |
| 35 | #:use-module (gnu packages) | 42 | #:use-module (gnu packages) |
| 36 | #:use-module (gnu packages hurd) | 43 | #:use-module (gnu packages hurd) |
| @@ -45,11 +52,6 @@ | |||
| 45 | #:use-module (ice-9 match) | 52 | #:use-module (ice-9 match) |
| 46 | #:use-module (srfi srfi-26)) | 53 | #:use-module (srfi srfi-26)) |
| 47 | 54 | ||
| 48 | ;;; Commentary: | ||
| 49 | ;;; | ||
| 50 | ;;; This module has been separated from (gnu packages databases) to reduce the | ||
| 51 | ;;; number of module references for core packages. | ||
| 52 | |||
| 53 | (define (sqlite-uri version year) | 55 | (define (sqlite-uri version year) |
| 54 | (let ((numeric-version | 56 | (let ((numeric-version |
| 55 | (match (string-split version #\.) | 57 | (match (string-split version #\.) |
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index b8b55242eb4..6d961151d54 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm | |||
| @@ -48,76 +48,6 @@ | |||
| 48 | ;;; You should have received a copy of the GNU General Public License | 48 | ;;; You should have received a copy of the GNU General Public License |
| 49 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 49 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 50 | 50 | ||
| 51 | (define-module (gnu packages tex) | ||
| 52 | #:use-module ((guix licenses) #:prefix license:) | ||
| 53 | #:use-module (guix gexp) | ||
| 54 | #:use-module (guix packages) | ||
| 55 | #:use-module (guix download) | ||
| 56 | #:use-module (guix build-system copy) | ||
| 57 | #:use-module (guix build-system gnu) | ||
| 58 | #:use-module (guix build-system perl) | ||
| 59 | #:use-module (guix build-system pyproject) | ||
| 60 | #:use-module (guix build-system qt) | ||
| 61 | #:use-module (guix build-system trivial) | ||
| 62 | #:use-module (guix build-system texlive) | ||
| 63 | #:use-module (guix utils) | ||
| 64 | #:use-module (guix deprecation) | ||
| 65 | #:use-module (guix gexp) | ||
| 66 | #:use-module (guix git-download) | ||
| 67 | #:use-module (guix svn-download) | ||
| 68 | #:use-module (gnu packages) | ||
| 69 | #:use-module (gnu packages algebra) | ||
| 70 | #:use-module (gnu packages aspell) | ||
| 71 | #:use-module (gnu packages autotools) | ||
| 72 | #:use-module (gnu packages bash) | ||
| 73 | #:use-module (gnu packages boost) | ||
| 74 | #:use-module (gnu packages check) | ||
| 75 | #:use-module (gnu packages compression) | ||
| 76 | #:use-module (gnu packages cmake) | ||
| 77 | #:use-module (gnu packages cpp) | ||
| 78 | #:use-module (gnu packages digest) | ||
| 79 | #:use-module (gnu packages lisp) | ||
| 80 | #:use-module (gnu packages fonts) | ||
| 81 | #:use-module (gnu packages fontutils) | ||
| 82 | #:use-module (gnu packages gd) | ||
| 83 | #:use-module (gnu packages ghostscript) | ||
| 84 | #:use-module (gnu packages graphviz) | ||
| 85 | #:use-module (gnu packages groff) | ||
| 86 | #:use-module (gnu packages gtk) | ||
| 87 | #:use-module (gnu packages icu4c) | ||
| 88 | #:use-module (gnu packages image) | ||
| 89 | #:use-module (gnu packages java) | ||
| 90 | #:use-module (gnu packages libreoffice) | ||
| 91 | #:use-module (gnu packages lua) | ||
| 92 | #:use-module (gnu packages maths) | ||
| 93 | #:use-module (gnu packages multiprecision) | ||
| 94 | #:use-module (gnu packages pdf) | ||
| 95 | #:use-module (gnu packages perl) | ||
| 96 | #:use-module (gnu packages perl-check) | ||
| 97 | #:use-module (gnu packages pkg-config) | ||
| 98 | #:use-module (gnu packages plotutils) | ||
| 99 | #:use-module (gnu packages python) | ||
| 100 | #:use-module (gnu packages python-build) | ||
| 101 | #:use-module (gnu packages python-xyz) | ||
| 102 | #:use-module (gnu packages qt) | ||
| 103 | #:use-module (gnu packages readline) | ||
| 104 | #:use-module (gnu packages ruby) | ||
| 105 | #:use-module (gnu packages ruby-xyz) | ||
| 106 | #:use-module (gnu packages shells) | ||
| 107 | #:use-module (gnu packages tcl) | ||
| 108 | #:use-module (gnu packages time) | ||
| 109 | #:use-module (gnu packages tls) | ||
| 110 | #:use-module (gnu packages base) | ||
| 111 | #:use-module (gnu packages gawk) | ||
| 112 | #:use-module (gnu packages web) | ||
| 113 | #:use-module (gnu packages xml) | ||
| 114 | #:use-module (gnu packages xorg) | ||
| 115 | #:use-module (gnu packages xdisorg) | ||
| 116 | #:use-module (gnu packages texinfo) | ||
| 117 | #:use-module (ice-9 ftw) | ||
| 118 | #:use-module (ice-9 match) | ||
| 119 | #:use-module ((srfi srfi-1) #:hide (zip))) | ||
| 120 | |||
| 121 | ;;; Commentary: | 51 | ;;; Commentary: |
| 122 | ;;; | 52 | ;;; |
| 123 | ;;; Guix provides two different TeX Live systems: one monolithic, the TEXLIVE | 53 | ;;; Guix provides two different TeX Live systems: one monolithic, the TEXLIVE |
| @@ -270,6 +200,76 @@ | |||
| 270 | ;;; | 200 | ;;; |
| 271 | ;;; Code: | 201 | ;;; Code: |
| 272 | 202 | ||
| 203 | (define-module (gnu packages tex) | ||
| 204 | #:use-module ((guix licenses) #:prefix license:) | ||
| 205 | #:use-module (guix gexp) | ||
| 206 | #:use-module (guix packages) | ||
| 207 | #:use-module (guix download) | ||
| 208 | #:use-module (guix build-system copy) | ||
| 209 | #:use-module (guix build-system gnu) | ||
| 210 | #:use-module (guix build-system perl) | ||
| 211 | #:use-module (guix build-system pyproject) | ||
| 212 | #:use-module (guix build-system qt) | ||
| 213 | #:use-module (guix build-system trivial) | ||
| 214 | #:use-module (guix build-system texlive) | ||
| 215 | #:use-module (guix utils) | ||
| 216 | #:use-module (guix deprecation) | ||
| 217 | #:use-module (guix gexp) | ||
| 218 | #:use-module (guix git-download) | ||
| 219 | #:use-module (guix svn-download) | ||
| 220 | #:use-module (gnu packages) | ||
| 221 | #:use-module (gnu packages algebra) | ||
| 222 | #:use-module (gnu packages aspell) | ||
| 223 | #:use-module (gnu packages autotools) | ||
| 224 | #:use-module (gnu packages bash) | ||
| 225 | #:use-module (gnu packages boost) | ||
| 226 | #:use-module (gnu packages check) | ||
| 227 | #:use-module (gnu packages compression) | ||
| 228 | #:use-module (gnu packages cmake) | ||
| 229 | #:use-module (gnu packages cpp) | ||
| 230 | #:use-module (gnu packages digest) | ||
| 231 | #:use-module (gnu packages lisp) | ||
| 232 | #:use-module (gnu packages fonts) | ||
| 233 | #:use-module (gnu packages fontutils) | ||
| 234 | #:use-module (gnu packages gd) | ||
| 235 | #:use-module (gnu packages ghostscript) | ||
| 236 | #:use-module (gnu packages graphviz) | ||
| 237 | #:use-module (gnu packages groff) | ||
| 238 | #:use-module (gnu packages gtk) | ||
| 239 | #:use-module (gnu packages icu4c) | ||
| 240 | #:use-module (gnu packages image) | ||
| 241 | #:use-module (gnu packages java) | ||
| 242 | #:use-module (gnu packages libreoffice) | ||
| 243 | #:use-module (gnu packages lua) | ||
| 244 | #:use-module (gnu packages maths) | ||
| 245 | #:use-module (gnu packages multiprecision) | ||
| 246 | #:use-module (gnu packages pdf) | ||
| 247 | #:use-module (gnu packages perl) | ||
| 248 | #:use-module (gnu packages perl-check) | ||
| 249 | #:use-module (gnu packages pkg-config) | ||
| 250 | #:use-module (gnu packages plotutils) | ||
| 251 | #:use-module (gnu packages python) | ||
| 252 | #:use-module (gnu packages python-build) | ||
| 253 | #:use-module (gnu packages python-xyz) | ||
| 254 | #:use-module (gnu packages qt) | ||
| 255 | #:use-module (gnu packages readline) | ||
| 256 | #:use-module (gnu packages ruby) | ||
| 257 | #:use-module (gnu packages ruby-xyz) | ||
| 258 | #:use-module (gnu packages shells) | ||
| 259 | #:use-module (gnu packages tcl) | ||
| 260 | #:use-module (gnu packages time) | ||
| 261 | #:use-module (gnu packages tls) | ||
| 262 | #:use-module (gnu packages base) | ||
| 263 | #:use-module (gnu packages gawk) | ||
| 264 | #:use-module (gnu packages web) | ||
| 265 | #:use-module (gnu packages xml) | ||
| 266 | #:use-module (gnu packages xorg) | ||
| 267 | #:use-module (gnu packages xdisorg) | ||
| 268 | #:use-module (gnu packages texinfo) | ||
| 269 | #:use-module (ice-9 ftw) | ||
| 270 | #:use-module (ice-9 match) | ||
| 271 | #:use-module ((srfi srfi-1) #:hide (zip))) | ||
| 272 | |||
| 273 | (define-public texlive-source | 273 | (define-public texlive-source |
| 274 | (package | 274 | (package |
| 275 | (name "texlive-source") | 275 | (name "texlive-source") |
diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index 96824438c17..0c35bd8015c 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm | |||
| @@ -25,6 +25,12 @@ | |||
| 25 | ;;; You should have received a copy of the GNU General Public License | 25 | ;;; You should have received a copy of the GNU General Public License |
| 26 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 26 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 27 | 27 | ||
| 28 | ;;; Commentary: | ||
| 29 | ;;; | ||
| 30 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 31 | ;;; | ||
| 32 | ;;; Code: | ||
| 33 | |||
| 28 | (define-module (gnu packages toys) | 34 | (define-module (gnu packages toys) |
| 29 | #:use-module ((guix licenses) #:prefix license:) | 35 | #:use-module ((guix licenses) #:prefix license:) |
| 30 | #:use-module (guix build-system copy) | 36 | #:use-module (guix build-system copy) |
| @@ -54,11 +60,6 @@ | |||
| 54 | #:use-module (gnu packages xml) | 60 | #:use-module (gnu packages xml) |
| 55 | #:use-module (gnu packages xorg)) | 61 | #:use-module (gnu packages xorg)) |
| 56 | 62 | ||
| 57 | ;;; Commentary: | ||
| 58 | ;;; | ||
| 59 | ;;; Please: Try to add new module packages in alphabetic order. | ||
| 60 | ;;; | ||
| 61 | ;;; Code: | ||
| 62 | 63 | ||
| 63 | (define-public cbonsai | 64 | (define-public cbonsai |
| 64 | (package | 65 | (package |
diff --git a/gnu/services.scm b/gnu/services.scm index 097bfed5f1b..5f987f55a52 100644 --- a/gnu/services.scm +++ b/gnu/services.scm | |||
| @@ -26,6 +26,31 @@ | |||
| 26 | ;;; You should have received a copy of the GNU General Public License | 26 | ;;; You should have received a copy of the GNU General Public License |
| 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 28 | 28 | ||
| 29 | ;;; Commentary: | ||
| 30 | ;;; | ||
| 31 | ;;; This module defines a broad notion of "service types" and "services." | ||
| 32 | ;;; | ||
| 33 | ;;; A service type describe how its instances extend instances of other | ||
| 34 | ;;; service types. For instance, some services extend the instance of | ||
| 35 | ;;; ACCOUNT-SERVICE-TYPE by providing it with accounts and groups to create; | ||
| 36 | ;;; others extend SHEPHERD-ROOT-SERVICE-TYPE by passing it instances of | ||
| 37 | ;;; <shepherd-service>. | ||
| 38 | ;;; | ||
| 39 | ;;; When applicable, the service type defines how it can itself be extended, | ||
| 40 | ;;; by providing one procedure to compose extensions, and one procedure to | ||
| 41 | ;;; extend itself. | ||
| 42 | ;;; | ||
| 43 | ;;; A notable service type is SYSTEM-SERVICE-TYPE, which has a single | ||
| 44 | ;;; instance, which is the root of the service DAG. Its value is the | ||
| 45 | ;;; derivation that produces the 'system' directory as returned by | ||
| 46 | ;;; 'operating-system-derivation'. | ||
| 47 | ;;; | ||
| 48 | ;;; The 'fold-services' procedure can be passed a list of procedures, which it | ||
| 49 | ;;; "folds" by propagating extensions down the graph; it returns the root | ||
| 50 | ;;; service after the applying all its extensions. | ||
| 51 | ;;; | ||
| 52 | ;;; Code: | ||
| 53 | |||
| 29 | (define-module (gnu services) | 54 | (define-module (gnu services) |
| 30 | #:use-module (guix derivations) | 55 | #:use-module (guix derivations) |
| 31 | #:use-module (guix gexp) | 56 | #:use-module (guix gexp) |
| @@ -149,31 +174,6 @@ | |||
| 149 | ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26805#16>. | 174 | ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26805#16>. |
| 150 | delete)) | 175 | delete)) |
| 151 | 176 | ||
| 152 | ;;; Comment: | ||
| 153 | ;;; | ||
| 154 | ;;; This module defines a broad notion of "service types" and "services." | ||
| 155 | ;;; | ||
| 156 | ;;; A service type describe how its instances extend instances of other | ||
| 157 | ;;; service types. For instance, some services extend the instance of | ||
| 158 | ;;; ACCOUNT-SERVICE-TYPE by providing it with accounts and groups to create; | ||
| 159 | ;;; others extend SHEPHERD-ROOT-SERVICE-TYPE by passing it instances of | ||
| 160 | ;;; <shepherd-service>. | ||
| 161 | ;;; | ||
| 162 | ;;; When applicable, the service type defines how it can itself be extended, | ||
| 163 | ;;; by providing one procedure to compose extensions, and one procedure to | ||
| 164 | ;;; extend itself. | ||
| 165 | ;;; | ||
| 166 | ;;; A notable service type is SYSTEM-SERVICE-TYPE, which has a single | ||
| 167 | ;;; instance, which is the root of the service DAG. Its value is the | ||
| 168 | ;;; derivation that produces the 'system' directory as returned by | ||
| 169 | ;;; 'operating-system-derivation'. | ||
| 170 | ;;; | ||
| 171 | ;;; The 'fold-services' procedure can be passed a list of procedures, which it | ||
| 172 | ;;; "folds" by propagating extensions down the graph; it returns the root | ||
| 173 | ;;; service after the applying all its extensions. | ||
| 174 | ;;; | ||
| 175 | ;;; Code: | ||
| 176 | |||
| 177 | (define-record-type <service-extension> | 177 | (define-record-type <service-extension> |
| 178 | (service-extension target compute) | 178 | (service-extension target compute) |
| 179 | service-extension? | 179 | service-extension? |
diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index 907f7d37f4a..bad9d38e369 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm | |||
| @@ -21,6 +21,13 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; This module provides basic system administration tools: log rotation, | ||
| 27 | ;;; unattended upgrades, etc. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 24 | (define-module (gnu services admin) | 31 | (define-module (gnu services admin) |
| 25 | #:use-module (gnu system file-systems) | 32 | #:use-module (gnu system file-systems) |
| 26 | #:use-module (gnu packages admin) | 33 | #:use-module (gnu packages admin) |
| @@ -102,13 +109,6 @@ | |||
| 102 | resize-file-system-configuration-btrfs-progs | 109 | resize-file-system-configuration-btrfs-progs |
| 103 | resize-file-system-configuration-bcachefs-tools)) | 110 | resize-file-system-configuration-bcachefs-tools)) |
| 104 | 111 | ||
| 105 | ;;; Commentary: | ||
| 106 | ;;; | ||
| 107 | ;;; This module provides basic system administration tools: log rotation, | ||
| 108 | ;;; unattended upgrades, etc. | ||
| 109 | ;;; | ||
| 110 | ;;; Code: | ||
| 111 | |||
| 112 | 112 | ||
| 113 | ;;; | 113 | ;;; |
| 114 | ;;; Shepherd's log rotation service. | 114 | ;;; Shepherd's log rotation service. |
diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index 2981b89ed8c..2e17c02513b 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Audio related services | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 22 | (define-module (gnu services audio) | 28 | (define-module (gnu services audio) |
| 23 | #:use-module (guix gexp) | 29 | #:use-module (guix gexp) |
| 24 | #:use-module (guix deprecation) | 30 | #:use-module (guix deprecation) |
| @@ -163,12 +169,6 @@ | |||
| 163 | snapserver-configuration-extra-content | 169 | snapserver-configuration-extra-content |
| 164 | snapserver-service-type)) | 170 | snapserver-service-type)) |
| 165 | 171 | ||
| 166 | ;;; Commentary: | ||
| 167 | ;;; | ||
| 168 | ;;; Audio related services | ||
| 169 | ;;; | ||
| 170 | ;;; Code: | ||
| 171 | |||
| 172 | (define (uglify-field-name field-name) | 172 | (define (uglify-field-name field-name) |
| 173 | (let ((str (symbol->string field-name))) | 173 | (let ((str (symbol->string field-name))) |
| 174 | (string-join (string-split (if (string-suffix? "?" str) | 174 | (string-join (string-split (if (string-suffix? "?" str) |
diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm index d0e6fedf59d..77d6f950b9f 100644 --- a/gnu/services/avahi.scm +++ b/gnu/services/avahi.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides service definitions for the Avahi | ||
| 22 | ;;; "zero-configuration" tool set. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (gnu services avahi) | 26 | (define-module (gnu services avahi) |
| 20 | #:use-module (gnu services) | 27 | #:use-module (gnu services) |
| 21 | #:use-module (gnu services base) | 28 | #:use-module (gnu services base) |
| @@ -42,13 +49,6 @@ | |||
| 42 | 49 | ||
| 43 | avahi-service-type)) | 50 | avahi-service-type)) |
| 44 | 51 | ||
| 45 | ;;; Commentary: | ||
| 46 | ;;; | ||
| 47 | ;;; This module provides service definitions for the Avahi | ||
| 48 | ;;; "zero-configuration" tool set. | ||
| 49 | ;;; | ||
| 50 | ;;; Code: | ||
| 51 | |||
| 52 | (define-record-type* <avahi-configuration> | 52 | (define-record-type* <avahi-configuration> |
| 53 | avahi-configuration make-avahi-configuration | 53 | avahi-configuration make-avahi-configuration |
| 54 | avahi-configuration? | 54 | avahi-configuration? |
diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 5108187d1ee..4bfc484b898 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm | |||
| @@ -40,6 +40,13 @@ | |||
| 40 | ;;; You should have received a copy of the GNU General Public License | 40 | ;;; You should have received a copy of the GNU General Public License |
| 41 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 41 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 42 | 42 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; Base system services---i.e., services that 99% of the users will want to | ||
| 46 | ;;; use. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 43 | (define-module (gnu services base) | 50 | (define-module (gnu services base) |
| 44 | #:use-module (guix store) | 51 | #:use-module (guix store) |
| 45 | #:use-module (guix deprecation) | 52 | #:use-module (guix deprecation) |
| @@ -321,13 +328,6 @@ | |||
| 321 | 328 | ||
| 322 | %base-services)) | 329 | %base-services)) |
| 323 | 330 | ||
| 324 | ;;; Commentary: | ||
| 325 | ;;; | ||
| 326 | ;;; Base system services---i.e., services that 99% of the users will want to | ||
| 327 | ;;; use. | ||
| 328 | ;;; | ||
| 329 | ;;; Code: | ||
| 330 | |||
| 331 | 331 | ||
| 332 | 332 | ||
| 333 | ;;; | 333 | ;;; |
diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm index 7a7c2a9e00e..f1ab9149f6a 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm | |||
| @@ -24,6 +24,12 @@ | |||
| 24 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 26 | 26 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; Automatically obtaining TLS certificates from Let's Encrypt. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 27 | (define-module (gnu services certbot) | 33 | (define-module (gnu services certbot) |
| 28 | #:use-module (gnu services) | 34 | #:use-module (gnu services) |
| 29 | #:use-module (gnu services base) | 35 | #:use-module (gnu services base) |
| @@ -42,12 +48,6 @@ | |||
| 42 | certbot-configuration? | 48 | certbot-configuration? |
| 43 | certificate-configuration)) | 49 | certificate-configuration)) |
| 44 | 50 | ||
| 45 | ;;; Commentary: | ||
| 46 | ;;; | ||
| 47 | ;;; Automatically obtaining TLS certificates from Let's Encrypt. | ||
| 48 | ;;; | ||
| 49 | ;;; Code: | ||
| 50 | |||
| 51 | 51 | ||
| 52 | (define-record-type* <certificate-configuration> | 52 | (define-record-type* <certificate-configuration> |
| 53 | certificate-configuration make-certificate-configuration | 53 | certificate-configuration make-certificate-configuration |
diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm index 684ab73f76d..f2d1be04f05 100644 --- a/gnu/services/cgit.scm +++ b/gnu/services/cgit.scm | |||
| @@ -19,6 +19,16 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module provides a service definition for the Cgit a web frontend for | ||
| 25 | ;;; Git repositories written in C. | ||
| 26 | ;;; | ||
| 27 | ;;; Note: fields of <cgit-configuration> and <repository-cgit-configuration> | ||
| 28 | ;;; should be specified in the specific order. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 22 | (define-module (gnu services cgit) | 32 | (define-module (gnu services cgit) |
| 23 | #:use-module (gnu packages admin) | 33 | #:use-module (gnu packages admin) |
| 24 | #:use-module (gnu packages version-control) | 34 | #:use-module (gnu packages version-control) |
| @@ -42,16 +52,6 @@ | |||
| 42 | opaque-cgit-configuration | 52 | opaque-cgit-configuration |
| 43 | cgit-service-type)) | 53 | cgit-service-type)) |
| 44 | 54 | ||
| 45 | ;;; Commentary: | ||
| 46 | ;;; | ||
| 47 | ;;; This module provides a service definition for the Cgit a web frontend for | ||
| 48 | ;;; Git repositories written in C. | ||
| 49 | ;;; | ||
| 50 | ;;; Note: fields of <cgit-configuration> and <repository-cgit-configuration> | ||
| 51 | ;;; should be specified in the specific order. | ||
| 52 | ;;; | ||
| 53 | ;;; Code: | ||
| 54 | |||
| 55 | (define %cgit-configuration-nginx | 55 | (define %cgit-configuration-nginx |
| 56 | (nginx-server-configuration | 56 | (nginx-server-configuration |
| 57 | (root cgit) | 57 | (root cgit) |
diff --git a/gnu/services/ci.scm b/gnu/services/ci.scm index 08416e99620..61c0166eed2 100644 --- a/gnu/services/ci.scm +++ b/gnu/services/ci.scm | |||
| @@ -19,6 +19,13 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module implements a service that to run instances of Laminar, a | ||
| 25 | ;;; continuous integration tool. | ||
| 26 | ;;; | ||
| 27 | ;;;; Code: | ||
| 28 | |||
| 22 | (define-module (gnu services ci) | 29 | (define-module (gnu services ci) |
| 23 | #:use-module (guix gexp) | 30 | #:use-module (guix gexp) |
| 24 | #:use-module (guix records) | 31 | #:use-module (guix records) |
| @@ -59,13 +66,6 @@ | |||
| 59 | 66 | ||
| 60 | forgejo-runner-service-type)) | 67 | forgejo-runner-service-type)) |
| 61 | 68 | ||
| 62 | ;;;; Commentary: | ||
| 63 | ;;; | ||
| 64 | ;;; This module implements a service that to run instances of Laminar, a | ||
| 65 | ;;; continuous integration tool. | ||
| 66 | ;;; | ||
| 67 | ;;;; Code: | ||
| 68 | |||
| 69 | (define-record-type* <laminar-configuration> | 69 | (define-record-type* <laminar-configuration> |
| 70 | laminar-configuration make-laminar-configuration | 70 | laminar-configuration make-laminar-configuration |
| 71 | laminar-configuration? | 71 | laminar-configuration? |
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index d42f04f1161..956f4451fd1 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm | |||
| @@ -24,6 +24,12 @@ | |||
| 24 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 26 | 26 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; Syntax for creating Scheme bindings to complex configuration files. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 27 | (define-module (gnu services configuration) | 33 | (define-module (gnu services configuration) |
| 28 | #:use-module (guix packages) | 34 | #:use-module (guix packages) |
| 29 | #:use-module (guix records) | 35 | #:use-module (guix records) |
| @@ -92,12 +98,6 @@ | |||
| 92 | generic-serialize-alist-entry | 98 | generic-serialize-alist-entry |
| 93 | generic-serialize-alist)) | 99 | generic-serialize-alist)) |
| 94 | 100 | ||
| 95 | ;;; Commentary: | ||
| 96 | ;;; | ||
| 97 | ;;; Syntax for creating Scheme bindings to complex configuration files. | ||
| 98 | ;;; | ||
| 99 | ;;; Code: | ||
| 100 | |||
| 101 | (define-condition-type &configuration-error &error | 101 | (define-condition-type &configuration-error &error |
| 102 | configuration-error?) | 102 | configuration-error?) |
| 103 | 103 | ||
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index b594fe78d7a..77d7cab96ce 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm | |||
| @@ -21,6 +21,13 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; This module implements a service that to run instances of Cuirass, a | ||
| 27 | ;;; continuous integration tool. | ||
| 28 | ;;; | ||
| 29 | ;;;; Code: | ||
| 30 | |||
| 24 | (define-module (gnu services cuirass) | 31 | (define-module (gnu services cuirass) |
| 25 | #:use-module (guix channels) | 32 | #:use-module (guix channels) |
| 26 | #:use-module (guix gexp) | 33 | #:use-module (guix gexp) |
| @@ -50,13 +57,6 @@ | |||
| 50 | cuirass-remote-worker-configuration? | 57 | cuirass-remote-worker-configuration? |
| 51 | cuirass-remote-worker-service-type)) | 58 | cuirass-remote-worker-service-type)) |
| 52 | 59 | ||
| 53 | ;;;; Commentary: | ||
| 54 | ;;; | ||
| 55 | ;;; This module implements a service that to run instances of Cuirass, a | ||
| 56 | ;;; continuous integration tool. | ||
| 57 | ;;; | ||
| 58 | ;;;; Code: | ||
| 59 | |||
| 60 | (define %cuirass-default-database | 60 | (define %cuirass-default-database |
| 61 | "dbname=cuirass") | 61 | "dbname=cuirass") |
| 62 | 62 | ||
diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index 27aac7a16ac..e2102a07f8b 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm | |||
| @@ -22,6 +22,12 @@ | |||
| 22 | ;;; You should have received a copy of the GNU General Public License | 22 | ;;; You should have received a copy of the GNU General Public License |
| 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 24 | 24 | ||
| 25 | ;;; Commentary: | ||
| 26 | ;;; | ||
| 27 | ;;; Service defininition for the CUPS printing system. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 25 | (define-module (gnu services cups) | 31 | (define-module (gnu services cups) |
| 26 | #:use-module (gnu services) | 32 | #:use-module (gnu services) |
| 27 | #:use-module (gnu services shepherd) | 33 | #:use-module (gnu services shepherd) |
| @@ -47,12 +53,6 @@ | |||
| 47 | operation-access-control | 53 | operation-access-control |
| 48 | method-access-control)) | 54 | method-access-control)) |
| 49 | 55 | ||
| 50 | ;;; Commentary: | ||
| 51 | ;;; | ||
| 52 | ;;; Service defininition for the CUPS printing system. | ||
| 53 | ;;; | ||
| 54 | ;;; Code: | ||
| 55 | |||
| 56 | (define %cups-accounts | 56 | (define %cups-accounts |
| 57 | (list (or | 57 | (list (or |
| 58 | ;; The "lp" group should already exist; try to reuse it. | 58 | ;; The "lp" group should already exist; try to reuse it. |
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 6742032f112..9ee30192eb5 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm | |||
| @@ -28,6 +28,12 @@ | |||
| 28 | ;;; You should have received a copy of the GNU General Public License | 28 | ;;; You should have received a copy of the GNU General Public License |
| 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 30 | 30 | ||
| 31 | ;;; Commentary: | ||
| 32 | ;;; | ||
| 33 | ;;; Database services. | ||
| 34 | ;;; | ||
| 35 | ;;; Code: | ||
| 36 | |||
| 31 | (define-module (gnu services databases) | 37 | (define-module (gnu services databases) |
| 32 | #:use-module (gnu services) | 38 | #:use-module (gnu services) |
| 33 | #:use-module (gnu services base) | 39 | #:use-module (gnu services base) |
| @@ -106,12 +112,6 @@ | |||
| 106 | redis-configuration? | 112 | redis-configuration? |
| 107 | redis-service-type)) | 113 | redis-service-type)) |
| 108 | 114 | ||
| 109 | ;;; Commentary: | ||
| 110 | ;;; | ||
| 111 | ;;; Database services. | ||
| 112 | ;;; | ||
| 113 | ;;; Code: | ||
| 114 | |||
| 115 | (define %default-postgres-hba | 115 | (define %default-postgres-hba |
| 116 | (plain-file "pg_hba.conf" | 116 | (plain-file "pg_hba.conf" |
| 117 | " | 117 | " |
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index c9fe5024319..e481361b9e6 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm | |||
| @@ -40,6 +40,12 @@ | |||
| 40 | ;;; You should have received a copy of the GNU General Public License | 40 | ;;; You should have received a copy of the GNU General Public License |
| 41 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 41 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 42 | 42 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; This module contains service definitions for a "desktop" environment. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 43 | (define-module (gnu services desktop) | 49 | (define-module (gnu services desktop) |
| 44 | #:use-module ((gnu home services utils) #:select (object->camel-case-string)) | 50 | #:use-module ((gnu home services utils) #:select (object->camel-case-string)) |
| 45 | #:use-module (gnu services) | 51 | #:use-module (gnu services) |
| @@ -243,12 +249,6 @@ | |||
| 243 | 249 | ||
| 244 | %desktop-services)) | 250 | %desktop-services)) |
| 245 | 251 | ||
| 246 | ;;; Commentary: | ||
| 247 | ;;; | ||
| 248 | ;;; This module contains service definitions for a "desktop" environment. | ||
| 249 | ;;; | ||
| 250 | ;;; Code: | ||
| 251 | |||
| 252 | 252 | ||
| 253 | ;;; | 253 | ;;; |
| 254 | ;;; Helpers. | 254 | ;;; Helpers. |
diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm index b44ca2ae3de..bea61d21a00 100644 --- a/gnu/services/getmail.scm +++ b/gnu/services/getmail.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Service for the getmail mail retriever. | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (gnu services getmail) | 25 | (define-module (gnu services getmail) |
| 20 | #:use-module (gnu services) | 26 | #:use-module (gnu services) |
| 21 | #:use-module (gnu services base) | 27 | #:use-module (gnu services base) |
| @@ -41,12 +47,6 @@ | |||
| 41 | getmail-configuration | 47 | getmail-configuration |
| 42 | getmail-service-type)) | 48 | getmail-service-type)) |
| 43 | 49 | ||
| 44 | ;;; Commentary: | ||
| 45 | ;;; | ||
| 46 | ;;; Service for the getmail mail retriever. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define (uglify-field-name field-name) | 50 | (define (uglify-field-name field-name) |
| 51 | (let ((str (symbol->string field-name))) | 51 | (let ((str (symbol->string field-name))) |
| 52 | (string-join (string-split (if (string-suffix? "?" str) | 52 | (string-join (string-split (if (string-suffix? "?" str) |
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index adf4990fde4..93f526d1c08 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Services specifically related to GNU Guix. | ||
| 25 | ;;; | ||
| 26 | ;;;; Code: | ||
| 27 | |||
| 22 | (define-module (gnu services guix) | 28 | (define-module (gnu services guix) |
| 23 | #:use-module (srfi srfi-1) | 29 | #:use-module (srfi srfi-1) |
| 24 | #:use-module (ice-9 match) | 30 | #:use-module (ice-9 match) |
| @@ -165,12 +171,6 @@ | |||
| 165 | shared-cache-configuration | 171 | shared-cache-configuration |
| 166 | user-cache)) | 172 | user-cache)) |
| 167 | 173 | ||
| 168 | ;;;; Commentary: | ||
| 169 | ;;; | ||
| 170 | ;;; Services specifically related to GNU Guix. | ||
| 171 | ;;; | ||
| 172 | ;;;; Code: | ||
| 173 | |||
| 174 | (define-record-type* <guix-build-coordinator-configuration> | 174 | (define-record-type* <guix-build-coordinator-configuration> |
| 175 | guix-build-coordinator-configuration make-guix-build-coordinator-configuration | 175 | guix-build-coordinator-configuration make-guix-build-coordinator-configuration |
| 176 | guix-build-coordinator-configuration? | 176 | guix-build-coordinator-configuration? |
diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index d276ba1b74c..777a8f8a3ae 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm | |||
| @@ -18,6 +18,15 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This module provides an interface to the GNU Shepherd, similar to the | ||
| 24 | ;;; 'herd' command. Essentially it implements a subset of the (shepherd comm) | ||
| 25 | ;;; module, but focusing only on the parts relevant to 'guix system | ||
| 26 | ;;; reconfigure'. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 21 | (define-module (gnu services herd) | 30 | (define-module (gnu services herd) |
| 22 | #:use-module (srfi srfi-1) | 31 | #:use-module (srfi srfi-1) |
| 23 | #:use-module (srfi srfi-9) | 32 | #:use-module (srfi srfi-9) |
| @@ -63,15 +72,6 @@ | |||
| 63 | restart-service | 72 | restart-service |
| 64 | wait-for-service)) | 73 | wait-for-service)) |
| 65 | 74 | ||
| 66 | ;;; Commentary: | ||
| 67 | ;;; | ||
| 68 | ;;; This module provides an interface to the GNU Shepherd, similar to the | ||
| 69 | ;;; 'herd' command. Essentially it implements a subset of the (shepherd comm) | ||
| 70 | ;;; module, but focusing only on the parts relevant to 'guix system | ||
| 71 | ;;; reconfigure'. | ||
| 72 | ;;; | ||
| 73 | ;;; Code: | ||
| 74 | |||
| 75 | (define %shepherd-socket-file | 75 | (define %shepherd-socket-file |
| 76 | (let ((uid (getuid))) | 76 | (let ((uid (getuid))) |
| 77 | (make-parameter (if (zero? uid) ;root | 77 | (make-parameter (if (zero? uid) ;root |
diff --git a/gnu/services/hurd.scm b/gnu/services/hurd.scm index 1ee38e8cd01..53fdfb86043 100644 --- a/gnu/services/hurd.scm +++ b/gnu/services/hurd.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module implements services for the Hurd. | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (gnu services hurd) | 25 | (define-module (gnu services hurd) |
| 20 | #:use-module (gnu packages admin) | 26 | #:use-module (gnu packages admin) |
| 21 | #:use-module (gnu packages hurd) | 27 | #:use-module (gnu packages hurd) |
| @@ -33,12 +39,6 @@ | |||
| 33 | hurd-login-configuration | 39 | hurd-login-configuration |
| 34 | hurd-login-service-type)) | 40 | hurd-login-service-type)) |
| 35 | 41 | ||
| 36 | ;;; Commentary: | ||
| 37 | ;;; | ||
| 38 | ;;; This module implements services for the Hurd. | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | |||
| 42 | ;;; | 42 | ;;; |
| 43 | ;;; The Hurd VGA console service. | 43 | ;;; The Hurd VGA console service. |
| 44 | ;;; | 44 | ;;; |
diff --git a/gnu/services/lirc.scm b/gnu/services/lirc.scm index 92784b65ca6..923cf83137a 100644 --- a/gnu/services/lirc.scm +++ b/gnu/services/lirc.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; LIRC service. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (gnu services lirc) | 26 | (define-module (gnu services lirc) |
| 21 | #:use-module (gnu services) | 27 | #:use-module (gnu services) |
| 22 | #:use-module (gnu services shepherd) | 28 | #:use-module (gnu services shepherd) |
| @@ -30,12 +36,6 @@ | |||
| 30 | lirc-service ; deprecated | 36 | lirc-service ; deprecated |
| 31 | lirc-service-type)) | 37 | lirc-service-type)) |
| 32 | 38 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; LIRC service. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 39 | (define-record-type* <lirc-configuration> | 39 | (define-record-type* <lirc-configuration> |
| 40 | lirc-configuration make-lirc-configuration | 40 | lirc-configuration make-lirc-configuration |
| 41 | lirc-configuation? | 41 | lirc-configuation? |
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index d31cad5645d..93eea095853 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm | |||
| @@ -27,6 +27,13 @@ | |||
| 27 | ;;; | 27 | ;;; |
| 28 | ;;; Some of the help text was taken from the default dovecot.conf files. | 28 | ;;; Some of the help text was taken from the default dovecot.conf files. |
| 29 | 29 | ||
| 30 | ;;; Commentary: | ||
| 31 | ;;; | ||
| 32 | ;;; This module provides service definitions for the Dovecot POP3 and IMAP | ||
| 33 | ;;; mail server. | ||
| 34 | ;;; | ||
| 35 | ;;; Code: | ||
| 36 | |||
| 30 | (define-module (gnu services mail) | 37 | (define-module (gnu services mail) |
| 31 | #:use-module (gnu services) | 38 | #:use-module (gnu services) |
| 32 | #:use-module (gnu services base) | 39 | #:use-module (gnu services base) |
| @@ -105,13 +112,6 @@ | |||
| 105 | %default-rspamd-config-file | 112 | %default-rspamd-config-file |
| 106 | %default-rspamd-group)) | 113 | %default-rspamd-group)) |
| 107 | 114 | ||
| 108 | ;;; Commentary: | ||
| 109 | ;;; | ||
| 110 | ;;; This module provides service definitions for the Dovecot POP3 and IMAP | ||
| 111 | ;;; mail server. | ||
| 112 | ;;; | ||
| 113 | ;;; Code: | ||
| 114 | |||
| 115 | (define (uglify-field-name field-name) | 115 | (define (uglify-field-name field-name) |
| 116 | (let ((str (symbol->string field-name))) | 116 | (let ((str (symbol->string field-name))) |
| 117 | (string-join (string-split (if (string-suffix? "?" str) | 117 | (string-join (string-split (if (string-suffix? "?" str) |
diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 68d02ef4d7c..c8099480b84 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm | |||
| @@ -18,6 +18,21 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This module implements a service that to run instances of GNU mcron, a | ||
| 24 | ;;; periodic job execution daemon. Example of a service: | ||
| 25 | ;; | ||
| 26 | ;; (service mcron-service-type | ||
| 27 | ;; (mcron-configuration | ||
| 28 | ;; (jobs (list #~(job next-second-from | ||
| 29 | ;; (lambda () | ||
| 30 | ;; (call-with-output-file "/dev/console" | ||
| 31 | ;; (lambda (port) | ||
| 32 | ;; (display "hello!\n" port))))))))) | ||
| 33 | ;;; | ||
| 34 | ;;; Code: | ||
| 35 | |||
| 21 | (define-module (gnu services mcron) | 36 | (define-module (gnu services mcron) |
| 22 | #:use-module (gnu services) | 37 | #:use-module (gnu services) |
| 23 | #:use-module (gnu services shepherd) | 38 | #:use-module (gnu services shepherd) |
| @@ -39,21 +54,6 @@ | |||
| 39 | 54 | ||
| 40 | mcron-service-type)) | 55 | mcron-service-type)) |
| 41 | 56 | ||
| 42 | ;;; Commentary: | ||
| 43 | ;;; | ||
| 44 | ;;; This module implements a service that to run instances of GNU mcron, a | ||
| 45 | ;;; periodic job execution daemon. Example of a service: | ||
| 46 | ;; | ||
| 47 | ;; (service mcron-service-type | ||
| 48 | ;; (mcron-configuration | ||
| 49 | ;; (jobs (list #~(job next-second-from | ||
| 50 | ;; (lambda () | ||
| 51 | ;; (call-with-output-file "/dev/console" | ||
| 52 | ;; (lambda (port) | ||
| 53 | ;; (display "hello!\n" port))))))))) | ||
| 54 | ;;; | ||
| 55 | ;;; Code: | ||
| 56 | |||
| 57 | ;; Configuration of mcron. | 57 | ;; Configuration of mcron. |
| 58 | ;; XXX: 'define-configuration' cannot be used here due to the need for | 58 | ;; XXX: 'define-configuration' cannot be used here due to the need for |
| 59 | ;; 'thunked' and 'innate' fields as well as 'this-mcron-configuration'. | 59 | ;; 'thunked' and 'innate' fields as well as 'this-mcron-configuration'. |
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 0be175d8af2..79c8d2a312c 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm | |||
| @@ -22,6 +22,12 @@ | |||
| 22 | ;;; You should have received a copy of the GNU General Public License | 22 | ;;; You should have received a copy of the GNU General Public License |
| 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 24 | 24 | ||
| 25 | ;;; Commentary: | ||
| 26 | ;;; | ||
| 27 | ;;; Messaging services. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 25 | (define-module (gnu services messaging) | 31 | (define-module (gnu services messaging) |
| 26 | #:use-module ((gnu home services utils) #:select (object->camel-case-string)) | 32 | #:use-module ((gnu home services utils) #:select (object->camel-case-string)) |
| 27 | #:use-module (gnu packages admin) | 33 | #:use-module (gnu packages admin) |
| @@ -254,12 +260,6 @@ | |||
| 254 | zulip-irc-bridge-configuration | 260 | zulip-irc-bridge-configuration |
| 255 | zulip-irc-bridge-service-type)) | 261 | zulip-irc-bridge-service-type)) |
| 256 | 262 | ||
| 257 | ;;; Commentary: | ||
| 258 | ;;; | ||
| 259 | ;;; Messaging services. | ||
| 260 | ;;; | ||
| 261 | ;;; Code: | ||
| 262 | |||
| 263 | (define-syntax define-all-configurations | 263 | (define-syntax define-all-configurations |
| 264 | (lambda (stx) | 264 | (lambda (stx) |
| 265 | (define-syntax-rule (id ctx parts ...) | 265 | (define-syntax-rule (id ctx parts ...) |
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 752f3e3e890..5cce50010dd 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm | |||
| @@ -41,6 +41,12 @@ | |||
| 41 | ;;; You should have received a copy of the GNU General Public License | 41 | ;;; You should have received a copy of the GNU General Public License |
| 42 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 42 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 43 | 43 | ||
| 44 | ;;; Commentary: | ||
| 45 | ;;; | ||
| 46 | ;;; Networking services. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 44 | (define-module (gnu services networking) | 50 | (define-module (gnu services networking) |
| 45 | #:use-module (gnu home services utils) | 51 | #:use-module (gnu home services utils) |
| 46 | #:use-module (gnu services) | 52 | #:use-module (gnu services) |
| @@ -308,12 +314,6 @@ | |||
| 308 | keepalived-configuration? | 314 | keepalived-configuration? |
| 309 | keepalived-service-type)) | 315 | keepalived-service-type)) |
| 310 | 316 | ||
| 311 | ;;; Commentary: | ||
| 312 | ;;; | ||
| 313 | ;;; Networking services. | ||
| 314 | ;;; | ||
| 315 | ;;; Code: | ||
| 316 | |||
| 317 | (define %unroutable-ipv4 | 317 | (define %unroutable-ipv4 |
| 318 | ;; Unroutable address, as per <https://www.rfc-editor.org/rfc/rfc5737>. | 318 | ;; Unroutable address, as per <https://www.rfc-editor.org/rfc/rfc5737>. |
| 319 | "203.0.113.1") | 319 | "203.0.113.1") |
diff --git a/gnu/services/nix.scm b/gnu/services/nix.scm index 83ba78ce7e6..46f5c975056 100644 --- a/gnu/services/nix.scm +++ b/gnu/services/nix.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides a service definition for the Nix daemon. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (gnu services nix) | 26 | (define-module (gnu services nix) |
| 21 | #:use-module (gnu packages admin) | 27 | #:use-module (gnu packages admin) |
| 22 | #:use-module (gnu packages bash) | 28 | #:use-module (gnu packages bash) |
| @@ -42,12 +48,6 @@ | |||
| 42 | nix-configuration | 48 | nix-configuration |
| 43 | nix-configuration?)) | 49 | nix-configuration?)) |
| 44 | 50 | ||
| 45 | ;;; Commentary: | ||
| 46 | ;;; | ||
| 47 | ;;; This module provides a service definition for the Nix daemon. | ||
| 48 | ;;; | ||
| 49 | ;;; Code: | ||
| 50 | |||
| 51 | (define-record-type* <nix-configuration> | 51 | (define-record-type* <nix-configuration> |
| 52 | nix-configuration make-nix-configuration | 52 | nix-configuration make-nix-configuration |
| 53 | nix-configuration? | 53 | nix-configuration? |
diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm index c9de8e710c0..fcdfed34db2 100644 --- a/gnu/services/rsync.scm +++ b/gnu/services/rsync.scm | |||
| @@ -18,6 +18,13 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This module implements a service that to run instance of Rsync, | ||
| 24 | ;;; files synchronization tool. | ||
| 25 | ;;; | ||
| 26 | ;;;; Code: | ||
| 27 | |||
| 21 | (define-module (gnu services rsync) | 28 | (define-module (gnu services rsync) |
| 22 | #:use-module ((gnu build linux-container) #:select (%namespaces)) | 29 | #:use-module ((gnu build linux-container) #:select (%namespaces)) |
| 23 | #:use-module (gnu services) | 30 | #:use-module (gnu services) |
| @@ -50,13 +57,6 @@ | |||
| 50 | 57 | ||
| 51 | rsync-service-type)) | 58 | rsync-service-type)) |
| 52 | 59 | ||
| 53 | ;;;; Commentary: | ||
| 54 | ;;; | ||
| 55 | ;;; This module implements a service that to run instance of Rsync, | ||
| 56 | ;;; files synchronization tool. | ||
| 57 | ;;; | ||
| 58 | ;;;; Code: | ||
| 59 | |||
| 60 | (define-record-type* <rsync-configuration> | 60 | (define-record-type* <rsync-configuration> |
| 61 | rsync-configuration | 61 | rsync-configuration |
| 62 | make-rsync-configuration | 62 | make-rsync-configuration |
diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index b1e8b040375..1a8eea67757 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm | |||
| @@ -20,6 +20,12 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Instantiating system services as a shepherd configuration file. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 23 | (define-module (gnu services shepherd) | 29 | (define-module (gnu services shepherd) |
| 24 | #:use-module (guix ui) | 30 | #:use-module (guix ui) |
| 25 | #:use-module (guix sets) | 31 | #:use-module (guix sets) |
| @@ -101,13 +107,6 @@ | |||
| 101 | 107 | ||
| 102 | assert-valid-graph)) | 108 | assert-valid-graph)) |
| 103 | 109 | ||
| 104 | ;;; Commentary: | ||
| 105 | ;;; | ||
| 106 | ;;; Instantiating system services as a shepherd configuration file. | ||
| 107 | ;;; | ||
| 108 | ;;; Code: | ||
| 109 | |||
| 110 | |||
| 111 | (define-record-type* <shepherd-configuration> | 110 | (define-record-type* <shepherd-configuration> |
| 112 | shepherd-configuration make-shepherd-configuration | 111 | shepherd-configuration make-shepherd-configuration |
| 113 | shepherd-configuration? | 112 | shepherd-configuration? |
diff --git a/gnu/services/sound.scm b/gnu/services/sound.scm index 4c319153448..cf535eb6e18 100644 --- a/gnu/services/sound.scm +++ b/gnu/services/sound.scm | |||
| @@ -20,6 +20,12 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Sound services. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 23 | (define-module (gnu services sound) | 29 | (define-module (gnu services sound) |
| 24 | #:use-module (gnu services base) | 30 | #:use-module (gnu services base) |
| 25 | #:use-module (gnu services configuration) | 31 | #:use-module (gnu services configuration) |
| @@ -79,12 +85,6 @@ | |||
| 79 | speakersafetyd-configuration? | 85 | speakersafetyd-configuration? |
| 80 | speakersafetyd-service-type)) | 86 | speakersafetyd-service-type)) |
| 81 | 87 | ||
| 82 | ;;; Commentary: | ||
| 83 | ;;; | ||
| 84 | ;;; Sound services. | ||
| 85 | ;;; | ||
| 86 | ;;; Code: | ||
| 87 | |||
| 88 | 88 | ||
| 89 | ;;; | 89 | ;;; |
| 90 | ;;; ALSA | 90 | ;;; ALSA |
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index e167d2f689f..a6ecd06d35a 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm | |||
| @@ -24,6 +24,13 @@ | |||
| 24 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 26 | 26 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; This module implements secure shell (SSH) services. | ||
| 30 | ;;; | ||
| 31 | ;;; OpenSSH. | ||
| 32 | ;;; | ||
| 33 | |||
| 27 | (define-module (gnu services ssh) | 34 | (define-module (gnu services ssh) |
| 28 | #:use-module (gnu packages ssh) | 35 | #:use-module (gnu packages ssh) |
| 29 | #:use-module (gnu packages admin) | 36 | #:use-module (gnu packages admin) |
| @@ -90,13 +97,6 @@ | |||
| 90 | webssh-service-type | 97 | webssh-service-type |
| 91 | %webssh-configuration-nginx)) | 98 | %webssh-configuration-nginx)) |
| 92 | 99 | ||
| 93 | ;;; Commentary: | ||
| 94 | ;;; | ||
| 95 | ;;; This module implements secure shell (SSH) services. | ||
| 96 | ;;; | ||
| 97 | ;;; OpenSSH. | ||
| 98 | ;;; | ||
| 99 | |||
| 100 | (define-record-type* <openssh-configuration> | 100 | (define-record-type* <openssh-configuration> |
| 101 | openssh-configuration make-openssh-configuration | 101 | openssh-configuration make-openssh-configuration |
| 102 | openssh-configuration? | 102 | openssh-configuration? |
diff --git a/gnu/services/syncthing.scm b/gnu/services/syncthing.scm index 577672ab0c5..0d5e7cc8a94 100644 --- a/gnu/services/syncthing.scm +++ b/gnu/services/syncthing.scm | |||
| @@ -18,6 +18,12 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This module provides a service definition for the syncthing service. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 21 | (define-module (gnu services syncthing) | 27 | (define-module (gnu services syncthing) |
| 22 | #:use-module (gnu packages syncthing) | 28 | #:use-module (gnu packages syncthing) |
| 23 | #:use-module (gnu services) | 29 | #:use-module (gnu services) |
| @@ -41,12 +47,6 @@ | |||
| 41 | syncthing-shepherd-service | 47 | syncthing-shepherd-service |
| 42 | syncthing-files-service)) | 48 | syncthing-files-service)) |
| 43 | 49 | ||
| 44 | ;;; Commentary: | ||
| 45 | ;;; | ||
| 46 | ;;; This module provides a service definition for the syncthing service. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define (bool->xml-string bool) | 50 | (define (bool->xml-string bool) |
| 51 | ;; add compatibility for the short duration where #f was specified as | 51 | ;; add compatibility for the short duration where #f was specified as |
| 52 | ;; "false" | 52 | ;; "false" |
diff --git a/gnu/services/upnp.scm b/gnu/services/upnp.scm index 16c32463534..70b242e5980 100644 --- a/gnu/services/upnp.scm +++ b/gnu/services/upnp.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; UPnP services. | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (gnu services upnp) | 25 | (define-module (gnu services upnp) |
| 20 | #:use-module (gnu build linux-container) | 26 | #:use-module (gnu build linux-container) |
| 21 | #:use-module (gnu packages admin) | 27 | #:use-module (gnu packages admin) |
| @@ -54,12 +60,6 @@ | |||
| 54 | readymedia-activation | 60 | readymedia-activation |
| 55 | readymedia-shepherd-service)) | 61 | readymedia-shepherd-service)) |
| 56 | 62 | ||
| 57 | ;;; Commentary: | ||
| 58 | ;;; | ||
| 59 | ;;; UPnP services. | ||
| 60 | ;;; | ||
| 61 | ;;; Code: | ||
| 62 | |||
| 63 | (define* (%readymedia-default-cache-directory #:key (home-service? #f)) | 63 | (define* (%readymedia-default-cache-directory #:key (home-service? #f)) |
| 64 | (if home-service? | 64 | (if home-service? |
| 65 | ".cache/readymedia" | 65 | ".cache/readymedia" |
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index 55af92c9f5a..8efa4996c5b 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm | |||
| @@ -24,6 +24,12 @@ | |||
| 24 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 26 | 26 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; Version Control related services. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 27 | (define-module (gnu services version-control) | 33 | (define-module (gnu services version-control) |
| 28 | #:use-module (gnu services) | 34 | #:use-module (gnu services) |
| 29 | #:use-module (gnu services base) | 35 | #:use-module (gnu services base) |
| @@ -135,12 +141,6 @@ | |||
| 135 | 141 | ||
| 136 | fossil-service-type)) | 142 | fossil-service-type)) |
| 137 | 143 | ||
| 138 | ;;; Commentary: | ||
| 139 | ;;; | ||
| 140 | ;;; Version Control related services. | ||
| 141 | ;;; | ||
| 142 | ;;; Code: | ||
| 143 | |||
| 144 | 144 | ||
| 145 | ;;; | 145 | ;;; |
| 146 | ;;; Git daemon. | 146 | ;;; Git daemon. |
diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 4a323dbd96e..351a7daf6dd 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm | |||
| @@ -37,6 +37,12 @@ | |||
| 37 | ;;; You should have received a copy of the GNU General Public License | 37 | ;;; You should have received a copy of the GNU General Public License |
| 38 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 38 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 39 | 39 | ||
| 40 | ;;; Commentary: | ||
| 41 | ;;; | ||
| 42 | ;;; Web services. | ||
| 43 | ;;; | ||
| 44 | ;;; Code: | ||
| 45 | |||
| 40 | (define-module (gnu services web) | 46 | (define-module (gnu services web) |
| 41 | #:use-module (gnu services) | 47 | #:use-module (gnu services) |
| 42 | #:use-module (gnu services shepherd) | 48 | #:use-module (gnu services shepherd) |
| @@ -390,12 +396,6 @@ | |||
| 390 | 396 | ||
| 391 | miniflux-service-type)) | 397 | miniflux-service-type)) |
| 392 | 398 | ||
| 393 | ;;; Commentary: | ||
| 394 | ;;; | ||
| 395 | ;;; Web services. | ||
| 396 | ;;; | ||
| 397 | ;;; Code: | ||
| 398 | |||
| 399 | (define-record-type* <httpd-module> | 399 | (define-record-type* <httpd-module> |
| 400 | httpd-module make-httpd-module | 400 | httpd-module make-httpd-module |
| 401 | httpd-module? | 401 | httpd-module? |
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index a65dc20244c..5f8065b06d5 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm | |||
| @@ -33,6 +33,12 @@ | |||
| 33 | ;;; You should have received a copy of the GNU General Public License | 33 | ;;; You should have received a copy of the GNU General Public License |
| 34 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 34 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 35 | 35 | ||
| 36 | ;;; Commentary: | ||
| 37 | ;;; | ||
| 38 | ;;; Services that relate to the X Window System. | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | |||
| 36 | (define-module (gnu services xorg) | 42 | (define-module (gnu services xorg) |
| 37 | #:autoload (gnu services sddm) (sddm-service-type) | 43 | #:autoload (gnu services sddm) (sddm-service-type) |
| 38 | #:use-module (gnu artwork) | 44 | #:use-module (gnu artwork) |
| @@ -144,12 +150,6 @@ | |||
| 144 | handle-xorg-configuration | 150 | handle-xorg-configuration |
| 145 | set-xorg-configuration)) | 151 | set-xorg-configuration)) |
| 146 | 152 | ||
| 147 | ;;; Commentary: | ||
| 148 | ;;; | ||
| 149 | ;;; Services that relate to the X Window System. | ||
| 150 | ;;; | ||
| 151 | ;;; Code: | ||
| 152 | |||
| 153 | (define* (default-xorg-modules | 153 | (define* (default-xorg-modules |
| 154 | #:optional | 154 | #:optional |
| 155 | (system (or (and=> | 155 | (system (or (and=> |
diff --git a/gnu/system.scm b/gnu/system.scm index bfcb4025a75..72f690a4050 100644 --- a/gnu/system.scm +++ b/gnu/system.scm | |||
| @@ -32,6 +32,12 @@ | |||
| 32 | ;;; You should have received a copy of the GNU General Public License | 32 | ;;; You should have received a copy of the GNU General Public License |
| 33 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 33 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 34 | 34 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; This module supports whole-system configuration. | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 35 | (define-module (gnu system) | 41 | (define-module (gnu system) |
| 36 | #:use-module (guix inferior) | 42 | #:use-module (guix inferior) |
| 37 | #:use-module (guix store) | 43 | #:use-module (guix store) |
| @@ -190,12 +196,6 @@ | |||
| 190 | %base-firmware | 196 | %base-firmware |
| 191 | %default-kernel-arguments)) | 197 | %default-kernel-arguments)) |
| 192 | 198 | ||
| 193 | ;;; Commentary: | ||
| 194 | ;;; | ||
| 195 | ;;; This module supports whole-system configuration. | ||
| 196 | ;;; | ||
| 197 | ;;; Code: | ||
| 198 | |||
| 199 | (define* (bootable-kernel-arguments system root-device version) | 199 | (define* (bootable-kernel-arguments system root-device version) |
| 200 | "Return a list of kernel arguments (gexps) to boot SYSTEM from ROOT-DEVICE. | 200 | "Return a list of kernel arguments (gexps) to boot SYSTEM from ROOT-DEVICE. |
| 201 | VERSION is the target version of the boot-parameters record." | 201 | VERSION is the target version of the boot-parameters record." |
diff --git a/gnu/system/accounts.scm b/gnu/system/accounts.scm index 52dbbbf3a33..de91efe669a 100644 --- a/gnu/system/accounts.scm +++ b/gnu/system/accounts.scm | |||
| @@ -17,6 +17,14 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Data structures representing user accounts and user groups. This is meant | ||
| 23 | ;;; to be used both on the host side and at run time--e.g., in activation | ||
| 24 | ;;; snippets. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 20 | (define-module (gnu system accounts) | 28 | (define-module (gnu system accounts) |
| 21 | #:use-module (guix records) | 29 | #:use-module (guix records) |
| 22 | #:use-module (ice-9 match) | 30 | #:use-module (ice-9 match) |
| @@ -55,15 +63,6 @@ | |||
| 55 | 63 | ||
| 56 | default-shell)) | 64 | default-shell)) |
| 57 | 65 | ||
| 58 | |||
| 59 | ;;; Commentary: | ||
| 60 | ;;; | ||
| 61 | ;;; Data structures representing user accounts and user groups. This is meant | ||
| 62 | ;;; to be used both on the host side and at run time--e.g., in activation | ||
| 63 | ;;; snippets. | ||
| 64 | ;;; | ||
| 65 | ;;; Code: | ||
| 66 | |||
| 67 | (define default-shell | 66 | (define default-shell |
| 68 | ;; Default shell for user accounts (a string or string-valued gexp). | 67 | ;; Default shell for user accounts (a string or string-valued gexp). |
| 69 | (make-parameter "/bin/sh")) | 68 | (make-parameter "/bin/sh")) |
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index fd9065d2f6d..7ec2cd02594 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm | |||
| @@ -21,6 +21,15 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; Declaring file systems to be mounted. | ||
| 27 | ;;; | ||
| 28 | ;;; Note: this file system is used both in the Shepherd and on the "host | ||
| 29 | ;;; side", so it must not include (gnu packages …) modules. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 24 | (define-module (gnu system file-systems) | 33 | (define-module (gnu system file-systems) |
| 25 | #:use-module (ice-9 match) | 34 | #:use-module (ice-9 match) |
| 26 | #:use-module (rnrs bytevectors) | 35 | #:use-module (rnrs bytevectors) |
| @@ -109,15 +118,6 @@ | |||
| 109 | swap-space-priority | 118 | swap-space-priority |
| 110 | swap-space-discard?)) | 119 | swap-space-discard?)) |
| 111 | 120 | ||
| 112 | ;;; Commentary: | ||
| 113 | ;;; | ||
| 114 | ;;; Declaring file systems to be mounted. | ||
| 115 | ;;; | ||
| 116 | ;;; Note: this file system is used both in the Shepherd and on the "host | ||
| 117 | ;;; side", so it must not include (gnu packages …) modules. | ||
| 118 | ;;; | ||
| 119 | ;;; Code: | ||
| 120 | |||
| 121 | (eval-when (expand load eval) | 121 | (eval-when (expand load eval) |
| 122 | (define invalid-file-system-flags | 122 | (define invalid-file-system-flags |
| 123 | ;; Note: Keep in sync with 'mount-flags->bit-mask'. | 123 | ;; Note: Keep in sync with 'mount-flags->bit-mask'. |
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 4d5a3d6799b..b57526f93c2 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides system-specifics for the GNU/Hurd operating system | ||
| 23 | ;;; and virtual machine. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (gnu system hurd) | 27 | (define-module (gnu system hurd) |
| 21 | #:use-module (ice-9 match) | 28 | #:use-module (ice-9 match) |
| 22 | #:use-module (guix gexp) | 29 | #:use-module (guix gexp) |
| @@ -55,13 +62,6 @@ | |||
| 55 | %hurd-default-operating-system-kernel | 62 | %hurd-default-operating-system-kernel |
| 56 | %setuid-programs/hurd)) | 63 | %setuid-programs/hurd)) |
| 57 | 64 | ||
| 58 | ;;; Commentary: | ||
| 59 | ;;; | ||
| 60 | ;;; This module provides system-specifics for the GNU/Hurd operating system | ||
| 61 | ;;; and virtual machine. | ||
| 62 | ;;; | ||
| 63 | ;;; Code: | ||
| 64 | |||
| 65 | (define %hurd-default-operating-system-kernel | 65 | (define %hurd-default-operating-system-kernel |
| 66 | gnumach) | 66 | gnumach) |
| 67 | 67 | ||
diff --git a/gnu/system/images/visionfive2.scm b/gnu/system/images/visionfive2.scm index ee0682b6fcd..22f6545db12 100644 --- a/gnu/system/images/visionfive2.scm +++ b/gnu/system/images/visionfive2.scm | |||
| @@ -17,6 +17,18 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; With this image, VisionFive2 can boot from MMC1 (MicroSD card) with | ||
| 23 | ;;; SDIO3.0 boot mode (RPIO_1:L, RGPIO_0:H -- see [1]), in this case the | ||
| 24 | ;;; board will use U-Boot from Guix System instead of the vendor U-Boot. | ||
| 25 | ;;; Booting from eMMC and NVME is still work-in-progress. | ||
| 26 | ;;; | ||
| 27 | ;;; References: | ||
| 28 | ;;; 1. <https://doc-en.rvspace.org/VisionFive2/Boot_UG/VisionFive2_SDK_QSG/boot_mode_settings.html> | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 20 | (define-module (gnu system images visionfive2) | 32 | (define-module (gnu system images visionfive2) |
| 21 | #:use-module (gnu bootloader) | 33 | #:use-module (gnu bootloader) |
| 22 | #:use-module (gnu bootloader u-boot) | 34 | #:use-module (gnu bootloader u-boot) |
| @@ -46,18 +58,6 @@ | |||
| 46 | visionfive2-image-type | 58 | visionfive2-image-type |
| 47 | visionfive2-barebones-raw-image)) | 59 | visionfive2-barebones-raw-image)) |
| 48 | 60 | ||
| 49 | ;;; Commentary: | ||
| 50 | ;;; | ||
| 51 | ;;; With this image, VisionFive2 can boot from MMC1 (MicroSD card) with | ||
| 52 | ;;; SDIO3.0 boot mode (RPIO_1:L, RGPIO_0:H -- see [1]), in this case the | ||
| 53 | ;;; board will use U-Boot from Guix System instead of the vendor U-Boot. | ||
| 54 | ;;; Booting from eMMC and NVME is still work-in-progress. | ||
| 55 | ;;; | ||
| 56 | ;;; References: | ||
| 57 | ;;; 1. <https://doc-en.rvspace.org/VisionFive2/Boot_UG/VisionFive2_SDK_QSG/boot_mode_settings.html> | ||
| 58 | ;;; | ||
| 59 | ;;; Code: | ||
| 60 | |||
| 61 | (define visionfive2-barebones-os | 61 | (define visionfive2-barebones-os |
| 62 | (operating-system | 62 | (operating-system |
| 63 | (host-name "visionfive2") | 63 | (host-name "visionfive2") |
diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 2f5d5d4b1c9..80f5a51fdae 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm | |||
| @@ -24,6 +24,13 @@ | |||
| 24 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 26 | 26 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; This module provides an 'operating-system' definition for use on images | ||
| 30 | ;;; for USB sticks etc., for the installation of the GNU system. | ||
| 31 | ;;; | ||
| 32 | ;;; Code: | ||
| 33 | |||
| 27 | (define-module (gnu system install) | 34 | (define-module (gnu system install) |
| 28 | #:use-module ((guix licenses) #:prefix license:) | 35 | #:use-module ((guix licenses) #:prefix license:) |
| 29 | #:use-module (gnu) | 36 | #:use-module (gnu) |
| @@ -88,13 +95,6 @@ | |||
| 88 | wandboard-installation-os | 95 | wandboard-installation-os |
| 89 | os-with-u-boot)) | 96 | os-with-u-boot)) |
| 90 | 97 | ||
| 91 | ;;; Commentary: | ||
| 92 | ;;; | ||
| 93 | ;;; This module provides an 'operating-system' definition for use on images | ||
| 94 | ;;; for USB sticks etc., for the installation of the GNU system. | ||
| 95 | ;;; | ||
| 96 | ;;; Code: | ||
| 97 | |||
| 98 | 98 | ||
| 99 | ;;; | 99 | ;;; |
| 100 | ;;; Documentation service. | 100 | ;;; Documentation service. |
diff --git a/gnu/system/keyboard.scm b/gnu/system/keyboard.scm index 5bd13a44be4..672fbcde8c6 100644 --- a/gnu/system/keyboard.scm +++ b/gnu/system/keyboard.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides a data structure to represent keyboard layouts | ||
| 22 | ;;; according to the XKB naming and classification (see the 'xkeyboard-config' | ||
| 23 | ;;; package). | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 19 | (define-module (gnu system keyboard) | 27 | (define-module (gnu system keyboard) |
| 20 | #:use-module (guix gexp) | 28 | #:use-module (guix gexp) |
| 21 | #:use-module ((gnu packages xorg) | 29 | #:use-module ((gnu packages xorg) |
| @@ -31,14 +39,6 @@ | |||
| 31 | 39 | ||
| 32 | keyboard-layout->console-keymap)) | 40 | keyboard-layout->console-keymap)) |
| 33 | 41 | ||
| 34 | ;;; Commentary: | ||
| 35 | ;;; | ||
| 36 | ;;; This module provides a data structure to represent keyboard layouts | ||
| 37 | ;;; according to the XKB naming and classification (see the 'xkeyboard-config' | ||
| 38 | ;;; package). | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | |||
| 42 | (define-immutable-record-type <keyboard-layout> | 42 | (define-immutable-record-type <keyboard-layout> |
| 43 | (%keyboard-layout name variant model options) | 43 | (%keyboard-layout name variant model options) |
| 44 | keyboard-layout? | 44 | keyboard-layout? |
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index b56e6cf5d42..4ea0a59e935 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm | |||
| @@ -20,6 +20,13 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Tools to build initial RAM disks (initrd's) for Linux-Libre, and in | ||
| 26 | ;;; particular initrd's that run Guile. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 23 | (define-module (gnu system linux-initrd) | 30 | (define-module (gnu system linux-initrd) |
| 24 | #:use-module (guix deprecation) | 31 | #:use-module (guix deprecation) |
| 25 | #:use-module (guix gexp) | 32 | #:use-module (guix gexp) |
| @@ -56,14 +63,6 @@ | |||
| 56 | base-initrd)) | 63 | base-initrd)) |
| 57 | 64 | ||
| 58 | 65 | ||
| 59 | ;;; Commentary: | ||
| 60 | ;;; | ||
| 61 | ;;; Tools to build initial RAM disks (initrd's) for Linux-Libre, and in | ||
| 62 | ;;; particular initrd's that run Guile. | ||
| 63 | ;;; | ||
| 64 | ;;; Code: | ||
| 65 | |||
| 66 | |||
| 67 | (define* (expression->initrd exp | 66 | (define* (expression->initrd exp |
| 68 | #:key | 67 | #:key |
| 69 | (guile %guile-static-initrd) | 68 | (guile %guile-static-initrd) |
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index 37f6456e673..866e198b2f6 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm | |||
| @@ -18,6 +18,12 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; Locale definitions, and compilation thereof. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 21 | (define-module (gnu system locale) | 27 | (define-module (gnu system locale) |
| 22 | #:use-module (guix gexp) | 28 | #:use-module (guix gexp) |
| 23 | #:use-module (guix store) | 29 | #:use-module (guix store) |
| @@ -43,12 +49,6 @@ | |||
| 43 | 49 | ||
| 44 | glibc-supported-locales)) | 50 | glibc-supported-locales)) |
| 45 | 51 | ||
| 46 | ;;; Commentary: | ||
| 47 | ;;; | ||
| 48 | ;;; Locale definitions, and compilation thereof. | ||
| 49 | ;;; | ||
| 50 | ;;; Code: | ||
| 51 | |||
| 52 | (define-record-type* <locale-definition> locale-definition | 52 | (define-record-type* <locale-definition> locale-definition |
| 53 | make-locale-definition | 53 | make-locale-definition |
| 54 | locale-definition? | 54 | locale-definition? |
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index 8c32c3d3d4d..e7bb3eae726 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm | |||
| @@ -19,6 +19,13 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module supports "device mapping", a concept implemented by Linux's | ||
| 25 | ;;; device-mapper. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 22 | (define-module (gnu system mapped-devices) | 29 | (define-module (gnu system mapped-devices) |
| 23 | #:use-module (guix gexp) | 30 | #:use-module (guix gexp) |
| 24 | #:use-module (guix records) | 31 | #:use-module (guix records) |
| @@ -72,13 +79,6 @@ | |||
| 72 | raid-device-mapping | 79 | raid-device-mapping |
| 73 | lvm-device-mapping)) | 80 | lvm-device-mapping)) |
| 74 | 81 | ||
| 75 | ;;; Commentary: | ||
| 76 | ;;; | ||
| 77 | ;;; This module supports "device mapping", a concept implemented by Linux's | ||
| 78 | ;;; device-mapper. | ||
| 79 | ;;; | ||
| 80 | ;;; Code: | ||
| 81 | |||
| 82 | (define-record-type* <mapped-device> %mapped-device | 82 | (define-record-type* <mapped-device> %mapped-device |
| 83 | make-mapped-device | 83 | make-mapped-device |
| 84 | mapped-device? | 84 | mapped-device? |
diff --git a/gnu/system/nss.scm b/gnu/system/nss.scm index 930f556e5e5..9beadf05cab 100644 --- a/gnu/system/nss.scm +++ b/gnu/system/nss.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Bindings for libc's name service switch (NSS) configuration. | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (gnu system nss) | 25 | (define-module (gnu system nss) |
| 20 | #:use-module (rnrs enums) | 26 | #:use-module (rnrs enums) |
| 21 | #:use-module (guix records) | 27 | #:use-module (guix records) |
| @@ -38,12 +44,6 @@ | |||
| 38 | 44 | ||
| 39 | name-service-switch->string)) | 45 | name-service-switch->string)) |
| 40 | 46 | ||
| 41 | ;;; Commentary: | ||
| 42 | ;;; | ||
| 43 | ;;; Bindings for libc's name service switch (NSS) configuration. | ||
| 44 | ;;; | ||
| 45 | ;;; Code: | ||
| 46 | |||
| 47 | (define-record-type* <name-service> name-service | 47 | (define-record-type* <name-service> name-service |
| 48 | make-name-service | 48 | make-name-service |
| 49 | name-service? | 49 | name-service? |
diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm index 83cf74d58ce..935419544a8 100644 --- a/gnu/system/pam.scm +++ b/gnu/system/pam.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Configuration of the pluggable authentication modules (PAM). | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (gnu system pam) | 26 | (define-module (gnu system pam) |
| 21 | #:use-module (guix records) | 27 | #:use-module (guix records) |
| 22 | #:use-module (guix derivations) | 28 | #:use-module (guix derivations) |
| @@ -69,12 +75,6 @@ | |||
| 69 | pam-root-service-type | 75 | pam-root-service-type |
| 70 | pam-root-service)) | 76 | pam-root-service)) |
| 71 | 77 | ||
| 72 | ;;; Commentary: | ||
| 73 | ;;; | ||
| 74 | ;;; Configuration of the pluggable authentication modules (PAM). | ||
| 75 | ;;; | ||
| 76 | ;;; Code: | ||
| 77 | |||
| 78 | ;; PAM services (see | 78 | ;; PAM services (see |
| 79 | ;; <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-file.html>.) | 79 | ;; <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-file.html>.) |
| 80 | (define-record-type* <pam-service> pam-service | 80 | (define-record-type* <pam-service> pam-service |
diff --git a/gnu/system/privilege.scm b/gnu/system/privilege.scm index fe6e60ad7c4..26d9b2fe289 100644 --- a/gnu/system/privilege.scm +++ b/gnu/system/privilege.scm | |||
| @@ -17,6 +17,14 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Data structures representing privileged programs: binaries with additional | ||
| 23 | ;;; permissions such as setuid/setgid, or POSIX capabilities. This is meant to | ||
| 24 | ;;; be used both on the host side and at run time--e.g., in activation snippets. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 20 | (define-module (gnu system privilege) | 28 | (define-module (gnu system privilege) |
| 21 | #:use-module (guix records) | 29 | #:use-module (guix records) |
| 22 | #:export (privileged-program | 30 | #:export (privileged-program |
| @@ -30,14 +38,6 @@ | |||
| 30 | 38 | ||
| 31 | file-like->setuid-program)) | 39 | file-like->setuid-program)) |
| 32 | 40 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; Data structures representing privileged programs: binaries with additional | ||
| 36 | ;;; permissions such as setuid/setgid, or POSIX capabilities. This is meant to | ||
| 37 | ;;; be used both on the host side and at run time--e.g., in activation snippets. | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 41 | (define-record-type* <privileged-program> | 41 | (define-record-type* <privileged-program> |
| 42 | privileged-program make-privileged-program | 42 | privileged-program make-privileged-program |
| 43 | privileged-program? | 43 | privileged-program? |
diff --git a/gnu/system/setuid.scm b/gnu/system/setuid.scm index 097797ce8d7..dab31dad5d2 100644 --- a/gnu/system/setuid.scm +++ b/gnu/system/setuid.scm | |||
| @@ -17,6 +17,14 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Do not use this module in new code. It used to define data structures | ||
| 23 | ;;; representing setuid/setgid programs, but is now a mere compatibility shim | ||
| 24 | ;;; wrapping a subset of (gnu system privilege). | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 20 | (define-module (gnu system setuid) | 28 | (define-module (gnu system setuid) |
| 21 | #:use-module (gnu system privilege) | 29 | #:use-module (gnu system privilege) |
| 22 | #:use-module (ice-9 match) | 30 | #:use-module (ice-9 match) |
| @@ -30,14 +38,6 @@ | |||
| 30 | setuid-program-user | 38 | setuid-program-user |
| 31 | setuid-program-group)) | 39 | setuid-program-group)) |
| 32 | 40 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; Do not use this module in new code. It used to define data structures | ||
| 36 | ;;; representing setuid/setgid programs, but is now a mere compatibility shim | ||
| 37 | ;;; wrapping a subset of (gnu system privilege). | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 41 | (define-syntax setuid-program | 41 | (define-syntax setuid-program |
| 42 | (lambda (fields) | 42 | (lambda (fields) |
| 43 | (syntax-case fields () | 43 | (syntax-case fields () |
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index f864a4f692e..2cce6e828f6 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm | |||
| @@ -21,6 +21,12 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; Utilities for configuring the Shadow tool suite ('login', 'passwd', etc.) | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 24 | (define-module (gnu system shadow) | 30 | (define-module (gnu system shadow) |
| 25 | #:use-module ((guix diagnostics) #:select (formatted-message)) | 31 | #:use-module ((guix diagnostics) #:select (formatted-message)) |
| 26 | #:use-module (guix records) | 32 | #:use-module (guix records) |
| @@ -97,12 +103,6 @@ | |||
| 97 | 103 | ||
| 98 | subids-service-type)) | 104 | subids-service-type)) |
| 99 | 105 | ||
| 100 | ;;; Commentary: | ||
| 101 | ;;; | ||
| 102 | ;;; Utilities for configuring the Shadow tool suite ('login', 'passwd', etc.) | ||
| 103 | ;;; | ||
| 104 | ;;; Code: | ||
| 105 | |||
| 106 | ;; Change the default shell used by new <user-account> records. | 106 | ;; Change the default shell used by new <user-account> records. |
| 107 | (default-shell (file-append bash "/bin/bash")) | 107 | (default-shell (file-append bash "/bin/bash")) |
| 108 | 108 | ||
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index a6a05862a5c..c4fc3e84745 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm | |||
| @@ -22,6 +22,12 @@ | |||
| 22 | ;;; You should have received a copy of the GNU General Public License | 22 | ;;; You should have received a copy of the GNU General Public License |
| 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 24 | 24 | ||
| 25 | ;;; Commentary: | ||
| 26 | ;;; | ||
| 27 | ;;; Tools to evaluate build expressions within virtual machines. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 25 | (define-module (gnu system vm) | 31 | (define-module (gnu system vm) |
| 26 | #:use-module (guix config) | 32 | #:use-module (guix config) |
| 27 | #:use-module (guix store) | 33 | #:use-module (guix store) |
| @@ -91,12 +97,6 @@ | |||
| 91 | common-qemu-options)) | 97 | common-qemu-options)) |
| 92 | 98 | ||
| 93 | 99 | ||
| 94 | ;;; Commentary: | ||
| 95 | ;;; | ||
| 96 | ;;; Tools to evaluate build expressions within virtual machines. | ||
| 97 | ;;; | ||
| 98 | ;;; Code: | ||
| 99 | |||
| 100 | ;; By default, the msize value is 8 KiB, which according to QEMU is | 100 | ;; By default, the msize value is 8 KiB, which according to QEMU is |
| 101 | ;; insufficient and would degrade performance. The msize value should roughly | 101 | ;; insufficient and would degrade performance. The msize value should roughly |
| 102 | ;; match the bandwidth of the system's IO (see: | 102 | ;; match the bandwidth of the system's IO (see: |
diff --git a/gnu/tests.scm b/gnu/tests.scm index 3b12726de82..ab74ed5874e 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm | |||
| @@ -19,6 +19,15 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module provides the infrastructure to run operating system tests. | ||
| 25 | ;;; The most important part of that is tools to instrument the OS under test, | ||
| 26 | ;;; essentially allowing it to run in a virtual machine controlled by the host | ||
| 27 | ;;; system--hence the name "marionette". | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 22 | (define-module (gnu tests) | 31 | (define-module (gnu tests) |
| 23 | #:use-module (guix gexp) | 32 | #:use-module (guix gexp) |
| 24 | #:use-module (guix diagnostics) | 33 | #:use-module (guix diagnostics) |
| @@ -65,15 +74,6 @@ | |||
| 65 | fold-system-tests | 74 | fold-system-tests |
| 66 | all-system-tests)) | 75 | all-system-tests)) |
| 67 | 76 | ||
| 68 | ;;; Commentary: | ||
| 69 | ;;; | ||
| 70 | ;;; This module provides the infrastructure to run operating system tests. | ||
| 71 | ;;; The most important part of that is tools to instrument the OS under test, | ||
| 72 | ;;; essentially allowing it to run in a virtual machine controlled by the host | ||
| 73 | ;;; system--hence the name "marionette". | ||
| 74 | ;;; | ||
| 75 | ;;; Code: | ||
| 76 | |||
| 77 | (define %default-marionette-device | 77 | (define %default-marionette-device |
| 78 | ;; Default marionette device in the guest. | 78 | ;; Default marionette device in the guest. |
| 79 | "/dev/virtio-ports/org.gnu.guix.port.0") | 79 | "/dev/virtio-ports/org.gnu.guix.port.0") |
diff --git a/gnu/tests/image.scm b/gnu/tests/image.scm index be6852cae0a..3e7629c3b68 100644 --- a/gnu/tests/image.scm +++ b/gnu/tests/image.scm | |||
| @@ -16,6 +16,17 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides tests for the image creation process that is | ||
| 22 | ;;; performed by "genimage" under the hood. | ||
| 23 | ;;; | ||
| 24 | ;;; The image partitionment is checked using Guile-Parted. The content of the | ||
| 25 | ;;; images is out of the scope of this module. Other test modules such as | ||
| 26 | ;;; (gnu tests installation) make sure that the produced images are viable. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 19 | (define-module (gnu tests image) | 30 | (define-module (gnu tests image) |
| 20 | #:use-module (gnu) | 31 | #:use-module (gnu) |
| 21 | #:use-module (gnu image) | 32 | #:use-module (gnu image) |
| @@ -30,17 +41,6 @@ | |||
| 30 | #:use-module (ice-9 format) | 41 | #:use-module (ice-9 format) |
| 31 | #:export (%test-images)) | 42 | #:export (%test-images)) |
| 32 | 43 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; This module provides tests for the image creation process that is | ||
| 36 | ;;; performed by "genimage" under the hood. | ||
| 37 | ;;; | ||
| 38 | ;;; The image partitionment is checked using Guile-Parted. The content of the | ||
| 39 | ;;; images is out of the scope of this module. Other test modules such as | ||
| 40 | ;;; (gnu tests installation) make sure that the produced images are viable. | ||
| 41 | ;;; | ||
| 42 | ;;; Code: | ||
| 43 | |||
| 44 | ;; A dummy initializer creating a simple file in the partition. | 44 | ;; A dummy initializer creating a simple file in the partition. |
| 45 | (define dummy-initializer | 45 | (define dummy-initializer |
| 46 | #~(lambda* (root . rest) | 46 | #~(lambda* (root . rest) |
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 91ab59ce8d2..2c336ce4e94 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm | |||
| @@ -21,6 +21,13 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; Test the installation of Guix using the documented approach at the | ||
| 27 | ;;; command line. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 24 | (define-module (gnu tests install) | 31 | (define-module (gnu tests install) |
| 25 | #:use-module (gnu) | 32 | #:use-module (gnu) |
| 26 | #:use-module (gnu bootloader extlinux) | 33 | #:use-module (gnu bootloader extlinux) |
| @@ -89,13 +96,6 @@ | |||
| 89 | %test-gui-installed-os-encrypted | 96 | %test-gui-installed-os-encrypted |
| 90 | %test-gui-installed-desktop-os-encrypted)) | 97 | %test-gui-installed-desktop-os-encrypted)) |
| 91 | 98 | ||
| 92 | ;;; Commentary: | ||
| 93 | ;;; | ||
| 94 | ;;; Test the installation of Guix using the documented approach at the | ||
| 95 | ;;; command line. | ||
| 96 | ;;; | ||
| 97 | ;;; Code: | ||
| 98 | |||
| 99 | (define-os-with-source (%minimal-os %minimal-os-source) | 99 | (define-os-with-source (%minimal-os %minimal-os-source) |
| 100 | ;; The OS we want to install. | 100 | ;; The OS we want to install. |
| 101 | (use-modules (gnu) (gnu tests) (srfi srfi-1)) | 101 | (use-modules (gnu) (gnu tests) (srfi srfi-1)) |
diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm index 69cb0132670..8f4d79445bd 100644 --- a/gnu/tests/linux-modules.scm +++ b/gnu/tests/linux-modules.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Test <operating-system> kernel-loadable-modules. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 22 | (define-module (gnu tests linux-modules) | 28 | (define-module (gnu tests linux-modules) |
| 23 | #:use-module (gnu packages linux) | 29 | #:use-module (gnu packages linux) |
| 24 | #:use-module (gnu services) | 30 | #:use-module (gnu services) |
| @@ -40,12 +46,6 @@ | |||
| 40 | %test-loadable-kernel-modules-service-1 | 46 | %test-loadable-kernel-modules-service-1 |
| 41 | %test-loadable-kernel-modules-service-2)) | 47 | %test-loadable-kernel-modules-service-2)) |
| 42 | 48 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; Test <operating-system> kernel-loadable-modules. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 49 | (define* (modules-loaded?-program os modules) | 49 | (define* (modules-loaded?-program os modules) |
| 50 | "Return an executable store item that, upon being evaluated, will verify | 50 | "Return an executable store item that, upon being evaluated, will verify |
| 51 | that MODULES are actually loaded." | 51 | that MODULES are actually loaded." |
diff --git a/gnu/tests/package-management.scm b/gnu/tests/package-management.scm index c5102fff74d..869494b7e11 100644 --- a/gnu/tests/package-management.scm +++ b/gnu/tests/package-management.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides a test definition for the nix-daemon | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (gnu tests package-management) | 25 | (define-module (gnu tests package-management) |
| 20 | #:use-module (gnu packages base) | 26 | #:use-module (gnu packages base) |
| 21 | #:use-module (gnu packages package-management) | 27 | #:use-module (gnu packages package-management) |
| @@ -29,12 +35,6 @@ | |||
| 29 | #:use-module (guix packages) | 35 | #:use-module (guix packages) |
| 30 | #:export (%test-nix)) | 36 | #:export (%test-nix)) |
| 31 | 37 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; This module provides a test definition for the nix-daemon | ||
| 35 | ;;; | ||
| 36 | ;;; Code: | ||
| 37 | |||
| 38 | (define* (run-nix-test name test-os) | 38 | (define* (run-nix-test name test-os) |
| 39 | "Run tests in TEST-OS, which has nix-daemon running." | 39 | "Run tests in TEST-OS, which has nix-daemon running." |
| 40 | (define os | 40 | (define os |
diff --git a/gnu/tests/reconfigure.scm b/gnu/tests/reconfigure.scm index 77cbe16a9ca..1ffb75ad2ac 100644 --- a/gnu/tests/reconfigure.scm +++ b/gnu/tests/reconfigure.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Test in-place system reconfiguration: advancing the system generation on a | ||
| 23 | ;;; running instance of the Guix System. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (gnu tests reconfigure) | 27 | (define-module (gnu tests reconfigure) |
| 21 | #:use-module (gnu bootloader) | 28 | #:use-module (gnu bootloader) |
| 22 | #:use-module (gnu services) | 29 | #:use-module (gnu services) |
| @@ -38,13 +45,6 @@ | |||
| 38 | %test-upgrade-kexec | 45 | %test-upgrade-kexec |
| 39 | %test-install-bootloader)) | 46 | %test-install-bootloader)) |
| 40 | 47 | ||
| 41 | ;;; Commentary: | ||
| 42 | ;;; | ||
| 43 | ;;; Test in-place system reconfiguration: advancing the system generation on a | ||
| 44 | ;;; running instance of the Guix System. | ||
| 45 | ;;; | ||
| 46 | ;;; Code: | ||
| 47 | |||
| 48 | (define* (run-switch-to-system-test) | 48 | (define* (run-switch-to-system-test) |
| 49 | "Run a test of an OS running SWITCH-SYSTEM-PROGRAM, which creates a new | 49 | "Run a test of an OS running SWITCH-SYSTEM-PROGRAM, which creates a new |
| 50 | generation of the system profile." | 50 | generation of the system profile." |
diff --git a/guix/amd-gpu.scm b/guix/amd-gpu.scm index d16fea2a053..65d1882ef59 100644 --- a/guix/amd-gpu.scm +++ b/guix/amd-gpu.scm | |||
| @@ -17,18 +17,18 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | (define-module (guix amd-gpu) | ||
| 21 | #:autoload (guix packages) (this-package package-properties) | ||
| 22 | #:export (%default-amd-gpu-targets | ||
| 23 | current-amd-gpu-targets | ||
| 24 | current-amd-gpu-targets-string)) | ||
| 25 | |||
| 26 | ;;; Commentary: | 20 | ;;; Commentary: |
| 27 | ;;; | 21 | ;;; |
| 28 | ;;; This module provides helpers for packages targeting AMD GPUs. | 22 | ;;; This module provides helpers for packages targeting AMD GPUs. |
| 29 | ;;; | 23 | ;;; |
| 30 | ;;; Code: | 24 | ;;; Code: |
| 31 | 25 | ||
| 26 | (define-module (guix amd-gpu) | ||
| 27 | #:autoload (guix packages) (this-package package-properties) | ||
| 28 | #:export (%default-amd-gpu-targets | ||
| 29 | current-amd-gpu-targets | ||
| 30 | current-amd-gpu-targets-string)) | ||
| 31 | |||
| 32 | (define %default-amd-gpu-targets | 32 | (define %default-amd-gpu-targets |
| 33 | '("gfx908" "gfx90a" "gfx942" "gfx1030" "gfx1100" "gfx1101" "gfx1200" "gfx1201")) | 33 | '("gfx908" "gfx90a" "gfx942" "gfx1030" "gfx1100" "gfx1101" "gfx1200" "gfx1201")) |
| 34 | 34 | ||
diff --git a/guix/android-repo-download.scm b/guix/android-repo-download.scm index 7b63d388fce..2af88fefd30 100644 --- a/guix/android-repo-download.scm +++ b/guix/android-repo-download.scm | |||
| @@ -20,6 +20,15 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; An <origin> method that fetches a specific commit from an Android repo | ||
| 26 | ;;; repository. | ||
| 27 | ;;; The repository's manifest (URL and revision) can be specified with a | ||
| 28 | ;;; <android-repo-reference> object. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 23 | (define-module (guix android-repo-download) | 32 | (define-module (guix android-repo-download) |
| 24 | #:use-module (guix gexp) | 33 | #:use-module (guix gexp) |
| 25 | #:use-module (guix store) | 34 | #:use-module (guix store) |
| @@ -39,15 +48,6 @@ | |||
| 39 | android-repo-version | 48 | android-repo-version |
| 40 | android-repo-file-name)) | 49 | android-repo-file-name)) |
| 41 | 50 | ||
| 42 | ;;; Commentary: | ||
| 43 | ;;; | ||
| 44 | ;;; An <origin> method that fetches a specific commit from an Android repo | ||
| 45 | ;;; repository. | ||
| 46 | ;;; The repository's manifest (URL and revision) can be specified with a | ||
| 47 | ;;; <android-repo-reference> object. | ||
| 48 | ;;; | ||
| 49 | ;;; Code: | ||
| 50 | |||
| 51 | (define-record-type* <android-repo-reference> | 51 | (define-record-type* <android-repo-reference> |
| 52 | android-repo-reference make-android-repo-reference | 52 | android-repo-reference make-android-repo-reference |
| 53 | android-repo-reference? | 53 | android-repo-reference? |
diff --git a/guix/base32.scm b/guix/base32.scm index dd18a796f23..543d1cbca77 100644 --- a/guix/base32.scm +++ b/guix/base32.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; A generic, customizable to convert bytevectors to/from a base32 | ||
| 22 | ;;; representation. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix base32) | 26 | (define-module (guix base32) |
| 20 | #:use-module (srfi srfi-34) | 27 | #:use-module (srfi srfi-34) |
| 21 | #:use-module (srfi srfi-35) | 28 | #:use-module (srfi srfi-35) |
| @@ -34,13 +41,6 @@ | |||
| 34 | invalid-base32-character-value | 41 | invalid-base32-character-value |
| 35 | invalid-base32-character-string)) | 42 | invalid-base32-character-string)) |
| 36 | 43 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; A generic, customizable to convert bytevectors to/from a base32 | ||
| 40 | ;;; representation. | ||
| 41 | ;;; | ||
| 42 | ;;; Code: | ||
| 43 | |||
| 44 | (define-syntax bit-field | 44 | (define-syntax bit-field |
| 45 | (lambda (s) | 45 | (lambda (s) |
| 46 | ;; This inline version of 'bit-field' assumes that START and END are | 46 | ;; This inline version of 'bit-field' assumes that START and END are |
diff --git a/guix/build-system/channel.scm b/guix/build-system/channel.scm index 7b906dea28b..fe59520d1cc 100644 --- a/guix/build-system/channel.scm +++ b/guix/build-system/channel.scm | |||
| @@ -16,14 +16,6 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (guix build-system channel) | ||
| 20 | #:use-module ((guix store) #:select (%store-monad store-lift)) | ||
| 21 | #:use-module ((guix gexp) #:select (lower-object)) | ||
| 22 | #:use-module (guix monads) | ||
| 23 | #:use-module (guix channels) | ||
| 24 | #:use-module (guix build-system) | ||
| 25 | #:export (channel-build-system)) | ||
| 26 | |||
| 27 | ;;; Commentary: | 19 | ;;; Commentary: |
| 28 | ;;; | 20 | ;;; |
| 29 | ;;; The "channel" build system lets you build Guix instances from channel | 21 | ;;; The "channel" build system lets you build Guix instances from channel |
| @@ -32,6 +24,14 @@ | |||
| 32 | ;;; | 24 | ;;; |
| 33 | ;;; Code: | 25 | ;;; Code: |
| 34 | 26 | ||
| 27 | (define-module (guix build-system channel) | ||
| 28 | #:use-module ((guix store) #:select (%store-monad store-lift)) | ||
| 29 | #:use-module ((guix gexp) #:select (lower-object)) | ||
| 30 | #:use-module (guix monads) | ||
| 31 | #:use-module (guix channels) | ||
| 32 | #:use-module (guix build-system) | ||
| 33 | #:export (channel-build-system)) | ||
| 34 | |||
| 35 | (define latest-channel-instances* | 35 | (define latest-channel-instances* |
| 36 | (store-lift latest-channel-instances)) | 36 | (store-lift latest-channel-instances)) |
| 37 | 37 | ||
diff --git a/guix/build/android-repo.scm b/guix/build/android-repo.scm index db8c4d127ba..531f5e8c40b 100644 --- a/guix/build/android-repo.scm +++ b/guix/build/android-repo.scm | |||
| @@ -17,12 +17,6 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | (define-module (guix build android-repo) | ||
| 21 | #:use-module (guix build utils) | ||
| 22 | #:use-module (srfi srfi-34) | ||
| 23 | #:use-module (ice-9 format) | ||
| 24 | #:export (android-repo-fetch)) | ||
| 25 | |||
| 26 | ;;; Commentary: | 20 | ;;; Commentary: |
| 27 | ;;; | 21 | ;;; |
| 28 | ;;; This is the build-side support code of (guix android-repo-download). | 22 | ;;; This is the build-side support code of (guix android-repo-download). |
| @@ -31,6 +25,12 @@ | |||
| 31 | ;;; | 25 | ;;; |
| 32 | ;;; Code: | 26 | ;;; Code: |
| 33 | 27 | ||
| 28 | (define-module (guix build android-repo) | ||
| 29 | #:use-module (guix build utils) | ||
| 30 | #:use-module (srfi srfi-34) | ||
| 31 | #:use-module (ice-9 format) | ||
| 32 | #:export (android-repo-fetch)) | ||
| 33 | |||
| 34 | (define* (android-repo-fetch manifest-url manifest-revision directory | 34 | (define* (android-repo-fetch manifest-url manifest-revision directory |
| 35 | #:key (git-repo-command "git-repo")) | 35 | #:key (git-repo-command "git-repo")) |
| 36 | "Fetch packages according to the manifest at MANIFEST-URL with | 36 | "Fetch packages according to the manifest at MANIFEST-URL with |
diff --git a/guix/build/bournish.scm b/guix/build/bournish.scm index 31fc493b09b..9ec76a0378d 100644 --- a/guix/build/bournish.scm +++ b/guix/build/bournish.scm | |||
| @@ -18,6 +18,14 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This is a super minimal Bourne-like shell language for Guile. It is meant | ||
| 24 | ;;; to be used at the REPL as a rescue shell. In a way, this is to Guile what | ||
| 25 | ;;; eshell is to Emacs. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 21 | (define-module (guix build bournish) | 29 | (define-module (guix build bournish) |
| 22 | #:use-module (system base language) | 30 | #:use-module (system base language) |
| 23 | #:use-module (system base compile) | 31 | #:use-module (system base compile) |
| @@ -31,14 +39,6 @@ | |||
| 31 | #:use-module (srfi srfi-26) | 39 | #:use-module (srfi srfi-26) |
| 32 | #:export (%bournish-language)) | 40 | #:export (%bournish-language)) |
| 33 | 41 | ||
| 34 | ;;; Commentary: | ||
| 35 | ;;; | ||
| 36 | ;;; This is a super minimal Bourne-like shell language for Guile. It is meant | ||
| 37 | ;;; to be used at the REPL as a rescue shell. In a way, this is to Guile what | ||
| 38 | ;;; eshell is to Emacs. | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | |||
| 42 | (define (expand-variable str) | 42 | (define (expand-variable str) |
| 43 | "Return STR or code to obtain the value of the environment variable STR | 43 | "Return STR or code to obtain the value of the environment variable STR |
| 44 | refers to." | 44 | refers to." |
diff --git a/guix/build/bzr.scm b/guix/build/bzr.scm index dede5e031ab..1dcaa7b61f8 100644 --- a/guix/build/bzr.scm +++ b/guix/build/bzr.scm | |||
| @@ -16,10 +16,6 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (guix build bzr) | ||
| 20 | #:use-module (guix build utils) | ||
| 21 | #:export (bzr-fetch)) | ||
| 22 | |||
| 23 | ;;; Commentary: | 19 | ;;; Commentary: |
| 24 | ;;; | 20 | ;;; |
| 25 | ;;; This is the build-side support code of (guix bzr-download). It allows a | 21 | ;;; This is the build-side support code of (guix bzr-download). It allows a |
| @@ -27,6 +23,10 @@ | |||
| 27 | ;;; | 23 | ;;; |
| 28 | ;;; Code: | 24 | ;;; Code: |
| 29 | 25 | ||
| 26 | (define-module (guix build bzr) | ||
| 27 | #:use-module (guix build utils) | ||
| 28 | #:export (bzr-fetch)) | ||
| 29 | |||
| 30 | (define* (bzr-fetch url revision directory | 30 | (define* (bzr-fetch url revision directory |
| 31 | #:key (bzr-command "brz")) | 31 | #:key (bzr-command "brz")) |
| 32 | "Fetch REVISION from URL into DIRECTORY. REVISION must be a valid Bazaar | 32 | "Fetch REVISION from URL into DIRECTORY. REVISION must be a valid Bazaar |
diff --git a/guix/build/compile.scm b/guix/build/compile.scm index f90016b9ae8..03d6b5396bb 100644 --- a/guix/build/compile.scm +++ b/guix/build/compile.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Support code to compile Guile code as efficiently as possible (with 2.2). | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (guix build compile) | 26 | (define-module (guix build compile) |
| 21 | #:use-module (srfi srfi-1) | 27 | #:use-module (srfi srfi-1) |
| 22 | #:use-module (ice-9 match) | 28 | #:use-module (ice-9 match) |
| @@ -31,12 +37,6 @@ | |||
| 31 | #:use-module (language cps optimize) | 37 | #:use-module (language cps optimize) |
| 32 | #:export (compile-files)) | 38 | #:export (compile-files)) |
| 33 | 39 | ||
| 34 | ;;; Commentary: | ||
| 35 | ;;; | ||
| 36 | ;;; Support code to compile Guile code as efficiently as possible (with 2.2). | ||
| 37 | ;;; | ||
| 38 | ;;; Code: | ||
| 39 | |||
| 40 | (define (clear-keyword-arguments keywords args) | 40 | (define (clear-keyword-arguments keywords args) |
| 41 | "Set to #f the value associated with each of the KEYWORDS in ARGS." | 41 | "Set to #f the value associated with each of the KEYWORDS in ARGS." |
| 42 | (let loop ((args args) | 42 | (let loop ((args args) |
diff --git a/guix/build/cvs.scm b/guix/build/cvs.scm index 71110437475..2ad0beb0b6d 100644 --- a/guix/build/cvs.scm +++ b/guix/build/cvs.scm | |||
| @@ -17,12 +17,6 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | (define-module (guix build cvs) | ||
| 21 | #:use-module (guix build utils) | ||
| 22 | #:use-module (ice-9 regex) | ||
| 23 | #:use-module (ice-9 ftw) | ||
| 24 | #:export (cvs-fetch)) | ||
| 25 | |||
| 26 | ;;; Commentary: | 20 | ;;; Commentary: |
| 27 | ;;; | 21 | ;;; |
| 28 | ;;; This is the build-side support code of (guix cvs-download). It allows a | 22 | ;;; This is the build-side support code of (guix cvs-download). It allows a |
| @@ -30,6 +24,12 @@ | |||
| 30 | ;;; | 24 | ;;; |
| 31 | ;;; Code: | 25 | ;;; Code: |
| 32 | 26 | ||
| 27 | (define-module (guix build cvs) | ||
| 28 | #:use-module (guix build utils) | ||
| 29 | #:use-module (ice-9 regex) | ||
| 30 | #:use-module (ice-9 ftw) | ||
| 31 | #:export (cvs-fetch)) | ||
| 32 | |||
| 33 | (define (find-cvs-directories) | 33 | (define (find-cvs-directories) |
| 34 | (define (enter? path st result) | 34 | (define (enter? path st result) |
| 35 | (not (string-suffix? "/CVS" path))) | 35 | (not (string-suffix? "/CVS" path))) |
diff --git a/guix/build/debug-link.scm b/guix/build/debug-link.scm index 80941df2fc7..4ea1f587ef1 100644 --- a/guix/build/debug-link.scm +++ b/guix/build/debug-link.scm | |||
| @@ -16,6 +16,20 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides tools to deal with '.gnu_debuglink' sections in ELF | ||
| 22 | ;;; files. These sections are created by 'objcopy --add-gnu-debuglink' to | ||
| 23 | ;;; create separate debug files (info "(gdb) Separate Debug Files"). | ||
| 24 | ;;; | ||
| 25 | ;;; The main facility of this module is 'graft-debug-links', which allows us | ||
| 26 | ;;; to update the cyclic redundancy check (CRC) that appears in | ||
| 27 | ;;; '.gnu_debuglink' sections when grafting, such that separate debug files | ||
| 28 | ;;; remain usable after grafting. Failing to do that, GDB would complain | ||
| 29 | ;;; about CRC mismatch---see <https://issues.guix.gnu.org/19973>. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 19 | (define-module (guix build debug-link) | 33 | (define-module (guix build debug-link) |
| 20 | #:use-module (guix elf) | 34 | #:use-module (guix elf) |
| 21 | #:use-module ((guix build utils) | 35 | #:use-module ((guix build utils) |
| @@ -31,20 +45,6 @@ | |||
| 31 | 45 | ||
| 32 | graft-debug-links)) | 46 | graft-debug-links)) |
| 33 | 47 | ||
| 34 | ;;; Commentary: | ||
| 35 | ;;; | ||
| 36 | ;;; This module provides tools to deal with '.gnu_debuglink' sections in ELF | ||
| 37 | ;;; files. These sections are created by 'objcopy --add-gnu-debuglink' to | ||
| 38 | ;;; create separate debug files (info "(gdb) Separate Debug Files"). | ||
| 39 | ;;; | ||
| 40 | ;;; The main facility of this module is 'graft-debug-links', which allows us | ||
| 41 | ;;; to update the cyclic redundancy check (CRC) that appears in | ||
| 42 | ;;; '.gnu_debuglink' sections when grafting, such that separate debug files | ||
| 43 | ;;; remain usable after grafting. Failing to do that, GDB would complain | ||
| 44 | ;;; about CRC mismatch---see <https://issues.guix.gnu.org/19973>. | ||
| 45 | ;;; | ||
| 46 | ;;; Code: | ||
| 47 | |||
| 48 | (define %crc32-table | 48 | (define %crc32-table |
| 49 | ;; CRC table taken from "(gdb) Separate Debug Files". | 49 | ;; CRC table taken from "(gdb) Separate Debug Files". |
| 50 | ;; TODO: Wouldn't it be nice to generate it "from source" with a macro? | 50 | ;; TODO: Wouldn't it be nice to generate it "from source" with a macro? |
diff --git a/guix/build/download-nar.scm b/guix/build/download-nar.scm index e1153e20275..796bc957a4e 100644 --- a/guix/build/download-nar.scm +++ b/guix/build/download-nar.scm | |||
| @@ -16,6 +16,15 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Download a normalized archive or "nar", similar to what 'guix substitute' | ||
| 22 | ;;; does. The intent here is to use substitute servers as content-addressed | ||
| 23 | ;;; mirrors of VCS checkouts. This is mostly useful for users who have | ||
| 24 | ;;; disabled substitutes. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 19 | (define-module (guix build download-nar) | 28 | (define-module (guix build download-nar) |
| 20 | #:use-module (guix build download) | 29 | #:use-module (guix build download) |
| 21 | #:use-module ((guix serialization) #:hide (dump-port*)) | 30 | #:use-module ((guix serialization) #:hide (dump-port*)) |
| @@ -28,15 +37,6 @@ | |||
| 28 | #:use-module (ice-9 match) | 37 | #:use-module (ice-9 match) |
| 29 | #:export (download-nar)) | 38 | #:export (download-nar)) |
| 30 | 39 | ||
| 31 | ;;; Commentary: | ||
| 32 | ;;; | ||
| 33 | ;;; Download a normalized archive or "nar", similar to what 'guix substitute' | ||
| 34 | ;;; does. The intent here is to use substitute servers as content-addressed | ||
| 35 | ;;; mirrors of VCS checkouts. This is mostly useful for users who have | ||
| 36 | ;;; disabled substitutes. | ||
| 37 | ;;; | ||
| 38 | ;;; Code: | ||
| 39 | |||
| 40 | (define (urls-for-item item) | 40 | (define (urls-for-item item) |
| 41 | "Return the fallback nar URL for ITEM--e.g., | 41 | "Return the fallback nar URL for ITEM--e.g., |
| 42 | \"/gnu/store/cabbag3…-foo-1.2-checkout\"." | 42 | \"/gnu/store/cabbag3…-foo-1.2-checkout\"." |
diff --git a/guix/build/download.scm b/guix/build/download.scm index 8cf1814ea11..bf3f330b744 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Fetch data such as tarballs over HTTP or FTP (builder-side code). | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 22 | (define-module (guix build download) | 28 | (define-module (guix build download) |
| 23 | #:use-module (web uri) | 29 | #:use-module (web uri) |
| 24 | #:use-module (web http) | 30 | #:use-module (web http) |
| @@ -56,12 +62,6 @@ | |||
| 56 | nar-uri-abbreviation | 62 | nar-uri-abbreviation |
| 57 | store-path-abbreviation)) | 63 | store-path-abbreviation)) |
| 58 | 64 | ||
| 59 | ;;; Commentary: | ||
| 60 | ;;; | ||
| 61 | ;;; Fetch data such as tarballs over HTTP or FTP (builder-side code). | ||
| 62 | ;;; | ||
| 63 | ;;; Code: | ||
| 64 | |||
| 65 | (define %http-receive-buffer-size | 65 | (define %http-receive-buffer-size |
| 66 | ;; Size of the HTTP receive buffer. | 66 | ;; Size of the HTTP receive buffer. |
| 67 | 65536) | 67 | 65536) |
diff --git a/guix/build/elm-build-system.scm b/guix/build/elm-build-system.scm index a2a54ab28c3..34c561452c5 100644 --- a/guix/build/elm-build-system.scm +++ b/guix/build/elm-build-system.scm | |||
| @@ -16,26 +16,6 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (guix build elm-build-system) | ||
| 20 | #:use-module ((guix build gnu-build-system) #:prefix gnu:) | ||
| 21 | #:use-module (guix build utils) | ||
| 22 | #:use-module (guix build union) | ||
| 23 | #:use-module (ice-9 ftw) | ||
| 24 | #:use-module (ice-9 rdelim) | ||
| 25 | #:use-module (ice-9 regex) | ||
| 26 | #:use-module (ice-9 match) | ||
| 27 | #:use-module (ice-9 popen) | ||
| 28 | #:use-module (ice-9 vlist) | ||
| 29 | #:use-module (json) | ||
| 30 | #:use-module (srfi srfi-1) | ||
| 31 | #:use-module (srfi srfi-26) | ||
| 32 | #:use-module (srfi srfi-71) | ||
| 33 | #:export (%standard-phases | ||
| 34 | patch-application-dependencies | ||
| 35 | patch-json-string-escapes | ||
| 36 | read-offline-registry->vhash | ||
| 37 | elm-build)) | ||
| 38 | |||
| 39 | ;;; Commentary: | 19 | ;;; Commentary: |
| 40 | ;;; | 20 | ;;; |
| 41 | ;;; Elm draws a sharp distinction between "projects" with `{"type":"package"}` | 21 | ;;; Elm draws a sharp distinction between "projects" with `{"type":"package"}` |
| @@ -90,6 +70,26 @@ | |||
| 90 | ;;; Code: | 70 | ;;; Code: |
| 91 | ;;; | 71 | ;;; |
| 92 | 72 | ||
| 73 | (define-module (guix build elm-build-system) | ||
| 74 | #:use-module ((guix build gnu-build-system) #:prefix gnu:) | ||
| 75 | #:use-module (guix build utils) | ||
| 76 | #:use-module (guix build union) | ||
| 77 | #:use-module (ice-9 ftw) | ||
| 78 | #:use-module (ice-9 rdelim) | ||
| 79 | #:use-module (ice-9 regex) | ||
| 80 | #:use-module (ice-9 match) | ||
| 81 | #:use-module (ice-9 popen) | ||
| 82 | #:use-module (ice-9 vlist) | ||
| 83 | #:use-module (json) | ||
| 84 | #:use-module (srfi srfi-1) | ||
| 85 | #:use-module (srfi srfi-26) | ||
| 86 | #:use-module (srfi srfi-71) | ||
| 87 | #:export (%standard-phases | ||
| 88 | patch-application-dependencies | ||
| 89 | patch-json-string-escapes | ||
| 90 | read-offline-registry->vhash | ||
| 91 | elm-build)) | ||
| 92 | |||
| 93 | (define %essential-elm-packages | 93 | (define %essential-elm-packages |
| 94 | ;; elm/json isn't essential in a fundamental sense, | 94 | ;; elm/json isn't essential in a fundamental sense, |
| 95 | ;; but it's required for a {"type":"application"}, | 95 | ;; but it's required for a {"type":"application"}, |
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm index 41914e7dcb0..e7763658da8 100644 --- a/guix/build/emacs-utils.scm +++ b/guix/build/emacs-utils.scm | |||
| @@ -20,6 +20,13 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Tools to programmatically edit files using Emacs, | ||
| 26 | ;;; e.g. to replace entire s-expressions in elisp files. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 23 | (define-module (guix build emacs-utils) | 30 | (define-module (guix build emacs-utils) |
| 24 | #:use-module (guix build utils) | 31 | #:use-module (guix build utils) |
| 25 | #:use-module (ice-9 format) | 32 | #:use-module (ice-9 format) |
| @@ -47,13 +54,6 @@ | |||
| 47 | emacs-substitute-sexps | 54 | emacs-substitute-sexps |
| 48 | emacs-substitute-variables)) | 55 | emacs-substitute-variables)) |
| 49 | 56 | ||
| 50 | ;;; Commentary: | ||
| 51 | ;;; | ||
| 52 | ;;; Tools to programmatically edit files using Emacs, | ||
| 53 | ;;; e.g. to replace entire s-expressions in elisp files. | ||
| 54 | ;;; | ||
| 55 | ;;; Code: | ||
| 56 | |||
| 57 | (define %emacs | 57 | (define %emacs |
| 58 | ;; The `emacs' command. | 58 | ;; The `emacs' command. |
| 59 | (make-parameter "emacs")) | 59 | (make-parameter "emacs")) |
diff --git a/guix/build/git.scm b/guix/build/git.scm index 98077fe8be3..d74364d0a69 100644 --- a/guix/build/git.scm +++ b/guix/build/git.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This is the build-side support code of (guix git-download). It allows a | ||
| 23 | ;;; Git repository to be cloned and checked out at a specific commit. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix build git) | 27 | (define-module (guix build git) |
| 21 | #:use-module (guix build utils) | 28 | #:use-module (guix build utils) |
| 22 | #:use-module ((guix build download) | 29 | #:use-module ((guix build download) |
| @@ -30,13 +37,6 @@ | |||
| 30 | #:export (git-fetch | 37 | #:export (git-fetch |
| 31 | git-fetch-with-fallback)) | 38 | git-fetch-with-fallback)) |
| 32 | 39 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; This is the build-side support code of (guix git-download). It allows a | ||
| 36 | ;;; Git repository to be cloned and checked out at a specific commit. | ||
| 37 | ;;; | ||
| 38 | ;;; Code: | ||
| 39 | |||
| 40 | (define* (git-fetch url commit directory | 40 | (define* (git-fetch url commit directory |
| 41 | #:key (git-command "git") | 41 | #:key (git-command "git") |
| 42 | lfs? recursive?) | 42 | lfs? recursive?) |
diff --git a/guix/build/gnu-dist.scm b/guix/build/gnu-dist.scm index 59ac0012b80..4d6b19d3358 100644 --- a/guix/build/gnu-dist.scm +++ b/guix/build/gnu-dist.scm | |||
| @@ -18,12 +18,6 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | (define-module (guix build gnu-dist) | ||
| 22 | #:use-module (guix build utils) | ||
| 23 | #:use-module (guix build gnu-build-system) | ||
| 24 | #:use-module (srfi srfi-1) | ||
| 25 | #:export (%dist-phases)) | ||
| 26 | |||
| 27 | ;;; Commentary: | 21 | ;;; Commentary: |
| 28 | ;;; | 22 | ;;; |
| 29 | ;;; Build phases to build a source tarball with the GNU build system, as with | 23 | ;;; Build phases to build a source tarball with the GNU build system, as with |
| @@ -31,6 +25,12 @@ | |||
| 31 | ;;; | 25 | ;;; |
| 32 | ;;; Code: | 26 | ;;; Code: |
| 33 | 27 | ||
| 28 | (define-module (guix build gnu-dist) | ||
| 29 | #:use-module (guix build utils) | ||
| 30 | #:use-module (guix build gnu-build-system) | ||
| 31 | #:use-module (srfi srfi-1) | ||
| 32 | #:export (%dist-phases)) | ||
| 33 | |||
| 34 | (define* (build #:key build-before-dist? make-flags (dist-target "distcheck") | 34 | (define* (build #:key build-before-dist? make-flags (dist-target "distcheck") |
| 35 | #:allow-other-keys | 35 | #:allow-other-keys |
| 36 | #:rest args) | 36 | #:rest args) |
diff --git a/guix/build/graft.scm b/guix/build/graft.scm index 49fabfea174..77ae9a4b294 100644 --- a/guix/build/graft.scm +++ b/guix/build/graft.scm | |||
| @@ -17,20 +17,6 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | (define-module (guix build graft) | ||
| 21 | #:use-module (guix build utils) | ||
| 22 | #:use-module (guix build debug-link) | ||
| 23 | #:use-module (rnrs bytevectors) | ||
| 24 | #:use-module (ice-9 vlist) | ||
| 25 | #:use-module (ice-9 match) | ||
| 26 | #:use-module (ice-9 threads) | ||
| 27 | #:use-module (ice-9 binary-ports) | ||
| 28 | #:use-module (srfi srfi-1) ; list library | ||
| 29 | #:use-module (srfi srfi-26) ; cut and cute | ||
| 30 | #:export (replace-store-references | ||
| 31 | rewrite-directory | ||
| 32 | graft)) | ||
| 33 | |||
| 34 | ;;; Commentary: | 20 | ;;; Commentary: |
| 35 | ;;; | 21 | ;;; |
| 36 | ;;; This module supports "grafts". Grafting a directory means rewriting it, | 22 | ;;; This module supports "grafts". Grafting a directory means rewriting it, |
| @@ -44,6 +30,20 @@ | |||
| 44 | ;;; | 30 | ;;; |
| 45 | ;;; Code: | 31 | ;;; Code: |
| 46 | 32 | ||
| 33 | (define-module (guix build graft) | ||
| 34 | #:use-module (guix build utils) | ||
| 35 | #:use-module (guix build debug-link) | ||
| 36 | #:use-module (rnrs bytevectors) | ||
| 37 | #:use-module (ice-9 vlist) | ||
| 38 | #:use-module (ice-9 match) | ||
| 39 | #:use-module (ice-9 threads) | ||
| 40 | #:use-module (ice-9 binary-ports) | ||
| 41 | #:use-module (srfi srfi-1) ; list library | ||
| 42 | #:use-module (srfi srfi-26) ; cut and cute | ||
| 43 | #:export (replace-store-references | ||
| 44 | rewrite-directory | ||
| 45 | graft)) | ||
| 46 | |||
| 47 | (define-constant hash-length %store-hash-string-length) | 47 | (define-constant hash-length %store-hash-string-length) |
| 48 | 48 | ||
| 49 | (define nix-base32-char? | 49 | (define nix-base32-char? |
diff --git a/guix/build/gremlin.scm b/guix/build/gremlin.scm index 2a74d51dd91..bd56cf83030 100644 --- a/guix/build/gremlin.scm +++ b/guix/build/gremlin.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; A gremlin is sort-of like an elf, you know, and this module provides tools | ||
| 22 | ;;; to deal with dynamic-link information from ELF files. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix build gremlin) | 26 | (define-module (guix build gremlin) |
| 20 | #:use-module (guix elf) | 27 | #:use-module (guix elf) |
| 21 | #:use-module ((guix build utils) #:select (store-file-name?)) | 28 | #:use-module ((guix build utils) #:select (store-file-name?)) |
| @@ -55,13 +62,6 @@ | |||
| 55 | validate-needed-in-runpath | 62 | validate-needed-in-runpath |
| 56 | strip-runpath)) | 63 | strip-runpath)) |
| 57 | 64 | ||
| 58 | ;;; Commentary: | ||
| 59 | ;;; | ||
| 60 | ;;; A gremlin is sort-of like an elf, you know, and this module provides tools | ||
| 61 | ;;; to deal with dynamic-link information from ELF files. | ||
| 62 | ;;; | ||
| 63 | ;;; Code: | ||
| 64 | |||
| 65 | (define-condition-type &elf-error &error | 65 | (define-condition-type &elf-error &error |
| 66 | elf-error? | 66 | elf-error? |
| 67 | (elf elf-error-elf)) | 67 | (elf elf-error-elf)) |
diff --git a/guix/build/hg.scm b/guix/build/hg.scm index 0ffad7fa2dc..d0f71d0fd47 100644 --- a/guix/build/hg.scm +++ b/guix/build/hg.scm | |||
| @@ -19,12 +19,6 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | (define-module (guix build hg) | ||
| 23 | #:use-module (guix build utils) | ||
| 24 | #:use-module (srfi srfi-34) | ||
| 25 | #:use-module (ice-9 format) | ||
| 26 | #:export (hg-fetch)) | ||
| 27 | |||
| 28 | ;;; Commentary: | 22 | ;;; Commentary: |
| 29 | ;;; | 23 | ;;; |
| 30 | ;;; This is the build-side support code of (guix hg-download). It allows a | 24 | ;;; This is the build-side support code of (guix hg-download). It allows a |
| @@ -33,6 +27,12 @@ | |||
| 33 | ;;; | 27 | ;;; |
| 34 | ;;; Code: | 28 | ;;; Code: |
| 35 | 29 | ||
| 30 | (define-module (guix build hg) | ||
| 31 | #:use-module (guix build utils) | ||
| 32 | #:use-module (srfi srfi-34) | ||
| 33 | #:use-module (ice-9 format) | ||
| 34 | #:export (hg-fetch)) | ||
| 35 | |||
| 36 | (define* (hg-fetch url changeset directory | 36 | (define* (hg-fetch url changeset directory |
| 37 | #:key (hg-command "hg")) | 37 | #:key (hg-command "hg")) |
| 38 | "Fetch CHANGESET from URL into DIRECTORY. CHANGESET must be a valid | 38 | "Fetch CHANGESET from URL into DIRECTORY. CHANGESET must be a valid |
diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm index 09965c598e8..6c2d55e45b7 100644 --- a/guix/build/lisp-utils.scm +++ b/guix/build/lisp-utils.scm | |||
| @@ -18,6 +18,14 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; Tools to evaluate lisp programs within a lisp session, generate wrapper | ||
| 24 | ;;; systems for executables. Compile, test, and produce images for systems and | ||
| 25 | ;;; programs, and link them with their dependencies. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 21 | (define-module (guix build lisp-utils) | 29 | (define-module (guix build lisp-utils) |
| 22 | #:use-module (ice-9 format) | 30 | #:use-module (ice-9 format) |
| 23 | #:use-module (ice-9 hash-table) | 31 | #:use-module (ice-9 hash-table) |
| @@ -45,14 +53,6 @@ | |||
| 45 | normalize-string | 53 | normalize-string |
| 46 | library-output)) | 54 | library-output)) |
| 47 | 55 | ||
| 48 | ;;; Commentary: | ||
| 49 | ;;; | ||
| 50 | ;;; Tools to evaluate lisp programs within a lisp session, generate wrapper | ||
| 51 | ;;; systems for executables. Compile, test, and produce images for systems and | ||
| 52 | ;;; programs, and link them with their dependencies. | ||
| 53 | ;;; | ||
| 54 | ;;; Code: | ||
| 55 | |||
| 56 | (define %lisp | 56 | (define %lisp |
| 57 | ;; File name of the Lisp compiler. | 57 | ;; File name of the Lisp compiler. |
| 58 | (make-parameter "lisp")) | 58 | (make-parameter "lisp")) |
diff --git a/guix/build/pack.scm b/guix/build/pack.scm index 1b281014698..c68f2bffcdc 100644 --- a/guix/build/pack.scm +++ b/guix/build/pack.scm | |||
| @@ -16,6 +16,15 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module contains build-side common procedures used by the host-side | ||
| 22 | ;;; (guix scripts pack) module, mostly to allow for code reuse. Due to making | ||
| 23 | ;;; use of the (guix build store-copy) module, it transitively requires the | ||
| 24 | ;;; sqlite and gcrypt extensions to be available. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 19 | (define-module (guix build pack) | 28 | (define-module (guix build pack) |
| 20 | #:use-module (gnu build install) | 29 | #:use-module (gnu build install) |
| 21 | #:use-module (guix build utils) | 30 | #:use-module (guix build utils) |
| @@ -28,15 +37,6 @@ | |||
| 28 | populate-profile-root | 37 | populate-profile-root |
| 29 | build-self-contained-tarball)) | 38 | build-self-contained-tarball)) |
| 30 | 39 | ||
| 31 | ;;; Commentary: | ||
| 32 | |||
| 33 | ;;; This module contains build-side common procedures used by the host-side | ||
| 34 | ;;; (guix scripts pack) module, mostly to allow for code reuse. Due to making | ||
| 35 | ;;; use of the (guix build store-copy) module, it transitively requires the | ||
| 36 | ;;; sqlite and gcrypt extensions to be available. | ||
| 37 | |||
| 38 | ;;; Code: | ||
| 39 | |||
| 40 | (define* (tar-base-options #:key tar compressor) | 40 | (define* (tar-base-options #:key tar compressor) |
| 41 | "Return the base GNU tar options required to produce deterministic archives | 41 | "Return the base GNU tar options required to produce deterministic archives |
| 42 | deterministically. When TAR, a GNU tar command file name, is provided, the | 42 | deterministically. When TAR, a GNU tar command file name, is provided, the |
diff --git a/guix/build/profiles.scm b/guix/build/profiles.scm index b19d93f9714..bde78bfd024 100644 --- a/guix/build/profiles.scm +++ b/guix/build/profiles.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Build a user profile (essentially the union of all the installed packages) | ||
| 22 | ;;; with its associated meta-data. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix build profiles) | 26 | (define-module (guix build profiles) |
| 20 | #:use-module (guix build union) | 27 | #:use-module (guix build union) |
| 21 | #:use-module (guix build utils) | 28 | #:use-module (guix build utils) |
| @@ -30,13 +37,6 @@ | |||
| 30 | #:export (ensure-writable-directory | 37 | #:export (ensure-writable-directory |
| 31 | build-profile)) | 38 | build-profile)) |
| 32 | 39 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; Build a user profile (essentially the union of all the installed packages) | ||
| 36 | ;;; with its associated meta-data. | ||
| 37 | ;;; | ||
| 38 | ;;; Code: | ||
| 39 | |||
| 40 | (define (abstract-profile profile) | 40 | (define (abstract-profile profile) |
| 41 | "Return a procedure that replaces PROFILE in VALUE with a reference to the | 41 | "Return a procedure that replaces PROFILE in VALUE with a reference to the |
| 42 | 'GUIX_PROFILE' environment variable. This allows users to specify what the | 42 | 'GUIX_PROFILE' environment variable. This allows users to specify what the |
diff --git a/guix/build/pyproject-build-system.scm b/guix/build/pyproject-build-system.scm index f611afada24..3effdc61600 100644 --- a/guix/build/pyproject-build-system.scm +++ b/guix/build/pyproject-build-system.scm | |||
| @@ -20,29 +20,6 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | (define-module (guix build pyproject-build-system) | ||
| 24 | #:autoload (json builder) (scm->json scm->json-string) | ||
| 25 | #:use-module ((guix build gnu-build-system) #:prefix gnu:) | ||
| 26 | #:use-module (guix build utils) | ||
| 27 | #:use-module (guix build toml) | ||
| 28 | #:use-module (ice-9 match) | ||
| 29 | #:use-module (ice-9 ftw) | ||
| 30 | #:use-module (ice-9 format) | ||
| 31 | #:use-module (ice-9 rdelim) | ||
| 32 | #:use-module (ice-9 regex) | ||
| 33 | #:use-module (srfi srfi-1) | ||
| 34 | #:use-module (srfi srfi-2) | ||
| 35 | #:use-module (srfi srfi-26) | ||
| 36 | #:use-module (srfi srfi-34) | ||
| 37 | #:use-module (srfi srfi-35) | ||
| 38 | #:use-module (srfi srfi-71) | ||
| 39 | #:export (%standard-phases | ||
| 40 | add-installed-pythonpath | ||
| 41 | ensure-no-mtimes-pre-1980 | ||
| 42 | site-packages | ||
| 43 | python-version | ||
| 44 | pyproject-build)) | ||
| 45 | |||
| 46 | ;;; Commentary: | 23 | ;;; Commentary: |
| 47 | ;;; | 24 | ;;; |
| 48 | ;;; PEP 517-compatible build system for Python packages. | 25 | ;;; PEP 517-compatible build system for Python packages. |
| @@ -71,7 +48,29 @@ | |||
| 71 | ;;; overridden by #:backend-path. | 48 | ;;; overridden by #:backend-path. |
| 72 | ;;; | 49 | ;;; |
| 73 | ;;; Code: | 50 | ;;; Code: |
| 74 | ;;; | 51 | |
| 52 | (define-module (guix build pyproject-build-system) | ||
| 53 | #:autoload (json builder) (scm->json scm->json-string) | ||
| 54 | #:use-module ((guix build gnu-build-system) #:prefix gnu:) | ||
| 55 | #:use-module (guix build utils) | ||
| 56 | #:use-module (guix build toml) | ||
| 57 | #:use-module (ice-9 match) | ||
| 58 | #:use-module (ice-9 ftw) | ||
| 59 | #:use-module (ice-9 format) | ||
| 60 | #:use-module (ice-9 rdelim) | ||
| 61 | #:use-module (ice-9 regex) | ||
| 62 | #:use-module (srfi srfi-1) | ||
| 63 | #:use-module (srfi srfi-2) | ||
| 64 | #:use-module (srfi srfi-26) | ||
| 65 | #:use-module (srfi srfi-34) | ||
| 66 | #:use-module (srfi srfi-35) | ||
| 67 | #:use-module (srfi srfi-71) | ||
| 68 | #:export (%standard-phases | ||
| 69 | add-installed-pythonpath | ||
| 70 | ensure-no-mtimes-pre-1980 | ||
| 71 | site-packages | ||
| 72 | python-version | ||
| 73 | pyproject-build)) | ||
| 75 | 74 | ||
| 76 | ;; Copy these procedures from python-build-system as many packages | 75 | ;; Copy these procedures from python-build-system as many packages |
| 77 | ;; rely on these. | 76 | ;; rely on these. |
diff --git a/guix/build/store-copy.scm b/guix/build/store-copy.scm index 657a91f324a..1abb1a5b01a 100644 --- a/guix/build/store-copy.scm +++ b/guix/build/store-copy.scm | |||
| @@ -16,6 +16,15 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides the tools to copy store items and their dependencies | ||
| 22 | ;;; to another store. It relies on the availability of "reference graph" | ||
| 23 | ;;; files as produced by 'gexp->derivation' et al. with the | ||
| 24 | ;;; #:references-graphs parameter. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 19 | (define-module (guix build store-copy) | 28 | (define-module (guix build store-copy) |
| 20 | #:use-module ((guix build utils) #:hide (copy-recursively)) | 29 | #:use-module ((guix build utils) #:hide (copy-recursively)) |
| 21 | #:use-module (guix sets) | 30 | #:use-module (guix sets) |
| @@ -41,15 +50,6 @@ | |||
| 41 | copy-store-item | 50 | copy-store-item |
| 42 | populate-store)) | 51 | populate-store)) |
| 43 | 52 | ||
| 44 | ;;; Commentary: | ||
| 45 | ;;; | ||
| 46 | ;;; This module provides the tools to copy store items and their dependencies | ||
| 47 | ;;; to another store. It relies on the availability of "reference graph" | ||
| 48 | ;;; files as produced by 'gexp->derivation' et al. with the | ||
| 49 | ;;; #:references-graphs parameter. | ||
| 50 | ;;; | ||
| 51 | ;;; Code: | ||
| 52 | |||
| 53 | ;; Information about a store item as produced by #:references-graphs. | 53 | ;; Information about a store item as produced by #:references-graphs. |
| 54 | (define-record-type <store-info> | 54 | (define-record-type <store-info> |
| 55 | (store-info item deriver references) | 55 | (store-info item deriver references) |
diff --git a/guix/build/svn.scm b/guix/build/svn.scm index ea01e7ee650..9b974792184 100644 --- a/guix/build/svn.scm +++ b/guix/build/svn.scm | |||
| @@ -19,11 +19,6 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | (define-module (guix build svn) | ||
| 23 | #:use-module (guix build utils) | ||
| 24 | #:use-module (srfi srfi-34) | ||
| 25 | #:export (svn-fetch)) | ||
| 26 | |||
| 27 | ;;; Commentary: | 22 | ;;; Commentary: |
| 28 | ;;; | 23 | ;;; |
| 29 | ;;; This is the build-side support code of (guix svn-download). It allows a | 24 | ;;; This is the build-side support code of (guix svn-download). It allows a |
| @@ -31,6 +26,11 @@ | |||
| 31 | ;;; | 26 | ;;; |
| 32 | ;;; Code: | 27 | ;;; Code: |
| 33 | 28 | ||
| 29 | (define-module (guix build svn) | ||
| 30 | #:use-module (guix build utils) | ||
| 31 | #:use-module (srfi srfi-34) | ||
| 32 | #:export (svn-fetch)) | ||
| 33 | |||
| 34 | (define* (svn-fetch url revision directory | 34 | (define* (svn-fetch url revision directory |
| 35 | #:key (svn-command "svn") | 35 | #:key (svn-command "svn") |
| 36 | (recursive? #t) | 36 | (recursive? #t) |
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index da3f56350f2..ee9711f41e3 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm | |||
| @@ -27,6 +27,25 @@ | |||
| 27 | ;;; You should have received a copy of the GNU General Public License | 27 | ;;; You should have received a copy of the GNU General Public License |
| 28 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 28 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 29 | 29 | ||
| 30 | ;;; Commentary: | ||
| 31 | ;;; | ||
| 32 | ;;; This module provides bindings to libc's syscall wrappers. It uses the | ||
| 33 | ;;; FFI, and thus requires a dynamically-linked Guile. | ||
| 34 | ;;; | ||
| 35 | ;;; Some syscalls are already defined in statically-linked Guile by applying | ||
| 36 | ;;; 'guile-linux-syscalls.patch'. | ||
| 37 | ;;; | ||
| 38 | ;;; Visibility of syscall's symbols shared between this module and static Guile | ||
| 39 | ;;; is a bit delicate. It is handled by 'define-as-needed' macro. | ||
| 40 | ;;; | ||
| 41 | ;;; This macro is used to export symbols in dynamic Guile context, and to | ||
| 42 | ;;; re-export them in static Guile context. | ||
| 43 | ;;; | ||
| 44 | ;;; This way, even if they don't appear in #:export list, it is safe to use | ||
| 45 | ;;; syscalls from this module in static or dynamic Guile context. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 30 | (define-module (guix build syscalls) | 49 | (define-module (guix build syscalls) |
| 31 | #:use-module (system foreign) | 50 | #:use-module (system foreign) |
| 32 | #:use-module (system base target) | 51 | #:use-module (system base target) |
| @@ -228,25 +247,6 @@ | |||
| 228 | utmpx-entries | 247 | utmpx-entries |
| 229 | (read-utmpx-from-port . read-utmpx))) | 248 | (read-utmpx-from-port . read-utmpx))) |
| 230 | 249 | ||
| 231 | ;;; Commentary: | ||
| 232 | ;;; | ||
| 233 | ;;; This module provides bindings to libc's syscall wrappers. It uses the | ||
| 234 | ;;; FFI, and thus requires a dynamically-linked Guile. | ||
| 235 | ;;; | ||
| 236 | ;;; Some syscalls are already defined in statically-linked Guile by applying | ||
| 237 | ;;; 'guile-linux-syscalls.patch'. | ||
| 238 | ;;; | ||
| 239 | ;;; Visibility of syscall's symbols shared between this module and static Guile | ||
| 240 | ;;; is a bit delicate. It is handled by 'define-as-needed' macro. | ||
| 241 | ;;; | ||
| 242 | ;;; This macro is used to export symbols in dynamic Guile context, and to | ||
| 243 | ;;; re-export them in static Guile context. | ||
| 244 | ;;; | ||
| 245 | ;;; This way, even if they don't appear in #:export list, it is safe to use | ||
| 246 | ;;; syscalls from this module in static or dynamic Guile context. | ||
| 247 | ;;; | ||
| 248 | ;;; Code: | ||
| 249 | |||
| 250 | 250 | ||
| 251 | ;;; | 251 | ;;; |
| 252 | ;;; Packed structures. | 252 | ;;; Packed structures. |
diff --git a/guix/build/union.scm b/guix/build/union.scm index ce6d030109b..bccdb00ce72 100644 --- a/guix/build/union.scm +++ b/guix/build/union.scm | |||
| @@ -18,6 +18,13 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; Build a directory that is the union of a set of directories, using | ||
| 24 | ;;; symbolic links. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 21 | (define-module (guix build union) | 28 | (define-module (guix build union) |
| 22 | #:use-module (ice-9 match) | 29 | #:use-module (ice-9 match) |
| 23 | #:use-module (ice-9 format) | 30 | #:use-module (ice-9 format) |
| @@ -32,13 +39,6 @@ | |||
| 32 | relative-file-name | 39 | relative-file-name |
| 33 | symlink-relative)) | 40 | symlink-relative)) |
| 34 | 41 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; Build a directory that is the union of a set of directories, using | ||
| 38 | ;;; symbolic links. | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | |||
| 42 | ;; This code can be used with the bootstrap Guile, which is Guile 2.0, so | 42 | ;; This code can be used with the bootstrap Guile, which is Guile 2.0, so |
| 43 | ;; provide a compatibility layer. | 43 | ;; provide a compatibility layer. |
| 44 | (cond-expand | 44 | (cond-expand |
diff --git a/guix/bzr-download.scm b/guix/bzr-download.scm index cdd7f431397..ba812a9065c 100644 --- a/guix/bzr-download.scm +++ b/guix/bzr-download.scm | |||
| @@ -17,6 +17,14 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; An <origin> method that fetches a specific revision from a Bazaar | ||
| 23 | ;;; repository. The repository URL and revision identifier are specified with | ||
| 24 | ;;; a <bzr-reference> object. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 20 | (define-module (guix bzr-download) | 28 | (define-module (guix bzr-download) |
| 21 | #:use-module (guix gexp) | 29 | #:use-module (guix gexp) |
| 22 | #:use-module (guix modules) ;for 'source-module-closure' | 30 | #:use-module (guix modules) ;for 'source-module-closure' |
| @@ -32,14 +40,6 @@ | |||
| 32 | 40 | ||
| 33 | bzr-fetch)) | 41 | bzr-fetch)) |
| 34 | 42 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; An <origin> method that fetches a specific revision from a Bazaar | ||
| 38 | ;;; repository. The repository URL and revision identifier are specified with | ||
| 39 | ;;; a <bzr-reference> object. | ||
| 40 | ;;; | ||
| 41 | ;;; Code: | ||
| 42 | |||
| 43 | (define-record-type* <bzr-reference> | 43 | (define-record-type* <bzr-reference> |
| 44 | bzr-reference make-bzr-reference | 44 | bzr-reference make-bzr-reference |
| 45 | bzr-reference? | 45 | bzr-reference? |
diff --git a/guix/cache.scm b/guix/cache.scm index c1a12b17620..f3e5612a8e3 100644 --- a/guix/cache.scm +++ b/guix/cache.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides tools to manage a simple on-disk cache consisting of | ||
| 23 | ;;; individual files. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix cache) | 27 | (define-module (guix cache) |
| 21 | #:autoload (guix build syscalls) (lock-file unlock-file) | 28 | #:autoload (guix build syscalls) (lock-file unlock-file) |
| 22 | #:use-module (srfi srfi-19) | 29 | #:use-module (srfi srfi-19) |
| @@ -29,13 +36,6 @@ | |||
| 29 | remove-expired-cache-entries | 36 | remove-expired-cache-entries |
| 30 | maybe-remove-expired-cache-entries)) | 37 | maybe-remove-expired-cache-entries)) |
| 31 | 38 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; This module provides tools to manage a simple on-disk cache consisting of | ||
| 35 | ;;; individual files. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 39 | (define (obsolete? date now ttl) | 39 | (define (obsolete? date now ttl) |
| 40 | "Return #t if DATE is obsolete compared to NOW + TTL seconds." | 40 | "Return #t if DATE is obsolete compared to NOW + TTL seconds." |
| 41 | (time>? (subtract-duration now (make-time time-duration 0 ttl)) | 41 | (time>? (subtract-duration now (make-time time-duration 0 ttl)) |
diff --git a/guix/channels.scm b/guix/channels.scm index f216e201570..04cd2b8a2ed 100644 --- a/guix/channels.scm +++ b/guix/channels.scm | |||
| @@ -22,6 +22,19 @@ | |||
| 22 | ;;; You should have received a copy of the GNU General Public License | 22 | ;;; You should have received a copy of the GNU General Public License |
| 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 24 | 24 | ||
| 25 | ;;; Commentary: | ||
| 26 | ;;; | ||
| 27 | ;;; This module implements "channels." A channel is usually a source of | ||
| 28 | ;;; package definitions. There's a special channel, the 'guix' channel, that | ||
| 29 | ;;; provides all of Guix, including its commands and its documentation. | ||
| 30 | ;;; User-defined channels are expected to typically provide a bunch of .scm | ||
| 31 | ;;; files meant to be added to the '%package-search-path'. | ||
| 32 | ;;; | ||
| 33 | ;;; This module provides tools to fetch and update channels from a Git | ||
| 34 | ;;; repository and to build them. | ||
| 35 | ;;; | ||
| 36 | ;;; Code: | ||
| 37 | |||
| 25 | (define-module (guix channels) | 38 | (define-module (guix channels) |
| 26 | #:autoload (git commit) (commit-lookup | 39 | #:autoload (git commit) (commit-lookup |
| 27 | commit-id) | 40 | commit-id) |
| @@ -119,19 +132,6 @@ | |||
| 119 | 132 | ||
| 120 | channel-news-for-commit)) | 133 | channel-news-for-commit)) |
| 121 | 134 | ||
| 122 | ;;; Commentary: | ||
| 123 | ;;; | ||
| 124 | ;;; This module implements "channels." A channel is usually a source of | ||
| 125 | ;;; package definitions. There's a special channel, the 'guix' channel, that | ||
| 126 | ;;; provides all of Guix, including its commands and its documentation. | ||
| 127 | ;;; User-defined channels are expected to typically provide a bunch of .scm | ||
| 128 | ;;; files meant to be added to the '%package-search-path'. | ||
| 129 | ;;; | ||
| 130 | ;;; This module provides tools to fetch and update channels from a Git | ||
| 131 | ;;; repository and to build them. | ||
| 132 | ;;; | ||
| 133 | ;;; Code: | ||
| 134 | |||
| 135 | (define-record-type* <channel> channel make-channel | 135 | (define-record-type* <channel> channel make-channel |
| 136 | channel? | 136 | channel? |
| 137 | (name channel-name) | 137 | (name channel-name) |
diff --git a/guix/ci.scm b/guix/ci.scm index b2077448b02..9a1f0c144a0 100644 --- a/guix/ci.scm +++ b/guix/ci.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides a client to the HTTP interface of the Hydra and | ||
| 23 | ;;; Cuirass continuous integration (CI) tools. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix ci) | 27 | (define-module (guix ci) |
| 21 | #:use-module (guix http-client) | 28 | #:use-module (guix http-client) |
| 22 | #:use-module (guix utils) | 29 | #:use-module (guix utils) |
| @@ -84,13 +91,6 @@ | |||
| 84 | 91 | ||
| 85 | channel-with-substitutes-available)) | 92 | channel-with-substitutes-available)) |
| 86 | 93 | ||
| 87 | ;;; Commentary: | ||
| 88 | ;;; | ||
| 89 | ;;; This module provides a client to the HTTP interface of the Hydra and | ||
| 90 | ;;; Cuirass continuous integration (CI) tools. | ||
| 91 | ;;; | ||
| 92 | ;;; Code: | ||
| 93 | |||
| 94 | (define (seconds->date seconds) | 94 | (define (seconds->date seconds) |
| 95 | "Given SECONDS, a number of seconds since 1970-01-01, return the | 95 | "Given SECONDS, a number of seconds since 1970-01-01, return the |
| 96 | corresponding date object." | 96 | corresponding date object." |
diff --git a/guix/colors.scm b/guix/colors.scm index 09bc7c60cc2..10cacfd1726 100644 --- a/guix/colors.scm +++ b/guix/colors.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module provides tools to produce colored output using ANSI escapes. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 22 | (define-module (guix colors) | 28 | (define-module (guix colors) |
| 23 | #:use-module (guix memoization) | 29 | #:use-module (guix memoization) |
| 24 | #:use-module (srfi srfi-1) | 30 | #:use-module (srfi srfi-1) |
| @@ -45,12 +51,6 @@ | |||
| 45 | file-hyperlink | 51 | file-hyperlink |
| 46 | hyperlink)) | 52 | hyperlink)) |
| 47 | 53 | ||
| 48 | ;;; Commentary: | ||
| 49 | ;;; | ||
| 50 | ;;; This module provides tools to produce colored output using ANSI escapes. | ||
| 51 | ;;; | ||
| 52 | ;;; Code: | ||
| 53 | |||
| 54 | ;; Record type for "colors", which are actually lists of color attributes. | 54 | ;; Record type for "colors", which are actually lists of color attributes. |
| 55 | (define-record-type <color> | 55 | (define-record-type <color> |
| 56 | (make-color symbols ansi) | 56 | (make-color symbols ansi) |
diff --git a/guix/combinators.scm b/guix/combinators.scm index 261d6bb57e6..3f18b264e59 100644 --- a/guix/combinators.scm +++ b/guix/combinators.scm | |||
| @@ -18,6 +18,13 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This module provides useful combinators that complement SRFI-1 and | ||
| 24 | ;;; friends. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 21 | (define-module (guix combinators) | 28 | (define-module (guix combinators) |
| 22 | #:use-module (ice-9 match) | 29 | #:use-module (ice-9 match) |
| 23 | #:use-module (ice-9 vlist) | 30 | #:use-module (ice-9 vlist) |
| @@ -28,13 +35,6 @@ | |||
| 28 | procedure-call-location | 35 | procedure-call-location |
| 29 | define-compile-time-procedure)) | 36 | define-compile-time-procedure)) |
| 30 | 37 | ||
| 31 | ;;; Commentary: | ||
| 32 | ;;; | ||
| 33 | ;;; This module provides useful combinators that complement SRFI-1 and | ||
| 34 | ;;; friends. | ||
| 35 | ;;; | ||
| 36 | ;;; Code: | ||
| 37 | |||
| 38 | (define fold2 | 38 | (define fold2 |
| 39 | (case-lambda | 39 | (case-lambda |
| 40 | ((proc seed1 seed2 lst) | 40 | ((proc seed1 seed2 lst) |
diff --git a/guix/config.scm.in b/guix/config.scm.in index 62e15dd713f..89946ed9e9a 100644 --- a/guix/config.scm.in +++ b/guix/config.scm.in | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Compile-time configuration of Guix. When adding a substitution variable | ||
| 23 | ;;; here, make sure to equip (guix scripts pull) to substitute it. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix config) | 27 | (define-module (guix config) |
| 21 | #:export (%guix-package-name | 28 | #:export (%guix-package-name |
| 22 | %guix-version | 29 | %guix-version |
| @@ -40,13 +47,6 @@ | |||
| 40 | %bzip2 | 47 | %bzip2 |
| 41 | %xz)) | 48 | %xz)) |
| 42 | 49 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; Compile-time configuration of Guix. When adding a substitution variable | ||
| 46 | ;;; here, make sure to equip (guix scripts pull) to substitute it. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define %guix-package-name | 50 | (define %guix-package-name |
| 51 | "@PACKAGE_NAME@") | 51 | "@PACKAGE_NAME@") |
| 52 | 52 | ||
diff --git a/guix/cpio.scm b/guix/cpio.scm index 876f61ea3c6..6361ea55fc9 100644 --- a/guix/cpio.scm +++ b/guix/cpio.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module implements the cpio "new ASCII" format, bit-for-bit identical | ||
| 23 | ;;; to GNU cpio with the '-H newc' option. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix cpio) | 27 | (define-module (guix cpio) |
| 21 | #:use-module ((guix build syscalls) #:select (device-number | 28 | #:use-module ((guix build syscalls) #:select (device-number |
| 22 | device-number->major+minor)) | 29 | device-number->major+minor)) |
| @@ -36,13 +43,6 @@ | |||
| 36 | 43 | ||
| 37 | write-cpio-archive)) | 44 | write-cpio-archive)) |
| 38 | 45 | ||
| 39 | ;;; Commentary: | ||
| 40 | ;;; | ||
| 41 | ;;; This module implements the cpio "new ASCII" format, bit-for-bit identical | ||
| 42 | ;;; to GNU cpio with the '-H newc' option. | ||
| 43 | ;;; | ||
| 44 | ;;; Code: | ||
| 45 | |||
| 46 | ;; Values for 'mode', OR'd together. | 46 | ;; Values for 'mode', OR'd together. |
| 47 | 47 | ||
| 48 | (define C_IRUSR #o000400) | 48 | (define C_IRUSR #o000400) |
diff --git a/guix/cpu.scm b/guix/cpu.scm index 39766f8e9dc..aad06e46e8b 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides tools to determine the micro-architecture supported | ||
| 23 | ;;; by the CPU and to map it to a name known to GCC's '-march'. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix cpu) | 27 | (define-module (guix cpu) |
| 21 | #:use-module (guix sets) | 28 | #:use-module (guix sets) |
| 22 | #:use-module (guix memoization) | 29 | #:use-module (guix memoization) |
| @@ -35,13 +42,6 @@ | |||
| 35 | cpu->gcc-architecture | 42 | cpu->gcc-architecture |
| 36 | gcc-architecture->micro-architecture-level)) | 43 | gcc-architecture->micro-architecture-level)) |
| 37 | 44 | ||
| 38 | ;;; Commentary: | ||
| 39 | ;;; | ||
| 40 | ;;; This module provides tools to determine the micro-architecture supported | ||
| 41 | ;;; by the CPU and to map it to a name known to GCC's '-march'. | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | ;; CPU description. | 45 | ;; CPU description. |
| 46 | (define-record-type <cpu> | 46 | (define-record-type <cpu> |
| 47 | (cpu architecture vendor family model flags) | 47 | (cpu architecture vendor family model flags) |
diff --git a/guix/cve.scm b/guix/cve.scm index 5c14b068b17..83f137dba36 100644 --- a/guix/cve.scm +++ b/guix/cve.scm | |||
| @@ -17,6 +17,14 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides the tools to fetch, parse, and digest part of the | ||
| 23 | ;;; Common Vulnerabilities and Exposures (CVE) feeds provided by the US NIST | ||
| 24 | ;;; at <https://nvd.nist.gov/vuln/data-feeds>. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 20 | (define-module (guix cve) | 28 | (define-module (guix cve) |
| 21 | #:use-module (guix utils) | 29 | #:use-module (guix utils) |
| 22 | #:use-module (guix http-client) | 30 | #:use-module (guix http-client) |
| @@ -54,14 +62,6 @@ | |||
| 54 | current-vulnerabilities | 62 | current-vulnerabilities |
| 55 | vulnerabilities->lookup-proc)) | 63 | vulnerabilities->lookup-proc)) |
| 56 | 64 | ||
| 57 | ;;; Commentary: | ||
| 58 | ;;; | ||
| 59 | ;;; This module provides the tools to fetch, parse, and digest part of the | ||
| 60 | ;;; Common Vulnerabilities and Exposures (CVE) feeds provided by the US NIST | ||
| 61 | ;;; at <https://nvd.nist.gov/vuln/data-feeds>. | ||
| 62 | ;;; | ||
| 63 | ;;; Code: | ||
| 64 | |||
| 65 | (define (string->date* str) | 65 | (define (string->date* str) |
| 66 | (string->date str "~Y-~m-~dT~H:~M:~S")) | 66 | (string->date str "~Y-~m-~dT~H:~M:~S")) |
| 67 | 67 | ||
diff --git a/guix/cvs-download.scm b/guix/cvs-download.scm index 7d7d741b71c..4957e87557a 100644 --- a/guix/cvs-download.scm +++ b/guix/cvs-download.scm | |||
| @@ -18,6 +18,15 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; An <origin> method that fetches a specific revision or date from a CVS | ||
| 24 | ;;; repository. The CVS-ROOT-DIRECTORY, MODULE and REVISION are specified | ||
| 25 | ;;; with a <cvs-reference> object. REVISION should be specified as either a | ||
| 26 | ;;; date string in ISO-8601 format (e.g. "2012-12-21") or a CVS tag. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 21 | (define-module (guix cvs-download) | 30 | (define-module (guix cvs-download) |
| 22 | #:use-module (guix records) | 31 | #:use-module (guix records) |
| 23 | #:use-module (guix gexp) | 32 | #:use-module (guix gexp) |
| @@ -34,15 +43,6 @@ | |||
| 34 | cvs-reference-revision | 43 | cvs-reference-revision |
| 35 | cvs-fetch)) | 44 | cvs-fetch)) |
| 36 | 45 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; An <origin> method that fetches a specific revision or date from a CVS | ||
| 40 | ;;; repository. The CVS-ROOT-DIRECTORY, MODULE and REVISION are specified | ||
| 41 | ;;; with a <cvs-reference> object. REVISION should be specified as either a | ||
| 42 | ;;; date string in ISO-8601 format (e.g. "2012-12-21") or a CVS tag. | ||
| 43 | ;;; | ||
| 44 | ;;; Code: | ||
| 45 | |||
| 46 | (define-record-type* <cvs-reference> | 46 | (define-record-type* <cvs-reference> |
| 47 | cvs-reference make-cvs-reference | 47 | cvs-reference make-cvs-reference |
| 48 | cvs-reference? | 48 | cvs-reference? |
diff --git a/guix/deprecation.scm b/guix/deprecation.scm index 47e653dfb2d..82be14c8c87 100644 --- a/guix/deprecation.scm +++ b/guix/deprecation.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Provide a mechanism to mark bindings as deprecated. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (guix deprecation) | 26 | (define-module (guix deprecation) |
| 21 | #:use-module (guix i18n) | 27 | #:use-module (guix i18n) |
| 22 | #:use-module (guix diagnostics) | 28 | #:use-module (guix diagnostics) |
| @@ -30,12 +36,6 @@ | |||
| 30 | warn-about-old-daemon | 36 | warn-about-old-daemon |
| 31 | warn-about-deprecation)) | 37 | warn-about-deprecation)) |
| 32 | 38 | ||
| 33 | ;;; Commentary: | ||
| 34 | ;;; | ||
| 35 | ;;; Provide a mechanism to mark bindings as deprecated. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 39 | (define (warn-about-old-daemon) | 39 | (define (warn-about-old-daemon) |
| 40 | (warning (G_ "Your Guix daemon is severely outdated, and will soon cease to | 40 | (warning (G_ "Your Guix daemon is severely outdated, and will soon cease to |
| 41 | be able to download binary substitutes. To upgrade it, refer to the | 41 | be able to download binary substitutes. To upgrade it, refer to the |
diff --git a/guix/describe.scm b/guix/describe.scm index 120a97ab052..40eb6430443 100644 --- a/guix/describe.scm +++ b/guix/describe.scm | |||
| @@ -16,6 +16,16 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides supporting code to allow a Guix instance to find, at | ||
| 22 | ;;; run time, which profile it's in (profiles created by 'guix pull'). That | ||
| 23 | ;;; allows it to read meta-information about itself (e.g., repository URL and | ||
| 24 | ;;; commit ID) and to find other channels available in the same profile. It's | ||
| 25 | ;;; a bit like ELPA's pkg-info.el. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 19 | (define-module (guix describe) | 29 | (define-module (guix describe) |
| 20 | #:use-module (guix memoization) | 30 | #:use-module (guix memoization) |
| 21 | #:use-module (guix profiles) | 31 | #:use-module (guix profiles) |
| @@ -44,16 +54,6 @@ | |||
| 44 | manifest-entry-with-provenance | 54 | manifest-entry-with-provenance |
| 45 | manifest-entry-provenance)) | 55 | manifest-entry-provenance)) |
| 46 | 56 | ||
| 47 | ;;; Commentary: | ||
| 48 | ;;; | ||
| 49 | ;;; This module provides supporting code to allow a Guix instance to find, at | ||
| 50 | ;;; run time, which profile it's in (profiles created by 'guix pull'). That | ||
| 51 | ;;; allows it to read meta-information about itself (e.g., repository URL and | ||
| 52 | ;;; commit ID) and to find other channels available in the same profile. It's | ||
| 53 | ;;; a bit like ELPA's pkg-info.el. | ||
| 54 | ;;; | ||
| 55 | ;;; Code: | ||
| 56 | |||
| 57 | (define initial-program-arguments | 57 | (define initial-program-arguments |
| 58 | ;; Save the initial program arguments. This allows us to see the "real" | 58 | ;; Save the initial program arguments. This allows us to see the "real" |
| 59 | ;; 'guix' program, even if 'guix repl -s' calls 'set-program-arguments' | 59 | ;; 'guix' program, even if 'guix repl -s' calls 'set-program-arguments' |
diff --git a/guix/diagnostics.scm b/guix/diagnostics.scm index 3f1f527b437..602b9f6c4ee 100644 --- a/guix/diagnostics.scm +++ b/guix/diagnostics.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides the tools to report diagnostics to the user in a | ||
| 22 | ;;; consistent way: errors, warnings, and notes. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix diagnostics) | 26 | (define-module (guix diagnostics) |
| 20 | #:use-module (guix colors) | 27 | #:use-module (guix colors) |
| 21 | #:use-module (guix i18n) | 28 | #:use-module (guix i18n) |
| @@ -60,13 +67,6 @@ | |||
| 60 | 67 | ||
| 61 | define-with-syntax-properties)) | 68 | define-with-syntax-properties)) |
| 62 | 69 | ||
| 63 | ;;; Commentary: | ||
| 64 | ;;; | ||
| 65 | ;;; This module provides the tools to report diagnostics to the user in a | ||
| 66 | ;;; consistent way: errors, warnings, and notes. | ||
| 67 | ;;; | ||
| 68 | ;;; Code: | ||
| 69 | |||
| 70 | (define (trivial-format-string? fmt) | 70 | (define (trivial-format-string? fmt) |
| 71 | (define len | 71 | (define len |
| 72 | (string-length fmt)) | 72 | (string-length fmt)) |
diff --git a/guix/discovery.scm b/guix/discovery.scm index 2febfcdcb71..5a1847b9440 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides tools to discover Guile modules and the variables | ||
| 22 | ;;; they export. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix discovery) | 26 | (define-module (guix discovery) |
| 20 | #:use-module (guix i18n) | 27 | #:use-module (guix i18n) |
| 21 | #:use-module (guix modules) | 28 | #:use-module (guix modules) |
| @@ -32,13 +39,6 @@ | |||
| 32 | fold-module-public-variables | 39 | fold-module-public-variables |
| 33 | fold-module-public-variables*)) | 40 | fold-module-public-variables*)) |
| 34 | 41 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; This module provides tools to discover Guile modules and the variables | ||
| 38 | ;;; they export. | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | |||
| 42 | (define* (scheme-files directory) | 42 | (define* (scheme-files directory) |
| 43 | "Return the list of Scheme files found under DIRECTORY, recursively. The | 43 | "Return the list of Scheme files found under DIRECTORY, recursively. The |
| 44 | returned list is sorted in alphabetical order. Return the empty list if | 44 | returned list is sorted in alphabetical order. Return the empty list if |
diff --git a/guix/download.scm b/guix/download.scm index 0a34e00a852..d76fe10ace1 100644 --- a/guix/download.scm +++ b/guix/download.scm | |||
| @@ -23,6 +23,12 @@ | |||
| 23 | ;;; You should have received a copy of the GNU General Public License | 23 | ;;; You should have received a copy of the GNU General Public License |
| 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | ||
| 27 | ;;; | ||
| 28 | ;;; Produce fixed-output derivations with data fetched over HTTP or FTP. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 26 | (define-module (guix download) | 32 | (define-module (guix download) |
| 27 | #:use-module (ice-9 match) | 33 | #:use-module (ice-9 match) |
| 28 | #:use-module (guix derivations) | 34 | #:use-module (guix derivations) |
| @@ -44,12 +50,6 @@ | |||
| 44 | url-fetch/zipbomb | 50 | url-fetch/zipbomb |
| 45 | download-to-store)) | 51 | download-to-store)) |
| 46 | 52 | ||
| 47 | ;;; Commentary: | ||
| 48 | ;;; | ||
| 49 | ;;; Produce fixed-output derivations with data fetched over HTTP or FTP. | ||
| 50 | ;;; | ||
| 51 | ;;; Code: | ||
| 52 | |||
| 53 | (define %mirrors | 53 | (define %mirrors |
| 54 | ;; Mirror lists used when `mirror://' URLs are passed. The first mirror | 54 | ;; Mirror lists used when `mirror://' URLs are passed. The first mirror |
| 55 | ;; entry of each set should ideally be the most authoritative one, as that's | 55 | ;; entry of each set should ideally be the most authoritative one, as that's |
diff --git a/guix/ftp-client.scm b/guix/ftp-client.scm index 24b18a8033b..37c83bc7db6 100644 --- a/guix/ftp-client.scm +++ b/guix/ftp-client.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Simple FTP client (RFC 959). | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (guix ftp-client) | 25 | (define-module (guix ftp-client) |
| 20 | #:use-module (srfi srfi-1) | 26 | #:use-module (srfi srfi-1) |
| 21 | #:use-module (srfi srfi-9) | 27 | #:use-module (srfi srfi-9) |
| @@ -36,12 +42,6 @@ | |||
| 36 | ftp-list | 42 | ftp-list |
| 37 | ftp-retr)) | 43 | ftp-retr)) |
| 38 | 44 | ||
| 39 | ;;; Commentary: | ||
| 40 | ;;; | ||
| 41 | ;;; Simple FTP client (RFC 959). | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | ;; TODO: Use SRFI-3{4,5} error conditions. | 45 | ;; TODO: Use SRFI-3{4,5} error conditions. |
| 46 | 46 | ||
| 47 | (define-record-type <ftp-connection> | 47 | (define-record-type <ftp-connection> |
diff --git a/guix/gexp.scm b/guix/gexp.scm index 02b05fb95eb..c53c7f0f38a 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm | |||
| @@ -23,6 +23,23 @@ | |||
| 23 | ;;; You should have received a copy of the GNU General Public License | 23 | ;;; You should have received a copy of the GNU General Public License |
| 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | ||
| 27 | ;;; | ||
| 28 | ;;; This module implements "G-expressions", or "gexps". Gexps are like | ||
| 29 | ;;; S-expressions (sexps), with two differences: | ||
| 30 | ;;; | ||
| 31 | ;;; 1. References (un-quotations) to derivations or packages in a gexp are | ||
| 32 | ;;; replaced by the corresponding output file name; in addition, the | ||
| 33 | ;;; 'ungexp-native' unquote-like form allows code to explicitly refer to | ||
| 34 | ;;; the native code of a given package, in case of cross-compilation; | ||
| 35 | ;;; | ||
| 36 | ;;; 2. Gexps embed information about the derivations they refer to. | ||
| 37 | ;;; | ||
| 38 | ;;; Gexps make it easy to write to files Scheme code that refers to store | ||
| 39 | ;;; items, or to write Scheme code to build derivations. | ||
| 40 | ;;; | ||
| 41 | ;;; Code: | ||
| 42 | |||
| 26 | (define-module (guix gexp) | 43 | (define-module (guix gexp) |
| 27 | #:use-module (guix store) | 44 | #:use-module (guix store) |
| 28 | #:use-module (guix monads) | 45 | #:use-module (guix monads) |
| @@ -142,23 +159,6 @@ | |||
| 142 | gexp-input-error? | 159 | gexp-input-error? |
| 143 | gexp-error-invalid-input)) | 160 | gexp-error-invalid-input)) |
| 144 | 161 | ||
| 145 | ;;; Commentary: | ||
| 146 | ;;; | ||
| 147 | ;;; This module implements "G-expressions", or "gexps". Gexps are like | ||
| 148 | ;;; S-expressions (sexps), with two differences: | ||
| 149 | ;;; | ||
| 150 | ;;; 1. References (un-quotations) to derivations or packages in a gexp are | ||
| 151 | ;;; replaced by the corresponding output file name; in addition, the | ||
| 152 | ;;; 'ungexp-native' unquote-like form allows code to explicitly refer to | ||
| 153 | ;;; the native code of a given package, in case of cross-compilation; | ||
| 154 | ;;; | ||
| 155 | ;;; 2. Gexps embed information about the derivations they refer to. | ||
| 156 | ;;; | ||
| 157 | ;;; Gexps make it easy to write to files Scheme code that refers to store | ||
| 158 | ;;; items, or to write Scheme code to build derivations. | ||
| 159 | ;;; | ||
| 160 | ;;; Code: | ||
| 161 | |||
| 162 | ;; "G expressions". | 162 | ;; "G expressions". |
| 163 | (define-record-type <gexp> | 163 | (define-record-type <gexp> |
| 164 | (make-gexp references modules extensions proc location) | 164 | (make-gexp references modules extensions proc location) |
diff --git a/guix/git-authenticate.scm b/guix/git-authenticate.scm index 5cf92b422ac..c7a26217236 100644 --- a/guix/git-authenticate.scm +++ b/guix/git-authenticate.scm | |||
| @@ -17,6 +17,15 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides tools to authenticate a range of Git commits. A | ||
| 23 | ;;; commit is considered "authentic" if and only if it is signed by an | ||
| 24 | ;;; authorized party. Parties authorized to sign a commit are listed in the | ||
| 25 | ;;; '.guix-authorizations' file of the parent commit. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 20 | (define-module (guix git-authenticate) | 29 | (define-module (guix git-authenticate) |
| 21 | #:autoload (git oid) (oid->string | 30 | #:autoload (git oid) (oid->string |
| 22 | string->oid) | 31 | string->oid) |
| @@ -81,15 +90,6 @@ | |||
| 81 | missing-key-error? | 90 | missing-key-error? |
| 82 | missing-key-error-signature)) | 91 | missing-key-error-signature)) |
| 83 | 92 | ||
| 84 | ;;; Commentary: | ||
| 85 | ;;; | ||
| 86 | ;;; This module provides tools to authenticate a range of Git commits. A | ||
| 87 | ;;; commit is considered "authentic" if and only if it is signed by an | ||
| 88 | ;;; authorized party. Parties authorized to sign a commit are listed in the | ||
| 89 | ;;; '.guix-authorizations' file of the parent commit. | ||
| 90 | ;;; | ||
| 91 | ;;; Code: | ||
| 92 | |||
| 93 | (define-condition-type &git-authentication-error &error | 93 | (define-condition-type &git-authentication-error &error |
| 94 | git-authentication-error? | 94 | git-authentication-error? |
| 95 | (commit git-authentication-error-commit)) | 95 | (commit git-authentication-error-commit)) |
diff --git a/guix/git-download.scm b/guix/git-download.scm index 609382eba11..a636a36bb47 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm | |||
| @@ -21,6 +21,14 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; An <origin> method that fetches a specific commit from a Git repository. | ||
| 27 | ;;; The repository URL and commit hash are specified with a <git-reference> | ||
| 28 | ;;; object. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 24 | (define-module (guix git-download) | 32 | (define-module (guix git-download) |
| 25 | #:use-module (guix gexp) | 33 | #:use-module (guix gexp) |
| 26 | #:use-module (guix store) | 34 | #:use-module (guix store) |
| @@ -61,14 +69,6 @@ | |||
| 61 | git-file-name | 69 | git-file-name |
| 62 | git-predicate)) | 70 | git-predicate)) |
| 63 | 71 | ||
| 64 | ;;; Commentary: | ||
| 65 | ;;; | ||
| 66 | ;;; An <origin> method that fetches a specific commit from a Git repository. | ||
| 67 | ;;; The repository URL and commit hash are specified with a <git-reference> | ||
| 68 | ;;; object. | ||
| 69 | ;;; | ||
| 70 | ;;; Code: | ||
| 71 | |||
| 72 | (define-record-type* <git-reference> | 72 | (define-record-type* <git-reference> |
| 73 | git-reference make-git-reference | 73 | git-reference make-git-reference |
| 74 | git-reference? | 74 | git-reference? |
diff --git a/guix/glob.scm b/guix/glob.scm index 13fa99f511d..fbd6eda65ce 100644 --- a/guix/glob.scm +++ b/guix/glob.scm | |||
| @@ -17,13 +17,6 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | (define-module (guix glob) | ||
| 21 | #:use-module (ice-9 match) | ||
| 22 | #:export (string->sglob | ||
| 23 | compile-sglob | ||
| 24 | string->compiled-sglob | ||
| 25 | glob-match?)) | ||
| 26 | |||
| 27 | ;;; Commentary: | 20 | ;;; Commentary: |
| 28 | ;;; | 21 | ;;; |
| 29 | ;;; This is a minimal implementation of "glob patterns" (info "(libc) | 22 | ;;; This is a minimal implementation of "glob patterns" (info "(libc) |
| @@ -32,6 +25,13 @@ | |||
| 32 | ;;; | 25 | ;;; |
| 33 | ;;; Code: | 26 | ;;; Code: |
| 34 | 27 | ||
| 28 | (define-module (guix glob) | ||
| 29 | #:use-module (ice-9 match) | ||
| 30 | #:export (string->sglob | ||
| 31 | compile-sglob | ||
| 32 | string->compiled-sglob | ||
| 33 | glob-match?)) | ||
| 34 | |||
| 35 | (define (parse-bracket chars) | 35 | (define (parse-bracket chars) |
| 36 | "Parse CHARS, a list of characters that extracted from a '[...]' sequence." | 36 | "Parse CHARS, a list of characters that extracted from a '[...]' sequence." |
| 37 | (match chars | 37 | (match chars |
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 95594bc839f..1e76d0dfdb5 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm | |||
| @@ -20,6 +20,13 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; Code for dealing with the maintenance of GNU packages, such as | ||
| 26 | ;;; auto-updates. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 23 | (define-module (guix gnu-maintenance) | 30 | (define-module (guix gnu-maintenance) |
| 24 | #:use-module (web uri) | 31 | #:use-module (web uri) |
| 25 | #:use-module (web client) | 32 | #:use-module (web client) |
| @@ -82,13 +89,6 @@ | |||
| 82 | %kernel.org-updater | 89 | %kernel.org-updater |
| 83 | %generic-html-updater)) | 90 | %generic-html-updater)) |
| 84 | 91 | ||
| 85 | ;;; Commentary: | ||
| 86 | ;;; | ||
| 87 | ;;; Code for dealing with the maintenance of GNU packages, such as | ||
| 88 | ;;; auto-updates. | ||
| 89 | ;;; | ||
| 90 | ;;; Code: | ||
| 91 | |||
| 92 | 92 | ||
| 93 | ;;; | 93 | ;;; |
| 94 | ;;; List of GNU packages. | 94 | ;;; List of GNU packages. |
diff --git a/guix/gnupg.scm b/guix/gnupg.scm index 498f8b34a92..03ba6d5c6e0 100644 --- a/guix/gnupg.scm +++ b/guix/gnupg.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; GnuPG interface. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 22 | (define-module (guix gnupg) | 28 | (define-module (guix gnupg) |
| 23 | #:use-module (ice-9 popen) | 29 | #:use-module (ice-9 popen) |
| 24 | #:use-module (ice-9 match) | 30 | #:use-module (ice-9 match) |
| @@ -39,12 +45,6 @@ | |||
| 39 | gnupg-status-good-signature? | 45 | gnupg-status-good-signature? |
| 40 | gnupg-status-missing-key?)) | 46 | gnupg-status-missing-key?)) |
| 41 | 47 | ||
| 42 | ;;; Commentary: | ||
| 43 | ;;; | ||
| 44 | ;;; GnuPG interface. | ||
| 45 | ;;; | ||
| 46 | ;;; Code: | ||
| 47 | |||
| 48 | (define %gpg-command | 48 | (define %gpg-command |
| 49 | ;; The GnuPG 2.x command-line program name. | 49 | ;; The GnuPG 2.x command-line program name. |
| 50 | (make-parameter (or (getenv "GUIX_GPG_COMMAND") "gpg"))) | 50 | (make-parameter (or (getenv "GUIX_GPG_COMMAND") "gpg"))) |
diff --git a/guix/graph.scm b/guix/graph.scm index 208560bd6a8..97ac950a406 100644 --- a/guix/graph.scm +++ b/guix/graph.scm | |||
| @@ -17,6 +17,16 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module provides an abstract way to represent graphs and to manipulate | ||
| 23 | ;;; them. It comes with several such representations for packages, | ||
| 24 | ;;; derivations, and store items. It also provides a generic interface for | ||
| 25 | ;;; exporting graphs in an external format, including a Graphviz | ||
| 26 | ;;; implementation thereof. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 20 | (define-module (guix graph) | 30 | (define-module (guix graph) |
| 21 | #:use-module (guix store) | 31 | #:use-module (guix store) |
| 22 | #:use-module (guix monads) | 32 | #:use-module (guix monads) |
| @@ -61,16 +71,6 @@ | |||
| 61 | 71 | ||
| 62 | export-graph)) | 72 | export-graph)) |
| 63 | 73 | ||
| 64 | ;;; Commentary: | ||
| 65 | ;;; | ||
| 66 | ;;; This module provides an abstract way to represent graphs and to manipulate | ||
| 67 | ;;; them. It comes with several such representations for packages, | ||
| 68 | ;;; derivations, and store items. It also provides a generic interface for | ||
| 69 | ;;; exporting graphs in an external format, including a Graphviz | ||
| 70 | ;;; implementation thereof. | ||
| 71 | ;;; | ||
| 72 | ;;; Code: | ||
| 73 | |||
| 74 | 74 | ||
| 75 | ;;; | 75 | ;;; |
| 76 | ;;; Node types. | 76 | ;;; Node types. |
diff --git a/guix/hg-download.scm b/guix/hg-download.scm index ce13a158c04..f661cba223f 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm | |||
| @@ -18,6 +18,14 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; An <origin> method that fetches a specific changeset from a Mercurial | ||
| 24 | ;;; repository. The repository URL and changeset ID are specified with a | ||
| 25 | ;;; <hg-reference> object. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 21 | (define-module (guix hg-download) | 29 | (define-module (guix hg-download) |
| 22 | #:use-module (guix gexp) | 30 | #:use-module (guix gexp) |
| 23 | #:use-module (guix store) | 31 | #:use-module (guix store) |
| @@ -40,14 +48,6 @@ | |||
| 40 | hg-version | 48 | hg-version |
| 41 | hg-file-name)) | 49 | hg-file-name)) |
| 42 | 50 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; An <origin> method that fetches a specific changeset from a Mercurial | ||
| 46 | ;;; repository. The repository URL and changeset ID are specified with a | ||
| 47 | ;;; <hg-reference> object. | ||
| 48 | ;;; | ||
| 49 | ;;; Code: | ||
| 50 | |||
| 51 | (define-record-type* <hg-reference> | 51 | (define-record-type* <hg-reference> |
| 52 | hg-reference make-hg-reference | 52 | hg-reference make-hg-reference |
| 53 | hg-reference? | 53 | hg-reference? |
diff --git a/guix/http-client.scm b/guix/http-client.scm index 0656a8a563d..7660a90eadc 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm | |||
| @@ -19,6 +19,13 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; HTTP client portable among Guile versions, and with proper error condition | ||
| 25 | ;;; reporting. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 22 | (define-module (guix http-client) | 29 | (define-module (guix http-client) |
| 23 | #:use-module (web uri) | 30 | #:use-module (web uri) |
| 24 | #:use-module (web http) | 31 | #:use-module (web http) |
| @@ -65,13 +72,6 @@ | |||
| 65 | %http-cache-ttl | 72 | %http-cache-ttl |
| 66 | http-fetch/cached)) | 73 | http-fetch/cached)) |
| 67 | 74 | ||
| 68 | ;;; Commentary: | ||
| 69 | ;;; | ||
| 70 | ;;; HTTP client portable among Guile versions, and with proper error condition | ||
| 71 | ;;; reporting. | ||
| 72 | ;;; | ||
| 73 | ;;; Code: | ||
| 74 | |||
| 75 | ;; HTTP GET error. | 75 | ;; HTTP GET error. |
| 76 | (define-condition-type &http-get-error &error | 76 | (define-condition-type &http-get-error &error |
| 77 | http-get-error? | 77 | http-get-error? |
diff --git a/guix/i18n.scm b/guix/i18n.scm index f81e6b38ece..c5974ea4cb8 100644 --- a/guix/i18n.scm +++ b/guix/i18n.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Internationalization support. | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (guix i18n) | 25 | (define-module (guix i18n) |
| 20 | #:use-module (srfi srfi-26) | 26 | #:use-module (srfi srfi-26) |
| 21 | #:export (G_ | 27 | #:export (G_ |
| @@ -24,12 +30,6 @@ | |||
| 24 | %gettext-domain | 30 | %gettext-domain |
| 25 | %package-text-domain)) | 31 | %package-text-domain)) |
| 26 | 32 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; Internationalization support. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 33 | (define %gettext-domain | 33 | (define %gettext-domain |
| 34 | ;; Text domain for strings used in the tools. | 34 | ;; Text domain for strings used in the tools. |
| 35 | "guix") | 35 | "guix") |
diff --git a/guix/import/apache.scm b/guix/import/apache.scm index c17139cc39e..095d7284b22 100644 --- a/guix/import/apache.scm +++ b/guix/import/apache.scm | |||
| @@ -19,6 +19,14 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This package provides not an actual importer but simply an updater for | ||
| 25 | ;;; ASF packages. It grabs available files from the 'find-ls2.txt.gz' file | ||
| 26 | ;;; available on dlcdn.apache.org. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 22 | (define-module (guix import apache) | 30 | (define-module (guix import apache) |
| 23 | #:use-module ((guix import utils) #:select (find-version)) | 31 | #:use-module ((guix import utils) #:select (find-version)) |
| 24 | #:use-module (guix http-client) | 32 | #:use-module (guix http-client) |
| @@ -35,14 +43,6 @@ | |||
| 35 | 43 | ||
| 36 | #:export (%apache-updater)) | 44 | #:export (%apache-updater)) |
| 37 | 45 | ||
| 38 | ;;; Commentary: | ||
| 39 | ;;; | ||
| 40 | ;;; This package provides not an actual importer but simply an updater for | ||
| 41 | ;;; ASF packages. It grabs available files from the 'find-ls2.txt.gz' file | ||
| 42 | ;;; available on dlcdn.apache.org. | ||
| 43 | ;;; | ||
| 44 | ;;; Code: | ||
| 45 | |||
| 46 | (define (tarball->version tarball) | 46 | (define (tarball->version tarball) |
| 47 | "Return the version TARBALL corresponds to. TARBALL is a file name like | 47 | "Return the version TARBALL corresponds to. TARBALL is a file name like |
| 48 | \"coreutils-8.23.tar.xz\"." | 48 | \"coreutils-8.23.tar.xz\"." |
diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 3d4508b11e6..0bfe4ed35f0 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm | |||
| @@ -21,6 +21,13 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; Generate a package declaration template for the latest version of a CPAN | ||
| 27 | ;;; module, using meta-data from metacpan.org. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 24 | (define-module (guix import cpan) | 31 | (define-module (guix import cpan) |
| 25 | #:use-module (ice-9 match) | 32 | #:use-module (ice-9 match) |
| 26 | #:use-module (ice-9 regex) | 33 | #:use-module (ice-9 regex) |
| @@ -48,13 +55,6 @@ | |||
| 48 | 55 | ||
| 49 | %metacpan-base-url)) | 56 | %metacpan-base-url)) |
| 50 | 57 | ||
| 51 | ;;; Commentary: | ||
| 52 | ;;; | ||
| 53 | ;;; Generate a package declaration template for the latest version of a CPAN | ||
| 54 | ;;; module, using meta-data from metacpan.org. | ||
| 55 | ;;; | ||
| 56 | ;;; Code: | ||
| 57 | |||
| 58 | (define %metacpan-base-url | 58 | (define %metacpan-base-url |
| 59 | ;; Base URL of the MetaCPAN API. | 59 | ;; Base URL of the MetaCPAN API. |
| 60 | (make-parameter "https://fastapi.metacpan.org/v1/")) | 60 | (make-parameter "https://fastapi.metacpan.org/v1/")) |
diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 6681380c474..f49b3586dd8 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm | |||
| @@ -23,6 +23,14 @@ | |||
| 23 | ;;; You should have received a copy of the GNU General Public License | 23 | ;;; You should have received a copy of the GNU General Public License |
| 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 24 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 25 | 25 | ||
| 26 | ;;; Commentary: | ||
| 27 | ;;; | ||
| 28 | ;;; Generate a package declaration template for the latest version of an R | ||
| 29 | ;;; package on CRAN, using the DESCRIPTION file downloaded from | ||
| 30 | ;;; cran.r-project.org. | ||
| 31 | ;;; | ||
| 32 | ;;; Code: | ||
| 33 | |||
| 26 | (define-module (guix import cran) | 34 | (define-module (guix import cran) |
| 27 | #:use-module (ice-9 ftw) | 35 | #:use-module (ice-9 ftw) |
| 28 | #:use-module (ice-9 match) | 36 | #:use-module (ice-9 match) |
| @@ -78,14 +86,6 @@ | |||
| 78 | description->alist | 86 | description->alist |
| 79 | description->package)) | 87 | description->package)) |
| 80 | 88 | ||
| 81 | ;;; Commentary: | ||
| 82 | ;;; | ||
| 83 | ;;; Generate a package declaration template for the latest version of an R | ||
| 84 | ;;; package on CRAN, using the DESCRIPTION file downloaded from | ||
| 85 | ;;; cran.r-project.org. | ||
| 86 | ;;; | ||
| 87 | ;;; Code: | ||
| 88 | |||
| 89 | (define %input-style | 89 | (define %input-style |
| 90 | (make-parameter 'variable)) ; or 'specification | 90 | (make-parameter 'variable)) ; or 'specification |
| 91 | 91 | ||
diff --git a/guix/import/egg.scm b/guix/import/egg.scm index c9606ff8391..b1dc52cfa8c 100644 --- a/guix/import/egg.scm +++ b/guix/import/egg.scm | |||
| @@ -21,29 +21,6 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | (define-module (guix import egg) | ||
| 25 | #:use-module (ice-9 ftw) | ||
| 26 | #:use-module (ice-9 match) | ||
| 27 | #:use-module (srfi srfi-1) | ||
| 28 | #:use-module (srfi srfi-26) | ||
| 29 | #:use-module (srfi srfi-71) | ||
| 30 | #:use-module (gcrypt hash) | ||
| 31 | #:use-module (guix git) | ||
| 32 | #:use-module (guix base32) | ||
| 33 | #:use-module (guix memoization) | ||
| 34 | #:use-module (guix packages) | ||
| 35 | #:use-module (guix upstream) | ||
| 36 | #:use-module (guix build-system chicken) | ||
| 37 | #:use-module (guix store) | ||
| 38 | #:use-module ((guix download) #:select (download-to-store url-fetch)) | ||
| 39 | #:use-module (guix import utils) | ||
| 40 | #:export (egg->guix-package | ||
| 41 | egg-recursive-import | ||
| 42 | %egg-updater | ||
| 43 | |||
| 44 | ;; For tests. | ||
| 45 | guix-package->egg-name)) | ||
| 46 | |||
| 47 | ;;; Commentary: | 24 | ;;; Commentary: |
| 48 | ;;; | 25 | ;;; |
| 49 | ;;; (guix import egg) provides package importer for CHICKEN eggs. See the | 26 | ;;; (guix import egg) provides package importer for CHICKEN eggs. See the |
| @@ -72,6 +49,29 @@ | |||
| 72 | ;;; | 49 | ;;; |
| 73 | ;;; Code: | 50 | ;;; Code: |
| 74 | 51 | ||
| 52 | (define-module (guix import egg) | ||
| 53 | #:use-module (ice-9 ftw) | ||
| 54 | #:use-module (ice-9 match) | ||
| 55 | #:use-module (srfi srfi-1) | ||
| 56 | #:use-module (srfi srfi-26) | ||
| 57 | #:use-module (srfi srfi-71) | ||
| 58 | #:use-module (gcrypt hash) | ||
| 59 | #:use-module (guix git) | ||
| 60 | #:use-module (guix base32) | ||
| 61 | #:use-module (guix memoization) | ||
| 62 | #:use-module (guix packages) | ||
| 63 | #:use-module (guix upstream) | ||
| 64 | #:use-module (guix build-system chicken) | ||
| 65 | #:use-module (guix store) | ||
| 66 | #:use-module ((guix download) #:select (download-to-store url-fetch)) | ||
| 67 | #:use-module (guix import utils) | ||
| 68 | #:export (egg->guix-package | ||
| 69 | egg-recursive-import | ||
| 70 | %egg-updater | ||
| 71 | |||
| 72 | ;; For tests. | ||
| 73 | guix-package->egg-name)) | ||
| 74 | |||
| 75 | 75 | ||
| 76 | ;;; | 76 | ;;; |
| 77 | ;;; Egg metadata fetcher and helper functions. | 77 | ;;; Egg metadata fetcher and helper functions. |
diff --git a/guix/import/git.scm b/guix/import/git.scm index e6dab7f25fa..4000c349bee 100644 --- a/guix/import/git.scm +++ b/guix/import/git.scm | |||
| @@ -19,24 +19,6 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | (define-module (guix import git) | ||
| 23 | #:use-module (guix i18n) | ||
| 24 | #:use-module (guix diagnostics) | ||
| 25 | #:use-module (guix git) | ||
| 26 | #:use-module (guix git-download) | ||
| 27 | #:use-module (guix packages) | ||
| 28 | #:use-module (guix upstream) | ||
| 29 | #:use-module ((guix import utils) #:select (find-version)) | ||
| 30 | #:use-module (ice-9 match) | ||
| 31 | #:use-module (ice-9 regex) | ||
| 32 | #:use-module (srfi srfi-1) | ||
| 33 | #:use-module (srfi srfi-26) | ||
| 34 | #:use-module (srfi srfi-34) | ||
| 35 | #:use-module (srfi srfi-35) | ||
| 36 | #:use-module (srfi srfi-71) | ||
| 37 | #:export (%generic-git-updater | ||
| 38 | get-tags)) | ||
| 39 | |||
| 40 | ;;; Commentary: | 22 | ;;; Commentary: |
| 41 | ;;; | 23 | ;;; |
| 42 | ;;; This module provides a generic package updater for packages hosted on Git | 24 | ;;; This module provides a generic package updater for packages hosted on Git |
| @@ -57,6 +39,24 @@ | |||
| 57 | ;;; | 39 | ;;; |
| 58 | ;;; Code: | 40 | ;;; Code: |
| 59 | 41 | ||
| 42 | (define-module (guix import git) | ||
| 43 | #:use-module (guix i18n) | ||
| 44 | #:use-module (guix diagnostics) | ||
| 45 | #:use-module (guix git) | ||
| 46 | #:use-module (guix git-download) | ||
| 47 | #:use-module (guix packages) | ||
| 48 | #:use-module (guix upstream) | ||
| 49 | #:use-module ((guix import utils) #:select (find-version)) | ||
| 50 | #:use-module (ice-9 match) | ||
| 51 | #:use-module (ice-9 regex) | ||
| 52 | #:use-module (srfi srfi-1) | ||
| 53 | #:use-module (srfi srfi-26) | ||
| 54 | #:use-module (srfi srfi-34) | ||
| 55 | #:use-module (srfi srfi-35) | ||
| 56 | #:use-module (srfi srfi-71) | ||
| 57 | #:export (%generic-git-updater | ||
| 58 | get-tags)) | ||
| 59 | |||
| 60 | ;;; Errors & warnings | 60 | ;;; Errors & warnings |
| 61 | 61 | ||
| 62 | (define-condition-type &git-no-valid-tags-error &error | 62 | (define-condition-type &git-no-valid-tags-error &error |
diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm index 211352ac3aa..2db80986291 100644 --- a/guix/import/gnome.scm +++ b/guix/import/gnome.scm | |||
| @@ -18,6 +18,14 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This package provides not an actual importer but simply an updater for | ||
| 24 | ;;; GNOME packages. It grabs package meta-data from 'cache.json' files | ||
| 25 | ;;; available on ftp.gnome.org. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 21 | (define-module (guix import gnome) | 29 | (define-module (guix import gnome) |
| 22 | #:use-module ((guix import utils) #:select (find-version)) | 30 | #:use-module ((guix import utils) #:select (find-version)) |
| 23 | #:use-module (guix upstream) | 31 | #:use-module (guix upstream) |
| @@ -34,14 +42,6 @@ | |||
| 34 | #:use-module (ice-9 regex) | 42 | #:use-module (ice-9 regex) |
| 35 | #:export (%gnome-updater)) | 43 | #:export (%gnome-updater)) |
| 36 | 44 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; This package provides not an actual importer but simply an updater for | ||
| 40 | ;;; GNOME packages. It grabs package meta-data from 'cache.json' files | ||
| 41 | ;;; available on ftp.gnome.org. | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | (define (jsonish->upstream-source name jsonish) | 45 | (define (jsonish->upstream-source name jsonish) |
| 46 | "Return an <upstream-source> object for package NAME, using JSONISH as the | 46 | "Return an <upstream-source> object for package NAME, using JSONISH as the |
| 47 | source for metadata." | 47 | source for metadata." |
diff --git a/guix/import/gnu.scm b/guix/import/gnu.scm index ee7f2f61b98..c373fd2eb19 100644 --- a/guix/import/gnu.scm +++ b/guix/import/gnu.scm | |||
| @@ -18,6 +18,13 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; Generate a package declaration template for the latest version of a GNU | ||
| 24 | ;;; package, using meta-data available upstream for the package. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 21 | (define-module (guix import gnu) | 28 | (define-module (guix import gnu) |
| 22 | #:use-module ((guix diagnostics) #:select (formatted-message)) | 29 | #:use-module ((guix diagnostics) #:select (formatted-message)) |
| 23 | #:use-module (guix gnu-maintenance) | 30 | #:use-module (guix gnu-maintenance) |
| @@ -33,13 +40,6 @@ | |||
| 33 | #:use-module (ice-9 match) | 40 | #:use-module (ice-9 match) |
| 34 | #:export (gnu->guix-package)) | 41 | #:export (gnu->guix-package)) |
| 35 | 42 | ||
| 36 | ;;; Commentary: | ||
| 37 | ;;; | ||
| 38 | ;;; Generate a package declaration template for the latest version of a GNU | ||
| 39 | ;;; package, using meta-data available upstream for the package. | ||
| 40 | ;;; | ||
| 41 | ;;; Code: | ||
| 42 | |||
| 43 | (define (qualified-url url) | 43 | (define (qualified-url url) |
| 44 | "Return a fully-qualified URL based on URL." | 44 | "Return a fully-qualified URL based on URL." |
| 45 | (if (string-prefix? "/" url) | 45 | (if (string-prefix? "/" url) |
diff --git a/guix/import/go.scm b/guix/import/go.scm index 0e65994d0ea..3a75f8e60c5 100644 --- a/guix/import/go.scm +++ b/guix/import/go.scm | |||
| @@ -26,6 +26,41 @@ | |||
| 26 | ;;; You should have received a copy of the GNU General Public License | 26 | ;;; You should have received a copy of the GNU General Public License |
| 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 27 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 28 | 28 | ||
| 29 | ;;; Commentary: | ||
| 30 | ;;; | ||
| 31 | ;;; (guix import go) attempts to make it easier to create Guix package | ||
| 32 | ;;; declarations for Go modules. | ||
| 33 | ;;; | ||
| 34 | ;;; Modules in Go are a "collection of related Go packages" which are "the | ||
| 35 | ;;; unit of source code interchange and versioning". Modules are generally | ||
| 36 | ;;; hosted in a repository. | ||
| 37 | ;;; | ||
| 38 | ;;; Monorepo is a collection of modules within the same VCS source. Each | ||
| 39 | ;;; module of monorepo may be released individually by assigning | ||
| 40 | ;;; "<subdir>/v<semver>" tag (see: https://go.dev/ref/mod#modules-overview). | ||
| 41 | ;;; | ||
| 42 | ;;; At this point it should handle correctly modules which have only Go | ||
| 43 | ;;; dependencies and are accessible from proxy.golang.org (or configured via | ||
| 44 | ;;; GOPROXY). | ||
| 45 | ;;; | ||
| 46 | ;;; We want it to work more or less this way: | ||
| 47 | ;;; - get latest version for the module from GOPROXY | ||
| 48 | ;;; - infer VCS root repo from which we will check-out source by | ||
| 49 | ;;; + recognising known patterns (like github.com) | ||
| 50 | ;;; + or recognizing .vcs suffix | ||
| 51 | ;;; + or parsing meta tag in HTML served at the URL | ||
| 52 | ;;; + or (TODO) if nothing else works by using zip file served by GOPROXY | ||
| 53 | ;;; - get go.mod from GOPROXY (which is able to synthesize one if needed) | ||
| 54 | ;;; - extract list of dependencies from this go.mod | ||
| 55 | ;;; | ||
| 56 | ;;; The Go module paths are translated to a Guix package name under the | ||
| 57 | ;;; assumption that there will be no collision. | ||
| 58 | ;;; | ||
| 59 | ;;; TODO list | ||
| 60 | ;;; - get correct hash in vcs->origin for Mercurial and Subversion | ||
| 61 | ;;; | ||
| 62 | ;;; Code: | ||
| 63 | |||
| 29 | (define-module (guix import go) | 64 | (define-module (guix import go) |
| 30 | #:use-module (guix build-system go) | 65 | #:use-module (guix build-system go) |
| 31 | #:use-module (guix git) | 66 | #:use-module (guix git) |
| @@ -38,7 +73,7 @@ | |||
| 38 | #:use-module (guix packages) | 73 | #:use-module (guix packages) |
| 39 | #:use-module (guix http-client) | 74 | #:use-module (guix http-client) |
| 40 | #:use-module (guix memoization) | 75 | #:use-module (guix memoization) |
| 41 | #:autoload (htmlprag) (html->sxml) ;from Guile-Lib | 76 | #:autoload (htmlprag) (html->sxml) ;from Guile-Lib |
| 42 | #:autoload (guix ui) (warning) | 77 | #:autoload (guix ui) (warning) |
| 43 | #:autoload (git structs) (git-error-message) | 78 | #:autoload (git structs) (git-error-message) |
| 44 | #:use-module (ice-9 format) | 79 | #:use-module (ice-9 format) |
| @@ -64,41 +99,6 @@ | |||
| 64 | go-module->guix-package* | 99 | go-module->guix-package* |
| 65 | go-module-recursive-import)) | 100 | go-module-recursive-import)) |
| 66 | 101 | ||
| 67 | ;;; Commentary: | ||
| 68 | ;;; | ||
| 69 | ;;; (guix import go) attempts to make it easier to create Guix package | ||
| 70 | ;;; declarations for Go modules. | ||
| 71 | ;;; | ||
| 72 | ;;; Modules in Go are a "collection of related Go packages" which are "the | ||
| 73 | ;;; unit of source code interchange and versioning". Modules are generally | ||
| 74 | ;;; hosted in a repository. | ||
| 75 | ;;; | ||
| 76 | ;;; Monorepo is a collection of modules within the same VCS source. Each | ||
| 77 | ;;; module of monorepo may be released individually by assigning | ||
| 78 | ;;; "<subdir>/v<semver>" tag (see: https://go.dev/ref/mod#modules-overview). | ||
| 79 | ;;; | ||
| 80 | ;;; At this point it should handle correctly modules which have only Go | ||
| 81 | ;;; dependencies and are accessible from proxy.golang.org (or configured via | ||
| 82 | ;;; GOPROXY). | ||
| 83 | ;;; | ||
| 84 | ;;; We want it to work more or less this way: | ||
| 85 | ;;; - get latest version for the module from GOPROXY | ||
| 86 | ;;; - infer VCS root repo from which we will check-out source by | ||
| 87 | ;;; + recognising known patterns (like github.com) | ||
| 88 | ;;; + or recognizing .vcs suffix | ||
| 89 | ;;; + or parsing meta tag in HTML served at the URL | ||
| 90 | ;;; + or (TODO) if nothing else works by using zip file served by GOPROXY | ||
| 91 | ;;; - get go.mod from GOPROXY (which is able to synthesize one if needed) | ||
| 92 | ;;; - extract list of dependencies from this go.mod | ||
| 93 | ;;; | ||
| 94 | ;;; The Go module paths are translated to a Guix package name under the | ||
| 95 | ;;; assumption that there will be no collision. | ||
| 96 | |||
| 97 | ;;; TODO list | ||
| 98 | ;;; - get correct hash in vcs->origin for Mercurial and Subversion | ||
| 99 | |||
| 100 | ;;; Code: | ||
| 101 | |||
| 102 | (define (go-package) | 102 | (define (go-package) |
| 103 | "Return the 'go' package. This is a lazy reference so that we don't | 103 | "Return the 'go' package. This is a lazy reference so that we don't |
| 104 | depend on (gnu packages golang)." | 104 | depend on (gnu packages golang)." |
diff --git a/guix/import/kde.scm b/guix/import/kde.scm index 64e2182e879..d7a3e378425 100644 --- a/guix/import/kde.scm +++ b/guix/import/kde.scm | |||
| @@ -19,6 +19,14 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This package provides not an actual importer but simply an updater for | ||
| 25 | ;;; KDE packages. It grabs available files from the 'ls-lR.bz2' file | ||
| 26 | ;;; available on download.kde.org. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 22 | (define-module (guix import kde) | 30 | (define-module (guix import kde) |
| 23 | #:use-module ((guix import utils) #:select (find-version)) | 31 | #:use-module ((guix import utils) #:select (find-version)) |
| 24 | #:use-module (guix http-client) | 32 | #:use-module (guix http-client) |
| @@ -35,14 +43,6 @@ | |||
| 35 | 43 | ||
| 36 | #:export (%kde-updater)) | 44 | #:export (%kde-updater)) |
| 37 | 45 | ||
| 38 | ;;; Commentary: | ||
| 39 | ;;; | ||
| 40 | ;;; This package provides not an actual importer but simply an updater for | ||
| 41 | ;;; KDE packages. It grabs available files from the 'ls-lR.bz2' file | ||
| 42 | ;;; available on download.kde.org. | ||
| 43 | ;;; | ||
| 44 | ;;; Code: | ||
| 45 | |||
| 46 | (define (tarball->version tarball) | 46 | (define (tarball->version tarball) |
| 47 | "Return the version TARBALL corresponds to. TARBALL is a file name like | 47 | "Return the version TARBALL corresponds to. TARBALL is a file name like |
| 48 | \"coreutils-8.23.tar.xz\"." | 48 | \"coreutils-8.23.tar.xz\"." |
diff --git a/guix/import/test.scm b/guix/import/test.scm index 7414cf5253f..997b4fd5ab8 100644 --- a/guix/import/test.scm +++ b/guix/import/test.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module defines a pseudo updater whose sole purpose is to allow | ||
| 22 | ;;; testing of the whole 'guix refresh' command. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix import test) | 26 | (define-module (guix import test) |
| 20 | #:use-module (srfi srfi-1) | 27 | #:use-module (srfi srfi-1) |
| 21 | #:use-module (srfi srfi-26) | 28 | #:use-module (srfi srfi-26) |
| @@ -27,13 +34,6 @@ | |||
| 27 | #:use-module (ice-9 match) | 34 | #:use-module (ice-9 match) |
| 28 | #:export (%test-updater)) | 35 | #:export (%test-updater)) |
| 29 | 36 | ||
| 30 | ;;; Commentary: | ||
| 31 | ;;; | ||
| 32 | ;;; This module defines a pseudo updater whose sole purpose is to allow | ||
| 33 | ;;; testing of the whole 'guix refresh' command. | ||
| 34 | ;;; | ||
| 35 | ;;; Code: | ||
| 36 | |||
| 37 | (define test-target-version | 37 | (define test-target-version |
| 38 | ;; VHash that maps package names to version/URL tuples. | 38 | ;; VHash that maps package names to version/URL tuples. |
| 39 | (make-parameter | 39 | (make-parameter |
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 2b36251f44c..23ec3c00fda 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm | |||
| @@ -18,6 +18,14 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; Generate a package declaration template for corresponding package in the | ||
| 24 | ;;; Tex Live Package Database (tlpdb). We fetch all sources from different | ||
| 25 | ;;; locations in the SVN repository of the Texlive project. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 21 | (define-module (guix import texlive) | 29 | (define-module (guix import texlive) |
| 22 | #:use-module (gcrypt hash) | 30 | #:use-module (gcrypt hash) |
| 23 | #:use-module (guix base32) | 31 | #:use-module (guix base32) |
| @@ -51,14 +59,6 @@ | |||
| 51 | texlive-recursive-import | 59 | texlive-recursive-import |
| 52 | %texlive-updater)) | 60 | %texlive-updater)) |
| 53 | 61 | ||
| 54 | ;;; Commentary: | ||
| 55 | ;;; | ||
| 56 | ;;; Generate a package declaration template for corresponding package in the | ||
| 57 | ;;; Tex Live Package Database (tlpdb). We fetch all sources from different | ||
| 58 | ;;; locations in the SVN repository of the Texlive project. | ||
| 59 | ;;; | ||
| 60 | ;;; Code: | ||
| 61 | |||
| 62 | ;; Generic locations are parts of the tree shared by multiple packages. | 62 | ;; Generic locations are parts of the tree shared by multiple packages. |
| 63 | ;; Package definitions should single out files stored there, or all files in | 63 | ;; Package definitions should single out files stored there, or all files in |
| 64 | ;; the directory from all involved packages would be downloaded. | 64 | ;; the directory from all involved packages would be downloaded. |
diff --git a/guix/inferior.scm b/guix/inferior.scm index 57490afc484..2a490ae6320 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides a way to spawn Guix "inferior" processes and to talk | ||
| 22 | ;;; to them. It allows us, from one instance of Guix, to interact with | ||
| 23 | ;;; another instance of Guix coming from a different commit. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 19 | (define-module (guix inferior) | 27 | (define-module (guix inferior) |
| 20 | #:use-module (srfi srfi-9) | 28 | #:use-module (srfi srfi-9) |
| 21 | #:use-module (srfi srfi-9 gnu) | 29 | #:use-module (srfi srfi-9 gnu) |
| @@ -103,14 +111,6 @@ | |||
| 103 | cached-channel-instance | 111 | cached-channel-instance |
| 104 | inferior-for-channels)) | 112 | inferior-for-channels)) |
| 105 | 113 | ||
| 106 | ;;; Commentary: | ||
| 107 | ;;; | ||
| 108 | ;;; This module provides a way to spawn Guix "inferior" processes and to talk | ||
| 109 | ;;; to them. It allows us, from one instance of Guix, to interact with | ||
| 110 | ;;; another instance of Guix coming from a different commit. | ||
| 111 | ;;; | ||
| 112 | ;;; Code: | ||
| 113 | |||
| 114 | ;; Inferior Guix process. | 114 | ;; Inferior Guix process. |
| 115 | (define-record-type <inferior> | 115 | (define-record-type <inferior> |
| 116 | (inferior pid socket close version packages table | 116 | (inferior pid socket close version packages table |
diff --git a/guix/ipfs.scm b/guix/ipfs.scm index 3c25f2a4991..669943df842 100644 --- a/guix/ipfs.scm +++ b/guix/ipfs.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module implements bindings for the HTTP interface of the IPFS | ||
| 22 | ;;; gateway, documented here: <https://docs.ipfs.io/reference/api/http/>. It | ||
| 23 | ;;; allows you to add and retrieve files over IPFS, and a few other things. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 19 | (define-module (guix ipfs) | 27 | (define-module (guix ipfs) |
| 20 | #:use-module (json) | 28 | #:use-module (json) |
| 21 | #:use-module (srfi srfi-1) | 29 | #:use-module (srfi srfi-1) |
| @@ -39,14 +47,6 @@ | |||
| 39 | read-contents | 47 | read-contents |
| 40 | publish-name)) | 48 | publish-name)) |
| 41 | 49 | ||
| 42 | ;;; Commentary: | ||
| 43 | ;;; | ||
| 44 | ;;; This module implements bindings for the HTTP interface of the IPFS | ||
| 45 | ;;; gateway, documented here: <https://docs.ipfs.io/reference/api/http/>. It | ||
| 46 | ;;; allows you to add and retrieve files over IPFS, and a few other things. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define %ipfs-base-url | 50 | (define %ipfs-base-url |
| 51 | ;; URL of the IPFS gateway. | 51 | ;; URL of the IPFS gateway. |
| 52 | (make-parameter "http://localhost:5001")) | 52 | (make-parameter "http://localhost:5001")) |
diff --git a/guix/least-authority.scm b/guix/least-authority.scm index 68dc7e68e8c..62ab632d1b1 100644 --- a/guix/least-authority.scm +++ b/guix/least-authority.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides tools to execute programs with the least authority | ||
| 22 | ;;; necessary, using Linux namespaces. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix least-authority) | 26 | (define-module (guix least-authority) |
| 20 | #:use-module (guix gexp) | 27 | #:use-module (guix gexp) |
| 21 | #:use-module (guix modules) | 28 | #:use-module (guix modules) |
| @@ -29,13 +36,6 @@ | |||
| 29 | #:export (least-authority-wrapper | 36 | #:export (least-authority-wrapper |
| 30 | %default-preserved-environment-variables)) | 37 | %default-preserved-environment-variables)) |
| 31 | 38 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; This module provides tools to execute programs with the least authority | ||
| 35 | ;;; necessary, using Linux namespaces. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 39 | (define %default-preserved-environment-variables | 39 | (define %default-preserved-environment-variables |
| 40 | ;; Environment variables preserved by the wrapper by default. | 40 | ;; Environment variables preserved by the wrapper by default. |
| 41 | '("HOME" "USER" "LOGNAME" "DISPLAY" "XAUTHORITY" "TERM" "TZ" "PAGER" | 41 | '("HOME" "USER" "LOGNAME" "DISPLAY" "XAUTHORITY" "TERM" "TZ" "PAGER" |
diff --git a/guix/licenses.scm b/guix/licenses.scm index bccfbbedee1..24b86adabea 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm | |||
| @@ -37,6 +37,19 @@ | |||
| 37 | ;;; You should have received a copy of the GNU General Public License | 37 | ;;; You should have received a copy of the GNU General Public License |
| 38 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 38 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 39 | 39 | ||
| 40 | ;;; Commentary: | ||
| 41 | ;;; | ||
| 42 | ;;; Available licenses. | ||
| 43 | ;;; | ||
| 44 | ;;; This list is based on these links: | ||
| 45 | ;;; https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix | ||
| 46 | ;;; https://www.gnu.org/licenses/license-list | ||
| 47 | ;;; | ||
| 48 | ;;; Please update spdx-string->license from guix/import/utils.scm | ||
| 49 | ;;; when modifying this list to avoid mismatches. | ||
| 50 | ;;; | ||
| 51 | ;;; Code: | ||
| 52 | |||
| 40 | (define-module (guix licenses) | 53 | (define-module (guix licenses) |
| 41 | #:use-module (srfi srfi-9) | 54 | #:use-module (srfi srfi-9) |
| 42 | #:export (license license? license-name license-uri license-comment | 55 | #:export (license license? license-name license-uri license-comment |
| @@ -118,19 +131,6 @@ | |||
| 118 | hpnd | 131 | hpnd |
| 119 | fsdg-compatible)) | 132 | fsdg-compatible)) |
| 120 | 133 | ||
| 121 | ;;; Commentary: | ||
| 122 | ;;; | ||
| 123 | ;;; Available licenses. | ||
| 124 | ;;; | ||
| 125 | ;;; This list is based on these links: | ||
| 126 | ;;; https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix | ||
| 127 | ;;; https://www.gnu.org/licenses/license-list | ||
| 128 | ;;; | ||
| 129 | ;;; Please update spdx-string->license from guix/import/utils.scm | ||
| 130 | ;;; when modifying this list to avoid mismatches. | ||
| 131 | ;;; | ||
| 132 | ;;; Code: | ||
| 133 | |||
| 134 | (define-record-type <license> | 134 | (define-record-type <license> |
| 135 | (license name uri comment) | 135 | (license name uri comment) |
| 136 | actual-license? | 136 | actual-license? |
diff --git a/guix/man-db.scm b/guix/man-db.scm index d6241480f7e..94798a40db9 100644 --- a/guix/man-db.scm +++ b/guix/man-db.scm | |||
| @@ -17,6 +17,16 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Scan gzipped man pages and create a man-db database. The database is | ||
| 23 | ;;; meant to be used by 'man -k KEYWORD'. | ||
| 24 | ;;; | ||
| 25 | ;;; The implementation here aims to be simpler than that of 'man-db', and to | ||
| 26 | ;;; produce deterministic output. See <https://bugs.gnu.org/29654>. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 20 | (define-module (guix man-db) | 30 | (define-module (guix man-db) |
| 21 | #:autoload (zlib) (call-with-gzip-input-port) | 31 | #:autoload (zlib) (call-with-gzip-input-port) |
| 22 | #:autoload (zstd) (call-with-zstd-input-port) | 32 | #:autoload (zstd) (call-with-zstd-input-port) |
| @@ -37,16 +47,6 @@ | |||
| 37 | mandb-entries | 47 | mandb-entries |
| 38 | write-mandb-database)) | 48 | write-mandb-database)) |
| 39 | 49 | ||
| 40 | ;;; Comment: | ||
| 41 | ;;; | ||
| 42 | ;;; Scan gzipped man pages and create a man-db database. The database is | ||
| 43 | ;;; meant to be used by 'man -k KEYWORD'. | ||
| 44 | ;;; | ||
| 45 | ;;; The implementation here aims to be simpler than that of 'man-db', and to | ||
| 46 | ;;; produce deterministic output. See <https://bugs.gnu.org/29654>. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define-record-type <mandb-entry> | 50 | (define-record-type <mandb-entry> |
| 51 | (mandb-entry file-name name section synopsis kind) | 51 | (mandb-entry file-name name section synopsis kind) |
| 52 | mandb-entry? | 52 | mandb-entry? |
diff --git a/guix/modules.scm b/guix/modules.scm index 74400ffacc8..e60c18603a0 100644 --- a/guix/modules.scm +++ b/guix/modules.scm | |||
| @@ -16,6 +16,16 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides introspection tools for Guile modules at the source | ||
| 22 | ;;; level. Namely, it allows you to determine the closure of a module; it | ||
| 23 | ;;; does so just by reading the 'define-module' clause of the module and its | ||
| 24 | ;;; dependencies. This is primarily useful as an argument to | ||
| 25 | ;;; 'with-imported-modules'. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 19 | (define-module (guix modules) | 29 | (define-module (guix modules) |
| 20 | #:use-module (guix memoization) | 30 | #:use-module (guix memoization) |
| 21 | #:use-module (guix sets) | 31 | #:use-module (guix sets) |
| @@ -35,16 +45,6 @@ | |||
| 35 | live-module-closure | 45 | live-module-closure |
| 36 | guix-module-name?)) | 46 | guix-module-name?)) |
| 37 | 47 | ||
| 38 | ;;; Commentary: | ||
| 39 | ;;; | ||
| 40 | ;;; This module provides introspection tools for Guile modules at the source | ||
| 41 | ;;; level. Namely, it allows you to determine the closure of a module; it | ||
| 42 | ;;; does so just by reading the 'define-module' clause of the module and its | ||
| 43 | ;;; dependencies. This is primarily useful as an argument to | ||
| 44 | ;;; 'with-imported-modules'. | ||
| 45 | ;;; | ||
| 46 | ;;; Code: | ||
| 47 | |||
| 48 | ;; The error corresponding to a missing module. | 48 | ;; The error corresponding to a missing module. |
| 49 | (define-condition-type &missing-dependency-error &error | 49 | (define-condition-type &missing-dependency-error &error |
| 50 | missing-dependency-error? | 50 | missing-dependency-error? |
diff --git a/guix/monad-repl.scm b/guix/monad-repl.scm index fc9654ce9ed..6d8cb1c8b8d 100644 --- a/guix/monad-repl.scm +++ b/guix/monad-repl.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This modules provides a couple of REPL meta-commands that make it easier | ||
| 23 | ;;; to work with monadic procedures in the store monad. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix monad-repl) | 27 | (define-module (guix monad-repl) |
| 21 | #:use-module (guix store) | 28 | #:use-module (guix store) |
| 22 | #:use-module (guix monads) | 29 | #:use-module (guix monads) |
| @@ -40,13 +47,6 @@ | |||
| 40 | #:export (run-in-store | 47 | #:export (run-in-store |
| 41 | enter-store-monad)) | 48 | enter-store-monad)) |
| 42 | 49 | ||
| 43 | ;;; Comment: | ||
| 44 | ;;; | ||
| 45 | ;;; This modules provides a couple of REPL meta-commands that make it easier | ||
| 46 | ;;; to work with monadic procedures in the store monad. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define* (monad-language monad run #:optional (name 'monad)) | 50 | (define* (monad-language monad run #:optional (name 'monad)) |
| 51 | "Return a language with a special evaluator that causes monadic values | 51 | "Return a language with a special evaluator that causes monadic values |
| 52 | to be \"run\" in MONAD using procedure RUN." | 52 | to be \"run\" in MONAD using procedure RUN." |
diff --git a/guix/monads.scm b/guix/monads.scm index e1b056dc95f..5af7ca67f2d 100644 --- a/guix/monads.scm +++ b/guix/monads.scm | |||
| @@ -17,6 +17,18 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; This module implements the general mechanism of monads, and provides in | ||
| 23 | ;;; particular an instance of the "state" monad. The API was inspired by that | ||
| 24 | ;;; of Racket's "better-monads" module (see | ||
| 25 | ;;; <http://planet.racket-lang.org/package-source/toups/functional.plt/1/1/planet-docs/better-monads-guide/index.html>). | ||
| 26 | ;;; The implementation and use case were influenced by Oleg Kysielov's | ||
| 27 | ;;; "Monadic Programming in Scheme" (see | ||
| 28 | ;;; <http://okmij.org/ftp/Scheme/monad-in-Scheme.html>). | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 20 | (define-module (guix monads) | 32 | (define-module (guix monads) |
| 21 | #:use-module ((system syntax) | 33 | #:use-module ((system syntax) |
| 22 | #:select (syntax-local-binding)) | 34 | #:select (syntax-local-binding)) |
| @@ -63,18 +75,6 @@ | |||
| 63 | state-parameterize | 75 | state-parameterize |
| 64 | mparameterize)) | 76 | mparameterize)) |
| 65 | 77 | ||
| 66 | ;;; Commentary: | ||
| 67 | ;;; | ||
| 68 | ;;; This module implements the general mechanism of monads, and provides in | ||
| 69 | ;;; particular an instance of the "state" monad. The API was inspired by that | ||
| 70 | ;;; of Racket's "better-monads" module (see | ||
| 71 | ;;; <http://planet.racket-lang.org/package-source/toups/functional.plt/1/1/planet-docs/better-monads-guide/index.html>). | ||
| 72 | ;;; The implementation and use case were influenced by Oleg Kysielov's | ||
| 73 | ;;; "Monadic Programming in Scheme" (see | ||
| 74 | ;;; <http://okmij.org/ftp/Scheme/monad-in-Scheme.html>). | ||
| 75 | ;;; | ||
| 76 | ;;; Code: | ||
| 77 | |||
| 78 | ;; Record type for monads manipulated at run time. | 78 | ;; Record type for monads manipulated at run time. |
| 79 | (define-record-type <monad> | 79 | (define-record-type <monad> |
| 80 | (make-monad bind return) | 80 | (make-monad bind return) |
diff --git a/guix/nar.scm b/guix/nar.scm index c7842399dcd..fb71e846e83 100644 --- a/guix/nar.scm +++ b/guix/nar.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Read and write Nix archives, aka. ‘nar’. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (guix nar) | 26 | (define-module (guix nar) |
| 21 | #:use-module (guix serialization) | 27 | #:use-module (guix serialization) |
| 22 | #:autoload (guix build syscalls) (lock-file unlock-file) | 28 | #:autoload (guix build syscalls) (lock-file unlock-file) |
| @@ -48,12 +54,6 @@ | |||
| 48 | 54 | ||
| 49 | restore-file-set)) | 55 | restore-file-set)) |
| 50 | 56 | ||
| 51 | ;;; Comment: | ||
| 52 | ;;; | ||
| 53 | ;;; Read and write Nix archives, aka. ‘nar’. | ||
| 54 | ;;; | ||
| 55 | ;;; Code: | ||
| 56 | |||
| 57 | (define-condition-type &nar-signature-error &nar-error | 57 | (define-condition-type &nar-signature-error &nar-error |
| 58 | nar-signature-error? | 58 | nar-signature-error? |
| 59 | (signature nar-signature-error-signature)) ; faulty signature or #f | 59 | (signature nar-signature-error-signature)) ; faulty signature or #f |
diff --git a/guix/openpgp.scm b/guix/openpgp.scm index d99624911b6..ee1c196eb10 100644 --- a/guix/openpgp.scm +++ b/guix/openpgp.scm | |||
| @@ -25,6 +25,20 @@ | |||
| 25 | ;;; Ludovic Courtès for use in GNU Guix: turned into a native Guile module, | 25 | ;;; Ludovic Courtès for use in GNU Guix: turned into a native Guile module, |
| 26 | ;;; ported to Guile-Gcrypt, and extended and simplified in other ways. | 26 | ;;; ported to Guile-Gcrypt, and extended and simplified in other ways. |
| 27 | 27 | ||
| 28 | ;;; Commentary: | ||
| 29 | ;;; | ||
| 30 | ;;; This module contains code to read OpenPGP messages as described in | ||
| 31 | ;;; <https://tools.ietf.org/html/rfc4880>, with extensions from | ||
| 32 | ;;; <https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-06> (notably | ||
| 33 | ;;; EdDSA support and extra signature sub-packets). | ||
| 34 | ;;; | ||
| 35 | ;;; Currently this module does enough to verify detached signatures of binary | ||
| 36 | ;;; data. It does _not_ perform sanity checks on self-signatures, subkey | ||
| 37 | ;;; binding signatures, etc., among others. Use only in a context where this | ||
| 38 | ;;; limitations are acceptable! | ||
| 39 | ;;; | ||
| 40 | ;;; Code: | ||
| 41 | |||
| 28 | (define-module (guix openpgp) | 42 | (define-module (guix openpgp) |
| 29 | #:export (get-openpgp-detached-signature/ascii | 43 | #:export (get-openpgp-detached-signature/ascii |
| 30 | (get-packet . get-openpgp-packet) | 44 | (get-packet . get-openpgp-packet) |
| @@ -85,20 +99,6 @@ | |||
| 85 | #:use-module (gcrypt base16) | 99 | #:use-module (gcrypt base16) |
| 86 | #:use-module ((guix build utils) #:select (dump-port))) | 100 | #:use-module ((guix build utils) #:select (dump-port))) |
| 87 | 101 | ||
| 88 | ;;; Commentary: | ||
| 89 | ;;; | ||
| 90 | ;;; This module contains code to read OpenPGP messages as described in | ||
| 91 | ;;; <https://tools.ietf.org/html/rfc4880>, with extensions from | ||
| 92 | ;;; <https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-06> (notably | ||
| 93 | ;;; EdDSA support and extra signature sub-packets). | ||
| 94 | ;;; | ||
| 95 | ;;; Currently this module does enough to verify detached signatures of binary | ||
| 96 | ;;; data. It does _not_ perform sanity checks on self-signatures, subkey | ||
| 97 | ;;; binding signatures, etc., among others. Use only in a context where this | ||
| 98 | ;;; limitations are acceptable! | ||
| 99 | ;;; | ||
| 100 | ;;; Code: | ||
| 101 | |||
| 102 | (define-syntax print | 102 | (define-syntax print |
| 103 | (syntax-rules () | 103 | (syntax-rules () |
| 104 | ;; ((_ args ...) (pk 'openpgp args)) | 104 | ;; ((_ args ...) (pk 'openpgp args)) |
diff --git a/guix/packages.scm b/guix/packages.scm index 5f656e6441d..e43ab37f1f4 100644 --- a/guix/packages.scm +++ b/guix/packages.scm | |||
| @@ -28,6 +28,13 @@ | |||
| 28 | ;;; You should have received a copy of the GNU General Public License | 28 | ;;; You should have received a copy of the GNU General Public License |
| 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 30 | 30 | ||
| 31 | ;;; Commentary: | ||
| 32 | ;;; | ||
| 33 | ;;; This module provides a high-level mechanism to define packages in a | ||
| 34 | ;;; Guix-based distribution. | ||
| 35 | ;;; | ||
| 36 | ;;; Code: | ||
| 37 | |||
| 31 | (define-module (guix packages) | 38 | (define-module (guix packages) |
| 32 | #:autoload (guix build utils) (compressor tarball? strip-store-file-name) | 39 | #:autoload (guix build utils) (compressor tarball? strip-store-file-name) |
| 33 | #:use-module (guix utils) | 40 | #:use-module (guix utils) |
| @@ -219,13 +226,6 @@ | |||
| 219 | (module-re-export! (current-module) '(delete) #:replace? #t) | 226 | (module-re-export! (current-module) '(delete) #:replace? #t) |
| 220 | (module-re-export! (current-module) '(delete)))) | 227 | (module-re-export! (current-module) '(delete)))) |
| 221 | 228 | ||
| 222 | ;;; Commentary: | ||
| 223 | ;;; | ||
| 224 | ;;; This module provides a high-level mechanism to define packages in a | ||
| 225 | ;;; Guix-based distribution. | ||
| 226 | ;;; | ||
| 227 | ;;; Code: | ||
| 228 | |||
| 229 | (define-syntax-rule (define-compile-time-decoder name string->bytevector) | 229 | (define-syntax-rule (define-compile-time-decoder name string->bytevector) |
| 230 | "Define NAME as a macro that runs STRING->BYTEVECTOR at macro expansion time | 230 | "Define NAME as a macro that runs STRING->BYTEVECTOR at macro expansion time |
| 231 | if possible." | 231 | if possible." |
diff --git a/guix/pki.scm b/guix/pki.scm index 91c1be531a9..7b3d1bd0462 100644 --- a/guix/pki.scm +++ b/guix/pki.scm | |||
| @@ -16,6 +16,15 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Public key infrastructure for the authentication and authorization of | ||
| 22 | ;;; archive imports. This is essentially a subset of SPKI for our own | ||
| 23 | ;;; purposes (see <http://theworld.com/~cme/spki.txt> and | ||
| 24 | ;;; <http://www.ietf.org/rfc/rfc2693.txt>.) | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 19 | (define-module (guix pki) | 28 | (define-module (guix pki) |
| 20 | #:use-module (guix config) | 29 | #:use-module (guix config) |
| 21 | #:use-module (gcrypt pk-crypto) | 30 | #:use-module (gcrypt pk-crypto) |
| @@ -39,15 +48,6 @@ | |||
| 39 | valid-signature? | 48 | valid-signature? |
| 40 | signature-case)) | 49 | signature-case)) |
| 41 | 50 | ||
| 42 | ;;; Commentary: | ||
| 43 | ;;; | ||
| 44 | ;;; Public key infrastructure for the authentication and authorization of | ||
| 45 | ;;; archive imports. This is essentially a subset of SPKI for our own | ||
| 46 | ;;; purposes (see <http://theworld.com/~cme/spki.txt> and | ||
| 47 | ;;; <http://www.ietf.org/rfc/rfc2693.txt>.) | ||
| 48 | ;;; | ||
| 49 | ;;; Code: | ||
| 50 | |||
| 51 | (define (public-keys->acl keys) | 51 | (define (public-keys->acl keys) |
| 52 | "Return an ACL that lists all of KEYS with a '(guix import)' | 52 | "Return an ACL that lists all of KEYS with a '(guix import)' |
| 53 | tag---meaning that all of KEYS are authorized for archive imports. Each | 53 | tag---meaning that all of KEYS are authorized for archive imports. Each |
diff --git a/guix/profiles.scm b/guix/profiles.scm index fb2edbfab34..5e07dc107e1 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm | |||
| @@ -29,6 +29,13 @@ | |||
| 29 | ;;; You should have received a copy of the GNU General Public License | 29 | ;;; You should have received a copy of the GNU General Public License |
| 30 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 30 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 31 | 31 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; Tools to create and manipulate profiles---i.e., the representation of a | ||
| 35 | ;;; set of installed packages. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 32 | (define-module (guix profiles) | 39 | (define-module (guix profiles) |
| 33 | #:use-module ((guix config) #:select (%state-directory)) | 40 | #:use-module ((guix config) #:select (%state-directory)) |
| 34 | #:use-module ((guix utils) #:hide (package-name->name+version)) | 41 | #:use-module ((guix utils) #:hide (package-name->name+version)) |
| @@ -167,13 +174,6 @@ | |||
| 167 | 174 | ||
| 168 | linux-module-database)) | 175 | linux-module-database)) |
| 169 | 176 | ||
| 170 | ;;; Commentary: | ||
| 171 | ;;; | ||
| 172 | ;;; Tools to create and manipulate profiles---i.e., the representation of a | ||
| 173 | ;;; set of installed packages. | ||
| 174 | ;;; | ||
| 175 | ;;; Code: | ||
| 176 | |||
| 177 | 177 | ||
| 178 | ;;; | 178 | ;;; |
| 179 | ;;; Condition types. | 179 | ;;; Condition types. |
diff --git a/guix/profiling.scm b/guix/profiling.scm index e1c205a5438..8c8d5125fff 100644 --- a/guix/profiling.scm +++ b/guix/profiling.scm | |||
| @@ -16,18 +16,18 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (guix profiling) | ||
| 20 | #:use-module (ice-9 match) | ||
| 21 | #:autoload (ice-9 format) (format) | ||
| 22 | #:export (profiled? | ||
| 23 | register-profiling-hook!)) | ||
| 24 | |||
| 25 | ;;; Commentary: | 19 | ;;; Commentary: |
| 26 | ;;; | 20 | ;;; |
| 27 | ;;; Basic support for Guix-specific profiling. | 21 | ;;; Basic support for Guix-specific profiling. |
| 28 | ;;; | 22 | ;;; |
| 29 | ;;; Code: | 23 | ;;; Code: |
| 30 | 24 | ||
| 25 | (define-module (guix profiling) | ||
| 26 | #:use-module (ice-9 match) | ||
| 27 | #:autoload (ice-9 format) (format) | ||
| 28 | #:export (profiled? | ||
| 29 | register-profiling-hook!)) | ||
| 30 | |||
| 31 | (define profiled? | 31 | (define profiled? |
| 32 | (let ((profiled | 32 | (let ((profiled |
| 33 | (or (and=> (getenv "GUIX_PROFILING") string-tokenize) | 33 | (or (and=> (getenv "GUIX_PROFILING") string-tokenize) |
diff --git a/guix/progress.scm b/guix/progress.scm index e1b35094e11..98ee3bc3c2f 100644 --- a/guix/progress.scm +++ b/guix/progress.scm | |||
| @@ -19,6 +19,12 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Helper to write progress report code for downloads, etc. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 22 | (define-module (guix progress) | 28 | (define-module (guix progress) |
| 23 | #:use-module (guix records) | 29 | #:use-module (guix records) |
| 24 | #:autoload (guix build syscalls) (terminal-string-width) | 30 | #:autoload (guix build syscalls) (terminal-string-width) |
| @@ -51,12 +57,6 @@ | |||
| 51 | 57 | ||
| 52 | dump-port*)) | 58 | dump-port*)) |
| 53 | 59 | ||
| 54 | ;;; Commentary: | ||
| 55 | ;;; | ||
| 56 | ;;; Helper to write progress report code for downloads, etc. | ||
| 57 | ;;; | ||
| 58 | ;;; Code: | ||
| 59 | |||
| 60 | (define-record-type* <progress-reporter> | 60 | (define-record-type* <progress-reporter> |
| 61 | progress-reporter make-progress-reporter progress-reporter? | 61 | progress-reporter make-progress-reporter progress-reporter? |
| 62 | (start progress-reporter-start) ; thunk | 62 | (start progress-reporter-start) ; thunk |
diff --git a/guix/quirks.scm b/guix/quirks.scm index 1cffe971fc7..fe8c001bc4b 100644 --- a/guix/quirks.scm +++ b/guix/quirks.scm | |||
| @@ -16,6 +16,15 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Time traveling is a challenge! Sometimes, going back to the past requires | ||
| 22 | ;;; adjusting the old source code so it can be evaluated with our modern day | ||
| 23 | ;;; Guile and against our modern Guix APIs. This file describes quirks found | ||
| 24 | ;;; in old Guix revisions, along with ways to address them or patch them. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 19 | (define-module (guix quirks) | 28 | (define-module (guix quirks) |
| 20 | #:use-module ((guix build utils) #:select (substitute*)) | 29 | #:use-module ((guix build utils) #:select (substitute*)) |
| 21 | #:use-module (srfi srfi-9) | 30 | #:use-module (srfi srfi-9) |
| @@ -29,15 +38,6 @@ | |||
| 29 | 38 | ||
| 30 | %patches)) | 39 | %patches)) |
| 31 | 40 | ||
| 32 | ;;; Commentary: | ||
| 33 | ;;; | ||
| 34 | ;;; Time traveling is a challenge! Sometimes, going back to the past requires | ||
| 35 | ;;; adjusting the old source code so it can be evaluated with our modern day | ||
| 36 | ;;; Guile and against our modern Guix APIs. This file describes quirks found | ||
| 37 | ;;; in old Guix revisions, along with ways to address them or patch them. | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 41 | (define (syscalls-reexports-local-variables? source) | 41 | (define (syscalls-reexports-local-variables? source) |
| 42 | "Return true if (guix build syscalls) contains the bug described at | 42 | "Return true if (guix build syscalls) contains the bug described at |
| 43 | <https://bugs.gnu.org/36723>." | 43 | <https://bugs.gnu.org/36723>." |
diff --git a/guix/read-print.scm b/guix/read-print.scm index 9b3a98c8ee3..6c57f0e94b7 100644 --- a/guix/read-print.scm +++ b/guix/read-print.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides a comment-preserving reader and a comment-preserving | ||
| 22 | ;;; pretty-printer smarter than (ice-9 pretty-print). | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix read-print) | 26 | (define-module (guix read-print) |
| 20 | #:use-module (ice-9 control) | 27 | #:use-module (ice-9 control) |
| 21 | #:use-module (ice-9 match) | 28 | #:use-module (ice-9 match) |
| @@ -53,13 +60,6 @@ | |||
| 53 | comment-margin? | 60 | comment-margin? |
| 54 | canonicalize-comment)) | 61 | canonicalize-comment)) |
| 55 | 62 | ||
| 56 | ;;; Commentary: | ||
| 57 | ;;; | ||
| 58 | ;;; This module provides a comment-preserving reader and a comment-preserving | ||
| 59 | ;;; pretty-printer smarter than (ice-9 pretty-print). | ||
| 60 | ;;; | ||
| 61 | ;;; Code: | ||
| 62 | |||
| 63 | 63 | ||
| 64 | ;;; | 64 | ;;; |
| 65 | ;;; Comment-preserving reader. | 65 | ;;; Comment-preserving reader. |
diff --git a/guix/records.scm b/guix/records.scm index 52d03f73942..fc83d975189 100644 --- a/guix/records.scm +++ b/guix/records.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Utilities for dealing with Scheme records. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (guix records) | 26 | (define-module (guix records) |
| 21 | #:use-module (srfi srfi-1) | 27 | #:use-module (srfi srfi-1) |
| 22 | #:use-module (srfi srfi-9) | 28 | #:use-module (srfi srfi-9) |
| @@ -34,12 +40,6 @@ | |||
| 34 | match-record | 40 | match-record |
| 35 | match-record-lambda)) | 41 | match-record-lambda)) |
| 36 | 42 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; Utilities for dealing with Scheme records. | ||
| 40 | ;;; | ||
| 41 | ;;; Code: | ||
| 42 | |||
| 43 | (define-syntax record-error | 43 | (define-syntax record-error |
| 44 | (syntax-rules () | 44 | (syntax-rules () |
| 45 | "Report a syntactic error in use of CONSTRUCTOR." | 45 | "Report a syntactic error in use of CONSTRUCTOR." |
diff --git a/guix/remote-procedures.scm b/guix/remote-procedures.scm index dca491a76d3..48424f7e8bb 100644 --- a/guix/remote-procedures.scm +++ b/guix/remote-procedures.scm | |||
| @@ -16,6 +16,15 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module defines the remote procedure interface between the build | ||
| 22 | ;;; daemon and clients (also known as "remote procedure calls" or RPCs). It | ||
| 23 | ;;; is used to generate client stubs in (guix store) and can also be used to | ||
| 24 | ;;; generate server stubs. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 19 | (define-module (guix remote-procedures) | 28 | (define-module (guix remote-procedures) |
| 20 | #:use-module (guix serialization) | 29 | #:use-module (guix serialization) |
| 21 | #:export (%protocol-version | 30 | #:export (%protocol-version |
| @@ -35,15 +44,6 @@ | |||
| 35 | build-mode | 44 | build-mode |
| 36 | gc-action)) | 45 | gc-action)) |
| 37 | 46 | ||
| 38 | ;;; Comment: | ||
| 39 | ;;; | ||
| 40 | ;;; This module defines the remote procedure interface between the build | ||
| 41 | ;;; daemon and clients (also known as "remote procedure calls" or RPCs). It | ||
| 42 | ;;; is used to generate client stubs in (guix store) and can also be used to | ||
| 43 | ;;; generate server stubs. | ||
| 44 | ;;; | ||
| 45 | ;;; Code: | ||
| 46 | |||
| 47 | (define %protocol-version | 47 | (define %protocol-version |
| 48 | ;; Version of the currently-implemented protocol. | 48 | ;; Version of the currently-implemented protocol. |
| 49 | #x164) | 49 | #x164) |
diff --git a/guix/remote.scm b/guix/remote.scm index 6a122724936..16a94aef7f8 100644 --- a/guix/remote.scm +++ b/guix/remote.scm | |||
| @@ -16,6 +16,17 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Note: This API is experimental and subject to change! | ||
| 22 | ;;; | ||
| 23 | ;;; Evaluate a gexp on a remote machine, over SSH, ensuring that all the | ||
| 24 | ;;; elements the gexp refers to are deployed beforehand. This is useful for | ||
| 25 | ;;; expressions that have side effects; for pure expressions, you would rather | ||
| 26 | ;;; build a derivation remotely or offload it. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 19 | (define-module (guix remote) | 30 | (define-module (guix remote) |
| 20 | #:use-module (guix ssh) | 31 | #:use-module (guix ssh) |
| 21 | #:use-module (guix gexp) | 32 | #:use-module (guix gexp) |
| @@ -36,17 +47,6 @@ | |||
| 36 | #:use-module (srfi srfi-71) | 47 | #:use-module (srfi srfi-71) |
| 37 | #:export (remote-eval)) | 48 | #:export (remote-eval)) |
| 38 | 49 | ||
| 39 | ;;; Commentary: | ||
| 40 | ;;; | ||
| 41 | ;;; Note: This API is experimental and subject to change! | ||
| 42 | ;;; | ||
| 43 | ;;; Evaluate a gexp on a remote machine, over SSH, ensuring that all the | ||
| 44 | ;;; elements the gexp refers to are deployed beforehand. This is useful for | ||
| 45 | ;;; expressions that have side effects; for pure expressions, you would rather | ||
| 46 | ;;; build a derivation remotely or offload it. | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define* (remote-pipe-for-gexp lowered session #:optional become-command) | 50 | (define* (remote-pipe-for-gexp lowered session #:optional become-command) |
| 51 | "Return a remote pipe for the given SESSION to evaluate LOWERED. If | 51 | "Return a remote pipe for the given SESSION to evaluate LOWERED. If |
| 52 | BECOME-COMMAND is given, use that to invoke the remote Guile REPL." | 52 | BECOME-COMMAND is given, use that to invoke the remote Guile REPL." |
diff --git a/guix/repl.scm b/guix/repl.scm index 94d85815ef4..0cfcee9ac60 100644 --- a/guix/repl.scm +++ b/guix/repl.scm | |||
| @@ -16,13 +16,6 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (guix repl) | ||
| 20 | #:use-module (srfi srfi-1) | ||
| 21 | #:use-module (srfi srfi-26) | ||
| 22 | #:use-module (ice-9 match) | ||
| 23 | #:export (send-repl-response | ||
| 24 | machine-repl)) | ||
| 25 | |||
| 26 | ;;; Commentary: | 19 | ;;; Commentary: |
| 27 | ;;; | 20 | ;;; |
| 28 | ;;; This module implements the "machine-readable" REPL provided by | 21 | ;;; This module implements the "machine-readable" REPL provided by |
| @@ -31,6 +24,13 @@ | |||
| 31 | ;;; | 24 | ;;; |
| 32 | ;;; Code: | 25 | ;;; Code: |
| 33 | 26 | ||
| 27 | (define-module (guix repl) | ||
| 28 | #:use-module (srfi srfi-1) | ||
| 29 | #:use-module (srfi srfi-26) | ||
| 30 | #:use-module (ice-9 match) | ||
| 31 | #:export (send-repl-response | ||
| 32 | machine-repl)) | ||
| 33 | |||
| 34 | (define (self-quoting? x) | 34 | (define (self-quoting? x) |
| 35 | "Return #t if X is self-quoting." | 35 | "Return #t if X is self-quoting." |
| 36 | (letrec-syntax ((one-of (syntax-rules () | 36 | (letrec-syntax ((one-of (syntax-rules () |
diff --git a/guix/rpm.scm b/guix/rpm.scm index 34ecab89566..54b444ffdd7 100644 --- a/guix/rpm.scm +++ b/guix/rpm.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides the building blocks required to construct RPM | ||
| 22 | ;;; archives. It is intended to be importable on the build side, so shouldn't | ||
| 23 | ;;; depend on (guix diagnostics) or other host-side-only modules. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 19 | (define-module (guix rpm) | 27 | (define-module (guix rpm) |
| 20 | #:autoload (gcrypt hash) (hash-algorithm file-hash md5) | 28 | #:autoload (gcrypt hash) (hash-algorithm file-hash md5) |
| 21 | #:use-module (guix build utils) | 29 | #:use-module (guix build utils) |
| @@ -45,14 +53,6 @@ | |||
| 45 | 53 | ||
| 46 | fhs-directory?)) | 54 | fhs-directory?)) |
| 47 | 55 | ||
| 48 | ;;; Commentary: | ||
| 49 | ;;; | ||
| 50 | ;;; This module provides the building blocks required to construct RPM | ||
| 51 | ;;; archives. It is intended to be importable on the build side, so shouldn't | ||
| 52 | ;;; depend on (guix diagnostics) or other host-side-only modules. | ||
| 53 | ;;; | ||
| 54 | ;;; Code: | ||
| 55 | |||
| 56 | (define (gnu-system-triplet->machine-type triplet) | 56 | (define (gnu-system-triplet->machine-type triplet) |
| 57 | "Return the machine component of TRIPLET, a GNU system triplet." | 57 | "Return the machine component of TRIPLET, a GNU system triplet." |
| 58 | (first (string-split triplet #\-))) | 58 | (first (string-split triplet #\-))) |
diff --git a/guix/scripts.scm b/guix/scripts.scm index c4849816ea9..2151acf2a54 100644 --- a/guix/scripts.scm +++ b/guix/scripts.scm | |||
| @@ -21,6 +21,12 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; General code for Guix scripts. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 24 | (define-module (guix scripts) | 30 | (define-module (guix scripts) |
| 25 | #:use-module (guix utils) | 31 | #:use-module (guix utils) |
| 26 | #:use-module (guix ui) | 32 | #:use-module (guix ui) |
| @@ -52,12 +58,6 @@ | |||
| 52 | %disk-space-warning | 58 | %disk-space-warning |
| 53 | warn-about-disk-space)) | 59 | warn-about-disk-space)) |
| 54 | 60 | ||
| 55 | ;;; Commentary: | ||
| 56 | ;;; | ||
| 57 | ;;; General code for Guix scripts. | ||
| 58 | ;;; | ||
| 59 | ;;; Code: | ||
| 60 | |||
| 61 | ;; Syntactic keywords. | 61 | ;; Syntactic keywords. |
| 62 | (define synopsis 'command-synopsis) | 62 | (define synopsis 'command-synopsis) |
| 63 | (define category 'command-category) | 63 | (define category 'command-category) |
diff --git a/guix/scripts/authenticate.scm b/guix/scripts/authenticate.scm index f90eeeec8de..41540036b31 100644 --- a/guix/scripts/authenticate.scm +++ b/guix/scripts/authenticate.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This program is used internally by the daemon to sign exported archive | ||
| 22 | ;;; (the 'export-paths' RPC), and to authenticate imported archives (the | ||
| 23 | ;;; 'import-paths' RPC.) | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 19 | (define-module (guix scripts authenticate) | 27 | (define-module (guix scripts authenticate) |
| 20 | #:use-module (guix scripts) | 28 | #:use-module (guix scripts) |
| 21 | #:use-module (guix base16) | 29 | #:use-module (guix base16) |
| @@ -34,14 +42,6 @@ | |||
| 34 | #:use-module (ice-9 iconv) | 42 | #:use-module (ice-9 iconv) |
| 35 | #:export (guix-authenticate)) | 43 | #:export (guix-authenticate)) |
| 36 | 44 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; This program is used internally by the daemon to sign exported archive | ||
| 40 | ;;; (the 'export-paths' RPC), and to authenticate imported archives (the | ||
| 41 | ;;; 'import-paths' RPC.) | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | (define read-canonical-sexp | 45 | (define read-canonical-sexp |
| 46 | ;; Read a gcrypt sexp from a port and return it. | 46 | ;; Read a gcrypt sexp from a port and return it. |
| 47 | (compose string->canonical-sexp read-string)) | 47 | (compose string->canonical-sexp read-string)) |
diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm index a1f90b78446..1b98b3d66a4 100644 --- a/guix/scripts/challenge.scm +++ b/guix/scripts/challenge.scm | |||
| @@ -16,6 +16,18 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Challenge substitute servers, checking whether they provide the same | ||
| 22 | ;;; binaries as those built locally. | ||
| 23 | ;;; | ||
| 24 | ;;; Here we completely bypass the daemon to access substitutes. This is | ||
| 25 | ;;; because we want to be able to report fine-grain information about | ||
| 26 | ;;; discrepancies: We need to show the URL of the offending nar, its hash, and | ||
| 27 | ;;; so on. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 19 | (define-module (guix scripts challenge) | 31 | (define-module (guix scripts challenge) |
| 20 | #:use-module (guix ui) | 32 | #:use-module (guix ui) |
| 21 | #:use-module (guix colors) | 33 | #:use-module (guix colors) |
| @@ -62,18 +74,6 @@ | |||
| 62 | 74 | ||
| 63 | guix-challenge)) | 75 | guix-challenge)) |
| 64 | 76 | ||
| 65 | ;;; Commentary: | ||
| 66 | ;;; | ||
| 67 | ;;; Challenge substitute servers, checking whether they provide the same | ||
| 68 | ;;; binaries as those built locally. | ||
| 69 | ;;; | ||
| 70 | ;;; Here we completely bypass the daemon to access substitutes. This is | ||
| 71 | ;;; because we want to be able to report fine-grain information about | ||
| 72 | ;;; discrepancies: We need to show the URL of the offending nar, its hash, and | ||
| 73 | ;;; so on. | ||
| 74 | ;;; | ||
| 75 | ;;; Code: | ||
| 76 | |||
| 77 | (define ensure-store-item ;XXX: move to (guix ui)? | 77 | (define ensure-store-item ;XXX: move to (guix ui)? |
| 78 | (@@ (guix scripts size) ensure-store-item)) | 78 | (@@ (guix scripts size) ensure-store-item)) |
| 79 | 79 | ||
diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index f1df8bd5e9e..9cad49b857b 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm | |||
| @@ -20,6 +20,13 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; This program provides a command-line interface to (gnu machine), allowing | ||
| 26 | ;;; users to perform remote deployments through specification files. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 23 | (define-module (guix scripts deploy) | 30 | (define-module (guix scripts deploy) |
| 24 | #:use-module (gnu machine) | 31 | #:use-module (gnu machine) |
| 25 | #:use-module (guix discovery) | 32 | #:use-module (guix discovery) |
| @@ -41,13 +48,6 @@ | |||
| 41 | #:use-module (srfi srfi-71) | 48 | #:use-module (srfi srfi-71) |
| 42 | #:export (guix-deploy)) | 49 | #:export (guix-deploy)) |
| 43 | 50 | ||
| 44 | ;;; Commentary: | ||
| 45 | ;;; | ||
| 46 | ;;; This program provides a command-line interface to (gnu machine), allowing | ||
| 47 | ;;; users to perform remote deployments through specification files. | ||
| 48 | ;;; | ||
| 49 | ;;; Code: | ||
| 50 | |||
| 51 | 51 | ||
| 52 | 52 | ||
| 53 | (define (show-help) | 53 | (define (show-help) |
diff --git a/guix/scripts/git/authenticate.scm b/guix/scripts/git/authenticate.scm index 4809e49c7bf..6ff1afe4606 100644 --- a/guix/scripts/git/authenticate.scm +++ b/guix/scripts/git/authenticate.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Authenticate a Git checkout by reading '.guix-authorizations' files and | ||
| 23 | ;;; following the "authorizations invariant" also used by (guix channels). | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix scripts git authenticate) | 27 | (define-module (guix scripts git authenticate) |
| 21 | #:use-module (git) | 28 | #:use-module (git) |
| 22 | #:use-module (guix build utils) | 29 | #:use-module (guix build utils) |
| @@ -40,13 +47,6 @@ | |||
| 40 | #:use-module (ice-9 match) | 47 | #:use-module (ice-9 match) |
| 41 | #:export (guix-git-authenticate)) | 48 | #:export (guix-git-authenticate)) |
| 42 | 49 | ||
| 43 | ;;; Commentary: | ||
| 44 | ;;; | ||
| 45 | ;;; Authenticate a Git checkout by reading '.guix-authorizations' files and | ||
| 46 | ;;; following the "authorizations invariant" also used by (guix channels). | ||
| 47 | ;;; | ||
| 48 | ;;; Code: | ||
| 49 | |||
| 50 | (define %options | 50 | (define %options |
| 51 | ;; Specifications of the command-line options. | 51 | ;; Specifications of the command-line options. |
| 52 | (list (option '(#\h "help") #f #f | 52 | (list (option '(#\h "help") #f #f |
diff --git a/guix/scripts/home/import.scm b/guix/scripts/home/import.scm index 15b4bc97982..0d6c73ebd39 100644 --- a/guix/scripts/home/import.scm +++ b/guix/scripts/home/import.scm | |||
| @@ -20,6 +20,13 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; This module provides utilities for generating home service | ||
| 26 | ;;; configurations from existing "dotfiles". | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 23 | (define-module (guix scripts home import) | 30 | (define-module (guix scripts home import) |
| 24 | #:use-module (guix profiles) | 31 | #:use-module (guix profiles) |
| 25 | #:use-module (guix ui) | 32 | #:use-module (guix ui) |
| @@ -39,13 +46,6 @@ | |||
| 39 | ;; For tests. | 46 | ;; For tests. |
| 40 | manifest+configuration-files->code)) | 47 | manifest+configuration-files->code)) |
| 41 | 48 | ||
| 42 | ;;; Commentary: | ||
| 43 | ;;; | ||
| 44 | ;;; This module provides utilities for generating home service | ||
| 45 | ;;; configurations from existing "dotfiles". | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 49 | (define (basename+remove-dots file-name) | 49 | (define (basename+remove-dots file-name) |
| 50 | "Remove the dot from the dotfile FILE-NAME; replace the other dots in | 50 | "Remove the dot from the dotfile FILE-NAME; replace the other dots in |
| 51 | FILE-NAME with \"-\", and return the basename of it." | 51 | FILE-NAME with \"-\", and return the basename of it." |
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 462c3dfc0c0..1b694084b31 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm | |||
| @@ -19,6 +19,18 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; Attempt to offload builds to the machines listed in | ||
| 25 | ;;; /etc/guix/machines.scm, transferring missing dependencies over SSH, and | ||
| 26 | ;;; retrieving the build output(s) over SSH upon success. | ||
| 27 | ;;; | ||
| 28 | ;;; This command should not be used directly; instead, it is called on-demand | ||
| 29 | ;;; by the daemon, unless it was started with '--no-offload' or a client | ||
| 30 | ;;; inhibited build hooks. | ||
| 31 | ;;; | ||
| 32 | ;;; Code: | ||
| 33 | |||
| 22 | (define-module (guix scripts offload) | 34 | (define-module (guix scripts offload) |
| 23 | #:autoload (ssh key) (private-key-from-file | 35 | #:autoload (ssh key) (private-key-from-file |
| 24 | public-key-from-file) | 36 | public-key-from-file) |
| @@ -76,18 +88,6 @@ | |||
| 76 | 88 | ||
| 77 | guix-offload)) | 89 | guix-offload)) |
| 78 | 90 | ||
| 79 | ;;; Commentary: | ||
| 80 | ;;; | ||
| 81 | ;;; Attempt to offload builds to the machines listed in | ||
| 82 | ;;; /etc/guix/machines.scm, transferring missing dependencies over SSH, and | ||
| 83 | ;;; retrieving the build output(s) over SSH upon success. | ||
| 84 | ;;; | ||
| 85 | ;;; This command should not be used directly; instead, it is called on-demand | ||
| 86 | ;;; by the daemon, unless it was started with '--no-offload' or a client | ||
| 87 | ;;; inhibited build hooks. | ||
| 88 | ;;; | ||
| 89 | ;;; Code: | ||
| 90 | |||
| 91 | (define-record-type* <build-machine> | 91 | (define-record-type* <build-machine> |
| 92 | build-machine make-build-machine | 92 | build-machine make-build-machine |
| 93 | build-machine? | 93 | build-machine? |
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index dbaff4a89c0..cf89cde31bc 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm | |||
| @@ -28,6 +28,14 @@ | |||
| 28 | ;;; You should have received a copy of the GNU General Public License | 28 | ;;; You should have received a copy of the GNU General Public License |
| 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 29 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 30 | 30 | ||
| 31 | ;;; Commentary: | ||
| 32 | ;;; | ||
| 33 | ;;; This module implements the 'guix pack' command and the various supported | ||
| 34 | ;;; formats. Where feasible, the builders of the packs should be implemented | ||
| 35 | ;;; as single derivations to minimize storage requirements. | ||
| 36 | ;;; | ||
| 37 | ;;; Code: | ||
| 38 | |||
| 31 | (define-module (guix scripts pack) | 39 | (define-module (guix scripts pack) |
| 32 | #:use-module (guix scripts) | 40 | #:use-module (guix scripts) |
| 33 | #:autoload (guix import json) (json->scheme-file) | 41 | #:autoload (guix import json) (json->scheme-file) |
| @@ -85,14 +93,6 @@ | |||
| 85 | 93 | ||
| 86 | wrapped-manifest)) | 94 | wrapped-manifest)) |
| 87 | 95 | ||
| 88 | ;;; Commentary: | ||
| 89 | |||
| 90 | ;;; This module implements the 'guix pack' command and the various supported | ||
| 91 | ;;; formats. Where feasible, the builders of the packs should be implemented | ||
| 92 | ;;; as single derivations to minimize storage requirements. | ||
| 93 | |||
| 94 | ;;; Code: | ||
| 95 | |||
| 96 | ;; This one is only for use in this module, so don't put it in %compressors. | 96 | ;; This one is only for use in this module, so don't put it in %compressors. |
| 97 | (define (bootstrap-xz) | 97 | (define (bootstrap-xz) |
| 98 | (compressor "bootstrap-xz" ".xz" | 98 | (compressor "bootstrap-xz" ".xz" |
diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm index cb71e59b05f..8bfc5ed1bc1 100644 --- a/guix/scripts/repl.scm +++ b/guix/scripts/repl.scm | |||
| @@ -18,6 +18,13 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This command provides a Guile script runner and REPL in an environment | ||
| 24 | ;;; that contains all the modules comprising Guix. | ||
| 25 | ;;; | ||
| 26 | ;;; Code: | ||
| 27 | |||
| 21 | (define-module (guix scripts repl) | 28 | (define-module (guix scripts repl) |
| 22 | #:use-module (guix ui) | 29 | #:use-module (guix ui) |
| 23 | #:use-module (guix scripts) | 30 | #:use-module (guix scripts) |
| @@ -31,11 +38,6 @@ | |||
| 31 | (make-tcp-server-socket make-unix-domain-server-socket) | 38 | (make-tcp-server-socket make-unix-domain-server-socket) |
| 32 | #:export (guix-repl)) | 39 | #:export (guix-repl)) |
| 33 | 40 | ||
| 34 | ;;; Commentary: | ||
| 35 | ;;; | ||
| 36 | ;;; This command provides a Guile script runner and REPL in an environment | ||
| 37 | ;;; that contains all the modules comprising Guix. | ||
| 38 | |||
| 39 | (define %default-options | 41 | (define %default-options |
| 40 | `((type . guile))) | 42 | `((type . guile))) |
| 41 | 43 | ||
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 96d8c13ac2c..019269102b2 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm | |||
| @@ -19,6 +19,17 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This is the "binary substituter". It is invoked by the daemon do check | ||
| 25 | ;;; for the existence of available "substitutes" (pre-built binaries), and to | ||
| 26 | ;;; actually use them as a substitute to building things locally. | ||
| 27 | ;;; | ||
| 28 | ;;; If possible, substitute a binary for the requested store path, using a Nix | ||
| 29 | ;;; "binary cache". This program implements the Nix "substituter" protocol. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 22 | (define-module (guix scripts substitute) | 33 | (define-module (guix scripts substitute) |
| 23 | #:use-module (guix ui) | 34 | #:use-module (guix ui) |
| 24 | #:use-module (guix scripts) | 35 | #:use-module (guix scripts) |
| @@ -64,17 +75,6 @@ | |||
| 64 | substitute-urls | 75 | substitute-urls |
| 65 | guix-substitute)) | 76 | guix-substitute)) |
| 66 | 77 | ||
| 67 | ;;; Comment: | ||
| 68 | ;;; | ||
| 69 | ;;; This is the "binary substituter". It is invoked by the daemon do check | ||
| 70 | ;;; for the existence of available "substitutes" (pre-built binaries), and to | ||
| 71 | ;;; actually use them as a substitute to building things locally. | ||
| 72 | ;;; | ||
| 73 | ;;; If possible, substitute a binary for the requested store path, using a Nix | ||
| 74 | ;;; "binary cache". This program implements the Nix "substituter" protocol. | ||
| 75 | ;;; | ||
| 76 | ;;; Code: | ||
| 77 | |||
| 78 | (define %narinfo-expired-cache-entry-removal-delay | 78 | (define %narinfo-expired-cache-entry-removal-delay |
| 79 | ;; How often we want to remove files corresponding to expired cache entries. | 79 | ;; How often we want to remove files corresponding to expired cache entries. |
| 80 | (* 5 24 3600)) | 80 | (* 5 24 3600)) |
diff --git a/guix/scripts/system/installer.scm b/guix/scripts/system/installer.scm index 7a26896a872..5ea38043320 100644 --- a/guix/scripts/system/installer.scm +++ b/guix/scripts/system/installer.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Implement the 'guix system installer' command, which runs the installer, | ||
| 22 | ;;; directly as a Guix command, also in dry-run mode. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix scripts system installer) | 26 | (define-module (guix scripts system installer) |
| 20 | #:use-module (srfi srfi-1) | 27 | #:use-module (srfi srfi-1) |
| 21 | #:use-module (srfi srfi-37) | 28 | #:use-module (srfi srfi-37) |
| @@ -25,13 +32,6 @@ | |||
| 25 | #:use-module (guix utils) | 32 | #:use-module (guix utils) |
| 26 | #:export (guix-system-installer)) | 33 | #:export (guix-system-installer)) |
| 27 | 34 | ||
| 28 | ;;; Commentary: | ||
| 29 | ;;; | ||
| 30 | ;;; Implement the 'guix system installer' command, which runs the installer, | ||
| 31 | ;;; directly as a Guix command, also in dry-run mode. | ||
| 32 | ;;; | ||
| 33 | ;;; Code: | ||
| 34 | |||
| 35 | (define %options | 35 | (define %options |
| 36 | (list (option '(#\n "dry-run") #f #f | 36 | (list (option '(#\n "dry-run") #f #f |
| 37 | (lambda (opt name arg result) | 37 | (lambda (opt name arg result) |
diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm index 402e6d30fc1..74430991862 100644 --- a/guix/scripts/system/reconfigure.scm +++ b/guix/scripts/system/reconfigure.scm | |||
| @@ -24,6 +24,16 @@ | |||
| 24 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 26 | 26 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; This module implements the "effectful" parts of system | ||
| 30 | ;;; reconfiguration. Although building a system derivation is a pure | ||
| 31 | ;;; operation, a number of impure operations must be carried out for the | ||
| 32 | ;;; system configuration to be realized -- chiefly, creation of generation | ||
| 33 | ;;; symlinks and invocation of activation scripts. | ||
| 34 | ;;; | ||
| 35 | ;;; Code: | ||
| 36 | |||
| 27 | (define-module (guix scripts system reconfigure) | 37 | (define-module (guix scripts system reconfigure) |
| 28 | #:autoload (gnu packages gnupg) (guile-gcrypt) | 38 | #:autoload (gnu packages gnupg) (guile-gcrypt) |
| 29 | #:use-module (gnu bootloader) | 39 | #:use-module (gnu bootloader) |
| @@ -64,16 +74,6 @@ | |||
| 64 | ensure-forward-reconfigure | 74 | ensure-forward-reconfigure |
| 65 | warn-about-backward-reconfigure)) | 75 | warn-about-backward-reconfigure)) |
| 66 | 76 | ||
| 67 | ;;; Commentary: | ||
| 68 | ;;; | ||
| 69 | ;;; This module implements the "effectful" parts of system | ||
| 70 | ;;; reconfiguration. Although building a system derivation is a pure | ||
| 71 | ;;; operation, a number of impure operations must be carried out for the | ||
| 72 | ;;; system configuration to be realized -- chiefly, creation of generation | ||
| 73 | ;;; symlinks and invocation of activation scripts. | ||
| 74 | ;;; | ||
| 75 | ;;; Code: | ||
| 76 | |||
| 77 | 77 | ||
| 78 | ;;; | 78 | ;;; |
| 79 | ;;; Profile creation. | 79 | ;;; Profile creation. |
diff --git a/guix/scripts/system/search.scm b/guix/scripts/system/search.scm index d978884518e..626fbdb8430 100644 --- a/guix/scripts/system/search.scm +++ b/guix/scripts/system/search.scm | |||
| @@ -17,6 +17,13 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Implement the 'guix system search' command, which searches among the | ||
| 23 | ;;; available service types. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 20 | (define-module (guix scripts system search) | 27 | (define-module (guix scripts system search) |
| 21 | #:use-module (guix ui) | 28 | #:use-module (guix ui) |
| 22 | #:use-module (guix utils) | 29 | #:use-module (guix utils) |
| @@ -35,13 +42,6 @@ | |||
| 35 | find-service-types | 42 | find-service-types |
| 36 | guix-system-search)) | 43 | guix-system-search)) |
| 37 | 44 | ||
| 38 | ;;; Commentary: | ||
| 39 | ;;; | ||
| 40 | ;;; Implement the 'guix system search' command, which searches among the | ||
| 41 | ;;; available service types. | ||
| 42 | ;;; | ||
| 43 | ;;; Code: | ||
| 44 | |||
| 45 | (define service-type-name* | 45 | (define service-type-name* |
| 46 | (compose symbol->string service-type-name)) | 46 | (compose symbol->string service-type-name)) |
| 47 | 47 | ||
diff --git a/guix/search-paths.scm b/guix/search-paths.scm index 90939d6aca6..1e72a2708b5 100644 --- a/guix/search-paths.scm +++ b/guix/search-paths.scm | |||
| @@ -18,6 +18,15 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; This module defines "search path specifications", which allow packages to | ||
| 24 | ;;; declare environment variables that they use to define search paths. For | ||
| 25 | ;;; instance, GCC has the 'CPATH' variable, Guile has the 'GUILE_LOAD_PATH' | ||
| 26 | ;;; variable, etc. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 21 | (define-module (guix search-paths) | 30 | (define-module (guix search-paths) |
| 22 | #:use-module (guix records) | 31 | #:use-module (guix records) |
| 23 | #:use-module (guix build utils) | 32 | #:use-module (guix build utils) |
| @@ -59,15 +68,6 @@ | |||
| 59 | search-path-definition | 68 | search-path-definition |
| 60 | set-search-paths)) | 69 | set-search-paths)) |
| 61 | 70 | ||
| 62 | ;;; Commentary: | ||
| 63 | ;;; | ||
| 64 | ;;; This module defines "search path specifications", which allow packages to | ||
| 65 | ;;; declare environment variables that they use to define search paths. For | ||
| 66 | ;;; instance, GCC has the 'CPATH' variable, Guile has the 'GUILE_LOAD_PATH' | ||
| 67 | ;;; variable, etc. | ||
| 68 | ;;; | ||
| 69 | ;;; Code: | ||
| 70 | |||
| 71 | ;; The specification of a search path. | 71 | ;; The specification of a search path. |
| 72 | (define-record-type* <search-path-specification> | 72 | (define-record-type* <search-path-specification> |
| 73 | search-path-specification make-search-path-specification | 73 | search-path-specification make-search-path-specification |
diff --git a/guix/serialization.scm b/guix/serialization.scm index 54ff5da03d9..480dc04182e 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm | |||
| @@ -16,6 +16,14 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | |||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Serialization procedures used by the RPCs and the Nar format. This module | ||
| 23 | ;;; is for internal consumption. | ||
| 24 | ;;; | ||
| 25 | ;;; Code: | ||
| 26 | |||
| 19 | (define-module (guix serialization) | 27 | (define-module (guix serialization) |
| 20 | #:autoload (guix base16) (base16-string->bytevector | 28 | #:autoload (guix base16) (base16-string->bytevector |
| 21 | bytevector->base16-string) | 29 | bytevector->base16-string) |
| @@ -78,13 +86,6 @@ | |||
| 78 | restore-file | 86 | restore-file |
| 79 | dump-file)) | 87 | dump-file)) |
| 80 | 88 | ||
| 81 | ;;; Comment: | ||
| 82 | ;;; | ||
| 83 | ;;; Serialization procedures used by the RPCs and the Nar format. This module | ||
| 84 | ;;; is for internal consumption. | ||
| 85 | ;;; | ||
| 86 | ;;; Code: | ||
| 87 | |||
| 88 | ;; Similar to serialize.cc in Nix. | 89 | ;; Similar to serialize.cc in Nix. |
| 89 | 90 | ||
| 90 | (define-condition-type &nar-error &error ; XXX: inherit from &store-error ? | 91 | (define-condition-type &nar-error &error ; XXX: inherit from &store-error ? |
diff --git a/guix/sets.scm b/guix/sets.scm index 017b79ca31d..de94f327230 100644 --- a/guix/sets.scm +++ b/guix/sets.scm | |||
| @@ -16,6 +16,17 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; A simple (simplistic?) implementation of unordered persistent sets based | ||
| 22 | ;;; on vhashes that seems to be good enough so far. | ||
| 23 | ;;; | ||
| 24 | ;;; Another option would be to use "bounded balance trees" (Adams 1992) as | ||
| 25 | ;;; implemented by Ian Price in 'pfds', which has faster union etc. but needs | ||
| 26 | ;;; an order on the objects of the set. | ||
| 27 | ;;; | ||
| 28 | ;;; Code: | ||
| 29 | |||
| 19 | (define-module (guix sets) | 30 | (define-module (guix sets) |
| 20 | #:use-module (srfi srfi-1) | 31 | #:use-module (srfi srfi-1) |
| 21 | #:use-module (srfi srfi-9) | 32 | #:use-module (srfi srfi-9) |
| @@ -32,17 +43,6 @@ | |||
| 32 | list->set | 43 | list->set |
| 33 | list->setq)) | 44 | list->setq)) |
| 34 | 45 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; A simple (simplistic?) implementation of unordered persistent sets based | ||
| 38 | ;;; on vhashes that seems to be good enough so far. | ||
| 39 | ;;; | ||
| 40 | ;;; Another option would be to use "bounded balance trees" (Adams 1992) as | ||
| 41 | ;;; implemented by Ian Price in 'pfds', which has faster union etc. but needs | ||
| 42 | ;;; an order on the objects of the set. | ||
| 43 | ;;; | ||
| 44 | ;;; Code: | ||
| 45 | |||
| 46 | (define-record-type <set> | 46 | (define-record-type <set> |
| 47 | (%make-set vhash insert ref) | 47 | (%make-set vhash insert ref) |
| 48 | set? | 48 | set? |
diff --git a/guix/ssh.scm b/guix/ssh.scm index 4a28432dcee..e91d1c19c55 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides tools to support communication with remote stores | ||
| 22 | ;;; over SSH, using Guile-SSH. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix ssh) | 26 | (define-module (guix ssh) |
| 20 | #:use-module (guix store) | 27 | #:use-module (guix store) |
| 21 | #:use-module (guix inferior) | 28 | #:use-module (guix inferior) |
| @@ -56,13 +63,6 @@ | |||
| 56 | 63 | ||
| 57 | report-guile-error)) | 64 | report-guile-error)) |
| 58 | 65 | ||
| 59 | ;;; Commentary: | ||
| 60 | ;;; | ||
| 61 | ;;; This module provides tools to support communication with remote stores | ||
| 62 | ;;; over SSH, using Guile-SSH. | ||
| 63 | ;;; | ||
| 64 | ;;; Code: | ||
| 65 | |||
| 66 | (define %compression | 66 | (define %compression |
| 67 | "zlib@openssh.com,zlib,none") | 67 | "zlib@openssh.com,zlib,none") |
| 68 | 68 | ||
diff --git a/guix/status.scm b/guix/status.scm index d3e926912c5..1404e40c56f 100644 --- a/guix/status.scm +++ b/guix/status.scm | |||
| @@ -19,6 +19,16 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module provides facilities to track the status of ongoing builds and | ||
| 25 | ;;; downloads in a given session, as well as tools to report about the current | ||
| 26 | ;;; status to user interfaces. It does so by analyzing the output of | ||
| 27 | ;;; 'current-build-output-port'. The build status is maintained in a | ||
| 28 | ;;; <build-status> record. | ||
| 29 | ;;; | ||
| 30 | ;;; Code: | ||
| 31 | |||
| 22 | (define-module (guix status) | 32 | (define-module (guix status) |
| 23 | #:use-module (guix records) | 33 | #:use-module (guix records) |
| 24 | #:use-module (guix i18n) | 34 | #:use-module (guix i18n) |
| @@ -77,16 +87,6 @@ | |||
| 77 | with-status-report | 87 | with-status-report |
| 78 | with-status-verbosity)) | 88 | with-status-verbosity)) |
| 79 | 89 | ||
| 80 | ;;; Commentary: | ||
| 81 | ;;; | ||
| 82 | ;;; This module provides facilities to track the status of ongoing builds and | ||
| 83 | ;;; downloads in a given session, as well as tools to report about the current | ||
| 84 | ;;; status to user interfaces. It does so by analyzing the output of | ||
| 85 | ;;; 'current-build-output-port'. The build status is maintained in a | ||
| 86 | ;;; <build-status> record. | ||
| 87 | ;;; | ||
| 88 | ;;; Code: | ||
| 89 | |||
| 90 | 90 | ||
| 91 | ;;; | 91 | ;;; |
| 92 | ;;; Build status tracking. | 92 | ;;; Build status tracking. |
diff --git a/guix/store/roots.scm b/guix/store/roots.scm index 6b949b5a86e..1fc366fc843 100644 --- a/guix/store/roots.scm +++ b/guix/store/roots.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provides tools to list and access garbage collector roots ("GC | ||
| 22 | ;;; roots"). | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix store roots) | 26 | (define-module (guix store roots) |
| 20 | #:use-module (guix config) | 27 | #:use-module (guix config) |
| 21 | #:use-module ((guix store) #:select (store-path? %gc-roots-directory)) | 28 | #:use-module ((guix store) #:select (store-path? %gc-roots-directory)) |
| @@ -34,13 +41,6 @@ | |||
| 34 | user-owned? | 41 | user-owned? |
| 35 | busy-store-items)) | 42 | busy-store-items)) |
| 36 | 43 | ||
| 37 | ;;; Commentary: | ||
| 38 | ;;; | ||
| 39 | ;;; This module provides tools to list and access garbage collector roots ("GC | ||
| 40 | ;;; roots"). | ||
| 41 | ;;; | ||
| 42 | ;;; Code: | ||
| 43 | |||
| 44 | (define %profile-directory | 44 | (define %profile-directory |
| 45 | ;; Directory where user profiles are stored. | 45 | ;; Directory where user profiles are stored. |
| 46 | ;; XXX: This is redundant with the definition in (guix profiles) and not | 46 | ;; XXX: This is redundant with the definition in (guix profiles) and not |
diff --git a/guix/store/ssh.scm b/guix/store/ssh.scm index 7e6371acbca..7a09a3b0fe4 100644 --- a/guix/store/ssh.scm +++ b/guix/store/ssh.scm | |||
| @@ -16,18 +16,18 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (guix store ssh) | ||
| 20 | #:use-module (guix ssh) | ||
| 21 | #:use-module (web uri) | ||
| 22 | #:export (connect-to-daemon)) | ||
| 23 | |||
| 24 | ;;; Commentary: | 19 | ;;; Commentary: |
| 25 | ;;; | 20 | ;;; |
| 26 | ;;; This modules provides the entry point for 'open-connection' in (guix | 21 | ;;; This modules provides the entry point for 'open-connection' in (guix |
| 27 | ;;; store). Passing an 'ssh://' URI to 'open-connection' triggers the use of | 22 | ;;; store). Passing an 'ssh://' URI to 'open-connection' triggers the use of |
| 28 | ;;; the code in this module. | 23 | ;;; the code in this module. |
| 29 | ;;; | 24 | ;;; |
| 30 | ;;; End: | 25 | ;;; Code: |
| 26 | |||
| 27 | (define-module (guix store ssh) | ||
| 28 | #:use-module (guix ssh) | ||
| 29 | #:use-module (web uri) | ||
| 30 | #:export (connect-to-daemon)) | ||
| 31 | 31 | ||
| 32 | (define (connect-to-daemon uri) | 32 | (define (connect-to-daemon uri) |
| 33 | "Connect to the SSH daemon at URI, a URI object with the 'ssh' scheme." | 33 | "Connect to the SSH daemon at URI, a URI object with the 'ssh' scheme." |
diff --git a/guix/svn-download.scm b/guix/svn-download.scm index 81a98b11214..893c140ca0a 100644 --- a/guix/svn-download.scm +++ b/guix/svn-download.scm | |||
| @@ -18,6 +18,14 @@ | |||
| 18 | ;;; You should have received a copy of the GNU General Public License | 18 | ;;; You should have received a copy of the GNU General Public License |
| 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 20 | 20 | ||
| 21 | ;;; Commentary: | ||
| 22 | ;;; | ||
| 23 | ;;; An <origin> method that fetches a specific revision from a Subversion | ||
| 24 | ;;; repository. The repository URL and REVISION are specified with a | ||
| 25 | ;;; <svn-reference> object. REVISION should be specified as a number. | ||
| 26 | ;;; | ||
| 27 | ;;; Code: | ||
| 28 | |||
| 21 | (define-module (guix svn-download) | 29 | (define-module (guix svn-download) |
| 22 | #:use-module (guix records) | 30 | #:use-module (guix records) |
| 23 | #:use-module (guix gexp) | 31 | #:use-module (guix gexp) |
| @@ -52,14 +60,6 @@ | |||
| 52 | svn-multi-fetch | 60 | svn-multi-fetch |
| 53 | download-multi-svn-to-store)) | 61 | download-multi-svn-to-store)) |
| 54 | 62 | ||
| 55 | ;;; Commentary: | ||
| 56 | ;;; | ||
| 57 | ;;; An <origin> method that fetches a specific revision from a Subversion | ||
| 58 | ;;; repository. The repository URL and REVISION are specified with a | ||
| 59 | ;;; <svn-reference> object. REVISION should be specified as a number. | ||
| 60 | ;;; | ||
| 61 | ;;; Code: | ||
| 62 | |||
| 63 | (define-record-type* <svn-reference> | 63 | (define-record-type* <svn-reference> |
| 64 | svn-reference make-svn-reference | 64 | svn-reference make-svn-reference |
| 65 | svn-reference? | 65 | svn-reference? |
diff --git a/guix/swh.scm b/guix/swh.scm index 0999314707d..98e7dbb230f 100644 --- a/guix/swh.scm +++ b/guix/swh.scm | |||
| @@ -19,6 +19,18 @@ | |||
| 19 | ;;; You should have received a copy of the GNU General Public License | 19 | ;;; You should have received a copy of the GNU General Public License |
| 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 20 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 21 | 21 | ||
| 22 | ;;; Commentary: | ||
| 23 | ;;; | ||
| 24 | ;;; This module provides bindings to the HTTP interface of Software Heritage. | ||
| 25 | ;;; It allows you to browse the archive, look up revisions (such as SHA1 | ||
| 26 | ;;; commit IDs), "origins" (code hosting URLs), content (files), etc. See | ||
| 27 | ;;; <https://archive.softwareheritage.org/api/> for more information. | ||
| 28 | ;;; | ||
| 29 | ;;; The high-level 'swh-download' procedure allows you to download a Git | ||
| 30 | ;;; revision from Software Heritage, provided it is available. | ||
| 31 | ;;; | ||
| 32 | ;;; Code: | ||
| 33 | |||
| 22 | (define-module (guix swh) | 34 | (define-module (guix swh) |
| 23 | #:use-module (guix base16) | 35 | #:use-module (guix base16) |
| 24 | #:use-module (guix build utils) | 36 | #:use-module (guix build utils) |
| @@ -128,18 +140,6 @@ | |||
| 128 | swh-download-directory-by-nar-hash | 140 | swh-download-directory-by-nar-hash |
| 129 | swh-download)) | 141 | swh-download)) |
| 130 | 142 | ||
| 131 | ;;; Commentary: | ||
| 132 | ;;; | ||
| 133 | ;;; This module provides bindings to the HTTP interface of Software Heritage. | ||
| 134 | ;;; It allows you to browse the archive, look up revisions (such as SHA1 | ||
| 135 | ;;; commit IDs), "origins" (code hosting URLs), content (files), etc. See | ||
| 136 | ;;; <https://archive.softwareheritage.org/api/> for more information. | ||
| 137 | ;;; | ||
| 138 | ;;; The high-level 'swh-download' procedure allows you to download a Git | ||
| 139 | ;;; revision from Software Heritage, provided it is available. | ||
| 140 | ;;; | ||
| 141 | ;;; Code: | ||
| 142 | |||
| 143 | (define %swh-base-url | 143 | (define %swh-base-url |
| 144 | ;; Presumably we won't need to change it. | 144 | ;; Presumably we won't need to change it. |
| 145 | (make-parameter "https://archive.softwareheritage.org")) | 145 | (make-parameter "https://archive.softwareheritage.org")) |
diff --git a/guix/tests.scm b/guix/tests.scm index 00787ced20c..4be360a7798 100644 --- a/guix/tests.scm +++ b/guix/tests.scm | |||
| @@ -16,6 +16,13 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; This module provide shared infrastructure for the test suite. For | ||
| 22 | ;;; internal use only. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 19 | (define-module (guix tests) | 26 | (define-module (guix tests) |
| 20 | #:use-module ((guix config) #:select (%storedir %localstatedir)) | 27 | #:use-module ((guix config) #:select (%storedir %localstatedir)) |
| 21 | #:use-module (guix store) | 28 | #:use-module (guix store) |
| @@ -66,13 +73,6 @@ | |||
| 66 | 73 | ||
| 67 | test-file)) | 74 | test-file)) |
| 68 | 75 | ||
| 69 | ;;; Commentary: | ||
| 70 | ;;; | ||
| 71 | ;;; This module provide shared infrastructure for the test suite. For | ||
| 72 | ;;; internal use only. | ||
| 73 | ;;; | ||
| 74 | ;;; Code: | ||
| 75 | |||
| 76 | (define %tests-build-timeout | 76 | (define %tests-build-timeout |
| 77 | ;; Timeout limit for guix unit tests (default: 5 minutes) | 77 | ;; Timeout limit for guix unit tests (default: 5 minutes) |
| 78 | (let ((default (if (string=? "riscv64-linux" (%current-system)) | 78 | (let ((default (if (string=? "riscv64-linux" (%current-system)) |
diff --git a/guix/tests/http.scm b/guix/tests/http.scm index 17485df9efd..ac026ba9d56 100644 --- a/guix/tests/http.scm +++ b/guix/tests/http.scm | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | ;;; You should have received a copy of the GNU General Public License | 17 | ;;; You should have received a copy of the GNU General Public License |
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 19 | 19 | ||
| 20 | ;;; Commentary: | ||
| 21 | ;;; | ||
| 22 | ;;; Code to spawn a Web server for testing purposes. | ||
| 23 | ;;; | ||
| 24 | ;;; Code: | ||
| 25 | |||
| 20 | (define-module (guix tests http) | 26 | (define-module (guix tests http) |
| 21 | #:use-module (ice-9 threads) | 27 | #:use-module (ice-9 threads) |
| 22 | #:use-module (web server) | 28 | #:use-module (web server) |
| @@ -32,12 +38,6 @@ | |||
| 32 | %http-server-port | 38 | %http-server-port |
| 33 | %local-url)) | 39 | %local-url)) |
| 34 | 40 | ||
| 35 | ;;; Commentary: | ||
| 36 | ;;; | ||
| 37 | ;;; Code to spawn a Web server for testing purposes. | ||
| 38 | ;;; | ||
| 39 | ;;; Code: | ||
| 40 | |||
| 41 | (define %http-server-port | 41 | (define %http-server-port |
| 42 | ;; TCP port to use for the stub HTTP server. | 42 | ;; TCP port to use for the stub HTTP server. |
| 43 | ;; If 0, the OS will automatically choose | 43 | ;; If 0, the OS will automatically choose |
diff --git a/guix/transformations.scm b/guix/transformations.scm index 236527330f6..d0e4e88822a 100644 --- a/guix/transformations.scm +++ b/guix/transformations.scm | |||
| @@ -20,6 +20,14 @@ | |||
| 20 | ;;; You should have received a copy of the GNU General Public License | 20 | ;;; You should have received a copy of the GNU General Public License |
| 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 21 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 22 | 22 | ||
| 23 | ;;; Commentary: | ||
| 24 | ;;; | ||
| 25 | ;;; This module implements "package transformation options"---tools for | ||
| 26 | ;;; package graph rewriting. It contains the graph rewriting logic, but also | ||
| 27 | ;;; the tip of its user interface: command-line option handling. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 23 | (define-module (guix transformations) | 31 | (define-module (guix transformations) |
| 24 | #:use-module ((guix config) #:select (%system)) | 32 | #:use-module ((guix config) #:select (%system)) |
| 25 | #:use-module (guix i18n) | 33 | #:use-module (guix i18n) |
| @@ -75,14 +83,6 @@ | |||
| 75 | cacheable-transformation-option-key? | 83 | cacheable-transformation-option-key? |
| 76 | %transformation-options)) | 84 | %transformation-options)) |
| 77 | 85 | ||
| 78 | ;;; Commentary: | ||
| 79 | ;;; | ||
| 80 | ;;; This module implements "package transformation options"---tools for | ||
| 81 | ;;; package graph rewriting. It contains the graph rewriting logic, but also | ||
| 82 | ;;; the tip of its user interface: command-line option handling. | ||
| 83 | ;;; | ||
| 84 | ;;; Code: | ||
| 85 | |||
| 86 | (module-autoload! (current-module) '(gnu packages) | 86 | (module-autoload! (current-module) '(gnu packages) |
| 87 | '(specification->package)) | 87 | '(specification->package)) |
| 88 | 88 | ||
diff --git a/guix/ui.scm b/guix/ui.scm index dafc04b20f7..9235c4f4016 100644 --- a/guix/ui.scm +++ b/guix/ui.scm | |||
| @@ -36,6 +36,16 @@ | |||
| 36 | ;;; You should have received a copy of the GNU General Public License | 36 | ;;; You should have received a copy of the GNU General Public License |
| 37 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 37 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 38 | 38 | ||
| 39 | ;;; Commentary: | ||
| 40 | ;;; | ||
| 41 | ;;; User interface facilities for command-line tools. | ||
| 42 | ;;; | ||
| 43 | ;;; Note: This module is meant to be imported by user interfaces only and not | ||
| 44 | ;;; be "regular" modules. It depends on lots of modules that may be | ||
| 45 | ;;; relatively heavyweight dependencies for non-UI modules. | ||
| 46 | ;;; | ||
| 47 | ;;; Code: | ||
| 48 | |||
| 39 | (define-module (guix ui) ;import in user interfaces only | 49 | (define-module (guix ui) ;import in user interfaces only |
| 40 | #:use-module (guix i18n) | 50 | #:use-module (guix i18n) |
| 41 | #:use-module (guix colors) | 51 | #:use-module (guix colors) |
| @@ -152,16 +162,6 @@ | |||
| 152 | run-guix | 162 | run-guix |
| 153 | guix-main)) | 163 | guix-main)) |
| 154 | 164 | ||
| 155 | ;;; Commentary: | ||
| 156 | ;;; | ||
| 157 | ;;; User interface facilities for command-line tools. | ||
| 158 | ;;; | ||
| 159 | ;;; Note: This module is meant to be imported by user interfaces only and not | ||
| 160 | ;;; be "regular" modules. It depends on lots of modules that may be | ||
| 161 | ;;; relatively heavyweight dependencies for non-UI modules. | ||
| 162 | ;;; | ||
| 163 | ;;; Code: | ||
| 164 | |||
| 165 | (define (print-unbound-variable-error port key args default-printer) | 165 | (define (print-unbound-variable-error port key args default-printer) |
| 166 | ;; Print unbound variable errors more nicely, and in the right language. | 166 | ;; Print unbound variable errors more nicely, and in the right language. |
| 167 | (match args | 167 | (match args |
diff --git a/guix/upstream.scm b/guix/upstream.scm index 972f674d350..bacba8a8b19 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm | |||
| @@ -21,6 +21,13 @@ | |||
| 21 | ;;; You should have received a copy of the GNU General Public License | 21 | ;;; You should have received a copy of the GNU General Public License |
| 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 23 | 23 | ||
| 24 | ;;; Commentary: | ||
| 25 | ;;; | ||
| 26 | ;;; This module provides tools to represent and manipulate a upstream source | ||
| 27 | ;;; code, and to auto-update package recipes. | ||
| 28 | ;;; | ||
| 29 | ;;; Code: | ||
| 30 | |||
| 24 | (define-module (guix upstream) | 31 | (define-module (guix upstream) |
| 25 | #:use-module (guix records) | 32 | #:use-module (guix records) |
| 26 | #:use-module (guix utils) | 33 | #:use-module (guix utils) |
| @@ -96,13 +103,6 @@ | |||
| 96 | package-update | 103 | package-update |
| 97 | update-package-source)) | 104 | update-package-source)) |
| 98 | 105 | ||
| 99 | ;;; Commentary: | ||
| 100 | ;;; | ||
| 101 | ;;; This module provides tools to represent and manipulate a upstream source | ||
| 102 | ;;; code, and to auto-update package recipes. | ||
| 103 | ;;; | ||
| 104 | ;;; Code: | ||
| 105 | |||
| 106 | ;; Representation of upstream's source. There can be several URLs--e.g., | 106 | ;; Representation of upstream's source. There can be several URLs--e.g., |
| 107 | ;; tar.gz, tar.gz, etc. There can be correspond signature URLs, one per | 107 | ;; tar.gz, tar.gz, etc. There can be correspond signature URLs, one per |
| 108 | ;; source URL. | 108 | ;; source URL. |
diff --git a/guix/workers.scm b/guix/workers.scm index 3cd683c96d7..8e315a35222 100644 --- a/guix/workers.scm +++ b/guix/workers.scm | |||
| @@ -16,20 +16,6 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | (define-module (guix workers) | ||
| 20 | #:use-module (ice-9 threads) | ||
| 21 | #:use-module (ice-9 match) | ||
| 22 | #:use-module (ice-9 q) | ||
| 23 | #:use-module (srfi srfi-1) | ||
| 24 | #:use-module (srfi srfi-9) | ||
| 25 | #:use-module (srfi srfi-26) | ||
| 26 | #:use-module ((guix build syscalls) #:select (set-thread-name)) | ||
| 27 | #:export (pool? | ||
| 28 | make-pool | ||
| 29 | pool-enqueue! | ||
| 30 | pool-idle? | ||
| 31 | eventually)) | ||
| 32 | |||
| 33 | ;;; Commentary: | 19 | ;;; Commentary: |
| 34 | ;;; | 20 | ;;; |
| 35 | ;;; This module implements "worker pools". Worker pools are the low-level | 21 | ;;; This module implements "worker pools". Worker pools are the low-level |
| @@ -44,6 +30,20 @@ | |||
| 44 | ;;; | 30 | ;;; |
| 45 | ;;; Code: | 31 | ;;; Code: |
| 46 | 32 | ||
| 33 | (define-module (guix workers) | ||
| 34 | #:use-module (ice-9 threads) | ||
| 35 | #:use-module (ice-9 match) | ||
| 36 | #:use-module (ice-9 q) | ||
| 37 | #:use-module (srfi srfi-1) | ||
| 38 | #:use-module (srfi srfi-9) | ||
| 39 | #:use-module (srfi srfi-26) | ||
| 40 | #:use-module ((guix build syscalls) #:select (set-thread-name)) | ||
| 41 | #:export (pool? | ||
| 42 | make-pool | ||
| 43 | pool-enqueue! | ||
| 44 | pool-idle? | ||
| 45 | eventually)) | ||
| 46 | |||
| 47 | (define-record-type <pool> | 47 | (define-record-type <pool> |
| 48 | (%make-pool queue mutex condvar workers busy) | 48 | (%make-pool queue mutex condvar workers busy) |
| 49 | pool? | 49 | pool? |
diff --git a/tests/services/vpn.scm b/tests/services/vpn.scm index 484eefec80d..b7a347df200 100644 --- a/tests/services/vpn.scm +++ b/tests/services/vpn.scm | |||
| @@ -16,6 +16,12 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 18 | ||
| 19 | ;;; Commentary: | ||
| 20 | ;;; | ||
| 21 | ;;; Unit tests for the (gnu services vpn) module. | ||
| 22 | ;;; | ||
| 23 | ;;; Code: | ||
| 24 | |||
| 19 | (define-module (tests services vpn) | 25 | (define-module (tests services vpn) |
| 20 | #:use-module (gnu packages vpn) | 26 | #:use-module (gnu packages vpn) |
| 21 | #:use-module (gnu services vpn) | 27 | #:use-module (gnu services vpn) |
| @@ -24,12 +30,6 @@ | |||
| 24 | #:use-module (srfi srfi-1) | 30 | #:use-module (srfi srfi-1) |
| 25 | #:use-module (srfi srfi-64)) | 31 | #:use-module (srfi srfi-64)) |
| 26 | 32 | ||
| 27 | ;;; Commentary: | ||
| 28 | ;;; | ||
| 29 | ;;; Unit tests for the (gnu services vpn) module. | ||
| 30 | ;;; | ||
| 31 | ;;; Code: | ||
| 32 | |||
| 33 | ;;; Access some internals for whitebox testing. | 33 | ;;; Access some internals for whitebox testing. |
| 34 | (define ipv4-address? (@@ (gnu services vpn) ipv4-address?)) | 34 | (define ipv4-address? (@@ (gnu services vpn) ipv4-address?)) |
| 35 | (define ipv6-address? (@@ (gnu services vpn) ipv6-address?)) | 35 | (define ipv6-address? (@@ (gnu services vpn) ipv6-address?)) |
