From b62fe07f3d142a938b8aae1ad6b8fae7282e062b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 30 Sep 2014 15:56:47 +0200 Subject: [PATCH] gnu: Add perf. * gnu/packages/linux.scm (perf): New variable. --- gnu/packages/linux.scm | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3e19c35f03..1c6be67d56 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -47,6 +47,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages maths) #:use-module (gnu packages which) #:use-module (gnu packages rrdtool) + #:use-module (gnu packages elf) #:use-module (gnu packages gtk) #:use-module (guix packages) #:use-module (guix download) @@ -1600,3 +1601,50 @@ (define-public xsensors health such as temperature, voltage and fan speed and displays the information in a digital read-out.") (license gpl2+))) + +(define-public perf + (package + (name "perf") + (version (package-version linux-libre)) + (source (package-source linux-libre)) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys) + (setenv "SHELL_PATH" (which "bash")) + (chdir "tools/perf")) + %standard-phases) + #:make-flags (list (string-append "DESTDIR=" + (assoc-ref %outputs "out")) + "WERROR=0") + #:tests? #f)) ;no tests + (native-inputs + `(("pkg-config" ,pkg-config) + ("bison" ,bison) + ("flex" ,flex) + + ;; There are build scripts written in these languages. + ("perl" ,perl) + ("python" ,python-2))) + (inputs + `(;; ("slang" ,slang) + ;; ("newt" ,newt) + ("elfutils" ,elfutils) + + ;; FIXME: Documentation. + ;; ("libxslt" ,libxslt) + ;; ("docbook-xml" ,docbook-xml) + ;; ("docbook-xsl" ,docbook-xsl) + ;; ("xmlto" ,xmlto) + ;; ("asciidoc" ,asciidoc) + )) + (home-page "https://perf.wiki.kernel.org/") + (synopsis "Linux profiling with performance counters") + (description + "perf is a tool suite for profiling using hardware performance counters, +with support in the Linux kernel. perf can instrument CPU performance +counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable +of lightweight profiling. This package contains the user-land tools and in +particular the 'perf' command.") + (license (package-license linux-libre))))