nixpkgs/pkgs/by-name/ki/kikit/default.nix
Jeremy Fleischman 3fc660733b
kikit: 1.5.0 -> 1.6.0
kikit 1.5.0 bundles an old version of versioneer that doesn't work with
Python 3.12. See this usptream issue for details:
https://github.com/yaqwsx/KiKit/issues/680

This was fixed in
e0c312ae10,
which first landed in kikit 1.6.0. So, let's upgrade and finally get this
building on Python 3.12!

This fixes https://github.com/NixOS/nixpkgs/issues/325220
2024-08-21 07:25:54 -07:00

89 lines
1.6 KiB
Nix

{ bc
, zip
, lib
, fetchFromGitHub
, bats
, buildPythonApplication
, pythonOlder
, callPackage
, kicad
, numpy
, click
, markdown2
, openscad
, pytestCheckHook
, commentjson
, wxpython
, pcbnewtransition
, pybars3
, versioneer
, shapely
}:
let
solidpython = callPackage ./solidpython { };
in
buildPythonApplication rec {
pname = "kikit";
version = "1.6.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "yaqwsx";
repo = "KiKit";
rev = "refs/tags/v${version}";
hash = "sha256-r8LQcy3I6hmcrU/6HfPAYJd+cEZdhad6DUldC9HvXZU=";
};
propagatedBuildInputs = [
kicad
numpy
click
markdown2
# OpenSCAD is an optional dependency (see
# https://github.com/yaqwsx/KiKit/blob/v1.5.0/docs/installation/intro.md#optional-dependencies).
openscad
commentjson
# https://github.com/yaqwsx/KiKit/issues/575
wxpython
pcbnewtransition
pybars3
shapely
# https://github.com/yaqwsx/KiKit/issues/576
solidpython
];
nativeBuildInputs = [
versioneer
bc
zip
];
nativeCheckInputs = [
pytestCheckHook
bats
];
pythonImportsCheck = [
"kikit"
];
preCheck = ''
export PATH=$PATH:$out/bin
make test-system
# pytest needs to run in a subdir. See https://github.com/yaqwsx/KiKit/blob/v1.3.0/Makefile#L43
cd test/units
'';
meta = with lib; {
description = "Automation for KiCAD boards";
homepage = "https://github.com/yaqwsx/KiKit/";
changelog = "https://github.com/yaqwsx/KiKit/releases/tag/v${version}";
maintainers = with maintainers; [ jfly matusf ];
license = licenses.mit;
};
}