mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-23 17:56:53 +03:00
swift: compiler only build & darwin support
This commit is contained in:
parent
2c2b799dba
commit
8ed924c07a
23 changed files with 1399 additions and 574 deletions
|
@ -0,0 +1,30 @@
|
|||
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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue