summaryrefslogtreecommitdiff
path: root/pit/packages.nix
blob: 7f256b184a5639ad0526521f757317c0edb72bc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
pkgs: lcq: {
  native = pkgs.pkgsMusl.stdenv.mkDerivation {
    pname = "libcolonq-pit";
    version = "git";
    src = ./.;
    hardeningDisable = ["all"];
    buildInputs = [
      lcq.prelude.native
    ];
    installPhase = ''
      make prefix=$out install
    '';
  };
  wasm = let
    wasm32-clang = pkgs.writeShellScriptBin "wasm32-clang" ''
      ${pkgs.llvmPackages.clang-unwrapped}/bin/clang \
        -I${pkgs.llvmPackages.clang}/resource-root/include \
        -I${lcq.prelude.native}/include \
        --target=wasm32-unknown-unknown "$@"
    '';
    in pkgs.stdenv.mkDerivation {
      pname = "libcolonq-pit";
      version = "git";
      src = ./.;
      hardeningDisable = ["all"];
      nativeBuildInputs = [
        wasm32-clang
      ];
      buildPhase = ''
        make CC=wasm32-clang libcolonq-pit.a
      '';
      installPhase = ''
        make CC=wasm32-clang prefix=$out install-core install-headers
      '';
    };
  arm-embedded = pkgs.pkgsCross.arm-embedded.stdenv.mkDerivation {
    pname = "libcolonq-pit";
    version = "git";
    src = ./.;
    hardeningDisable = ["all"];
    buildInputs = [
      lcq.prelude.native
    ];
    buildPhase = ''
      make CPPFLAGS=-DPIT_NO_DOUBLE CC=arm-none-eabi-gcc AR=arm-none-eabi-ar libcolonq-pit.a
    '';
    installPhase = ''
      make CC=arm-none-eabi-gcc AR=arm-none-eabi-ar prefix=$out install-core install-headers
    '';
  };
  windows = pkgs.pkgsCross.mingwW64.stdenv.mkDerivation {
    pname = "libcolonq-pit";
    version = "git";
    src = ./.;
    hardeningDisable = ["all"];
    buildInputs = [
      lcq.prelude.native
    ];
    buildPhase = ''
      make CC=x86_64-w64-mingw32-cc AR=x86_64-w64-mingw32-ar EXE=pit.exe
    '';
    installPhase = ''
      make CC=x86_64-w64-mingw32-cc AR=x86_64-w64-mingw32-ar EXE=pit.exe prefix=$out install
    '';
  };
}