tt-flake/flake.nix

74 lines
2 KiB
Nix
Raw Normal View History

2024-01-31 05:20:40 +00:00
{
description = "Tenstorrent software stack.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2024-10-01 18:45:13 +00:00
utils.url = "github:numtide/flake-utils";
2024-10-01 20:56:48 +00:00
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
2024-01-31 05:20:40 +00:00
};
2024-10-01 18:41:35 +00:00
outputs =
2024-10-01 18:45:13 +00:00
inputs:
2024-10-01 18:41:35 +00:00
let
2024-10-01 18:45:13 +00:00
inherit (inputs) self;
inherit (inputs.nixpkgs) lib;
2024-10-01 18:41:35 +00:00
in
2024-10-01 18:45:13 +00:00
inputs.utils.lib.eachDefaultSystem (
system:
let
pkgs = inputs.nixpkgs.legacyPackages.${system};
kernel = pkgs.linux_latest;
kmd = import ./pkgs/kmd { inherit pkgs kernel; };
sfpi = import ./pkgs/sfpi { inherit pkgs; };
luwen = import ./pkgs/luwen { inherit pkgs; };
common = import ./pkgs/common { inherit pkgs; };
flash = import ./pkgs/flash {
inherit pkgs;
pyluwen = luwen.pyluwen_0_1;
tools-common = common;
2024-10-01 18:45:13 +00:00
};
smi = import ./pkgs/smi {
inherit pkgs;
pyluwen = luwen.pyluwen;
tools-common = common;
};
umd = import ./pkgs/umd { inherit pkgs; };
in
{
packages = {
kmd = kmd.kmd;
udev-rules = kmd.udev-rules;
kmd-test = kmd.test;
sfpi = sfpi.sfpi;
tt-gcc = sfpi.tt-gcc;
smi = smi;
luwen = luwen.luwen;
pyluwen = luwen.pyluwen;
tools-common = common;
flash = flash;
umd = umd;
default = self.packages.${system}.smi;
};
2024-01-31 05:20:40 +00:00
2024-10-01 19:46:35 +00:00
checks = {
simple =
pkgs.runCommand "test"
{
# Goes up to 7
NIX_DEBUG = 0;
}
''
mkdir -p $out
${self.packages.${system}.tt-gcc}/bin/riscv32-unknown-elf-gcc ${./tests/test.c} -o $out/test
${self.packages.${system}.tt-gcc}/bin/riscv32-unknown-elf-gcc -mblackhole ${./tests/test.c} -o $out/test-wormhole
'';
};
2024-10-01 18:45:13 +00:00
formatter = pkgs.nixfmt-rfc-style;
}
);
2024-01-31 05:20:40 +00:00
}