aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorAndreas Fuchs2020-11-25 00:11:15 -0500
committerGitHub2020-11-24 22:11:15 -0700
commit42cbe751a860470cc8fd36f9e105566b97b6a2ff (patch)
treedfa31d91ea6f770efcad087df688ca737aa7507b /flake.nix
parented97d54648e5e440017c73d1e111c65f99feb140 (diff)
Fix running & building under macOS (Big Sur) (#9)
* Add xcbuild as native build input 2 ways & pass --verbose to cargo build * Make "deploy" build on macOS * Bump the nixpkgs version to one that ships Rust 1.47, which can produce binaries under macOS 11 (Big Sur). * Use darwin-specific options that let Naersk build the "deploy" binary under macOS. (With a work-around for https://github.com/nmattia/naersk/issues/127, which prevents this from being much more straight-forward). Unfortunately, the "activate" binary can't be built under macOS due to the inotify dependency; that means the best we can do is to run the deploy under macOS, not deploy *to* macOS.
Diffstat (limited to '')
-rw-r--r--flake.nix18
1 files changed, 14 insertions, 4 deletions
diff --git a/flake.nix b/flake.nix
index d92a60a..2e775ca 100644
--- a/flake.nix
+++ b/flake.nix
@@ -23,10 +23,20 @@
let
pkgs = import nixpkgs { inherit system; };
naersk-lib = pkgs.callPackage naersk { };
+ isDarwin = pkgs.lib.strings.hasSuffix "-darwin" system;
+ darwinOptions = pkgs.lib.optionalAttrs isDarwin {
+ nativeBuildInputs = [
+ pkgs.darwin.apple_sdk.frameworks.SystemConfiguration
+ ];
+ singleStep = true; # https://github.com/nmattia/naersk/issues/127
+ cargoBuildOptions = opts: opts ++ [ "--bin" "deploy" ]; # The "activate" binary is linux-only.
+ };
in
{
defaultPackage = self.packages."${system}".deploy-rs;
- packages.deploy-rs = naersk-lib.buildPackage ./.;
+ packages.deploy-rs = naersk-lib.buildPackage (darwinOptions // {
+ root = ./.;
+ });
defaultApp = self.apps."${system}".deploy-rs;
apps.deploy-rs = {
@@ -35,9 +45,9 @@
};
devShell = pkgs.mkShell {
- inputsFrom = [ self.packages.${system}.deploy-rs ];
- buildInputs = [ pkgs.nixUnstable ];
- };
+ inputsFrom = [ self.packages.${system}.deploy-rs ];
+ buildInputs = [ pkgs.nixUnstable ];
+ };
lib = rec {