1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
{
buildPythonPackage,
cmsis-svd,
fetchFromGitHub,
future,
ipython,
lib,
prompt-toolkit,
pyfwup,
pygreat,
pyusb,
setuptools,
tabulate,
tqdm,
}:
buildPythonPackage rec {
pname = "greatfet";
version = "2024.0.4";
pyproject = true;
src = fetchFromGitHub {
owner = "greatscottgadgets";
repo = "greatfet";
tag = "v${version}";
hash = "sha256-3ClM4UzVIDEkVBrFwzvLokbxUHXqdQWyNVqcFtiXCOQ=";
};
sourceRoot = "${src.name}/host";
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail ', "setuptools-git-versioning<2"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
'';
build-system = [ setuptools ];
pythonRelaxDeps = [ "ipython" ];
dependencies = [
cmsis-svd
future
ipython
prompt-toolkit
pyfwup
pygreat
pyusb
tabulate
tqdm
];
# Tests seem to require devices (or simulators) which are
# not available in the build sandbox.
doCheck = false;
meta = {
description = "Hardware hacking with the greatfet";
homepage = "https://greatscottgadgets.com/greatfet";
license = lib.licenses.bsd3;
platforms = lib.platforms.all;
mainProgram = "gf";
maintainers = with lib.maintainers; [
mog
msanft
];
};
}
|