diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/nim/NIM_CONFIG_DIR.patch')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/nim/NIM_CONFIG_DIR.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/nim/NIM_CONFIG_DIR.patch b/nixpkgs/pkgs/development/compilers/nim/NIM_CONFIG_DIR.patch new file mode 100644 index 00000000000..61e05b791cf --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/nim/NIM_CONFIG_DIR.patch @@ -0,0 +1,23 @@ +diff --git a/compiler/nimconf.nim b/compiler/nimconf.nim +index a470179bd..73cfa1a23 100644 +--- a/compiler/nimconf.nim ++++ b/compiler/nimconf.nim +@@ -225,10 +225,15 @@ proc getUserConfigPath*(filename: RelativeFile): AbsoluteFile = + proc getSystemConfigPath*(conf: ConfigRef; filename: RelativeFile): AbsoluteFile = + # try standard configuration file (installation did not distribute files + # the UNIX way) +- let p = getPrefixDir(conf) +- result = p / RelativeDir"config" / filename ++ let ++ prefix = getPrefixDir(conf) ++ env = getEnv("NIM_CONFIG_PATH") ++ if env != "": ++ result = env.toAbsoluteDir / filename ++ else: ++ result = prefix / RelativeDir"config" / filename + when defined(unix): +- if not fileExists(result): result = p / RelativeDir"etc/nim" / filename ++ if not fileExists(result): result = prefix / RelativeDir"etc/nim" / filename + if not fileExists(result): result = AbsoluteDir"/etc/nim" / filename + + proc loadConfigs*(cfg: RelativeFile; cache: IdentCache; conf: ConfigRef) = |