From 023af5f4c3023a90d51098d4fb20bcb17af151cf Mon Sep 17 00:00:00 2001 From: Jun Matsushita Date: Tue, 26 Jan 2021 11:35:18 +0100 Subject: [PATCH] Fix nix build on OSX --- nix/overlays/wire-server.nix | 14 +++++++++++++- stack-deps.nix | 7 +++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/nix/overlays/wire-server.nix b/nix/overlays/wire-server.nix index aeefaa46ffc..602b42059fa 100644 --- a/nix/overlays/wire-server.nix +++ b/nix/overlays/wire-server.nix @@ -14,7 +14,13 @@ self: super: { sha256 = "1i9dlhw0xk1viglyhail9fb36v1awrypps8jmhrkz8k1bhx98ci3"; }; cargoSha256 = "0zs8ibv7rinrrzp9naxd7yak7kn1gp3pjb3g8i4wf7xw2hkkq81z"; + + patchLibs = super.lib.optionalString super.stdenv.isDarwin '' + install_name_tool -id $out/lib/libcryptobox.dylib $out/lib/libcryptobox.dylib + ''; + postInstall = '' + ${patchLibs} mkdir -p $out/include cp src/cbox.h $out/include ''; @@ -32,6 +38,11 @@ self: super: { sourceRoot = "libzauth/libzauth-c"; cargoSha256 = "10ijvi3rnnqpy589hhhp8s4p7xfpsbb1c3mzqnf65ra96q4nd6bf"; # self.lib.fakeSha256; + + patchLibs = super.lib.optionalString super.stdenv.isDarwin '' + install_name_tool -id $out/lib/libzauth.dylib $out/lib/libzauth.dylib + ''; + postInstall = '' mkdir -p $out/lib/pkgconfig mkdir -p $out/include @@ -39,7 +50,8 @@ self: super: { sed -e "s~<>~${version}~" \ -e "s~<>~$out~" \ src/libzauth.pc > $out/lib/pkgconfig/libzauth.pc - cp target/release-tmp/libzauth.so $out/lib/ + cp target/release-tmp/libzauth.* $out/lib/ + ${patchLibs} ''; } ) {}; diff --git a/stack-deps.nix b/stack-deps.nix index e22f13676ca..df02e439944 100644 --- a/stack-deps.nix +++ b/stack-deps.nix @@ -1,8 +1,15 @@ +with (import {}); let pkgs = import ./nix; + native_libs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + Cocoa + CoreServices + ]); + in pkgs.haskell.lib.buildStackProject { name = "wire-server"; + nativeBuildInputs = native_libs; buildInputs = with pkgs; [ cryptobox geoip