This patch changes the default value of 'dict-dir' to correspond to ~/.guix-profile/lib/aspell rather than $prefix/lib/aspell-X.Y. This is not strictly necessary for the 'aspell' program itself since one can simply set "ASPELL_CONF=dict-dir $HOME/.guix-profile/lib/aspell". However it is necessary for applications that use libaspell since 'ASPELL_CONF' is not honored in this case. See . --- a/common/config.cpp +++ b/common/config.cpp @@ -651,7 +651,20 @@ namespace acommon { } else { // sep == '|' assert(replace[0] == '$'); const char * env = getenv(replace.c_str()+1); - final_str += env ? env : second; + if (env) { + final_str += env; + } else if (second[0] == '$') { + // Expand the right-hand side of '|', which starts with a + // reference to an environment variable. + auto slash = second.find('/'); + String variable = second.substr(1, slash - 1); + const char * env = getenv(variable.c_str()); + String value = env ? String(env) : ""; + value += second.substr(slash, second.size() - slash); + final_str += value; + } else { + final_str += second; + } } replace = ""; in_replace = false; @@ -1349,6 +1349,9 @@ namespace acommon { # define REPL ".aspell..prepl" #endif +#undef DICT_DIR +#define DICT_DIR "<$ASPELL_DICT_DIR|$HOME/.guix-profile/lib/aspell>" + static const KeyInfo config_keys[] = { // the description should be under 50 chars {"actual-dict-dir", KeyInfoString, "", 0} guix/log/gnu/services/rsync.scm'>
AgeCommit message (Expand)Author
2023-11-26services: rsync: Provide a prettier Shepherd inetd service name....Previously, a default name would be used for transient inetd services, leading to names such as #{5rjnskb6011jgmfmpgp63jp9mh9nkl20-rsync-3274}#. * gnu/services/rsync.scm (rsync-shepherd-service): Pass #:service-name-stem. Change-Id: I4d0a4a01e122c6eeaa85f104b083cf7e8709eac3 Ludovic Courtès
2023-05-18services: rsync: Use least authority wrapper....* gnu/services/rsync.scm (rsync-shepherd-service) Wrap rsync command in a least-authority-wrapper. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2023-05-18services: rsync: Use make-inetd-constructor....* gnu/services/rsync.scm (rsync-shepherd-service): Use make-inetd-constructor if available in start slot. * gnu/tests/rsync.scm (run-rsync-test): Delete "PID file" test. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer
2023-04-21services: rsync: Add 'configuration' action....* gnu/services/rsync.scm (rsync-shepherd-service): Add 'actions' field. Ludovic Courtès