1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 sdcc,
6 libusb1,
7 setuptools-scm,
8 crcmod,
9}:
10
11buildPythonPackage rec {
12 pname = "fx2";
13 version = "0.13";
14 format = "setuptools";
15
16 src = fetchFromGitHub {
17 owner = "whitequark";
18 repo = "libfx2";
19 rev = "v${version}";
20 hash = "sha256-PtWxjT+97+EeNMN36zOT1+ost/w3lRRkaON3Cl3dpp4=";
21 };
22
23 nativeBuildInputs = [
24 setuptools-scm
25 sdcc
26 ];
27
28 propagatedBuildInputs = [
29 libusb1
30 crcmod
31 ];
32
33 preBuild = ''
34 make -C firmware
35 cd software
36 '';
37
38 preInstall = ''
39 mkdir -p $out/share/libfx2
40 cp -R ../firmware/library/{.stamp,lib,include,fx2{rules,conf}.mk} \
41 $out/share/libfx2
42 '';
43
44 # installCheckPhase tries to run build_ext again and there are no tests
45 doCheck = false;
46
47 meta = with lib; {
48 description = "Chip support package for Cypress EZ-USB FX2 series microcontrollers";
49 mainProgram = "fx2tool";
50 homepage = "https://github.com/whitequark/libfx2";
51 license = licenses.bsd0;
52 maintainers = [ ];
53 };
54}