From 76c796628de6e7150942a6e7d739f011d56da1cb Mon Sep 17 00:00:00 2001 From: Lorenz Brun Date: Thu, 16 Feb 2023 23:22:01 +0100 Subject: [PATCH] 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. --- pkgs/development/embedded/edl/default.nix | 45 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/embedded/edl/default.nix diff --git a/pkgs/development/embedded/edl/default.nix b/pkgs/development/embedded/edl/default.nix new file mode 100644 index 00000000000..2e1f09ffd20 --- /dev/null +++ b/pkgs/development/embedded/edl/default.nix @@ -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; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5ce382334ef..9796feed16a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };