diff options
author | c0bw3b <c0bw3b@users.noreply.github.com> | 2018-11-16 00:01:19 +0100 |
---|---|---|
committer | c0bw3b <c0bw3b@users.noreply.github.com> | 2018-11-17 16:11:53 +0100 |
commit | b6c830d2fe820f8c632314c409e1d1fdb68c3b38 (patch) | |
tree | 8d4c83e6a0e1332f39d50481202f626bf9e66f5f | |
parent | 67dafdb271017f6013f4ddcd7b52f8ba697dca60 (diff) | |
download | nixpkgs-b6c830d2fe820f8c632314c409e1d1fdb68c3b38.tar nixpkgs-b6c830d2fe820f8c632314c409e1d1fdb68c3b38.tar.gz nixpkgs-b6c830d2fe820f8c632314c409e1d1fdb68c3b38.tar.bz2 nixpkgs-b6c830d2fe820f8c632314c409e1d1fdb68c3b38.tar.lz nixpkgs-b6c830d2fe820f8c632314c409e1d1fdb68c3b38.tar.xz nixpkgs-b6c830d2fe820f8c632314c409e1d1fdb68c3b38.tar.zst nixpkgs-b6c830d2fe820f8c632314c409e1d1fdb68c3b38.zip |
procdump: init at 1.0.1
-rw-r--r-- | pkgs/os-specific/linux/procdump/default.nix | 48 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/procdump/default.nix b/pkgs/os-specific/linux/procdump/default.nix new file mode 100644 index 00000000000..aa7d0ec4604 --- /dev/null +++ b/pkgs/os-specific/linux/procdump/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, fetchpatch, bash, coreutils, gdb, zlib }: + +stdenv.mkDerivation rec { + name = "procdump-${version}"; + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "Microsoft"; + repo = "ProcDump-for-Linux"; + rev = version; + sha256 = "1lkm05hq4hl1vadj9ifm18hi7cbf5045xlfxdfbrpsl6kxgfwcc4"; + }; + + nativeBuildInputs = [ zlib ]; + buildInputs = [ bash coreutils gdb ]; + + patches = [ + # Fix name conflict when built with musl + # TODO: check if fixed upstream https://github.com/Microsoft/ProcDump-for-Linux/pull/50 + (fetchpatch { + url = "https://github.com/Microsoft/ProcDump-for-Linux/commit/1b7b50b910f20b463fb628c8213663c8a8d11d0d.patch"; + sha256 = "0h0dj3gi6hw1wdpc0ih9s4kkagv0d9jzrg602cr85r2z19lmb7yk"; + }) + ]; + + postPatch = '' + substituteInPlace src/CoreDumpWriter.c \ + --replace '"gcore ' '"${gdb}/bin/gcore ' \ + --replace '"rm ' '"${coreutils}/bin/rm ' \ + --replace '/bin/bash' '${bash}/bin/bash' + ''; + + makeFlags = [ + "DESTDIR=$(out)" + "INSTALLDIR=/bin" + "MANDIR=/share/man/man1" + ]; + + doCheck = false; # needs root + + meta = with stdenv.lib; { + description = "A Linux version of the ProcDump Sysinternals tool"; + homepage = https://github.com/Microsoft/ProcDump-for-Linux; + license = licenses.mit; + maintainers = with maintainers; [ c0bw3b ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 42da2b7d712..76dea34f973 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14884,6 +14884,8 @@ with pkgs; procps = if stdenv.isLinux then callPackage ../os-specific/linux/procps-ng { } else unixtools.procps; + procdump = callPackage ../os-specific/linux/procdump { }; + qemu_kvm = lowPrio (qemu.override { hostCpuOnly = true; }); # See `xenPackages` source for explanations. |