nixpkgs/pkgs/by-name/ms/msecli/package.nix
2024-09-17 22:18:05 +05:30

65 lines
1.5 KiB
Nix

{
autoPatchelfHook,
buildFHSEnv,
fetchurl,
lib,
stdenv,
zlib,
}:
let
pname = "msecli";
version = "10.01.012024.00";
src = fetchurl {
url = "https://web.archive.org/web/20240916144249/https://www.micron.com/content/dam/micron/global/public/products/software/storage-executive-software/msecli/msecli-linux.run";
hash = "sha256-IszdD/9fAh+JA26bSR1roXSo8LDU/rf4CuRI3HjU1xc=";
};
buildEnv = buildFHSEnv { name = "msecli-buildEnv"; };
in
stdenv.mkDerivation {
inherit pname version src;
buildInputs = [ zlib ];
nativeBuildInputs = [ autoPatchelfHook ];
unpackPhase = ''
runHook preUnpack
cp "$src" ${src.name}
chmod +x ${src.name}
runHook postUnpack
'';
buildPhase = ''
runHook prebuild
# ignore the exit code as the installer
# fails at optional steps due to read only FHS
${buildEnv}/bin/${buildEnv.name} -c "./${src.name} --mode unattended --prefix bin || true"
runHook postbuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -v bin/msecli $out/bin
runHook postInstall
'';
meta = {
description = "Micron Storage Executive CLI";
homepage = "https://www.micron.com/sales-support/downloads/software-drivers/storage-executive-software";
license = lib.licenses.unfree;
mainProgram = "msecli";
maintainers = with lib.maintainers; [ diadatp ];
platforms = [ "x86_64-linux" ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}