[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#38678] [PATCH v4 3/6] refresh: Add '--load-path' option.
From: |
zimoun |
Subject: |
[bug#38678] [PATCH v4 3/6] refresh: Add '--load-path' option. |
Date: |
Wed, 15 Jan 2020 18:00:03 +0100 |
* guix/scripts/refresh.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
---
doc/guix.texi | 9 ++++++++-
guix/scripts/refresh.scm | 18 ++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 3d26facd2e..bee4c3b2c9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -69,7 +69,7 @@ Copyright @copyright{} 2019 Jakob L. Kreuze@*
Copyright @copyright{} 2019 Kyle Andrews@*
Copyright @copyright{} 2019 Alex Griffin@*
Copyright @copyright{} 2019 Guillaume Le Vaillant@*
-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
@@ -9552,6 +9552,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
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 <address@hidden>
;;; Copyright © 2018 Efraim Flashner <address@hidden>
;;; Copyright © 2019 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2020 Simon Tournier <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,6 +28,7 @@
#: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 @@
(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 @@ specified with `--select'.\n"))
'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_ "
--
2.23.0