summary refs log tree commit diff
path: root/pkgs/os-specific/linux/fusionio
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-04-27 17:24:33 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-04-27 17:24:43 -0700
commit9258e8a4bfd180289363d9533e56395115488f03 (patch)
treef9670dbe1b394bd5c8f270233bbbf6f47e604b0e /pkgs/os-specific/linux/fusionio
parentf401b3cf0bad8ceba7fe13cc9a3f03ad9c4b6846 (diff)
downloadnixpkgs-9258e8a4bfd180289363d9533e56395115488f03.tar
nixpkgs-9258e8a4bfd180289363d9533e56395115488f03.tar.gz
nixpkgs-9258e8a4bfd180289363d9533e56395115488f03.tar.bz2
nixpkgs-9258e8a4bfd180289363d9533e56395115488f03.tar.lz
nixpkgs-9258e8a4bfd180289363d9533e56395115488f03.tar.xz
nixpkgs-9258e8a4bfd180289363d9533e56395115488f03.tar.zst
nixpkgs-9258e8a4bfd180289363d9533e56395115488f03.zip
fusionio: Refactor and add utils
Diffstat (limited to 'pkgs/os-specific/linux/fusionio')
-rw-r--r--pkgs/os-specific/linux/fusionio/srcs.nix22
-rw-r--r--pkgs/os-specific/linux/fusionio/util.nix36
-rw-r--r--pkgs/os-specific/linux/fusionio/vsl.nix11
3 files changed, 63 insertions, 6 deletions
diff --git a/pkgs/os-specific/linux/fusionio/srcs.nix b/pkgs/os-specific/linux/fusionio/srcs.nix
new file mode 100644
index 00000000000..fb632a6e9fb
--- /dev/null
+++ b/pkgs/os-specific/linux/fusionio/srcs.nix
@@ -0,0 +1,22 @@
+{ fetchurl }:
+rec {
+  version = "3.2.10";
+
+  libvsl = fetchurl {
+    name = "fusionio-libvsl-${version}.deb";
+    url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2Wc01uNk1nVURMVFk";
+    sha256 = "1i8ii9dlyskj2dvad7nfvlm1wz2s4gy5llbl29hfa13w6nhcl5wk";
+  };
+
+  util = fetchurl {
+    name = "fusionio-util-${version}.deb";
+    url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2WbDVuQkwzWjZONGs";
+    sha256 = "0aw64kk5cwchjhqh5n1lpqrrh5gn4qdalnmasd25z7sijy2flxgq";
+  };
+
+  vsl = fetchurl {
+    name = "fusionio-iomemory-vsl-${version}.tar.gz";
+    url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2WbXFMbExEMUFCcWM";
+    sha256 = "1zm20aa1jmmqcqkb4p9r4jsgbg371zr1abdz32rw02i9687fsgcc";
+  };
+}
diff --git a/pkgs/os-specific/linux/fusionio/util.nix b/pkgs/os-specific/linux/fusionio/util.nix
new file mode 100644
index 00000000000..4605731fbbe
--- /dev/null
+++ b/pkgs/os-specific/linux/fusionio/util.nix
@@ -0,0 +1,36 @@
+{ 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}/lib/ld-linux-x86-64.so.2" --set-rpath "${glibc}/lib:${gcc.cc}/lib:${libuuid}/lib:$out/lib" $BIN
+      $BIN --help >/dev/null 2>&1 || [ "$?" -lt "128" ] || { echo "Failed testing $BIN"; exit 1; }
+    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.system != "x86_64-linux";
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/os-specific/linux/fusionio/vsl.nix b/pkgs/os-specific/linux/fusionio/vsl.nix
index 7947446c1f2..f3909950cb9 100644
--- a/pkgs/os-specific/linux/fusionio/vsl.nix
+++ b/pkgs/os-specific/linux/fusionio/vsl.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchurl, kernel }:
 
+let
+  srcs = import ./srcs.nix { inherit fetchurl; };
+in
 stdenv.mkDerivation rec {
-  name = "fusionio-iomemory-vsl-3.2.10";
+  name = "fusionio-iomemory-vsl-${srcs.version}";
 
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2WbXFMbExEMUFCcWM";
-    sha256 = "1zm20aa1jmmqcqkb4p9r4jsgbg371zr1abdz32rw02i9687fsgcc";
-  };
+  src = srcs.vsl;
 
   prePatch = ''
     cd root/usr/src/iomemory-vsl-*