gnu: libbpf: Update to 1.4.1.

* gnu/packages/linux.scm (libbpf): Update to 1.4.1.
[phases] {install-linux-bpf-headers}: New phase.
[native-inputs]: Add linux-libre-headers-6.8.

Change-Id: I969a017b0ed52c1a611b3fe0d90d5b8703d35e73
This commit is contained in:
Maxim Cournoyer 2024-05-09 09:24:47 -04:00
parent 401086dbc7
commit 12d2a6e5a6
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -9821,7 +9821,7 @@ (define-public cachefilesd
(define-public libbpf
(package
(name "libbpf")
(version "0.8.1")
(version "1.4.1")
(source
(origin
(method git-fetch)
@ -9831,7 +9831,7 @@ (define-public libbpf
(file-name (git-file-name name version))
(sha256
(base32
"1zzpkk4x3f20483dzw43b3ml03d63vvkmqf4j8y3b61b67wm59bm"))))
"1d0bx4bmn80nkdh0dqjfwq6j37is3qwl49cjvx4yxb4vrxq3x05x"))))
(build-system gnu-build-system)
(arguments
(list
@ -9840,12 +9840,37 @@ (define-public libbpf
#~(list (string-append "PREFIX=" #$output)
(string-append "LIBDIR=$(PREFIX)/lib")
(string-append "CC=" #$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'pre-build
(lambda _
(chdir "src"))))))
(native-inputs (list pkg-config))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'pre-build
(lambda _
(chdir "src")))
(add-after 'install 'install-linux-bpf-headers
;; Workaround users such as 'dwarves' requiring btf_enum64
;; definition from the kernel Linux >= 6 headers (see:
;; https://github.com/acmel/dwarves/issues/49).
;; TODO: Remove once our 'linux-libre-headers' package is
;; upgraded to a >= 6 release.
(lambda _
(let ((linux-libre-headers #$(this-package-native-input
"linux-libre-headers")))
(for-each (lambda (f)
(install-file (string-append linux-libre-headers
"/include/" f)
(string-append #$output "/include/"
(dirname f))))
;; This list contains btf.h and its transitive
;; dependencies.
(list "asm/posix_types.h"
"asm/types.h"
"asm-generic/types.h"
"asm-generic/int-ll64.h"
"linux/btf.h"
"linux/posix_types.h"
"linux/stddef.h"
"linux/types.h"))))))))
(native-inputs (list linux-libre-headers-6.8 pkg-config))
(propagated-inputs (list elfutils zlib)) ;in Requires.private of libbpf.pc
(home-page "https://github.com/libbpf/libbpf")
(synopsis "BPF CO-RE (Compile Once Run Everywhere)")