nixpkgs/pkgs/tools/misc/megacli/default.nix
John Wiegley 28b6fb61e6 Change occurrences of gcc to the more general cc
This is done for the sake of Yosemite, which does not have gcc, and yet
this change is also compatible with Linux.
2014-12-26 11:06:21 -06:00

36 lines
1.3 KiB
Nix

{ stdenv, rpmextract, ncurses, patchelf, makeWrapper, requireFile, unzip }:
assert stdenv.system == "x86_64-linux";
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 = [rpmextract ncurses unzip makeWrapper];
libPath =
stdenv.lib.makeLibraryPath
[ stdenv.cc.gcc stdenv.cc.libc ncurses ];
buildCommand = ''
mkdir -p $out/bin
cd $out
unzip ${src}
rpmextract linux/MegaCli-8.07.07-1.noarch.rpm
${patchelf}/bin/patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath ${libPath}:$out/opt/lsi/3rdpartylibs/x86_64:$out/opt/lsi/3rdpartylibs:${stdenv.cc.gcc}/lib64:${stdenv.cc.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 = stdenv.lib.licenses.unfree;
};
}