Fixes <https://bugs.gnu.org/29686>. Reported by Oleg Pykhalov <go.wigust@gmail.com>. * gnu/packages/aspell.scm (aspell)[arguments]: Remove 'wrap-aspell' phase. * gnu/packages/patches/aspell-default-dict-dir.patch: Add hunk to expand the right-hand size of '|' in values like "<$FOO|$BAR/baz>". Change DICT_DIR to refer to "$HOME" on the right-hand side.
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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 <https://bugs.gnu.org/25836>.
 | |
| 
 | |
| --- 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.<lang>.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, "<dict-dir^master>", 0}
 |