diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 297 |
1 files changed, 219 insertions, 78 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 95847165fd..14bccadce3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -45,6 +45,8 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,8 +74,10 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages calendar) #:use-module (gnu packages check) + #:use-module (gnu packages cpio) #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages compression) @@ -196,37 +200,37 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-5.7 (linux-libre-deblob-scripts - "5.7.1" - (base32 "1c0n39wg6xij4x63ppg0m80kfcffkn3iilm3chyiix09n9g7vb78") - (base32 "02is246xaql1br3kizqicrkp982nw4gdwpn7nlzjazvsmyd1hcv2"))) + "5.7.10" + (base32 "1gharhw104wxp9dxjkzzvsqc2xn44mc9yvacc3v7jh7b6bb0a64a") + (base32 "1n198gx18rxc7xflgiwya43inkwayc91pgb129kngfza8sm6v8ks"))) (define deblob-scripts-5.4 (linux-libre-deblob-scripts - "5.4.37" + "5.4.53" (base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25") (base32 "10qb890is4z58vr8czh3xx69q62l3b3j38y410kgiw8nii3zx5lr"))) (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.103" + "4.19.134" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") (base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr"))) (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.170" + "4.14.189" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.213" + "4.9.231" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.213" + "4.4.231" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) @@ -371,50 +375,50 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (sha256 hash))) -(define-public linux-libre-5.7-version "5.7.4") +(define-public linux-libre-5.7-version "5.7.10") (define-public linux-libre-5.7-pristine-source (let ((version linux-libre-5.7-version) - (hash (base32 "06mm0bmjw54aypfhhbm9aaz5bmgymvygfak587iwv901635gb95w"))) + (hash (base32 "0i1x347q1rs9r11f7qic62d5465dzngxs0n44ryknmxpcl6469a7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.7))) -(define-public linux-libre-5.4-version "5.4.47") +(define-public linux-libre-5.4-version "5.4.53") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0v4d86yci4lq82nb1fgf0g3j0348v6q6m77czpm4b3cs7lwrs2wp"))) + (hash (base32 "08bd7lgj2c26h3rm8lm7w6dvi8zhjiilmrxf1rpp5m90jbwvd9zs"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.128") +(define-public linux-libre-4.19-version "4.19.134") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0g31ad3wziy4xqna0yvwjcnza3jhd93syjpfvmwh0b4pkj2adar9"))) + (hash (base32 "0vrsiqqsiv0z4jhafqch2g27ig28nmw69hw32a8lc5fkcm7shzbx"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.185") +(define-public linux-libre-4.14-version "4.14.189") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "1iixxwidp53s2i2br58wbx5s69f2jcllb116z73pv7fmd06b2czk"))) + (hash (base32 "1qgr6hb714xi7rav4za4vk4l7c0ma3ndf0f2ca3q8ly5gd2j3rd7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.228") +(define-public linux-libre-4.9-version "4.9.231") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0d7w2zzs79ywxzfrh4bmk5lw318qbkcb8mcsyyh3cc25qqlz9gwg"))) + (hash (base32 "1sz8xk767yy4lxqvy4229yrgkwnm43hdrbr54aa1flns5yh3p12g"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.228") +(define-public linux-libre-4.4-version "4.4.231") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0y1xc5lk8j3p5maarksmh18wy921rgcngzsih7q1a82rah1fsjxr"))) + (hash (base32 "1c6p5hv18isa328pvpa3qmmsg4qsssf2mwsx3hzn489rb8ycdxp7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -618,6 +622,30 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ("CONFIG_CIFS" . m) ("CONFIG_9P_FS" . m))) +;; See https://github.com/iovisor/bcc/blob/master/INSTALL.md#kernel-configuration +(define %bpf-extra-linux-options + `(;; Needed for probes + ("CONFIG_UPROBE_EVENTS" . #t) + ("CONFIG_KPROBE_EVENTS" . #t) + ;; kheaders module also helpful for tracing + ("CONFIG_IKHEADERS" . #t) + ("CONFIG_BPF" . #t) + ("CONFIG_BPF_SYSCALL" . #t) + ("CONFIG_BPF_JIT_ALWAYS_ON" . #t) + ;; optional, for tc filters + ("CONFIG_NET_CLS_BPF" . m) + ;; optional, for tc actions + ("CONFIG_NET_ACT_BPF" . m) + ("CONFIG_BPF_JIT" . #t) + ;; for Linux kernel versions 4.1 through 4.6 + ;; ("CONFIG_HAVE_BPF_JIT" . y) + ;; for Linux kernel versions 4.7 and later + ("CONFIG_HAVE_EBPF_JIT" . #t) + ;; optional, for kprobes + ("CONFIG_BPF_EVENTS" . #t) + ;; kheaders module + ("CONFIG_IKHEADERS" . #t))) + (define (config->string options) (string-join (map (match-lambda ((option . 'm) @@ -936,6 +964,23 @@ It has been modified to remove all non-free binary blobs.") '("riscv64-linux") #:extra-version "riscv64-generic")) +(define-public linux-libre-with-bpf + (let ((base-linux-libre + (make-linux-libre* + linux-libre-5.4-version + linux-libre-5.4-source + '("x86_64-linux" "i686-linux" "armhf-linux" + "aarch64-linux" "riscv64-linux") + #:extra-version "bpf" + #:configuration-file kernel-config + #:extra-options + (append %bpf-extra-linux-options + %default-extra-linux-options)))) + (package + (inherit base-linux-libre) + (inputs `(("cpio" ,cpio) ,@(package-inputs base-linux-libre)))))) + + ;;; ;;; Linux kernel modules. @@ -951,7 +996,7 @@ It has been modified to remove all non-free binary blobs.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/teleshoes/acpi_call.git") + (url "https://github.com/teleshoes/acpi_call") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -994,7 +1039,7 @@ and should be used with caution, especially on untested models.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/aircrack-ng/rtl8812au.git") + (url "https://github.com/aircrack-ng/rtl8812au") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -1040,7 +1085,7 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/tomaspinho/rtl8821ce.git") + (url "https://github.com/tomaspinho/rtl8821ce") (commit commit))) (file-name (git-file-name name version)) (sha256 @@ -1163,7 +1208,7 @@ supported under @file{/sys/class/backlight/}.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/umlaeute/v4l2loopback.git") + (url "https://github.com/umlaeute/v4l2loopback") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -1486,12 +1531,13 @@ block devices, UUIDs, TTYs, and many other tools.") (name "ddate") (version "0.2.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/bo0ts/ddate/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/bo0ts/ddate") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1bbqqq8mswj4bp9083gxjaky5ysfznax4cynsqwmy125z053yg6m")))) + (base32 "1qchxnxvghbma6gp1g78wnjxsri0b72ha9axyk31cplssl7yn73f")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) (home-page "https://github.com/bo0ts/ddate") @@ -2505,14 +2551,14 @@ devices. It replaces @code{iwconfig}, which is deprecated.") (define-public powertop (package (name "powertop") - (version "2.12") + (version "2.13") (source (origin (method url-fetch) (uri (string-append "https://01.org/sites/default/files/downloads/" "powertop-" version ".tar.gz")) (sha256 - (base32 "1kiiwa5p2r7h1lzcf53xq61ckaa4wk565s9fs6vw4bfk84y3mfsw")))) + (base32 "0y1ixw8v17fdb1ima0zshrd0rh4zxdh10r93nrrvq6d4lhn9jpx6")))) (build-system gnu-build-system) (arguments '(#:phases @@ -2979,16 +3025,16 @@ for systems using the Linux kernel. This includes commands such as (define-public inotify-tools (package (name "inotify-tools") - (version "3.20.1") + (version "3.20.2.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rvoicilas/inotify-tools.git") + (url "https://github.com/rvoicilas/inotify-tools") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "14dci1i4mhsd5sa33k8h3ayphk19kizynh5ql9ryibdpmcanfiyq")))) + "1r12bglkb0bkqff6kgxjm81hk6z20nrxq3m7iv15d4nrqf9pm7s0")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -3062,7 +3108,7 @@ from the module-init-tools project.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rfjakob/earlyoom.git") + (url "https://github.com/rfjakob/earlyoom") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -3350,6 +3396,37 @@ mapper. Kernel components are part of Linux-libre.") #t)))))) (synopsis "Logical volume management for Linux (statically linked)"))) +(define-public thin-provisioning-tools + (package + (name "thin-provisioning-tools") + (version "0.8.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jthornber/thin-provisioning-tools") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01wl8c0cjbx1smbhj8dx6av5bnw5775m58gasc3vqwvsj0s9hq19")))) + (build-system gnu-build-system) + (arguments + ;; Doesn't build with --enable-testing due to a function name collision + ;; with glibc. Fixed upstream. TODO: Enable tests when 0.9.0 is released. + `(#:tests? #f)) + (native-inputs + `(("automake" ,automake) + ("autoreconf" ,autoconf))) + (inputs + `(("boost" ,boost) + ("expat" ,expat) + ("libaio" ,libaio))) + (synopsis "Tools for manipulating the metadata of device-mapper targets") + (description "A suite of tools for manipulating the metadata of the +dm-thin, dm-cache and dm-era device-mapper targets.") + (home-page "https://github.com/jthornber/thin-provisioning-tools") + (license license:gpl3+))) + (define-public wireless-tools (package (name "wireless-tools") @@ -3566,7 +3643,7 @@ country-specific regulations for the wireless spectrum.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/groeck/lm-sensors.git") + (url "https://github.com/groeck/lm-sensors") (commit (string-append "V" (string-join (string-split version #\.) "-"))))) (file-name (git-file-name name version)) @@ -3787,13 +3864,14 @@ particular the @code{perf} command.") (name "pflask") (version "0.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ghedo/pflask/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ghedo/pflask") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1g8fjj67dfkc2s0852l9vqi1pm61gp4rxbpzbzg780f5s5hd1fys")))) + "1jikjbhlxlqracnai3v9krzcgd2xwp0p4adw5n07yxc7b857damz")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no tests @@ -3850,12 +3928,18 @@ thanks to the use of namespaces.") `(#:configure-flags '("--localstatedir=/var") #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-reference-to-squashfs-tools + (add-after 'unpack 'patch-references (lambda _ (substitute* "libexec/cli/build.exec" (("if ! singularity_which mksquashfs") "if 0") (("if ! mksquashfs") (string-append "if ! " (which "mksquashfs")))) + (substitute* (list "libexec/cli/help.exec" + "libexec/bootstrap-scripts/functions" + "libexec/bootstrap-scripts/post.sh" + "libexec/functions") + (("egrep ") + (string-append (which "egrep") " "))) #t)) (add-after 'install 'set-PATH (lambda* (#:key inputs outputs #:allow-other-keys) @@ -3924,7 +4008,7 @@ Translation (@dfn{SAT}) are also supported.") (define-public nvme-cli (package (name "nvme-cli") - (version "1.11.2") + (version "1.12") (home-page "https://github.com/linux-nvme/nvme-cli") (source (origin (method git-fetch) @@ -3932,7 +4016,7 @@ Translation (@dfn{SAT}) are also supported.") (url home-page) (commit (string-append "v" version)))) (sha256 - (base32 "0ngh7zffjf6ac8b22hdi4ry7hjlafih172hrbpw8j17r7c0wjy9i")) + (base32 "0ldky34sn0m5c4hgiip0fkzm465nca69bhxicpd5dg8wxhzxqrp3")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -4969,7 +5053,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/vmatare/thinkfan.git") + (url "https://github.com/vmatare/thinkfan") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -5027,7 +5111,7 @@ from userspace.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/teleshoes/tpacpi-bat.git") + (url "https://github.com/teleshoes/tpacpi-bat") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -5364,16 +5448,16 @@ cpufreq sub-system is enabled or not.") (define-public haveged (package (name "haveged") - (version "1.9.8") + (version "1.9.13") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/jirka-h/haveged.git") + (url "https://github.com/jirka-h/haveged") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1znr58fb3faq4nmrvc3c5whkc1f3chivm4vhicdwr9pdsyqqsd51")))) + (base32 "0g3hcvpky76cabgcfqh65fay7nnjkms32sgmlf33q969833hijqz")))) (build-system gnu-build-system) (home-page "https://www.issihosts.com/haveged") (synopsis "Entropy source for the Linux random number generator") @@ -5582,7 +5666,7 @@ exceeded.") (define-public mtd-utils (package (name "mtd-utils") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) (uri (string-append @@ -5590,7 +5674,7 @@ exceeded.") "mtd-utils-" version ".tar.bz2")) (sha256 (base32 - "1lijl89l7hljx8xx70vrz9srd3h41v5gh4b0lvqnlv831yvyh5cd")))) + "1mp9fqgnz5r69s8ly98ry6k2blqnaqpllwi8m930dm0n8zrwbm4a")))) (arguments '(#:configure-flags '("--enable-unit-tests"))) (native-inputs @@ -5646,7 +5730,7 @@ developers.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/clbr/radeontop.git") + (url "https://github.com/clbr/radeontop") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -5800,7 +5884,7 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat}, (origin (method git-fetch) (uri (git-reference - (url "https://github.com/haikarainen/light.git") + (url "https://github.com/haikarainen/light") (commit (string-append "v" version)))) (sha256 (base32 "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s")) @@ -5888,7 +5972,7 @@ interface in sysfs, which can be accomplished with the included udev rules.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/linrunner/TLP.git") + (url "https://github.com/linrunner/TLP") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -6007,7 +6091,7 @@ every time the power supply source is changed.") (define-public lshw (package (name "lshw") - (version "B.02.18") + (version "B.02.19.2") (source (origin (method url-fetch) (uri (string-append "https://www.ezix.org/software/" @@ -6015,7 +6099,7 @@ every time the power supply source is changed.") ".tar.gz")) (sha256 (base32 - "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf")))) + "100gm1c6gb2hkfws22h0xhvv7nz38p49lxd1csikj8qlhyn4gcwv")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure)) @@ -6082,7 +6166,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "0.9.5") + (version "0.9.6") (source (origin (method url-fetch) @@ -6091,7 +6175,7 @@ used by nftables.") (string-append "https://www.nftables.org/projects/nftables" "/files/nftables-" version ".tar.bz2"))) (sha256 - (base32 "05kyri19q776mymkbcxq3786l6nrf4xg7f3n8my0aw63mdz9bhgj")))) + (base32 "0vmn6xwqa1nq6crfxshh049b199d0aj6hfgin7k068xhibzgvmk8")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-man-doc"))) ; FIXME: Needs docbook2x. @@ -6120,7 +6204,7 @@ userspace queueing component and the logging subsystem.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/proot-me/PRoot.git") + (url "https://github.com/proot-me/PRoot") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -6289,13 +6373,14 @@ NexGen, Rise, and SiS CPUs.") (version "0.5") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/JasonFerrara/jmtpfs/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/JasonFerrara/jmtpfs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "10v8d7mmx8b8123x5f9y9zaaa428ms6wkngwn2ra71n5a53wrjn0")))) + "1pm68agkhrwgrplrfrnbwdcvx5lrivdmqw8pb5gdmm3xppnryji1")))) (build-system gnu-build-system) (inputs `(("file" ,file) @@ -6316,12 +6401,13 @@ the MTP device as a file system.") (version "0.51") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/jamesodhunt/procenv/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jamesodhunt/procenv") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1javw97yw0qvjmj14js8vw6nsfyf2xc0kfiyq5f2hsp0553w2cdq")))) + (base32 "1ilrsw1rc85w29mkbkmm5n5w427gapv43yrjzvkb4kc9xhscgdjn")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-silent-rules"))) (native-inputs `(("groff" ,groff) ; for tests @@ -6335,7 +6421,7 @@ the MTP device as a file system.") itself and its environment as possible. It can be used as a test tool, to understand the type of environment a process runs in, and for comparing system environments.") - (home-page "http://github.com/jamesodhunt/procenv/") + (home-page "https://github.com/jamesodhunt/procenv/") (license license:gpl3+))) (define-public libfabric @@ -6561,7 +6647,7 @@ interface to this kernel feature.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/dgraziotin/mbpfan.git") + (url "https://github.com/dgraziotin/mbpfan") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -6596,7 +6682,7 @@ privileges.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/intel/opa-psm2.git") + (url "https://github.com/intel/opa-psm2") (commit (string-append "PSM2_" version)))) (file-name (git-file-name name version)) (sha256 @@ -6714,7 +6800,7 @@ management tools in userspace.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/vishvananda/netlink.git") + (url "https://github.com/vishvananda/netlink") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -6786,7 +6872,7 @@ file systems.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/jeremie-koenig/genext2fs.git") + (url "https://github.com/jeremie-koenig/genext2fs") ;; 1.4.1-3 had a VCS tag but 1.4.1-4 doesn't. (commit "9ee43894634998b0b2b309d636f25c64314c9421"))) (file-name (git-file-name name version)) @@ -6840,12 +6926,18 @@ the superuser to make device nodes.") (substitute* "Makefile" (("/bin/sh") (which "sh"))) #t)) - (add-after 'unpack 'patch-getopt + (add-after 'unpack 'patch-script (lambda* (#:key inputs #:allow-other-keys) (substitute* "scripts/fakeroot.in" (("getopt") (string-append (assoc-ref inputs "util-linux") - "/bin/getopt"))) + "/bin/getopt")) + (("sed") + (string-append (assoc-ref inputs "sed") + "/bin/sed")) + (("cut") + (string-append (assoc-ref inputs "coreutils") + "/bin/cut")) ) #t)) (add-before 'configure 'setenv (lambda _ @@ -6882,7 +6974,9 @@ the superuser to make device nodes.") ("xz" ,xz))) ; for the tests (inputs `(("libcap" ,libcap/next) - ("util-linux" ,util-linux))) + ("util-linux" ,util-linux) + ("sed" ,sed) + ("coreutils" ,coreutils))) (synopsis "Provides a fake root environment") (description "@command{fakeroot} runs a command in an environment where it appears to have root privileges for file manipulation. This is useful @@ -6931,7 +7025,7 @@ set as @code{LD_PRELOAD} to override the C library file system functions.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/linuxwacom/input-wacom.git") + (url "https://github.com/linuxwacom/input-wacom") (commit (string-append "input-wacom-" version)))) (file-name (git-file-name name version)) (sha256 @@ -7127,3 +7221,50 @@ cache data store that is used by network file systems such as @code{AFS} and @code{NFS} to cache data locally on disk. The content of the cache is persistent over reboots.") (license license:gpl2+))) + +(define-public libbpf + (package + (name "libbpf") + (version "0.0.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libbpf/libbpf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18l0gff7nm841mwhr7bc7x863xcyvwh58zl7mc0amnsjqlbrvqg7")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libelf" ,libelf) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ; No tests + #:make-flags + (list + (string-append "PREFIX=''") + (string-append "DESTDIR=" (assoc-ref %outputs "out")) + (string-append "LIBDIR=/lib") + (string-append + "CC=" (assoc-ref %build-inputs "gcc") "/bin/gcc")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'pre-build + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "scripts/check-reallocarray.sh" + (("/bin/rm" rm) + (string-append (assoc-ref inputs "coreutils") rm))) + (chdir "src") + #t))))) + (home-page "https://github.com/libbpf/libbpf") + (synopsis "BPF CO-RE (Compile Once – Run Everywhere)") + (description + "Libbpf supports building BPF CO-RE-enabled applications, which, in +contrast to BCC, do not require the Clang/LLVM runtime or linux kernel +headers.") + (license `(,license:lgpl2.1 ,license:bsd-2)))) |