summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-06-22 22:18:26 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-06-24 08:34:44 -0400
commit08149c02bc3a0c55229d63a372e211d6e1d31a18 (patch)
treec41a2016d47ca88f371c42860ceaaf6539b8b0b1 /gnu
parentc5fc11488c7bf6d9cf35513a43a40c61e5b8e1cd (diff)
downloadguix-patches-08149c02bc3a0c55229d63a372e211d6e1d31a18.tar
guix-patches-08149c02bc3a0c55229d63a372e211d6e1d31a18.tar.gz
gnu: bcc: Update to 0.30.0, fixing build.
* gnu/packages/linux.scm (bcc): Update to 0.30.0. [native-inputs]: Add zip. [inputs] Remove labels. Remove stale comment (our libelf package has a static archive, but the build still fails using it). Replace the libbpf source with its binary package. Replace clang-toolchain-9 with clang-15. Add bash-minimal. [arguments]: Use gexps. <configure-flags>: Add -DCMAKE_USE_LIBBPF_PACKAGE=ON. <phases>: Remove copy-libbpf. Change-Id: Ife0bec7802e7faa54689c0199bc2618ce6a39428
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/linux.scm100
1 files changed, 45 insertions, 55 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index fc2e5b15a6..d259d6fddc 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -10021,7 +10021,7 @@ headers.")
(define-public bcc
(package
(name "bcc")
- (version "0.24.0")
+ (version "0.30.0")
(source
(origin
(method git-fetch)
@@ -10031,63 +10031,53 @@ headers.")
(file-name (git-file-name name version))
(sha256
(base32
- "1i6xikkxf2nasfkqa91hjzdq0a88mgyzrvia4fi2i2v1d8pbmnp4"))))
+ "0b5la0yn6x6ll73drnrm5v5yibbrzkvl86hqivkrmnpgy8cqn0cy"))))
(build-system cmake-build-system)
(native-inputs
- (list bison flex))
+ (list bison
+ flex
+ (@ (gnu packages compression) zip)))
(inputs
- `(("clang-toolchain" ,clang-toolchain-9)
- ("libbpf" ,(package-source libbpf))
- ;; LibElf required but libelf does not contain
- ;; archives, only object files.
- ;; https://github.com/iovisor/bcc/issues/504
- ("elfutils" ,elfutils)
- ("luajit" ,luajit)
- ("python-wrapper" ,python-wrapper)))
- (arguments
- `(;; Tests all require root permissions and a "standard" file hierarchy.
- #:tests? #f
- #:configure-flags
- (let ((revision ,version))
- `(,(string-append "-DREVISION=" revision)))
- #:phases
- (modify-phases %standard-phases
- ;; FIXME: Use "-DCMAKE_USE_LIBBPF_PACKAGE=ON".
- (add-after 'unpack 'copy-libbpf
- (lambda* (#:key inputs #:allow-other-keys)
- (delete-file-recursively "src/cc/libbpf")
- (copy-recursively
- (assoc-ref inputs "libbpf") "src/cc/libbpf")))
- (add-after 'copy-libbpf 'substitute-libbc
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "src/python/bcc/libbcc.py"
- (("(libbcc\\.so.*)\\b" _ libbcc)
- (string-append
- (assoc-ref outputs "out") "/lib/" libbcc)))))
- (add-after 'install 'wrap-tools
- (lambda* (#:key outputs #:allow-other-keys)
- (use-modules (ice-9 textual-ports))
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib"))
- (tools (string-append out "/share/bcc/tools"))
- (python-executable?
- (lambda (filename _)
- (call-with-input-file filename
- (lambda (port)
- (string-contains (get-line port)
- "/bin/python"))))))
- (for-each
- (lambda (python-executable)
- (format #t "Wrapping: ~A.~%" python-executable)
- (wrap-program python-executable
- `("GUIX_PYTHONPATH" ":" prefix
- (,(string-append lib
- "/python"
- ,(version-major+minor
- (package-version python))
- "/site-packages")))))
- (find-files tools python-executable?))
- #t))))))
+ (list clang-15
+ elfutils
+ luajit
+ libbpf
+ python-wrapper))
+ (arguments
+ (list
+ ;; Tests all require root permissions and a "standard" file hierarchy.
+ #:tests? #f
+ #:configure-flags #~(list (string-append "-DREVISION=" #$version)
+ "-DCMAKE_USE_LIBBPF_PACKAGE=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'substitute-libbc
+ (lambda _
+ (substitute* "src/python/bcc/libbcc.py"
+ (("(libbcc\\.so.*)\\b" _ libbcc)
+ (string-append #$output "/lib/" libbcc)))))
+ (add-after 'install 'wrap-tools
+ (lambda _
+ (use-modules (ice-9 textual-ports))
+ (let* ((out #$output)
+ (lib (string-append out "/lib"))
+ (tools (string-append out "/share/bcc/tools"))
+ (python-executable?
+ (lambda (filename _)
+ (call-with-input-file filename
+ (lambda (port)
+ (string-contains (get-line port)
+ "/bin/python"))))))
+ (for-each (lambda (python-executable)
+ (format #t "Wrapping: ~A.~%" python-executable)
+ (wrap-program python-executable
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(string-append lib
+ "/python"
+ #$(version-major+minor
+ (package-version python))
+ "/site-packages")))))
+ (find-files tools python-executable?))))))))
(home-page "https://github.com/iovisor/bcc")
(synopsis "Tools for BPF on Linux")
(description