From b6c830d2fe820f8c632314c409e1d1fdb68c3b38 Mon Sep 17 00:00:00 2001 From: c0bw3b Date: Fri, 16 Nov 2018 00:01:19 +0100 Subject: procdump: init at 1.0.1 --- pkgs/os-specific/linux/procdump/default.nix | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 pkgs/os-specific/linux/procdump/default.nix (limited to 'pkgs/os-specific/linux/procdump') 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; + }; +} -- cgit 1.4.1