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