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} ame='id' value='855097683230b756ba28636bed03ce904b6f3589'/>
tion code. * scripts/guix.in (config-lookup): Delete. (maybe-augment-load-paths!, run-guix-main): Use fully expanded variables instead of calling ‘config-lookup’. * configure.ac: Don't use AC_CONFIG_FILES for ‘scripts/guix’. Use AC_PROG_SED. * Makefile.am (scripts/guix): New rule. (do_subst): New variable. (CLEANFILES, EXTRA_DIST): Adapt. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
AgeCommit message (Expand)Author
2020-01-15import: cpan: Rewrite tests to use an HTTP server instead of mocking....* guix/import/cpan.scm (%metacpan-base-url): New variable. (module->dist-name, cpan-fetch): Refer to it instead of the hard-coded URL. * tests/cpan.scm ("cpan->guix-package"): Use 'with-http-server' instead of 'mock'. Ludovic Courtès
2020-01-15import: cpan: Rewrite to use 'define-json-mapping'....* guix/import/cpan.scm (<cpan-dependency>, <cpan-release>): New JSON-mapped record types. (metacpan-url->mirror-url): New procedure. (cpan-source-url): Rewrite in terms of it. (cpan-version): Remove. (cpan-module->sexp): Rewrite to take a <cpan-release> instead of an alist, and rename 'meta' to 'release'. [convert-inputs]: Rewrite to use 'cpan-release-dependencies'. Update calls to 'convert-inputs' to pass a list of symbols. Replace 'assoc-ref' calls with the appropriate field accessors. (cpan->guix-package): Rename 'module-meta' to 'release'. (latest-release): Likewise, and use the appropriate accessors. * tests/cpan.scm (test-json): Remove "prereqs" record; add "dependency" list. ("source-url-http", "source-url-https"): Remove. ("metacpan-url->mirror-url, http") ("metacpan-url->mirror-url, https"): New tests. Ludovic Courtès
2019-08-22Revert "import: cpan: Adapt for the change to guile-json version 3."...This reverts commit 01ce7af25add55514f737af48ea6c127bedfde67. Mark H Weaver
2019-08-21import: cpan: Adapt for the change to guile-json version 3....In guile-json version 3, JSON objects are represented as hash tables, rather than alists. * guix/import/cpan.scm (string->license): Change the match expression to match on lists, rather than vectors. (module->dist-name, cpan-source-url, cpan-version): Change assoc-ref to hash-ref. (cpan-module->sexp): Change assoc-ref to hash-ref, and assoc-ref* to hash-ref*. * tests/cpan.scm ("source-url-http", "source-url-https"): Convert the alist to a hash table. Christopher Baines
Mathieu Lirzin