59 lines
1.2 KiB
Nix
59 lines
1.2 KiB
Nix
{ pkgs }:
|
|
|
|
let
|
|
|
|
# Upstream does not vendor a lock file so one has to created manually
|
|
# `cargo generate-lockfile`
|
|
# Use verson needed by tt-smi
|
|
# https://github.com/tenstorrent/tt-smi/blob/main/pyproject.toml#L30
|
|
version = "0.4.9";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "tenstorrent";
|
|
repo = "luwen";
|
|
rev = "refs/tags/v${version}";
|
|
sha256 = "sha256-K68PjccE2fBkU4RvKv8X6jKRPYqsVhKB6jU92aajLgo=";
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
luwen = pkgs.rustPlatform.buildRustPackage rec {
|
|
pname = "luwen";
|
|
inherit version src;
|
|
|
|
postPatch = ''
|
|
ln -s ${./Cargo_0_2.lock} Cargo.lock
|
|
'';
|
|
|
|
cargoLock.lockFile = ./Cargo_0_2.lock;
|
|
cargoHash = "";
|
|
};
|
|
|
|
pyluwen = pkgs.python3.pkgs.buildPythonPackage rec {
|
|
pname = "pyluwen";
|
|
inherit version src;
|
|
|
|
postPatch = ''
|
|
ln -s ${./Cargo_0_2.lock} Cargo.lock
|
|
'';
|
|
|
|
buildAndTestSubdir = "crates/pyluwen";
|
|
|
|
format = "pyproject";
|
|
|
|
cargoDeps = pkgs.rustPlatform.importCargoLock {
|
|
lockFile = ./Cargo_0_2.lock;
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
pkgs.rustPlatform.cargoSetupHook
|
|
pkgs.rustPlatform.maturinBuildHook
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"pyluwen"
|
|
];
|
|
};
|
|
}
|