nixpkgs/pkgs/development/tools/misc/nxpmicro-mfgtools/default.nix
2023-11-07 18:35:40 +00:00

60 lines
1.7 KiB
Nix

{ lib, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, bzip2
, installShellFiles
, libusb1
, libzip
, openssl
, zstd
}:
stdenv.mkDerivation rec {
pname = "nxpmicro-mfgtools";
version = "1.5.139";
src = fetchFromGitHub {
owner = "nxp-imx";
repo = "mfgtools";
rev = "uuu_${version}";
sha256 = "sha256-t5usUGbcdLQlqPpZkNDeGncka9VfkpO7U933Kw/Sm7U=";
};
nativeBuildInputs = [ cmake pkg-config installShellFiles ];
buildInputs = [ bzip2 libusb1 libzip openssl zstd ];
preConfigure = "echo ${version} > .tarball-version";
postInstall = ''
# rules printed by the following invocation are static,
# they come from hardcoded configs in libuuu/config.cpp:48
$out/bin/uuu -udev > udev-rules 2>stderr.txt
rules_file="$(cat stderr.txt|grep '1: put above udev run into'|sed 's|^.*/||')"
install -D udev-rules "$out/lib/udev/rules.d/$rules_file"
installShellCompletion --cmd uuu \
--bash ../snap/local/bash-completion/universal-update-utility
'';
meta = with lib; {
description = "Freescale/NXP I.MX chip image deploy tools";
longDescription = ''
UUU (Universal Update Utility) is a command line tool, evolved out of
MFGTools (aka MFGTools v3).
One of the main purposes is to upload images to I.MX SoC's using at least
their boot ROM.
With time, the need for an update utility portable to Linux and Windows
increased. UUU has the same usage on both Windows and Linux. It means the same
script works on both OS.
'';
homepage = "https://github.com/NXPmicro/mfgtools";
license = licenses.bsd3;
maintainers = with maintainers; [ bmilanov jraygauthier ];
mainProgram = "uuu";
platforms = platforms.all;
};
}