summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix39
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
new file mode 100644
index 000000000000..9c12a4fa1060
--- /dev/null
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, fetchpatch, makeWrapper, binutils-unwrapped }:
+
+stdenv.mkDerivation rec {
+  name = "spectre-meltdown-checker-${version}";
+  version = "0.29";
+
+  src = fetchFromGitHub {
+    owner = "speed47";
+    repo = "spectre-meltdown-checker";
+    rev = "v${version}";
+    sha256 = "14i9gx1ngs3ixjirlx4qd87pmac916rvv9y61a5f7nl0dig4awl4";
+  };
+
+  patches = fetchpatch {
+    url = "https://github.com/speed47/spectre-meltdown-checker/pull/79.patch";
+    sha256 = "185kac5r97s3dnihgpwx4aashnzffb1f09xv9jw409g7i6cv2sq9";
+  };
+
+  prePatch = ''
+    substituteInPlace spectre-meltdown-checker.sh \
+      --replace /bin/echo echo
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = with stdenv.lib; ''
+    install -Dt $out/lib spectre-meltdown-checker.sh
+    makeWrapper $out/lib/spectre-meltdown-checker.sh $out/bin/spectre-meltdown-checker \
+      --prefix PATH : ${makeBinPath [ binutils-unwrapped ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Spectre & Meltdown vulnerability/mitigation checker for Linux";
+    homepage = https://github.com/speed47/spectre-meltdown-checker;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0b90f81a1972..c6063ac59d2e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4627,6 +4627,8 @@ with pkgs;
 
   sparsehash = callPackage ../development/libraries/sparsehash { };
 
+  spectre-meltdown-checker = callPackage ../tools/security/spectre-meltdown-checker { };
+
   spiped = callPackage ../tools/networking/spiped { };
 
   sqliteman = callPackage ../applications/misc/sqliteman { };