From 8041a3372619290d941a1d719ca5d68166e1dd7a Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Mon, 16 Sep 2013 15:56:55 +0200 Subject: [PATCH] Add MegaCli, a command line tool to manage certain RAID cards. --- pkgs/tools/misc/megacli/default.nix | 31 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/tools/misc/megacli/default.nix diff --git a/pkgs/tools/misc/megacli/default.nix b/pkgs/tools/misc/megacli/default.nix new file mode 100644 index 000000000000..7a8e1f96b1cd --- /dev/null +++ b/pkgs/tools/misc/megacli/default.nix @@ -0,0 +1,31 @@ +{ stdenv, rpm, cpio, ncurses, patchelf, makeWrapper, requireFile, unzip }: +stdenv.mkDerivation rec { + name = "megacli-8.07.07"; + src = + requireFile { + name = "8.07.07_MegaCLI.zip"; + url = http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/8.07.07_MegaCLI.zip; + sha256 = "11jzvh25mlygflazd37gi05xv67im4rgq7sbs5nwgw3gxdh4xfjj"; + }; + + buildInputs = [rpm cpio ncurses unzip makeWrapper]; + libPath = + stdenv.lib.makeLibraryPath + [ stdenv.gcc.gcc stdenv.gcc.libc ncurses ]; + + buildCommand = '' + ensureDir $out/bin + cd $out + unzip ${src} + rpm2cpio linux/MegaCli-8.07.07-1.noarch.rpm | cpio -idmv + ${patchelf}/bin/patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath ${libPath}:$out/opt/lsi/3rdpartylibs/x86_64:$out/opt/lsi/3rdpartylibs:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib opt/MegaRAID/MegaCli/MegaCli64 + wrapProgram $out/opt/MegaRAID/MegaCli/MegaCli64 --set LD_LIBRARY_PATH $out/opt/lsi/3rdpartylibs/x86_64 + ln -s $out/opt/MegaRAID/MegaCli/MegaCli64 $out/bin/MegaCli64 + eval fixupPhase + ''; + + meta = { + description = "CLI program for LSI MegaRAID cards, which also works with some Dell PERC RAID cards."; + license = "unfree"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1218d19884df..c27867cb0556 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1247,6 +1247,8 @@ let mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { }; + megacli = callPackage ../tools/misc/megacli { }; + megatools = callPackage ../tools/networking/megatools { }; minecraft = callPackage ../games/minecraft { };