guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#48889] [PATCH 4/4] bpftool: new package


From: Ryan Sundberg
Subject: [bug#48889] [PATCH 4/4] bpftool: new package
Date: Sun, 6 Jun 2021 11:52:04 -0700

Adds the bpftool package from the Linux kernel source tree.
---
 gnu/packages/linux.scm | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c8ec310665..06bb344475 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -54,6 +54,7 @@
 ;;; Copyright © 2020 David Dashyan <mail@davie.li>
 ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
 ;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
+;;; Copyright © 2021 Ryan Sundberg <ryan@arctype.co>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -8108,3 +8109,42 @@ Availability and Serviceability} reports from Linux 
kernel trace events.
 These trace events are logged in @file{/sys/kernel/debug/tracing} and reported
 through standard log mechanisms like syslog.")
     (license license:gpl2)))
+
+(define-public bpftool
+  (package
+    (name "bpftool")
+    (version (package-version linux-libre))
+    (source (package-source linux-libre))
+    (build-system gnu-build-system)
+    (arguments
+      `(#:tests? #f
+        #:phases 
+        (modify-phases %standard-phases
+          (add-before 'configure 'chdir 
+            (lambda _ (chdir "tools/bpf") #t))
+          (delete 'configure)
+          (replace 'build 
+            (lambda _ (invoke "make" "CC=gcc" "bpftool") #t))
+          (replace 'install 
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))) 
+                (mkdir-p (string-append out "/sbin"))
+                (mkdir-p (string-append out 
"/share/bash-completion/completions"))
+                (invoke "make" 
+                        (string-append "prefix=" out)
+                        (string-append "bash_compdir=" out 
"/share/bash-completion/completions")
+                        "-C" "bpftool"
+                        "install")
+                #t))))))
+    (inputs
+      `(("bison" ,bison)
+        ("python" ,python-3)
+        ("readline" ,readline)))
+    (propagated-inputs
+      `(("libcap" ,libcap)
+        ("libelf" ,libelf)
+        ("zlib" ,zlib)))
+    (home-page (package-home-page linux-libre))
+    (synopsis "bpftool is a tool for inspection and simple manipulation of 
eBPF programs and maps")
+    (description "*bpftool* allows for inspection and simple modification of 
BPF objects on the system.  Note that format of the output of all tools is not 
guaranteed to be stable and should not be depended upon.")
+    (license (package-license linux-libre))))
-- 
2.31.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]