From 96903d5e480cdf45a0783c3d7fb4adbbdf43d577 Mon Sep 17 00:00:00 2001 From: Vladimir Kirillov Date: Fri, 9 May 2014 10:06:56 +0300 Subject: [PATCH] sysdig: support builds without the kernel module, add pkgs.sysdig attr --- pkgs/os-specific/linux/sysdig/default.nix | 18 ++++++++++-------- pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index c6a2d5ae5ba..6734563f0ab 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -1,5 +1,6 @@ {stdenv, fetchurl, cmake, luajit, kernel, zlib}: let + inherit (stdenv.lib) optional optionalString; s = rec { baseName="sysdig"; version="0.1.82"; @@ -8,8 +9,8 @@ let sha256="0yjxsdjbkp5dihg5xhkyl3lg64dl40a0b5cvcai8gz74w2955mnk"; }; buildInputs = [ - cmake luajit kernel zlib - ]; + cmake zlib luajit + ] ++ optional (kernel != null) kernel; in stdenv.mkDerivation { inherit (s) name version; @@ -24,17 +25,18 @@ stdenv.mkDerivation { ]; preConfigure = '' export INSTALL_MOD_PATH="$out" + '' + optionalString (kernel != null) '' export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ''; - postInstall = '' + postInstall = optionalString (kernel != null) '' make install_driver ''; - meta = { + meta = with stdenv.lib; { inherit (s) version; - description = ''A tracepoint-based system tracing tool for Linux''; - license = stdenv.lib.licenses.gpl2 ; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; + description = ''A tracepoint-based system tracing tool for Linux (with clients for other OSes)''; + license = licenses.gpl2; + maintainers = [maintainers.raskin]; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5fa278924b6..7fd9bd6aa26 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7377,6 +7377,10 @@ let statifier = builderDefsPackage (import ../os-specific/linux/statifier) { }; + sysdig = callPackage ../os-specific/linux/sysdig { + kernel = null; + }; # pkgs.sysdig is a client, for a driver look at linuxPackagesFor + sysfsutils = callPackage ../os-specific/linux/sysfsutils { }; sysprof = callPackage ../development/tools/profiling/sysprof {