;;; guix-help-vars.el --- Variables related to --help output ;; Copyright © 2015 Alex Kost ;; This file is part of GNU Guix. ;; GNU Guix is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; GNU Guix is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; This file provides regular expressions to parse various "guix ;; ... --help" outputs and lists of non-receivable items (system types, ;; hash formats, etc.). ;;; Code: ;;; Regexps for parsing "guix ..." outputs (defvar guix-help-parse-option-regexp (rx bol " " (zero-or-one (group "-" (not (any "- "))) ",") (one-or-more " ") (group "--" (one-or-more (or wordchar "-"))) (group (zero-or-one "[") (zero-or-one "=")) (zero-or-more (not space)) (one-or-more space) (group (one-or-more any))) "Common regexp used to find command options.") (defvar guix-help-parse-command-regexp (rx bol " " (group wordchar (one-or-more (or wordchar "-")))) "Regexp used to find guix commands. 'Command' means any option not prefixed with '-'. For example, guix subcommand, system action, importer, etc.") (defvar guix-help-parse-long-option-regexp (rx (or " " ", ") (group "--" (one-or-more (or wordchar "-")) (zero-or-one "="))) "Regexp used to find long options.") (defvar guix-help-parse-short-option-regexp (rx bol (one-or-more blank) "-" (group (not (any "- ")))) "Regexp used to find short options.") (defvar guix-help-parse-package-regexp (rx bol (group (one-or-more (not blank)))) "Regexp used to find names of the packages.") (defvar guix-help-parse-list-regexp (rx bol (zero-or-more blank) "- " (group (one-or-more (or wordchar "-")))) "Regexp used to find various lists (lint checkers, graph types).") (defvar guix-help-parse-regexp-group 1 "Parenthesized expression of regexps used to find commands and options.") ;;; Non-receivable lists of system types, hash formats, etc. (defvar guix-help-system-types '("x86_64-linux" "i686-linux" "armhf-linux" "mips64el-linux") "List of supported systems.") (defvar guix-help-source-types '("package" "all" "transitive") "List of supported sources types.") (defvar guix-help-hash-formats '("nix-base32" "base32" "base16" "hex" "hexadecimal") "List of supported hash formats.") (defvar guix-help-refresh-subsets '("core" "non-core") "List of supported 'refresh' subsets.") (defvar guix-help-key-policies '("interactive" "always" "never") "List of supported key download policies.") (defvar guix-help-verify-options '("repair" "contents") "List of supported 'verify' options") (defvar guix-help-elpa-archives '("gnu" "melpa" "melpa-stable") "List of supported ELPA archives.") (provide 'guix-help-vars) ;;; guix-help-vars.el ends here ]: Add zstd. * gnu/build/linux-modules.scm (module-regex): Add .zst to regexp. Update doc. (modinfo-section-contents): Extend support to Zstd compressed module. (dot-ko): Register the 'zstd compression type. (ensure-dot-ko, file-name->module-name, load-linux-module*) (module-name->file-name/guess, write-module-name-database) (write-module-alias-database, write-module-device-database): Update doc. (module-name-lookup): Also consider zstd-compressed modules. * gnu/installer.scm (installer-program): Add guile-zstd extension to gexp. * gnu/system/linux-initrd.scm (flat-linux-module-directory): Likewise. Decompress zstd-compressed modules for use in initrd. * guix/profiles.scm (linux-module-database): Add guile-zstd extension to gexp. Change-Id: Ide899dc5c58ea5033583b1a91a92c025fc8d901a Maxim Cournoyer 2024-03-27linux-modules: Ignore nonexistent module files on boot....This is a follow-up to 8f8ec56052766aa5105d672b77ad9eaca5c1ab3c, which only covers building initrd, while the booting code still tries to load nonexistent files for builtin modules. * gnu/build/linux-modules.scm (load-linux-modules-from-directory): Ignore nonexistent module files. Change-Id: I09ef207e82397e915e671c8464b92bcf90f03dcf Hilton Chain 2023-10-15linux-modules: Fix module dependency loading....* gnu/build/linux-modules.scm (dot-ko): Make COMPRESSION optional, as expected by callers RECURSIVE-MODULE-DEPENDENCIES and LOAD-LINUX-MODULE*. Tobias Geerinckx-Rice 2022-11-15linux-modules: Add 'load-pci-device-database'....* gnu/build/linux-modules.scm (read-pci-device-database) (load-pci-device-database): New procedures. Ludovic Courtès 2022-11-15linux-modules: Add support for listing PCI devices....* gnu/build/linux-modules.scm (<pci-device>): New record type. (pci-device-class-predicate, storage-pci-device?, network-pci-device?) (display-pci-device?, pci-devices?): New procedures. Ludovic Courtès