diff --git a/.github/workflows/deltachat-rpc-server.yml b/.github/workflows/deltachat-rpc-server.yml index 78a3fbd331..375d455fc2 100644 --- a/.github/workflows/deltachat-rpc-server.yml +++ b/.github/workflows/deltachat-rpc-server.yml @@ -80,18 +80,17 @@ jobs: - uses: actions/checkout@v4 with: show-progress: false + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main - - name: Setup rust target - run: rustup target add ${{ matrix.arch }}-apple-darwin - - - name: Build - run: cargo build --release --package deltachat-rpc-server --target ${{ matrix.arch }}-apple-darwin --features vendored + - name: Build deltachat-rpc-server binaries + run: nix build .#deltachat-rpc-server-${{ matrix.arch }} - name: Upload binary uses: actions/upload-artifact@v4 with: name: deltachat-rpc-server-${{ matrix.arch }}-macos - path: target/${{ matrix.arch }}-apple-darwin/release/deltachat-rpc-server + path: result/bin/deltachat-rpc-server if-no-files-found: error build_android: diff --git a/flake.lock b/flake.lock index 55f8a24793..8b54a4ac92 100644 --- a/flake.lock +++ b/flake.lock @@ -196,16 +196,16 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1713537308, - "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=", - "owner": "nixos", + "lastModified": 1714698973, + "narHash": "sha256-GcLKCUJ+TfOisWVi9ZsdsSASPxT0qk8NTN2wXnvkyho=", + "owner": "reckenrode", "repo": "nixpkgs", - "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f", + "rev": "0479d3c5baf4b4dd0528941f21b34c06fdfb3ed4", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "reckenrode", + "ref": "darwin-cross", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 30523c2243..fbf26360ae 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ flake-utils.url = "github:numtide/flake-utils"; naersk.url = "github:nix-community/naersk"; nix-filter.url = "github:numtide/nix-filter"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:reckenrode/nixpkgs/darwin-cross"; android.url = "github:tadfisher/android-nixpkgs"; }; outputs = { self, nixpkgs, flake-utils, nix-filter, naersk, fenix, android }: @@ -241,6 +241,9 @@ nativeBuildInputs = [ pkgs.perl # Needed to build vendored OpenSSL. ]; + buildInputs = pkgs.lib.optionals isDarwin [ + pkgs.darwin.apple_sdk.frameworks.SystemConfiguration + ]; auditable = false; # Avoid cargo-auditable failures. doCheck = false; # Disable test as it requires network access. @@ -355,6 +358,8 @@ mkRustPackages "x86_64-linux" // mkRustPackages "armv7l-linux" // mkRustPackages "armv6l-linux" // + mkRustPackages "x86_64-darwin" // + mkRustPackages "aarch64-darwin" // mkAndroidPackages "armeabi-v7a" // mkAndroidPackages "arm64-v8a" // mkAndroidPackages "x86" //