nixpkgs/pkgs/development/embedded/edl/default.nix
Lorenz Brun 76c796628d edl: init at unstable-2022-09-07
This adds edl, a tool for interfacing with the low-level flashing and
recovery interface embedded in the Boot ROM of a lot of Qualcomm SoCs.

An unreleased version is used as the last released version is very old
and does not properly install itself.
2023-03-16 00:17:20 +01:00

45 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, python3Packages }:
python3Packages.buildPythonPackage rec {
pname = "edl";
version = "unstable-2022-09-07";
src = fetchFromGitHub rec {
owner = "bkerler";
repo = "edl";
rev = "f6b94da5faa003b48d24a5f4a8f0b8495626fd5b";
fetchSubmodules = true;
hash = "sha256-bxnRy+inWNArE2gUA/qDPy7NKvqBm43sbxdIaTc9N28=";
};
# edl has a spurious dependency on "usb" which has nothing to do with the
# project and was probably added by accident trying to add pyusb
postPatch = ''
sed -i '/'usb'/d' setup.py
'';
# No tests set up
doCheck = false;
# EDL loaders are ELFs but shouldn't be touched, rest is Python anyways
dontStrip = true;
propagatedBuildInputs = with python3Packages; [
pyusb
pyserial
docopt
pylzma
pycryptodome
lxml
colorama
# usb
capstone
keystone-engine
];
meta = with lib; {
homepage = "https://github.com/bkerler/edl";
description = "Qualcomm EDL tool (Sahara / Firehose / Diag)";
license = licenses.mit;
maintainers = with maintainers; [ lorenz ];
# Case-sensitive files in 'Loader' submodule
broken = stdenv.isDarwin;
};
}