From f57456fa0e19452494139e30aa3c82968482ea28 Mon Sep 17 00:00:00 2001 From: Anton-4 <17049058+Anton-4@users.noreply.github.com> Date: Fri, 5 Aug 2022 13:31:52 +0200 Subject: [PATCH] default.nix fixes for macos arm64 --- crates/cli/build.rs | 6 ++++++ default.nix | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 crates/cli/build.rs diff --git a/crates/cli/build.rs b/crates/cli/build.rs new file mode 100644 index 0000000000..5d171b71cf --- /dev/null +++ b/crates/cli/build.rs @@ -0,0 +1,6 @@ +fn main() { + // workaround for issue https://github.com/NixOS/nixpkgs/issues/166205 . This println can be removed when this issue is fixed. Upgrading to LLVM 14 could also fix this issue. + // also see https://github.com/NixOS/nixpkgs/pull/181485 + #[cfg(all(target_os = "macos", target_arch = "aarch64"))] + println!("cargo:rustc-link-lib=c++abi") +} diff --git a/default.nix b/default.nix index ec783d393c..aae9b93b7a 100644 --- a/default.nix +++ b/default.nix @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage { src = pkgs.nix-gitignore.gitignoreSource [] ./.; - cargoSha256 = "sha256-cFzOcU982kANsZjx4YoLQOZSOYN3loj+5zowhWoBWM8="; + cargoSha256 = "sha256-Pd84GGtW1ecrP03uiCVcybIUtWCSDGfLl+fbbdmFyiE="; LLVM_SYS_130_PREFIX = "${llvmPkgs.llvm.dev}"; @@ -79,8 +79,11 @@ rustPlatform.buildRustPackage { # cp: to copy str.zig,list.zig... # wrapProgram pkgs.stdenv.cc: to make ld available for compiler/build/src/link.rs - postInstall = '' + postInstall = if pkgs.stdenv.isLinux then '' cp -r target/x86_64-unknown-linux-gnu/release/lib/. $out/lib wrapProgram $out/bin/roc --set NIX_GLIBC_PATH ${nixGlibcPath} --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.stdenv.cc ]} + '' else '' + cp -r target/aarch64-apple-darwin/release/lib/. $out/lib + wrapProgram $out/bin/roc --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.stdenv.cc ]} ''; }