aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm419
1 files changed, 331 insertions, 88 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index cf2f9b2a01..67a9d28278 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -12,14 +12,14 @@
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017, 2018, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -47,6 +47,8 @@
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -89,6 +91,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -100,6 +103,8 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
@@ -125,6 +130,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
+ #:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
@@ -190,47 +196,51 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(uri (string-append "https://linux-libre.fsfla.org"
"/pub/linux-libre/releases/" version "-gnu/"
"deblob-" (version-major+minor version)))
+ (file-name (string-append "linux-libre-deblob-"
+ (version-major+minor version)))
(sha256 deblob-hash))
(origin
(method url-fetch)
(uri (string-append "https://linux-libre.fsfla.org"
"/pub/linux-libre/releases/" version "-gnu/"
"deblob-check"))
+ (file-name (string-append "linux-libre-deblob-check-"
+ (version-major+minor version)))
(sha256 deblob-check-hash))))
-(define deblob-scripts-5.7
+(define deblob-scripts-5.8
(linux-libre-deblob-scripts
- "5.7.10"
- (base32 "1gharhw104wxp9dxjkzzvsqc2xn44mc9yvacc3v7jh7b6bb0a64a")
- (base32 "1n198gx18rxc7xflgiwya43inkwayc91pgb129kngfza8sm6v8ks")))
+ "5.8.6"
+ (base32 "07z7sglyrfh0706icqqf3shadf638pvyid9386r661ds5lbsa2mw")
+ (base32 "0j6jba5fcddqlb42f95gjl78jisfla4nswqila074gglcrbnl9q7")))
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
- "5.4.53"
+ "5.4.62"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
- (base32 "10qb890is4z58vr8czh3xx69q62l3b3j38y410kgiw8nii3zx5lr")))
+ (base32 "1b3q88i2qfdxyvpi9f7jds0qlb8hfpw87mgia096ax6822c2cmyb")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
- "4.19.134"
+ "4.19.143"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
- (base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr")))
+ (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
- "4.14.189"
+ "4.14.196"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
- "4.9.231"
+ "4.9.235"
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
- "4.4.231"
+ "4.4.235"
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
@@ -271,6 +281,9 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(srfi srfi-1)
(ice-9 match)
(ice-9 ftw))
+
+ (setvbuf (current-output-port) 'line)
+
(let ((dir (string-append "linux-" #$version)))
(mkdir "/tmp/bin")
@@ -288,11 +301,8 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
#+(canonical-package bzip2)
#+(canonical-package gzip)
#+(canonical-package tar)
- ;; The comments in the 'deblob-check' script
- ;; claim that it supports Python 2 and 3, but
- ;; in fact it fails when run in Python 3 as
- ;; of version 5.1.3.
- #+python-2))
+ #+(canonical-package gawk)
+ #+python-wrapper))
(with-directory-excursion "/tmp/bin"
@@ -311,12 +321,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(if (file-is-directory? #+upstream-source)
(begin
(format #t "Copying upstream linux source...~%")
- (force-output)
(invoke "cp" "--archive" #+upstream-source dir)
(invoke "chmod" "--recursive" "u+w" dir))
(begin
(format #t "Unpacking upstream linux tarball...~%")
- (force-output)
(invoke "tar" "xf" #$upstream-source)
(match (scandir "."
(lambda (name)
@@ -329,13 +337,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(error "multiple directories found" dirs)))))
(with-directory-excursion dir
- (setenv "PYTHON" (which "python"))
(format #t "Running deblob script...~%")
- (force-output)
(invoke "/tmp/bin/deblob"))
(format #t "~%Packing new Linux-libre tarball...~%")
- (force-output)
(invoke "tar" "cvfa" #$output
;; Avoid non-determinism in the archive.
"--mtime=@0"
@@ -343,7 +348,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"--group=root:0"
"--sort=name"
"--hard-dereference"
- dir))))))))))
+ dir)
+
+ (format #t "~%Scanning the generated tarball for blobs...~%")
+ (invoke "/tmp/bin/deblob-check" "--use-awk" "--list-blobs"
+ #$output))))))))))
;;;
@@ -375,50 +384,50 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(sha256 hash)))
-(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 "0i1x347q1rs9r11f7qic62d5465dzngxs0n44ryknmxpcl6469a7")))
+(define-public linux-libre-5.8-version "5.8.6")
+(define-public linux-libre-5.8-pristine-source
+ (let ((version linux-libre-5.8-version)
+ (hash (base32 "180bka8a0f2ykaifgb323pzgh0n909mlrsk08l08zmifggnh19cc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
- deblob-scripts-5.7)))
+ deblob-scripts-5.8)))
-(define-public linux-libre-5.4-version "5.4.53")
+(define-public linux-libre-5.4-version "5.4.62")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "08bd7lgj2c26h3rm8lm7w6dvi8zhjiilmrxf1rpp5m90jbwvd9zs")))
+ (hash (base32 "0w49y8lymz23x4mr5byaxnrkhm56lwfhnqkra07hqyfr5y63v216")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.134")
+(define-public linux-libre-4.19-version "4.19.143")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "0vrsiqqsiv0z4jhafqch2g27ig28nmw69hw32a8lc5fkcm7shzbx")))
+ (hash (base32 "1383yfwb962mhn25b3b3zqrwnpyp01g5xclsv14wra0fdz33ahra")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.189")
+(define-public linux-libre-4.14-version "4.14.196")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1qgr6hb714xi7rav4za4vk4l7c0ma3ndf0f2ca3q8ly5gd2j3rd7")))
+ (hash (base32 "16mhqymwkgqi8zalcij5c754smc8ysvfw6l2cwshr4scipsv4qay")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.231")
+(define-public linux-libre-4.9-version "4.9.235")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "1sz8xk767yy4lxqvy4229yrgkwnm43hdrbr54aa1flns5yh3p12g")))
+ (hash (base32 "1hqcb3zw4546h6x5xy2mywdznha8813lx15mxbgfbvwm4qhsc9g6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.231")
+(define-public linux-libre-4.4-version "4.4.235")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "1c6p5hv18isa328pvpa3qmmsg4qsssf2mwsx3hzn489rb8ycdxp7")))
+ (hash (base32 "0w5pkv936zb0shjgnpv17gcp5n8f91djznzq54p6j1bl5q2qdyqd")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -451,8 +460,8 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(patches (append (origin-patches source)
patches))))
-(define-public linux-libre-5.7-source
- (source-with-patches linux-libre-5.7-pristine-source
+(define-public linux-libre-5.8-source
+ (source-with-patches linux-libre-5.8-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch)))
@@ -555,9 +564,9 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(description "Headers of the Linux-Libre kernel.")
(license license:gpl2)))
-(define-public linux-libre-headers-5.7
- (make-linux-libre-headers* linux-libre-5.7-version
- linux-libre-5.7-source))
+(define-public linux-libre-headers-5.8
+ (make-linux-libre-headers* linux-libre-5.8-version
+ linux-libre-5.8-source))
(define-public linux-libre-headers-5.4
(make-linux-libre-headers* linux-libre-5.4-version
@@ -610,6 +619,26 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
("CONFIG_USER_NS" . #t)
("CONFIG_PID_NS" . #t)
("CONFIG_NET_NS" . #t)
+ ;; Various options needed for elogind service:
+ ;; https://issues.guix.gnu.org/43078
+ ("CONFIG_CGROUP_FREEZER" . #t)
+ ("CONFIG_BLK_CGROUP" . #t)
+ ("CONFIG_CGROUP_WRITEBACK" . #t)
+ ("CONFIG_CGROUP_SCHED" . #t)
+ ("CONFIG_CGROUP_PIDS" . #t)
+ ("CONFIG_CGROUP_FREEZER" . #t)
+ ("CONFIG_CGROUP_DEVICE" . #t)
+ ("CONFIG_CGROUP_CPUACCT" . #t)
+ ("CONFIG_CGROUP_PERF" . #t)
+ ("CONFIG_SOCK_CGROUP_DATA" . #t)
+ ("CONFIG_BLK_CGROUP_IOCOST" . #t)
+ ("CONFIG_CGROUP_NET_PRIO" . #t)
+ ("CONFIG_CGROUP_NET_CLASSID" . #t)
+ ("CONFIG_MEMCG" . #t)
+ ("CONFIG_MEMCG_SWAP" . #t)
+ ("CONFIG_MEMCG_KMEM" . #t)
+ ("CONFIG_CPUSETS" . #t)
+ ("CONFIG_PROC_PID_CPUSET" . #t)
;; Modules required for initrd:
("CONFIG_NET_9P" . m)
("CONFIG_NET_9P_VIRTIO" . m)
@@ -826,17 +855,23 @@ It has been modified to remove all non-free binary blobs.")
;;; Generic kernel packages.
;;;
+(define-public linux-libre-5.8
+ (make-linux-libre* linux-libre-5.8-version
+ linux-libre-5.8-source
+ '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
+ #:configuration-file kernel-config))
+
+(define-public linux-libre-version linux-libre-5.8-version)
+(define-public linux-libre-pristine-source linux-libre-5.8-pristine-source)
+(define-public linux-libre-source linux-libre-5.8-source)
+(define-public linux-libre linux-libre-5.8)
+
(define-public linux-libre-5.4
(make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config))
-(define-public linux-libre-version linux-libre-5.4-version)
-(define-public linux-libre-pristine-source linux-libre-5.4-pristine-source)
-(define-public linux-libre-source linux-libre-5.4-source)
-(define-public linux-libre linux-libre-5.4)
-
(define-public linux-libre-4.19
(make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-source
@@ -884,9 +919,12 @@ It has been modified to remove all non-free binary blobs.")
("CONFIG_RTC_DRV_RK808" . #t))
%default-extra-linux-options)))
-(define-public linux-libre-arm-generic-5.7
- (make-linux-libre* linux-libre-5.7-version
- linux-libre-5.7-source
+(define-public linux-libre-arm-veyron
+ (deprecated-package "linux-libre-arm-veyron" linux-libre-arm-generic))
+
+(define-public linux-libre-arm-generic-5.4
+ (make-linux-libre* linux-libre-5.4-version
+ linux-libre-5.4-source
'("armhf-linux")
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"
@@ -896,9 +934,6 @@ It has been modified to remove all non-free binary blobs.")
("CONFIG_RTC_DRV_RK808" . #t))
%default-extra-linux-options)))
-(define-public linux-libre-arm-veyron
- (deprecated-package "linux-libre-arm-veyron" linux-libre-arm-generic))
-
(define-public linux-libre-arm-generic-4.19
(make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-source
@@ -940,15 +975,15 @@ It has been modified to remove all non-free binary blobs.")
'("aarch64-linux")
#:defconfig "defconfig"
#:extra-version "arm64-generic"
- #:extra-options
+ #:extra-options
(append
`(;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t))
%default-extra-linux-options)))
-(define-public linux-libre-arm64-generic-5.7
- (make-linux-libre* linux-libre-5.7-version
- linux-libre-5.7-source
+(define-public linux-libre-arm64-generic-5.4
+ (make-linux-libre* linux-libre-5.4-version
+ linux-libre-5.4-source
'("aarch64-linux")
#:defconfig "defconfig"
#:extra-version "arm64-generic"
@@ -1299,6 +1334,49 @@ at login. Local and dynamic reconfiguration are its key features.")
"1n9lnf9gjs72kbj1g354v1xhi2j27aqaah15vykh7cnkq08i4arl"))
(patches (search-patches "linux-pam-no-setfsuid.patch"))))))
+(define-public python-pamela
+ (package
+ (name "python-pamela")
+ (version "1.0.0")
+ (source
+ (origin
+ ;; Tests not distributed in pypi release.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minrk/pamela.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0cg3w6np1fbjpvzhv54xg567hpf38szwp2d4gvzb9r736nxbv0vr"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f ; Test suite isn't designed to be run inside a container.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'hardcode-pam.so
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pam (assoc-ref inputs "linux-pam")))
+ (substitute* "pamela.py"
+ (("find_library\\(\"pam\")")
+ (string-append "'" pam "/lib/libpam.so'")))
+ #t)))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (if (file-exists? "test_pamela.py")
+ (invoke "py.test" "--assert=plain" "test_pamela.py")
+ (invoke "python" "-m" "pamela" "-a" "`whoami`"))
+ #t))))))
+ (inputs
+ `(("linux-pam" ,linux-pam)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/minrk/pamela")
+ (synopsis "PAM interface using ctypes")
+ (description "This package provides a PAM interface using @code{ctypes}.")
+ (license license:expat)))
+
;;;
;;; Miscellaneous.
@@ -1885,7 +1963,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(define-public strace
(package
(name "strace")
- (version "5.7")
+ (version "5.8")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
@@ -1893,7 +1971,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
"/strace-" version ".tar.xz"))
(sha256
(base32
- "1n6cfz3i2krkyvxpdp3kmxhf7sy5xp0danzaiirbk5fdkfgvb15j"))))
+ "1abs3svkg9985f4jrxx34sj1dcpsf95vv1a0g01c777zgygncjnz"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -2189,7 +2267,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
(define-public iproute
(package
(name "iproute2")
- (version "5.7.0")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2197,7 +2275,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
version ".tar.xz"))
(sha256
(base32
- "088gs56iqhdlpw1iqjwrss4zxd4zbl2wl8s2implrrdajjxcfpbj"))))
+ "0vk4vickrpahdhl3zazr2qn2bf99v5549ncirjpwiy4h0a4izkfg"))))
(build-system gnu-build-system)
(arguments
`( ;; There is a test suite, but it wants network namespaces and sudo.
@@ -3136,8 +3214,8 @@ from the module-init-tools project.")
(string-append "PREFIX=" prefix)
(string-append "SYSCONFDIR=" prefix "/etc")))
#:test-target "test"))
- (native-inputs `(("go" ,go) ;for the test suite
- ("pandoc" ,ghc-pandoc))) ;to generate the manpage
+ (native-inputs `(("go" ,go) ;for the test suite
+ ("pandoc" ,pandoc))) ;to generate the manpage
(home-page "https://github.com/rfjakob/earlyoom")
(synopsis "Simple out of memory (OOM) daemon for the Linux kernel")
(description "Early OOM is a minimalist out of memory (OOM) daemon that
@@ -3283,16 +3361,16 @@ devices that can inject events directly into the input subsystem.")
(define-public lvm2
(package
(name "lvm2")
- (version "2.03.09")
+ (version "2.03.10")
(source (origin
(method url-fetch)
- (uri (list (string-append "ftp://sourceware.org/pub/lvm2/LVM2."
+ (uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2."
version ".tgz")
(string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
version ".tgz")))
(sha256
(base32
- "0xdr9qbqw6kja267wmx6ajnfv1nhw056gpxx9v2qmfh3bj6qnfn0"))
+ "1l0fkn9abrgk5mfn6jfh9qhdr86b59l1c5pk6lp8jh0491d69las"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -3568,7 +3646,7 @@ compliance.")
(define-public wireless-regdb
(package
(name "wireless-regdb")
- (version "2019.06.03")
+ (version "2020.04.29")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3576,7 +3654,7 @@ compliance.")
"wireless-regdb-" version ".tar.xz"))
(sha256
(base32
- "1gslvh0aqdkv48jyr2ddq153mw28i7qz2ybrjj9qvkk3dgc7x4fd"))
+ "0yicda474ygahv8da18h1p4yf42s6x2f208mlwcw4xsrxld07zc9"))
;; We're building 'regulatory.bin' by ourselves.
(snippet '(begin
@@ -3834,7 +3912,8 @@ in a digital read-out.")
;; There are build scripts written in these languages.
("perl" ,perl)
- ("python" ,python-2)))
+ ("python2" ,python-2)
+ ("python3" ,python-3)))
(inputs
`(("slang" ,slang) ;for the interactive TUI
;; ("newt" ,newt)
@@ -3938,6 +4017,8 @@ thanks to the use of namespaces.")
"libexec/bootstrap-scripts/functions"
"libexec/bootstrap-scripts/post.sh"
"libexec/functions")
+ (("\\| grep ")
+ (string-append "| " (which "grep") " "))
(("egrep ")
(string-append (which "egrep") " ")))
#t))
@@ -4702,7 +4783,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "5.6")
+ (version "5.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -4710,7 +4791,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "0srg276yccfmqz0skmmga3vbqx4wiqsk1l6h86n6ryhxa9viqcm1"))))
+ "0p6ycbr8sw5bq3mj84gh9rvh5sk8sjr2l9hb9dhm4j41ij5h8bsw"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
@@ -5048,7 +5129,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(define-public thinkfan
(package
(name "thinkfan")
- (version "1.2")
+ (version "1.2.1")
(source
(origin
(method git-fetch)
@@ -5057,7 +5138,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0vmkpj575a1w52zx1jn6kdrk8rc9vp0f1bldi1bajicpgbs6rjd3"))))
+ (base32 "18vgm5w5pjnpipa34j4x87q10695w2jnqwvc2f027afy7mnzw7kz"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
@@ -5852,17 +5933,17 @@ running boot option, and more.")
(define-public sysstat
(package
(name "sysstat")
- (version "12.3.1")
+ (version "12.4.0")
(source (origin
(method url-fetch)
(uri (string-append "http://pagesperso-orange.fr/sebastien.godard/"
"sysstat-" version ".tar.xz"))
(sha256
(base32
- "1hf1sy7akribmgavadqccxpy49yv0zfb3m81d2bj6jf8pyzwcrbq"))))
+ "05idnvkhvzaynj9awx7q54x1v42jblzrxq0fn5zd1v4mjwrnqmbq"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; No test suite.
+ `(#:tests? #f ; no test suite.
;; Without this flag, it tries to install the man pages with group 'root'
;; and fails because /etc/passwd lacks an entry for the root user.
#:configure-flags
@@ -6344,14 +6425,14 @@ available in the kernel Linux.")
(define-public cpuid
(package
(name "cpuid")
- (version "20200211")
+ (version "20200427")
(source (origin
(method url-fetch)
(uri (string-append "http://www.etallen.com/cpuid/cpuid-"
version ".src.tar.gz"))
(sha256
(base32
- "06sjbqqp80l7nhsp6khglkzdp9qy4vhbvjxbfilznhsmrqiwlw55"))))
+ "1m31238z2ya8f8pzpyklwp0ksf5xicqrw1z941hhhx913wzldaf1"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("CC=gcc")
@@ -6420,12 +6501,16 @@ the MTP device as a file system.")
(base32 "1ilrsw1rc85w29mkbkmm5n5w427gapv43yrjzvkb4kc9xhscgdjn"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
- (native-inputs `(("groff" ,groff) ; for tests
- ("pkg-config" ,pkg-config)))
- (inputs `(("check" ,check)
- ("expat" ,expat)
- ("libcap" ,libcap)
- ("libselinux" ,libselinux)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+
+ ;; For tests.
+ ("check" ,check)
+ ("groff" ,groff)))
+ (inputs
+ `(("expat" ,expat)
+ ("libcap" ,libcap)
+ ("libselinux" ,libselinux)))
(synopsis "Utility to show process environment")
(description "Procenv is a command-line tool that displays as much detail about
itself and its environment as possible. It can be used as a test
@@ -6833,7 +6918,7 @@ IP addresses and routes, and configure IPsec.")
(define-public xfsprogs
(package
(name "xfsprogs")
- (version "5.2.1")
+ (version "5.7.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -6841,7 +6926,7 @@ IP addresses and routes, and configure IPsec.")
"xfsprogs-" version ".tar.gz"))
(sha256
(base32
- "0q5xd4gb9g83h82mg68cx616ifzl8qkzzlgg5xna698117ph3wky"))))
+ "0bssrfhnw5mhybgaa6d8wp87izi3c9cjpjy7vicm6y76mf7kl8p9"))))
(build-system gnu-build-system)
(outputs (list "out" "python"))
(arguments
@@ -7111,6 +7196,37 @@ and Flatpak we expect PipeWire to provide a core building block for the future
of Linux application development.")
(license license:lgpl2.0+)))
+(define-public pipewire-0.3
+ (package
+ (inherit pipewire)
+ (name "pipewire")
+ (version "0.3.10")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PipeWire/pipewire")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1y293sfhhmzbgnlvs46bpiyimlii5nk71f8115qxs8sviwlsdr3w"))))
+ (arguments
+ '(#:configure-flags
+ (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out")
+ "/lib/udev/rules.d")
+ "-Dsystemd=false")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Skip shrink-runpath, otherwise validate-runpath fails.
+ (delete 'shrink-runpath))))
+ (inputs
+ (append (package-inputs pipewire)
+ `(("bluez" ,bluez)
+ ("jack" ,jack-2)
+ ("pulseaudio" ,pulseaudio)
+ ("vulkan-loader" ,vulkan-loader)
+ ("vulkan-headers" ,vulkan-headers))))))
+
(define-public ell
(package
(name "ell")
@@ -7278,3 +7394,130 @@ persistent over reboots.")
contrast to BCC, do not require the Clang/LLVM runtime or linux kernel
headers.")
(license `(,license:lgpl2.1 ,license:bsd-2))))
+
+(define-public bcc
+ (package
+ (name "bcc")
+ (version "0.15.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iovisor/bcc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1d5j9zanffa1c7lpi5fcrdlx1n7hy86xl82fam2xqr0s41q4ipxw"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (inputs
+ `(("clang-toolchain" ,clang-toolchain)
+ ("libbpf" ,(package-source libbpf))
+ ;; LibElf required but libelf does not contain
+ ;; archives, only object files.
+ ;; https://github.com/iovisor/bcc/issues/504
+ ("elfutils" ,elfutils)
+ ("linux-libre-headers" ,linux-libre-headers)
+ ("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
+ `("PYTHONPATH" ":" prefix
+ (,(string-append lib
+ "/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))))
+ (find-files tools python-executable?))
+ #t))))))
+ (home-page "https://github.com/iovisor/bcc")
+ (synopsis "Tools for BPF on Linux")
+ (description
+ "BCC is a toolkit for creating efficient kernel tracing and manipulation
+programs, and includes several useful tools and examples. It makes use of
+extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature
+that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1
+and above.")
+ (license license:asl2.0)))
+
+(define-public bpftrace
+ (package
+ (name "bpftrace")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iovisor/bpftrace")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "023ardywbw5w8815j2ny9rrp2xlpxndqaa7v2njjm8109p7ilsdn"))
+ (patches (search-patches "bpftrace-disable-bfd-disasm.patch"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (inputs
+ `(("bcc" ,bcc)
+ ("clang-toolchain" ,clang-toolchain)
+ ("elfutils" ,elfutils)
+ ("libbpf" ,libbpf)
+ ("linux-libre-headers" ,linux-libre-headers)))
+ (arguments
+ `(#:tests? #f ;Tests require googletest sources.
+ #:configure-flags
+ '("-DBUILD_TESTING=OFF"
+ ;; FIXME: libbfd misses some link dependencies, when fixed, remove
+ ;; the associated patch.
+ "-DHAVE_BFD_DISASM=OFF")))
+ (home-page "https://github.com/iovisor/bpftrace")
+ (synopsis "High-level tracing language for Linux eBPF")
+ (description
+ "bpftrace is a high-level tracing language for Linux enhanced Berkeley
+Packet Filter (eBPF) available in recent Linux kernels (4.x). bpftrace uses
+LLVM as a backend to compile scripts to BPF-bytecode and makes use of BCC for
+interacting with the Linux BPF system, as well as existing Linux tracing
+capabilities: kernel dynamic tracing (kprobes), user-level dynamic
+tracing (uprobes), and tracepoints. The bpftrace language is inspired by awk
+and C, and predecessor tracers such as DTrace and SystemTap. bpftrace was
+created by Alastair Robertson.")
+ (license license:asl2.0)))