diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2022-10-14 17:35:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-14 17:35:57 +0200 |
commit | 3093bd3a855b8fa1f572fd5a33c1971adf5e3e08 (patch) | |
tree | 710c0b03d78ed4d3360bc80763eedcf8520a2a43 /src/libstore | |
parent | 9f7877abacbf3f0371b3b0969f7380c6c6db58a5 (diff) | |
parent | 285277a61af8d7ad49f2155166690601aa1a59a9 (diff) |
Merge pull request #7168 from NixOS/rosetta-test
Improve Rosetta detection
Diffstat (limited to 'src/libstore')
-rw-r--r-- | src/libstore/globals.cc | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc index d724897bb..ff658c428 100644 --- a/src/libstore/globals.cc +++ b/src/libstore/globals.cc @@ -154,13 +154,9 @@ StringSet Settings::getDefaultExtraPlatforms() // machines. Note that we can’t force processes from executing // x86_64 in aarch64 environments or vice versa since they can // always exec with their own binary preferences. - if (pathExists("/Library/Apple/System/Library/LaunchDaemons/com.apple.oahd.plist") || - pathExists("/System/Library/LaunchDaemons/com.apple.oahd.plist")) { - if (std::string{SYSTEM} == "x86_64-darwin") - extraPlatforms.insert("aarch64-darwin"); - else if (std::string{SYSTEM} == "aarch64-darwin") - extraPlatforms.insert("x86_64-darwin"); - } + if (std::string{SYSTEM} == "aarch64-darwin" && + runProgram(RunOptions {.program = "arch", .args = {"-arch", "x86_64", "/usr/bin/true"}, .mergeStderrToStdout = true}).first == 0) + extraPlatforms.insert("x86_64-darwin"); #endif return extraPlatforms; |