nixpkgs/pkgs/by-name/nx/nxpmicro-mfgtools/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08: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;
};
}