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.
This commit is contained in:
Lorenz Brun 2023-02-16 23:22:01 +01:00
parent 52aba652e3
commit 76c796628d
2 changed files with 47 additions and 0 deletions

View file

@ -0,0 +1,45 @@
{ 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;
};
}

View file

@ -6769,6 +6769,8 @@ with pkgs;
edk2-uefi-shell = callPackage ../tools/misc/edk2-uefi-shell { };
edl = callPackage ../development/embedded/edl { };
edlib = callPackage ../development/libraries/science/biology/edlib { };
eff = callPackage ../development/interpreters/eff { };