1{ lib, buildPythonPackage, isPy3k, fetchFromGitHub, future, pyusb }:
2
3buildPythonPackage {
4 pname = "pygreat";
5 version = "2019.5.1.dev0";
6
7 src = fetchFromGitHub {
8 owner = "greatscottgadgets";
9 repo = "libgreat";
10 rev = "14c00b7c8f036f4d467e4b1a324ffa3566b126fa";
11 sha256 = "1h0z83k1k4z8j36z936h61l8j3cjr3wsxr86k91v5c5h93g9dkqh";
12 };
13
14 propagatedBuildInputs = [ future pyusb ];
15
16 disabled = !isPy3k;
17
18 preBuild = ''
19 cd host
20 substituteInPlace setup.py --replace "'backports.functools_lru_cache'" ""
21 substituteInPlace pygreat/comms.py --replace "from backports.functools_lru_cache import lru_cache as memoize_with_lru_cache" "from functools import lru_cache as memoize_with_lru_cache"
22 echo "$version" > ../VERSION
23 '';
24
25 meta = with lib; {
26 description = "Python library for talking with libGreat devices";
27 homepage = "https://greatscottgadgets.com/greatfet/";
28 license = with licenses; [ bsd3 ];
29 };
30
31}