mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-22 21:53:32 +00:00
31 lines
1006 B
Diff
31 lines
1006 B
Diff
The compiler fails if LLVM modules are enabled and it cannot write its module
|
|
cache. This patch detects and rejects the fake, non-existant $HOME used in Nix
|
|
builds.
|
|
|
|
We could simply return false in `cache_directory`, but that completely disables
|
|
module caching, and may unnecessarily slow down builds. Instead, let it use
|
|
'/tmp/.cache'.
|
|
|
|
--- a/lib/Support/Unix/Path.inc
|
|
+++ b/lib/Support/Unix/Path.inc
|
|
@@ -1380,6 +1380,9 @@ bool user_config_directory(SmallVectorImpl<char> &result) {
|
|
if (!home_directory(result)) {
|
|
return false;
|
|
}
|
|
+ if (std::equal(result.begin(), result.end(), "/homeless-shelter")) {
|
|
+ return false;
|
|
+ }
|
|
append(result, ".config");
|
|
return true;
|
|
}
|
|
@@ -1401,6 +1404,9 @@ bool cache_directory(SmallVectorImpl<char> &result) {
|
|
if (!home_directory(result)) {
|
|
return false;
|
|
}
|
|
+ if (std::equal(result.begin(), result.end(), "/homeless-shelter")) {
|
|
+ system_temp_directory(true/*ErasedOnReboot*/, result);
|
|
+ }
|
|
append(result, ".cache");
|
|
return true;
|
|
}
|