nixpkgs/pkgs/os-specific/linux/fusionio/util.nix
John Ericson 2c2f1e37d4 reewide: Purge all uses stdenv.system and top-level system
It is deprecated and will be removed after 18.09.
2018-08-30 17:20:32 -04:00

46 lines
1.2 KiB
Nix

{ stdenv, fetchurl, dpkg, glibc, gcc, libuuid }:
let
srcs = import ./srcs.nix { inherit fetchurl; };
in
stdenv.mkDerivation {
name = "fusionio-util-${srcs.version}";
nativeBuildInputs = [ dpkg ];
buildCommand = ''
dpkg-deb -R ${srcs.libvsl} $TMPDIR
dpkg-deb -R ${srcs.util} $TMPDIR
rm $TMPDIR/usr/bin/fio-{bugreport,sanitize}
mkdir -p $out
cp -r $TMPDIR/{etc,usr/{bin,lib,share}} $out
for BIN in $(find $out/bin -type f); do
echo Patching $BIN
patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" --set-rpath "${stdenv.lib.makeLibraryPath [ glibc gcc.cc libuuid ] }:$out/lib" $BIN
# Test our binary to see if it was correctly patched
set +e
$BIN --help >/dev/null 2>&1
ST="$?"
set -e
if [ "$ST" -ge "10" ]; then
echo "Failed testing $BIN"
exit 1;
fi
done
'';
dontStrip = true;
meta = with stdenv.lib; {
homepage = http://fusionio.com;
description = "Fusionio command line utilities";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
broken = stdenv.hostPlatform.system != "x86_64-linux";
maintainers = with maintainers; [ wkennington ];
};
}