depot/third_party/nixpkgs/pkgs/development/python-modules/amaranth-boards/default.nix

52 lines
1.2 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
amaranth,
pdm-backend,
unstableGitUpdater,
}:
buildPythonPackage rec {
pname = "amaranth-boards";
version = "0-unstable-2024-10-18";
pyproject = true;
# from `pdm show`
realVersion =
let
tag = builtins.elemAt (lib.splitString "-" version) 0;
rev = lib.substring 0 7 src.rev;
in
"${tag}1.dev1+g${rev}";
src = fetchFromGitHub {
owner = "amaranth-lang";
repo = "amaranth-boards";
rev = "23c66d68045831de0a372c8c237274d74c71ef4e";
# these files change depending on git branch status
postFetch = "rm -f $out/.git_archival.txt $out/.gitattributes";
hash = "sha256-cC7uvj9+6h3RPbFdu3/T1t/jhw5CuLOF8aKwDSkRE54=";
};
build-system = [ pdm-backend ];
dependencies = [ amaranth ];
preBuild = ''
export PDM_BUILD_SCM_VERSION="${realVersion}"
'';
# no tests
doCheck = false;
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Board definitions for Amaranth HDL";
homepage = "https://github.com/amaranth-lang/amaranth-boards";
license = licenses.bsd2;
maintainers = with maintainers; [
thoughtpolice
pbsds
];
};
}