python312Packages.dissect-extfs: 3.11 -> 3.12
[NixPkgs.git] / nixos / tests / darling.nix
blob5665b4c2ffef22dbfa8e1b5c31143fa2e2a8f2da
1 import ./make-test-python.nix ({ pkgs, lib, ... }:
3 let
4   # Well, we _can_ cross-compile from Linux :)
5   hello = pkgs.runCommand "hello" {
6     sdk = "${pkgs.darling.sdk}/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk";
7     nativeBuildInputs = with pkgs.llvmPackages_14; [ clang-unwrapped lld ];
8     src = pkgs.writeText "hello.c" ''
9       #include <stdio.h>
10       int main() {
11         printf("Hello, Darling!\n");
12         return 0;
13       }
14     '';
15   } ''
16     clang \
17       -target x86_64-apple-darwin \
18       -fuse-ld=lld \
19       -nostdinc -nostdlib \
20       -mmacosx-version-min=10.15 \
21       --sysroot $sdk \
22       -isystem $sdk/usr/include \
23       -L $sdk/usr/lib -lSystem \
24       $src -o $out
25   '';
28   name = "darling";
30   meta.maintainers = with lib.maintainers; [ zhaofengli ];
32   nodes.machine = {
33     programs.darling.enable = true;
34   };
36   testScript = ''
37     start_all()
39     # Darling holds stdout until the server is shutdown
40     machine.succeed("darling ${hello} >hello.out")
41     machine.succeed("grep Hello hello.out")
42     machine.succeed("darling shutdown")
43   '';