git-subtree-dir: third_party/nixpkgs git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
21 lines
896 B
Diff
21 lines
896 B
Diff
Nix may already sandbox the build, in which case sandbox_apply will fail.
|
|
|
|
--- a/Sources/Basics/Sandbox.swift
|
|
+++ b/Sources/Basics/Sandbox.swift
|
|
@@ -33,12 +33,14 @@ public enum Sandbox {
|
|
readOnlyDirectories: [AbsolutePath] = []
|
|
) throws -> [String] {
|
|
#if os(macOS)
|
|
+ let env = ProcessInfo.processInfo.environment
|
|
+ if env["NIX_BUILD_TOP"] == nil || env["IN_NIX_SHELL"] != nil {
|
|
let profile = try macOSSandboxProfile(strictness: strictness, writableDirectories: writableDirectories, readOnlyDirectories: readOnlyDirectories)
|
|
return ["/usr/bin/sandbox-exec", "-p", profile] + command
|
|
- #else
|
|
+ }
|
|
+ #endif
|
|
// rdar://40235432, rdar://75636874 tracks implementing sandboxes for other platforms.
|
|
return command
|
|
- #endif
|
|
}
|
|
|
|
/// Basic strictness level of a sandbox applied to a command line.
|