about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific/linux/error-inject/default.nix
blob: f4a544172176240a214d2b2a62b6ea872e274057 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{ lib, stdenv, fetchgit
, bison, flex, rasdaemon
}:

{
  edac-inject = rasdaemon.inject;

  mce-inject = stdenv.mkDerivation rec {
    pname = "mce-inject";
    version = "4cbe46321b4a81365ff3aafafe63967264dbfec5";

    src = fetchgit {
      url = "https://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git";
      rev = version;
      sha256 = "0gjapg2hrlxp8ssrnhvc19i3r1xpcnql7xv0zjgbv09zyha08g6z";
    };

    nativeBuildInputs = [ bison flex ];

    makeFlags = [ "destdir=${placeholder "out"}" ];

    postInstall = ''
      mkdir $out/sbin
      mv $out/usr/sbin/mce-inject $out/sbin/mce-inject

      mkdir $out/test
      cp test/* $out/test/.
    '';

    meta = with lib; {
      description = "MCE error injection tool";
      license = licenses.gpl2Only;
      platforms = platforms.linux;
      maintainers = [ maintainers.evils ];
    };
  };

  aer-inject = stdenv.mkDerivation rec {
    pname = "aer-inject";
    version = "9bd5e2c7886fca72f139cd8402488a2235957d41";

    src = fetchgit {
      url = "https://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git";
      rev = version;
      sha256 = "0bh6mzpk2mr4xidkammmkfk21b4dbq793qjg25ryyxd1qv0c6cg4";
    };

    nativeBuildInputs = [ bison flex ];

    # how is this necessary?
    makeFlags = [ "DESTDIR=${placeholder "out"}" ];

    postInstall = ''
      mkdir $out/bin
      mv $out/usr/local/aer-inject $out/bin/aer-inject

      mkdir -p $out/examples
      cp examples/* $out/examples/.
    '';

    meta = with lib; {
      description = "PCIE AER error injection tool";
      license = licenses.gpl2Only;
      platforms = platforms.linux;
      maintainers = [ maintainers.evils ];
    };
  };
}