summary refs log tree commit diff
path: root/pkgs/os-specific/linux/trace-cmd
diff options
context:
space:
mode:
authorBas van Dijk <v.dijk.bas@gmail.com>2019-04-27 13:34:05 +0200
committerBas van Dijk <v.dijk.bas@gmail.com>2019-07-25 21:36:09 +0200
commita9b4881f9439c2115aa74c59533faf37e8f0c289 (patch)
tree90addf7747954fd84f7d2a6dc4cbb0c0bdaa5029 /pkgs/os-specific/linux/trace-cmd
parent967b8422d7ae9b29a54ccb07490490d4df017322 (diff)
downloadnixpkgs-a9b4881f9439c2115aa74c59533faf37e8f0c289.tar
nixpkgs-a9b4881f9439c2115aa74c59533faf37e8f0c289.tar.gz
nixpkgs-a9b4881f9439c2115aa74c59533faf37e8f0c289.tar.bz2
nixpkgs-a9b4881f9439c2115aa74c59533faf37e8f0c289.tar.lz
nixpkgs-a9b4881f9439c2115aa74c59533faf37e8f0c289.tar.xz
nixpkgs-a9b4881f9439c2115aa74c59533faf37e8f0c289.tar.zst
nixpkgs-a9b4881f9439c2115aa74c59533faf37e8f0c289.zip
trace-cmd: 2.6 -> 2.8-c8d9e1a
Diffstat (limited to 'pkgs/os-specific/linux/trace-cmd')
-rw-r--r--pkgs/os-specific/linux/trace-cmd/default.nix44
-rw-r--r--pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch51
-rw-r--r--pkgs/os-specific/linux/trace-cmd/src.nix5
3 files changed, 85 insertions, 15 deletions
diff --git a/pkgs/os-specific/linux/trace-cmd/default.nix b/pkgs/os-specific/linux/trace-cmd/default.nix
index 33dbfe5bf0a..67f6f9af93e 100644
--- a/pkgs/os-specific/linux/trace-cmd/default.nix
+++ b/pkgs/os-specific/linux/trace-cmd/default.nix
@@ -1,25 +1,39 @@
 { stdenv, fetchgit, asciidoc, docbook_xsl, libxslt }:
