From 9e3ef667a422484b3f4a8aecaed367aa587abb5f Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Wed, 1 Apr 2020 16:29:49 +1100 Subject: guix: Improve docstring of wrap-program. * guix/build/utils.scm (wrap-progran): Add an explanation for POSITION. Change 'DIRECTORIES' to 'VALUES' since an environment variable might not only be paths.' --- guix/build/utils.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index b8be73ead4..ba4d1d8657 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2015, 2018 Mark H Weaver ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2020 Brendan Tildesley ;;; ;;; This file is part of GNU Guix. ;;; @@ -1114,13 +1115,20 @@ known as `nuke-refs' in Nixpkgs." (string-suffix? "-real" base))))) (define* (wrap-program prog #:rest vars) - "Make a wrapper for PROG. VARS should look like this: + "Make a wrapper for PROG. VARS is a list of lists that should look like this: - '(VARIABLE DELIMITER POSITION LIST-OF-DIRECTORIES) + '(VARIABLE DELIMITER POSITION LIST-OF-VALUES) where DELIMITER is optional. ':' will be used if DELIMITER is not given. - -For example, this command: +POSITION is a Scheme symbol of either =, prefix, or suffix that selects how +the export VARIABLE line is formatted. prefix and suffix each result in +including values from the users environment either after or before VALUE, +whereas = overshadows any existing value, preventing the users environment +from 'infecting' the wrapped programs environment. It is important to +understand how each variable is used by the program so that the correct choice +can be made. Otherwise, the program could malfunction in unexpected ways on a +different persons computer due to a difference in the inherited environment +variables. For example, this command: (wrap-program \"foo\" '(\"PATH\" \":\" = (\"/gnu/.../bar/bin\")) -- cgit v1.2.3