From ee9a735bc8f544cf8eedc6c6a7e4ed2962663013 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 16 Jan 2020 15:16:02 +0100 Subject: graph: Add '--load-path' option. * guix/scripts/graph.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. * tests/guix-graph.sh: Test it. --- doc/guix.texi | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index d2038d18e1..a490a09a46 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -70,6 +70,7 @@ Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Leo Prikler@* +Copyright @copyright{} 2019 Simon Tournier@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -10038,6 +10039,14 @@ Display the graph for @var{system}---e.g., @code{i686-linux}. The package dependency graph is largely architecture-independent, but there are some architecture-dependent bits that this option allows you to visualize. + +@item --load-path=@var{directory} +@itemx -L @var{directory} +Add @var{directory} to the front of the package module search path +(@pxref{Package Modules}). + +This allows users to define their own packages and make them visible to +the command-line tools. @end table On top of that, @command{guix graph} supports all the usual package -- cgit v1.2.3 From 2d4688c1ea64f07866ffe976391d7ec3d371f6b5 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 15 Jan 2020 18:00:02 +0100 Subject: size: Add '--load-path' option. * guix/scripts/size.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. --- doc/guix.texi | 7 +++++++ guix/scripts/size.scm | 8 ++++++++ 2 files changed, 15 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index a490a09a46..cbaca4acdb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9838,6 +9838,13 @@ the case, @command{guix size} fails as it tries to load it. @itemx -s @var{system} Consider packages for @var{system}---e.g., @code{x86_64-linux}. +@item --load-path=@var{directory} +@itemx -L @var{directory} +Add @var{directory} to the front of the package module search path +(@pxref{Package Modules}). + +This allows users to define their own packages and make them visible to +the command-line tools. @end table @node Invoking guix graph diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm index f549ce05b8..2446b84587 100644 --- a/guix/scripts/size.scm +++ b/guix/scripts/size.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2019 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ (define-module (guix scripts size) #:use-module (guix ui) #:use-module (guix scripts) + #:use-module (guix scripts build) #:use-module (guix store) #:use-module (guix monads) #:use-module (guix combinators) @@ -242,6 +244,9 @@ (define (show-help) -m, --map-file=FILE write to FILE a graphical map of disk usage")) (newline) (display (G_ " + -L, --load-path=DIR prepend DIR to the package module search path")) + (newline) + (display (G_ " -h, --help display this help and exit")) (display (G_ " -V, --version display version information and exit")) @@ -273,6 +278,9 @@ (define %options (option '(#\m "map-file") #t #f (lambda (opt name arg result) (alist-cons 'map-file arg result))) + (find (lambda (option) + (member "load-path" (option-names option))) + %standard-build-options) (option '(#\h "help") #f #f (lambda args (show-help) -- cgit v1.2.3 From 21f4fbdd8453e489fb89825c4226a0a0bda2bc17 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 15 Jan 2020 18:00:03 +0100 Subject: refresh: Add '--load-path' option. * guix/scripts/refresh.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. --- doc/guix.texi | 19 +++++++++++++------ guix/scripts/refresh.scm | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index cbaca4acdb..a05ea17cda 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -70,7 +70,7 @@ Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Leo Prikler@* -Copyright @copyright{} 2019 Simon Tournier@* +Copyright @copyright{} 2019, 2020 Simon Tournier@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -1096,7 +1096,7 @@ similar file. It can be converted to the OpenSSH format using @command{lsh-export-key} (@pxref{Converting keys,,, lsh, LSH Manual}): @example -$ lsh-export-key --openssh < /etc/lsh/host-key.pub +$ lsh-export-key --openssh < /etc/lsh/host-key.pub ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{} @end example @@ -6032,9 +6032,9 @@ build file @file{build.xml} with tasks to build the specified jar archive. In this case the parameter @code{#:source-dir} can be used to specify the source sub-directory, defaulting to ``src''. -The @code{#:main-class} parameter can be used with the minimal ant -buildfile to specify the main class of the resulting jar. This makes the -jar file executable. The @code{#:test-include} parameter can be used to +The @code{#:main-class} parameter can be used with the minimal ant +buildfile to specify the main class of the resulting jar. This makes the +jar file executable. The @code{#:test-include} parameter can be used to specify the list of junit tests to run. It defaults to @code{(list "**/*Test.java")}. The @code{#:test-exclude} can be used to disable some tests. It defaults to @code{(list "**/Abstract*.java")}, @@ -9553,6 +9553,13 @@ the user whether to download it or not. This is the default behavior. @item --key-server=@var{host} Use @var{host} as the OpenPGP key server when importing a public key. +@item --load-path=@var{directory} +Add @var{directory} to the front of the package module search path +(@pxref{Package Modules}). + +This allows users to define their own packages and make them visible to +the command-line tools. + @end table The @code{github} updater uses the @@ -26114,7 +26121,7 @@ description: Install the given fonts on the specified ttys (fonts are per + virtual console on GNU/Linux). The value of this service is a list of + tty/font pairs. The font can be the name of a font provided by the `kbd' + package or any valid argument to `setfont', as in this example: -+ ++ + '(("tty1" . "LatGrkCyr-8x16") + ("tty2" . (file-append + font-tamzen diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index daf6fcf947..bc8e906054 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019 Ricardo Wurmus +;;; Copyright © 2020 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ (define-module (guix scripts refresh) #:use-module (guix ui) #:use-module (gcrypt hash) #:use-module (guix scripts) + #:use-module ((guix scripts build) #:select (%standard-build-options)) #:use-module (guix store) #:use-module (guix utils) #:use-module (guix packages) @@ -116,6 +118,19 @@ (define %options (leave (G_ "unsupported policy: ~a~%") arg))))) + ;; The short option -L is already used by --list-updaters, therefore + ;; it needs to be removed from %standard-build-options. + (let ((%load-path-option (find (lambda (option) + (member "load-path" + (option-names option))) + %standard-build-options))) + (option + (filter (lambda (name) (not (equal? #\L name))) + (option-names %load-path-option)) + (option-required-arg? %load-path-option) + (option-optional-arg? %load-path-option) + (option-processor %load-path-option))) + (option '(#\h "help") #f #f (lambda args (show-help) @@ -165,6 +180,9 @@ (define (show-help) 'always', 'never', and 'interactive', which is also used when 'key-download' is not specified")) (newline) + (display (G_ " + --load-path=DIR prepend DIR to the package module search path")) + (newline) (display (G_ " -h, --help display this help and exit")) (display (G_ " -- cgit v1.2.3 From 3c8396b578fe1b2efa942785e92a433c5f712b5d Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 15 Jan 2020 18:00:04 +0100 Subject: edit: Add '--load-path' option. * guix/scripts/edit.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. --- doc/guix.texi | 4 ++++ guix/scripts/edit.scm | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index a05ea17cda..87ad1212bf 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8706,6 +8706,10 @@ have created your own packages on @code{GUIX_PACKAGE_PATH} recipes. In other cases, you will be able to examine the read-only recipes for packages currently in the store. +Instead of @code{GUIX_PACKAGE_PATH}, the command-line option +@code{--load-path=@var{directory}} (or in short @code{-L +@var{directory}}) allows you to add @var{directory} to the front of the +package module search path and so make your own packages visible. @node Invoking guix download @section Invoking @command{guix download} diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm index da3d2775e8..a6fd1d2751 100644 --- a/guix/scripts/edit.scm +++ b/guix/scripts/edit.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2019 Ludovic Courtès ;;; Copyright © 2015 Mathieu Lirzin +;;; Copyright © 2020 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ (define-module (guix scripts edit) #:use-module (guix ui) #:use-module (guix scripts) + #:use-module ((guix scripts build) #:select (%standard-build-options)) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (srfi srfi-1) @@ -28,7 +30,10 @@ (define-module (guix scripts edit) guix-edit)) (define %options - (list (option '(#\h "help") #f #f + (list (find (lambda (option) + (member "load-path" (option-names option))) + %standard-build-options) + (option '(#\h "help") #f #f (lambda args (show-help) (exit 0))) @@ -39,6 +44,9 @@ (define %options (define (show-help) (display (G_ "Usage: guix edit PACKAGE... Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n")) + (newline) + (display (G_ " + -L, --load-path=DIR prepend DIR to the package module search path")) (newline) (display (G_ " -h, --help display this help and exit")) -- cgit v1.2.3 From e8728862a15abd58702ff4be05440298c0734e57 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 15 Jan 2020 18:00:05 +0100 Subject: repl: Add '--load-path' option. * guix/scripts/repl.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. --- doc/guix.texi | 8 ++++++++ guix/scripts/repl.scm | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 87ad1212bf..788a2a7d4f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7996,6 +7996,14 @@ Accept connections on localhost on port 37146. @item --listen=unix:/tmp/socket Accept connections on the Unix-domain socket @file{/tmp/socket}. @end table + +@item --load-path=@var{directory} +@itemx -L @var{directory} +Add @var{directory} to the front of the package module search path +(@pxref{Package Modules}). + +This allows users to define their own packages and make them visible to +the command-line tool. @end table @c ********************************************************************* diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm index e1cc759fc8..39a9b09656 100644 --- a/guix/scripts/repl.scm +++ b/guix/scripts/repl.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2019 Ludovic Courtès +;;; Copyright © 2020 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ (define-module (guix scripts repl) #:use-module (guix ui) #:use-module (guix scripts) + #:use-module ((guix scripts build) #:select (%standard-build-options)) #:use-module (guix repl) #:use-module (guix utils) #:use-module (guix packages) @@ -52,7 +54,10 @@ (define %options (alist-cons 'type (string->symbol arg) result))) (option '("listen") #t #f (lambda (opt name arg result) - (alist-cons 'listen arg result))))) + (alist-cons 'listen arg result))) + (find (lambda (option) + (member "load-path" (option-names option))) + %standard-build-options))) (define (show-help) @@ -60,6 +65,8 @@ (define (show-help) Start a Guile REPL in the Guix execution environment.\n")) (display (G_ " -t, --type=TYPE start a REPL of the given TYPE")) + (display (G_ " + -L, --load-path=DIR prepend DIR to the package module search path")) (newline) (display (G_ " -h, --help display this help and exit")) -- cgit v1.2.3 From a9e255127a92cdf4cd4ea63d342c984b3f51f0c0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 17 Jan 2020 12:00:53 +0100 Subject: doc: cookbook: Avoid URL reference to the manual. * doc/guix-cookbook.texi (Other build systems): Use @xref instead of @uref, and remove section number. --- doc/guix-cookbook.texi | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index 7c3860fbf5..477b7e3dff 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -1139,14 +1139,10 @@ For the other build systems, such as ASDF, Emacs, Perl, Ruby and many more, the process is very similar to the GNU build system except for a few specialized arguments. -Learn more about build systems in -@itemize -@item -@uref{https://www.gnu.org/software/guix/manual/en/html_node/Build-Systems.html#Build-Systems, the manual, section 4.2 Build systems}, -@item -the source code in the @samp{$GUIX_CHECKOUT/guix/build} and +@xref{Build Systems,,, guix, GNU Guix Reference Manual}, for more +information on build systems, or check the source code in the +@samp{$GUIX_CHECKOUT/guix/build} and @samp{$GUIX_CHECKOUT/guix/build-system} directories. -@end itemize @node Programmable and automated package definition @subsection Programmable and automated package definition -- cgit v1.2.3 From 0688ca7471b8c82f802db7ddaed8695f59c751ff Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 17 Jan 2020 12:01:54 +0100 Subject: doc: Replace some invalid uses of @var with @code. * doc/guix.texi (Build Systems): Replace invalid uses of @var with @code. --- doc/guix.texi | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 788a2a7d4f..c737a71698 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5930,12 +5930,12 @@ Guile Reference Manual}). The value of these arguments is usually evaluated in the @dfn{build stratum}---i.e., by a Guile process launched by the daemon (@pxref{Derivations}). -The main build system is @var{gnu-build-system}, which implements the +The main build system is @code{gnu-build-system}, which implements the standard build procedure for GNU and many other packages. It is provided by the @code{(guix build-system gnu)} module. @defvr {Scheme Variable} gnu-build-system -@var{gnu-build-system} represents the GNU Build System, and variants +@code{gnu-build-system} represents the GNU Build System, and variants thereof (@pxref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards}). @@ -5988,8 +5988,8 @@ is false), copying them to the @code{debug} output when available @vindex %standard-phases The build-side module @code{(guix build gnu-build-system)} defines -@var{%standard-phases} as the default list of build phases. -@var{%standard-phases} is a list of symbol/procedure pairs, where the +@code{%standard-phases} as the default list of build phases. +@code{%standard-phases} is a list of symbol/procedure pairs, where the procedure implements the actual phase. The list of phases used for a particular package can be changed with the @@ -6012,7 +6012,7 @@ have to mention them. Other @code{} objects are defined to support other conventions and tools used by free software packages. They inherit most -of @var{gnu-build-system}, and differ mainly in the set of inputs +of @code{gnu-build-system}, and differ mainly in the set of inputs implicitly added to the build process, and in the list of phases executed. Some of these build systems are listed below. @@ -6160,7 +6160,7 @@ parameters, respectively. Compile directory and main class can be specified with the @code{#:compile-dir} and @code{#:main-class} parameters, respectively. Other parameters are documented below. -This build system is an extension of @var{ant-build-system}, but with the +This build system is an extension of @code{ant-build-system}, but with the following phases changed: @table @code @@ -6193,7 +6193,7 @@ Apart from the above, this build system also contains an additional phase: @item install-doc This phase installs all top-level files with base name matching -@var{%doc-regex}. A different regex can be specified with the +@code{%doc-regex}. A different regex can be specified with the @code{#:doc-regex} parameter. All files (recursively) inside the documentation directories specified in @code{#:doc-dirs} are installed as well. @end table @@ -6270,7 +6270,7 @@ This variable is exported by @code{(guix build-system glib-or-gtk)}. It is intended for use with packages making use of GLib or GTK+. This build system adds the following two phases to the ones defined by -@var{gnu-build-system}: +@code{gnu-build-system}: @table @code @item glib-or-gtk-wrap @@ -6444,7 +6444,7 @@ This variable is exported by @code{(guix build-system qt)}. It is intended for use with applications using Qt or KDE. This build system adds the phase @code{qt-wrap} to the ones defined by -@var{cmake-build-system}, after the @code{install} phase. +@code{cmake-build-system}, after the @code{install} phase. This phase searches for Qt5 plugin paths, QML paths and some XDG in the inputs and output. In case some path is found, all programs in the output's @@ -6584,7 +6584,7 @@ This variable is exported by @code{(guix build-system emacs)}. It implements an installation procedure similar to the packaging system of Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual}). -It first creates the @code{@var{package}-autoloads.el} file, then it +It first creates the @code{@code{package}-autoloads.el} file, then it byte compiles all Emacs Lisp files. Differently from the Emacs packaging system, the Info documentation files are moved to the standard documentation directory and the @file{dir} file is deleted. Each @@ -6611,7 +6611,7 @@ and @code{#:ninja} if needed. The default Meson is @code{meson-for-build}, which is special because it doesn't clear the @code{RUNPATH} of binaries and libraries when they are installed. -This build system is an extension of @var{gnu-build-system}, but with the +This build system is an extension of @code{gnu-build-system}, but with the following phases changed to some specific for Meson: @table @code @@ -6656,10 +6656,10 @@ is not enabled by default. It can be enabled with @code{#:glib-or-gtk?}. @end defvr @defvr {Scheme Variable} linux-module-build-system -@var{linux-module-build-system} allows building Linux kernel modules. +@code{linux-module-build-system} allows building Linux kernel modules. @cindex build phases -This build system is an extension of @var{gnu-build-system}, but with the +This build system is an extension of @code{gnu-build-system}, but with the following phases changed: @table @code -- cgit v1.2.3 From 7b2a47a702b7393cd968640079f8703c932d1405 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 17 Jan 2020 17:14:20 +0100 Subject: build: Allow builds with Guile 3.0. * configure.ac: Add "3.0" in 'GUILE_PKG' invocation. * doc/guix.texi (Requirements): Mention 3.0.x. --- configure.ac | 2 +- doc/guix.texi | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/configure.ac b/configure.ac index 69ab9a97b8..06e86c209f 100644 --- a/configure.ac +++ b/configure.ac @@ -93,7 +93,7 @@ m4_pattern_forbid([^GUIX_]) dnl Search for 'guile' and 'guild'. This macro defines dnl 'GUILE_EFFECTIVE_VERSION'. -GUILE_PKG([2.2]) +GUILE_PKG([3.0 2.2]) GUILE_PROGS if test "x$GUILD" = "x"; then AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.]) diff --git a/doc/guix.texi b/doc/guix.texi index c737a71698..ae6c9d791c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -744,7 +744,8 @@ GNU Guix is available for download from its website at GNU Guix depends on the following packages: @itemize -@item @url{https://gnu.org/software/guile/, GNU Guile}, version 2.2.x; +@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x or +2.2.x; @item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version 0.1.0 or later; @item -- cgit v1.2.3 From 50299ade040e934fa5533768aacb081eb340af3f Mon Sep 17 00:00:00 2001 From: Wiktor Żelazny Date: Sat, 11 Jan 2020 12:30:05 +0100 Subject: doc: Add booting instructions for Libreboot. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Booting): Mention the relevant command for USB. Instructions for DVD and for Coreboot are missing. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index ae6c9d791c..56fa4ff079 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -71,6 +71,7 @@ Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Leo Prikler@* Copyright @copyright{} 2019, 2020 Simon Tournier@* +Copyright @copyright{} 2020 Wiktor Żelazny@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -2004,6 +2005,8 @@ Access to @file{/dev/srX} usually requires root privileges. Once this is done, you should be able to reboot the system and boot from the USB stick or DVD. The latter usually requires you to get in the BIOS or UEFI boot menu, where you can choose to boot from the USB stick. +In order to boot from Libreboot, switch to the command mode by pressing +the @kbd{c} key and type @command{search_grub usb}. @xref{Installing Guix in a VM}, if, instead, you would like to install Guix System in a virtual machine (VM). -- cgit v1.2.3 From c2c73f583d401a84e94a1e1e5b61da9c41f15683 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 18 Jan 2020 12:52:51 +0100 Subject: Use HTTPS for www.emacswiki.org. * doc/contributing.texi (The Perfect Setup): Use HTTPS for ParEdit wiki page. * gnu/packages/emacs-xyz.scm (emacs-wget, emacs-iedit)[home-page]: Use HTTPS. (emacs-transpose-frame)[source]: Likewise. --- doc/contributing.texi | 2 +- gnu/packages/emacs-xyz.scm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/contributing.texi b/doc/contributing.texi index 5d5d50c3c0..c6586a2adf 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -240,7 +240,7 @@ that it finds source files from your checkout: To actually edit the code, Emacs already has a neat Scheme mode. But in addition to that, you must not miss -@url{http://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides +@url{https://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides facilities to directly operate on the syntax tree, such as raising an s-expression or wrapping it, swallowing or rejecting the following s-expression, etc. diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 32e8ae17da..34ea293ac6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1243,7 +1243,7 @@ (define-public emacs-wget "wget" (string-append (assoc-ref outputs "out") "/share/emacs/site-lisp/")) #t))))) - (home-page "http://www.emacswiki.org/emacs/EmacsWget") + (home-page "https://www.emacswiki.org/emacs/EmacsWget") (synopsis "Simple file downloader for Emacs based on wget") (description "Emacs-wget is an emacs interface for the wget file downloader.") @@ -5669,7 +5669,7 @@ (define-public emacs-iedit (sha256 (base32 "0wr3w2id95wx2rma8n1ifjrv9rx37ly26ijc5zi58id0yrip3hnc")))) (build-system emacs-build-system) - (home-page "http://www.emacswiki.org/emacs/Iedit") + (home-page "https://www.emacswiki.org/emacs/Iedit") (synopsis "Edit multiple regions in the same way simultaneously") (description "This package is an Emacs minor mode and allows you to edit one @@ -9782,7 +9782,7 @@ (define-public emacs-transpose-frame (source (origin (method url-fetch) - (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el") + (uri "https://www.emacswiki.org/emacs/download/transpose-frame.el") (file-name (string-append "transpose-frame-" version ".el")) (sha256 (base32 -- cgit v1.2.3 From a9f4a7eee379accded2bd1515d8acb0746ea0517 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 19 Jan 2020 21:54:46 +0100 Subject: repl: Add "-q". * guix/scripts/repl.scm (%options, show-help): Add "-q". (guix-repl): Add 'user-config' and use it. Honor 'ignore-dot-guile?'. --- doc/guix.texi | 4 ++++ guix/scripts/repl.scm | 22 ++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 56fa4ff079..dea4584286 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8008,6 +8008,10 @@ Add @var{directory} to the front of the package module search path This allows users to define their own packages and make them visible to the command-line tool. + +@item -q +Inhibit loading of the @file{~/.guile} file. By default, that +configuration file is loaded when spawning a @code{guile} REPL. @end table @c ********************************************************************* diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm index fc3e4e2131..721c0a7450 100644 --- a/guix/scripts/repl.scm +++ b/guix/scripts/repl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018, 2019 Ludovic Courtès +;;; Copyright © 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2020 Simon Tournier ;;; ;;; This file is part of GNU Guix. @@ -55,6 +55,9 @@ (define %options (option '("listen") #t #f (lambda (opt name arg result) (alist-cons 'listen arg result))) + (option '(#\q) #f #f + (lambda (opt name arg result) + (alist-cons 'ignore-dot-guile? #t result))) (find (lambda (option) (member "load-path" (option-names option))) %standard-build-options))) @@ -67,6 +70,8 @@ (define (show-help) -t, --type=TYPE start a REPL of the given TYPE")) (display (G_ " --listen=ENDPOINT listen ENDPOINT instead of standard I/O")) + (display (G_ " + -q inhibit loading of ~/.guile")) (newline) (display (G_ " -L, --load-path=DIR prepend DIR to the package module search path")) @@ -139,6 +144,11 @@ (define opts (leave (G_ "~A: extraneous argument~%") arg)) %default-options)) + (define user-config + (and=> (getenv "HOME") + (lambda (home) + (string-append home "/.guile")))) + (with-error-handling (let ((type (assoc-ref opts 'type))) (call-with-connection (assoc-ref opts 'listen) @@ -148,11 +158,11 @@ (define opts (save-module-excursion (lambda () (set-current-module user-module) - (and=> (getenv "HOME") - (lambda (home) - (let ((guile (string-append home "/.guile"))) - (when (file-exists? guile) - (load guile))))) + (when (and (not (assoc-ref opts 'ignore-dot-guile?)) + user-config + (file-exists? user-config)) + (load user-config)) + ;; Do not exit repl on SIGINT. ((@@ (ice-9 top-repl) call-with-sigint) (lambda () -- cgit v1.2.3 From 2e1a31487122aa841d513c212f65d47294a927a6 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 20 Jan 2020 19:02:32 +0000 Subject: services: getmail: Fix some configuration documentation strings. * gnu/services/getmail.scm (getmail-retriever-configuration): Specify proper documentation strings for some of the fields. * doc/guix.texi (Mail Services): Update the documentation accordingly. --- doc/guix.texi | 14 +++++++------- gnu/services/getmail.scm | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index dea4584286..25dc8b9124 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17715,21 +17715,21 @@ Defaults to @samp{"SimpleIMAPSSLRetriever"}. @end deftypevr @deftypevr {@code{getmail-retriever-configuration} parameter} string server -Space separated list of arguments to the userdb driver. +Username to login to the mail server with. Defaults to @samp{unset}. @end deftypevr @deftypevr {@code{getmail-retriever-configuration} parameter} string username -Space separated list of arguments to the userdb driver. +Username to login to the mail server with. Defaults to @samp{unset}. @end deftypevr @deftypevr {@code{getmail-retriever-configuration} parameter} non-negative-integer port -Space separated list of arguments to the userdb driver. +Port number to connect to. Defaults to @samp{#f}. @@ -17750,28 +17750,28 @@ Defaults to @samp{()}. @end deftypevr @deftypevr {@code{getmail-retriever-configuration} parameter} string keyfile -PEM-formatted key file to use for the TLS negotiation +PEM-formatted key file to use for the TLS negotiation. Defaults to @samp{""}. @end deftypevr @deftypevr {@code{getmail-retriever-configuration} parameter} string certfile -PEM-formatted certificate file to use for the TLS negotiation +PEM-formatted certificate file to use for the TLS negotiation. Defaults to @samp{""}. @end deftypevr @deftypevr {@code{getmail-retriever-configuration} parameter} string ca-certs -CA certificates to use +CA certificates to use. Defaults to @samp{""}. @end deftypevr @deftypevr {@code{getmail-retriever-configuration} parameter} parameter-alist extra-parameters -Extra retriever parameters +Extra retriever parameters. Defaults to @samp{()}. diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm index 218e018b05..93e0ab1add 100644 --- a/gnu/services/getmail.scm +++ b/gnu/services/getmail.scm @@ -112,13 +112,13 @@ (define-configuration getmail-retriever-configuration @samp{passwd} and @samp{static}.") (server (string 'unset) - "Space separated list of arguments to the userdb driver.") + "Name or IP adddress of the server to retrieve mail from.") (username (string 'unset) - "Space separated list of arguments to the userdb driver.") + "Username to login to the mail server with.") (port (non-negative-integer #f) - "Space separated list of arguments to the userdb driver.") + "Port number to connect to.") (password (string "") "Override fields from passwd.") @@ -127,16 +127,16 @@ (define-configuration getmail-retriever-configuration "Override fields from passwd.") (keyfile (string "") - "PEM-formatted key file to use for the TLS negotiation") + "PEM-formatted key file to use for the TLS negotiation.") (certfile (string "") - "PEM-formatted certificate file to use for the TLS negotiation") + "PEM-formatted certificate file to use for the TLS negotiation.") (ca-certs (string "") - "CA certificates to use") + "CA certificates to use.") (extra-parameters (parameter-alist '()) - "Extra retriever parameters")) + "Extra retriever parameters.")) (define (serialize-getmail-destination-configuration field-name val) (serialize-configuration val getmail-destination-configuration-fields)) -- cgit v1.2.3 From c8defb2b2a4daf370497e6be1047a1fcf82143e1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 20 Jan 2020 19:02:49 +0000 Subject: services: getmail: Adjust a couple of default configuration values. Change the message-log-syslog and message-log-verbose configuration values to match the Getmail defaults. * gnu/services/getmail.scm (getmail-options-configuration): Change defaults for message-log-syslog and message-log-verbose * doc/guix.texi (Mail Services): Update the Getmail documentation accordingly. --- doc/guix.texi | 4 ++-- gnu/services/getmail.scm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 25dc8b9124..2b5bfc6cb7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17902,7 +17902,7 @@ Defaults to @samp{""}. If true, getmail will record a log of its actions using the system logger. -Defaults to @samp{#t}. +Defaults to @samp{#f}. @end deftypevr @@ -17911,7 +17911,7 @@ If true, getmail will log information about messages not retrieved and the reason for not retrieving them, as well as starting and ending information lines. -Defaults to @samp{#t}. +Defaults to @samp{#f}. @end deftypevr diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm index 93e0ab1add..7d77888517 100644 --- a/gnu/services/getmail.scm +++ b/gnu/services/getmail.scm @@ -203,11 +203,11 @@ (define-configuration getmail-options-configuration "Getmail will record a log of its actions to the named file. A value of @samp{\"\"} disables this feature.") (message-log-syslog - (boolean #t) + (boolean #f) "If true, getmail will record a log of its actions using the system logger.") (message-log-verbose - (boolean #t) + (boolean #f) "If true, getmail will log information about messages not retrieved and the reason for not retrieving them, as well as starting and ending information lines.") -- cgit v1.2.3 From b2f948be9f815582a49bd80a9594a881d7d1a56e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 21 Jan 2020 14:26:41 +0100 Subject: services: sane: Create the "scanner" account. * gnu/services/desktop.scm (%sane-accounts, sane-service-type): New variables. (%desktop-services): Use SANE-SERVICE-TYPE instead of 'simple-service'. * doc/guix.texi (Desktop Services): Document 'sane-service-type'. --- doc/guix.texi | 7 +++++++ gnu/services/desktop.scm | 28 ++++++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 2b5bfc6cb7..d674b9484f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15845,6 +15845,13 @@ this application is allowed location info access. An empty users list means that all users are allowed. @end deffn +@cindex scanner access +@deffn {Scheme Procedure} sane-service-type +This service provides access to scanners @i{via} +@uref{http://www.sane-project.org, SANE} by installing the necessary udev +rules. +@end deffn + @defvr {Scheme Variable} %standard-geoclue-applications The standard list of well-known GeoClue application configurations, granting authority to the GNOME date-and-time utility to ask for the diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index dec1c3fa0f..9dcdf38be1 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Sou Bunnbu @@ -110,6 +110,7 @@ (define-module (gnu services desktop) accountsservice-service cups-pk-helper-service-type + sane-service-type gnome-desktop-configuration gnome-desktop-configuration? @@ -836,6 +837,29 @@ (define cups-pk-helper-service-type (service-extension polkit-service-type list))) (default-value cups-pk-helper))) + +;;; +;;; Scanner access via SANE. +;;; + +(define %sane-accounts + ;; The '60-libsane.rules' udev rules refers to the "scanner" group. + (list (user-group (name "scanner") (system? #t)))) + +(define sane-service-type + (service-type + (name 'sane) + (description + "This service provides access to scanners @i{via} +@uref{http://www.sane-project.org, SANE} by installing the necessary udev +rules.") + (default-value sane-backends-minimal) + (extensions + (list (service-extension udev-service-type list) + (service-extension account-service-type + (const %sane-accounts)))))) + + ;;; ;;; GNOME desktop service. @@ -1156,7 +1180,7 @@ (define %desktop-services ;; them. (simple-service 'mtp udev-service-type (list libmtp)) ;; Add udev rules for scanners. - (simple-service 'sane udev-service-type (list sane-backends-minimal)) + (service sane-service-type) ;; Add polkit rules, so that non-root users in the wheel group can ;; perform administrative tasks (similar to "sudo"). polkit-wheel-service -- cgit v1.2.3