summaryrefslogtreecommitdiff
path: root/pit/packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pit/packages.nix')
-rw-r--r--pit/packages.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pit/packages.nix b/pit/packages.nix
new file mode 100644
index 0000000..7f256b1
--- /dev/null
+++ b/pit/packages.nix
@@ -0,0 +1,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
+ '';
+ };
+}