1{ lib, stdenv, fetchFromGitHub, python3Packages }:
2
3python3Packages.buildPythonPackage rec {
4 pname = "edl";
5 version = "unstable-2022-09-07";
6
7 src = fetchFromGitHub rec {
8 owner = "bkerler";
9 repo = "edl";
10 rev = "f6b94da5faa003b48d24a5f4a8f0b8495626fd5b";
11 fetchSubmodules = true;
12 hash = "sha256-bxnRy+inWNArE2gUA/qDPy7NKvqBm43sbxdIaTc9N28=";
13 };
14 # edl has a spurious dependency on "usb" which has nothing to do with the
15 # project and was probably added by accident trying to add pyusb
16 postPatch = ''
17 sed -i '/'usb'/d' setup.py
18 '';
19 # No tests set up
20 doCheck = false;
21 # EDL loaders are ELFs but shouldn't be touched, rest is Python anyways
22 dontStrip = true;
23 propagatedBuildInputs = with python3Packages; [
24 pyusb
25 pyserial
26 docopt
27 pylzma
28 pycryptodome
29 lxml
30 colorama
31 # usb
32 capstone
33 keystone-engine
34 ];
35
36 meta = with lib; {
37 homepage = "https://github.com/bkerler/edl";
38 description = "Qualcomm EDL tool (Sahara / Firehose / Diag)";
39 license = licenses.mit;
40 maintainers = with maintainers; [ lorenz ];
41 # Case-sensitive files in 'Loader' submodule
42 broken = stdenv.isDarwin;
43 };
44}
45