summary refs log tree commit diff
path: root/pkgs/tools/misc/megacli
diff options
context:
space:
mode:
authorRob Vermaas <rob.vermaas@gmail.com>2013-09-16 15:56:55 +0200
committerRob Vermaas <rob.vermaas@gmail.com>2013-09-16 15:56:55 +0200
commit8041a3372619290d941a1d719ca5d68166e1dd7a (patch)
treea12ce761468eb705c02fc20f8742c7598a4c5ae3 /pkgs/tools/misc/megacli
parent9fc836e2067202a1ffcea8bb36732fa4831157dd (diff)
downloadnixpkgs-8041a3372619290d941a1d719ca5d68166e1dd7a.tar
nixpkgs-8041a3372619290d941a1d719ca5d68166e1dd7a.tar.gz
nixpkgs-8041a3372619290d941a1d719ca5d68166e1dd7a.tar.bz2
nixpkgs-8041a3372619290d941a1d719ca5d68166e1dd7a.tar.lz
nixpkgs-8041a3372619290d941a1d719ca5d68166e1dd7a.tar.xz
nixpkgs-8041a3372619290d941a1d719ca5d68166e1dd7a.tar.zst
nixpkgs-8041a3372619290d941a1d719ca5d68166e1dd7a.zip
Add MegaCli, a command line tool to manage certain RAID cards.
Diffstat (limited to 'pkgs/tools/misc/megacli')
-rw-r--r--pkgs/tools/misc/megacli/default.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/pkgs/tools/misc/megacli/default.nix b/pkgs/tools/misc/megacli/default.nix
new file mode 100644
index 00000000000..7a8e1f96b1c
--- /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";
+  };
+}