{ lib, buildPythonPackage, fetchFromGitHub, sdcc, setuptools, setuptools-scm, libusb1, crcmod, }: buildPythonPackage rec { pname = "fx2"; version = "0.13"; pyproject = true; src = fetchFromGitHub { owner = "whitequark"; repo = "libfx2"; rev = "v${version}"; hash = "sha256-PtWxjT+97+EeNMN36zOT1+ost/w3lRRkaON3Cl3dpp4="; }; nativeBuildInputs = [ sdcc setuptools setuptools-scm ]; propagatedBuildInputs = [ libusb1 crcmod ]; postPatch = '' substituteInPlace software/pyproject.toml \ --replace-fail 'setuptools~=67.0' 'setuptools' ''; preBuild = '' make -C firmware cd software ''; preInstall = '' mkdir -p $out/share/libfx2 cp -R ../firmware/library/{.stamp,lib,include,fx2{rules,conf}.mk} \ $out/share/libfx2 ''; # installCheckPhase tries to run build_ext again and there are no tests doCheck = false; meta = with lib; { description = "Chip support package for Cypress EZ-USB FX2 series microcontrollers"; mainProgram = "fx2tool"; homepage = "https://github.com/whitequark/libfx2"; license = licenses.bsd0; maintainers = with maintainers; [ ]; }; }