-
-stdenv.mkDerivation rec {
+let
+  srcSpec = import ./src.nix;
+  shortRev = builtins.substring 0 7 srcSpec.rev;
+in stdenv.mkDerivation rec {
   name    = "trace-cmd-${version}";
-  version = "2.6";
+  version = "2.8-${shortRev}";
 
-  src = fetchgit {
-    url    = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git";
-    rev    = "refs/tags/trace-cmd-v${version}";
-    sha256 = "15d6b7l766h2mamqgphx6l6a33b1zn0yar2h7i6b24ph6kz3idxn";
-  };
+  src = fetchgit srcSpec;
+
+  patches = [ ./fix-Makefiles.patch ];
+
+  nativeBuildInputs = [ asciidoc libxslt ];
 
-  buildInputs = [ asciidoc libxslt ];
+  outputs = [ "out" "lib" "dev" "man" ];
+
+  MANPAGE_DOCBOOK_XSL="${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl";
 
   dontConfigure = true;
-  buildPhase     = "make prefix=$out MANPAGE_DOCBOOK_XSL=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl all doc";
-  installPhase   = "make prefix=$out install install_doc";
 
-  meta = {
+  buildPhase = "make trace-cmd libs doc";
+
+  installTargets = [ "install_cmd" "install_libs" "install_man" ];
+  installFlags = [
+    "bindir=${placeholder "out"}/bin"
+    "man_dir=${placeholder "man"}/share/man"
+    "libdir=${placeholder "lib"}/lib"
+    "includedir=${placeholder "dev"}/include/trace-cmd"
+    "BASH_COMPLETE_DIR=${placeholder "out"}/etc/bash_completion.d"
+  ];
+
+  meta = with stdenv.lib; {
     description = "User-space tools for the Linux kernel ftrace subsystem";
-    license     = stdenv.lib.licenses.gpl2;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    homepage    = http://kernelshark.org/;
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice basvandijk ];
   };
 }
diff --git a/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch b/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch
new file mode 100644
index 00000000000..9d0be8b4200
--- /dev/null
+++ b/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch
@@ -0,0 +1,51 @@
+diff --git a/Documentation/Makefile b/Documentation/Makefile
+index 21e42fd..b74c912 100644
+--- a/Documentation/Makefile
++++ b/Documentation/Makefile
+@@ -108,7 +108,9 @@ $(IMGS_INSTALL): %.png.install : %.png force
+ 
+ GUI_INSTALL = $(HTML_INSTALL) $(IMGS_INSTALL)
+ 
+-install: $(MAN1_INSTALL) $(MAN5_INSTALL) $(GUI_INSTALL)
++install_man: $(MAN1_INSTALL) $(MAN5_INSTALL)
++
++install: install_man $(GUI_INSTALL)
+ 
+ clean:
+ 	(cd $(obj); \
+diff --git a/Makefile b/Makefile
+index cde45f8..d218ecc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -281,7 +281,7 @@ libtraceevent.a: $(LIBTRACEEVENT_STATIC)
+ libtracecmd.a: $(LIBTRACECMD_STATIC)
+ libtracecmd.so: $(LIBTRACECMD_SHARED)
+ 
+-libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED)
++libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED) $(LIBTRACECMD_STATIC) $(LIBTRACEEVENT_STATIC)
+ 
+ plugins: force $(obj)/plugins/trace_plugin_dir $(obj)/plugins/trace_python_dir
+ 	$(Q)$(MAKE) -C $(src)/plugins
+@@ -337,8 +337,12 @@ install_gui: install_cmd gui
+ install_libs: libs
+ 	$(Q)$(call do_install,$(LIBTRACECMD_SHARED),$(libdir_SQ))
+ 	$(Q)$(call do_install,$(LIBTRACEEVENT_SHARED),$(libdir_SQ))
++	$(Q)$(call do_install,$(LIBTRACECMD_STATIC),$(libdir_SQ))
++	$(Q)$(call do_install,$(LIBTRACEEVENT_STATIC),$(libdir_SQ))
+ 	$(Q)$(call do_install,$(src)/include/traceevent/event-parse.h,$(includedir_SQ))
++	$(Q)$(call do_install,$(src)/include/traceevent/trace-seq.h,$(includedir_SQ))
+ 	$(Q)$(call do_install,$(src)/include/trace-cmd/trace-cmd.h,$(includedir_SQ))
++	$(Q)$(call do_install,$(src)/include/trace-cmd/trace-filter-hash.h,$(includedir_SQ))
+ 
+ doc:
+ 	$(MAKE) -C $(src)/Documentation all
+@@ -346,6 +350,9 @@ doc:
+ doc_clean:
+ 	$(MAKE) -C $(src)/Documentation clean
+ 
++install_man:
++	$(MAKE) -C $(src)/Documentation install_man
++
+ install_doc:
+ 	$(MAKE) -C $(src)/Documentation install
+ 
diff --git a/pkgs/os-specific/linux/trace-cmd/src.nix b/pkgs/os-specific/linux/trace-cmd/src.nix
new file mode 100644
index 00000000000..d75063b9765
--- /dev/null
+++ b/pkgs/os-specific/linux/trace-cmd/src.nix
@@ -0,0 +1,5 @@
+{
+  url    = "git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/";
+  rev    = "c8d9e1a82e75ae0d35d8ca2800ef6c65be3ac4e5";
+  sha256 = "0ask7sdmlpffcfbzg3g68bqx8gy7qbk2h0faw8ksbw7p8cf5mnhd";
+}