summaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm308
1 files changed, 174 insertions, 134 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 94eff5d5c8..98de8eae53 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2021 Ludovic Courtès <[email protected]>
+;;; Copyright © 2012-2021, 2021-2022 Ludovic Courtès <[email protected]>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <[email protected]>
;;; Copyright © 2012 Nikita Karetnikov <[email protected]>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <[email protected]>
@@ -11,7 +11,7 @@
;;; Copyright © 2016, 2017 Alex Kost <[email protected]>
;;; Copyright © 2016 Raymond Nicholson <[email protected]>
;;; Copyright © 2016 Mathieu Lirzin <[email protected]>
-;;; Copyright © 2016, 2018–2022 Nicolas Goaziou <[email protected]>
+;;; Copyright © 2016, 2018-2022 Nicolas Goaziou <[email protected]>
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <[email protected]>
;;; Copyright © 2016 David Craven <[email protected]>
;;; Copyright © 2016 John Darrington <[email protected]>
@@ -19,7 +19,7 @@
;;; Copyright © 2016, 2018 Rene Saavedra <[email protected]>
;;; Copyright © 2016 Carlos Sánchez de La Lama <[email protected]>
;;; Copyright © 2016, 2017 Nikita <[email protected]>
-;;; Copyright © 2017, 2018, 2020, 2021 Leo Famulari <[email protected]>
+;;; Copyright © 2017, 2018, 2020, 2021, 2022 Leo Famulari <[email protected]>
;;; Copyright © 2017 José Miguel Sánchez García <[email protected]>
;;; Copyright © 2017 Gábor Boskovits <[email protected]>
;;; Copyright © 2017, 2019, 2021 Mathieu Othacehe <[email protected]>
@@ -358,116 +358,114 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-;; Currently, no stable kernels are packaged.
+(define-public linux-libre-5.16-version "5.16.8")
+(define-public linux-libre-5.16-gnu-revision "gnu")
+(define deblob-scripts-5.16
+ (linux-libre-deblob-scripts
+ linux-libre-5.16-version
+ linux-libre-5.16-gnu-revision
+ (base32 "0c9c8zd85p84r8k4xhys8xw15pds71v0ca2b6hm1pr4f6lpzck0g")
+ (base32 "14vb7g784rm1s2a2dzs6pnz3998iwdjwx8665myddr7gd197rkaq")))
+(define-public linux-libre-5.16-pristine-source
+ (let ((version linux-libre-5.16-version)
+ (hash (base32 "05h3b11czr710lilmb5gq84a78cfz3jm03q2q0gcrpcaxq2mzajj")))
+ (make-linux-libre-source version
+ (%upstream-linux-source version hash)
+ deblob-scripts-5.16)))
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.15-version "5.15.16")
+(define-public linux-libre-5.15-version "5.15.22")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "1rfhwfzifmbpnrhmrn3srm736nkm1v6affw915d0fgqzqgi8qfai")
- (base32 "04fj1x3zmi310cr3m9hxpi26gdcmwfsqciv5yb6q6rrnqjqs1pc0")))
+ (base32 "0mxm0wy3fyg7fn2n8k9b4zh62l4q00b4y9zf46im691zscwgikc2")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
- (hash (base32 "150pzxra564z9xaaclmbbd29x4x9il8y78zz7szi50lzx0a0l2ms")))
+ (hash (base32 "1hv3ci37nz79m1dg83ha4hl1jjnl3l52lvdzx514sp8hqihgji1m")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
-(define-public linux-libre-5.10-version "5.10.93")
+(define-public linux-libre-5.10-version "5.10.99")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
linux-libre-5.10-gnu-revision
(base32 "1swy3y851jnnmk3hc0khllpsifb98camlwyskpn1dyvjsgjljd8x")
- (base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7")))
+ (base32 "090y0z4a7b643w0v6c6mbgvl04mrlrhanil38mafl6dlnhad9zbl")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "1jxv7can60rc5i2yjgj8frcjvwi1jnba1jl8i3070xmb1d1qqy56")))
+ (hash (base32 "0j84g55d0v3832y9c5gh7bnmhnrb5bc9xdivps5n7n6km9c3b980")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.173")
+(define-public linux-libre-5.4-version "5.4.178")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
linux-libre-5.4-gnu-revision
(base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj")
- (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
+ (base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "0ff2jvwxj55547wvwp94a8bsd610s72906d4nsyhiirrn9sy5s4r")))
+ (hash (base32 "19k2yzqlr4rarl086sr6vjnh0lq5wmg5n7r2p0cai9yfvq3spp2c")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.225")
+(define-public linux-libre-4.19-version "4.19.228")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
linux-libre-4.19-gnu-revision
(base32 "06pqv050bkii0hc2v7ymny5264w1bca8db0dp1pw9mfmjg865am5")
- (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
+ (base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "15k7b04zx5ggfjagp8sfrylr9xgwgz3hb2bygdml7ka1jnbv76jb")))
+ (hash (base32 "14iis3x3jmfxwqqi7v7ijssqzha8d8nnydi4zqnpk53m45jw7km8")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.262")
+(define-public linux-libre-4.14-version "4.14.265")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
linux-libre-4.14-gnu-revision
(base32 "02rxvr0gmxb3zfsyyzdmzgfq04gkdkv1cc38md0xfl0mxzdzdfyk")
- (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
+ (base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "05yl51r5n3q9l8pq6azx3bbl69l79lk8vkdivy3cvgzdh59pizac")))
+ (hash (base32 "1iwjg2z8818g1sl6l79pm5590hzwpxqcxh7wcdb00y4m3maksr0s")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.297")
+(define-public linux-libre-4.9-version "4.9.300")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
linux-libre-4.9-gnu-revision
(base32 "0nai5m4rbh37qaj1xf2qj7656l2gacfh0847q5d07y22b048fq5n")
- (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
+ (base32 "0wdaj40pcq9wg5xnz2zj3jj8bawhfgqxcwp6dnavbf9lq0gca48p")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "17yqnr6p0prgcw8nikjmi49ll4s77ylaixcja5m15cq9x36shfz4")))
+ (hash (base32 "1bzmnkhxgz093ninqg8bh348d7s4xmkld2bld8nl215gnji0wfdb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.299")
-(define-public linux-libre-4.4-gnu-revision "gnu1")
-(define deblob-scripts-4.4
- (linux-libre-deblob-scripts
- linux-libre-4.4-version
- linux-libre-4.4-gnu-revision
- (base32 "1mmnv77432la5dkhpy1n8w59c0v6l08fyf2ggh294gyrx8nbci11")
- (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
-(define-public linux-libre-4.4-pristine-source
- (let ((version linux-libre-4.4-version)
- (hash (base32 "019hmplv1zhghl840qky9awziba3gx7jm80khny44gjfbyzf7d4v")))
- (make-linux-libre-source version
- (%upstream-linux-source version hash)
- deblob-scripts-4.4)))
-
(define %boot-logo-patch
;; Linux-Libre boot logo featuring Freedo and a gnu.
(origin
@@ -496,6 +494,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(patches (append (origin-patches source)
patches))))
+(define-public linux-libre-5.16-source
+ (source-with-patches linux-libre-5.16-pristine-source
+ (list %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch)))
+
(define-public linux-libre-5.15-source
(source-with-patches linux-libre-5.15-pristine-source
(list %boot-logo-patch
@@ -528,10 +531,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(source-with-patches linux-libre-4.9-pristine-source
(list %boot-logo-patch)))
-(define-public linux-libre-4.4-source
- (source-with-patches linux-libre-4.4-pristine-source
- (list %boot-logo-patch)))
-
;;;
;;; Kernel headers.
@@ -608,6 +607,11 @@ 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.16
+ (make-linux-libre-headers* linux-libre-5.16-version
+ linux-libre-5.16-gnu-revision
+ linux-libre-5.16-source))
+
(define-public linux-libre-headers-5.15
(make-linux-libre-headers* linux-libre-5.15-version
linux-libre-5.15-gnu-revision
@@ -638,11 +642,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
linux-libre-4.9-gnu-revision
linux-libre-4.9-source))
-(define-public linux-libre-headers-4.4
- (make-linux-libre-headers* linux-libre-4.4-version
- linux-libre-4.4-gnu-revision
- linux-libre-4.4-source))
-
;; The following package is used in the early bootstrap, and thus must be kept
;; stable and with minimal build requirements.
(define-public linux-libre-headers-5.10.35
@@ -665,7 +664,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(search-auxiliary-file file)))
(define %default-extra-linux-options
- `(;; Some very mild hardening.
+ `(;; Make the kernel config available at /proc/config.gz
+ ("CONFIG_IKCONFIG" . #t)
+ ("CONFIG_IKCONFIG_PROC" . #t)
+ ;; Some very mild hardening.
("CONFIG_SECURITY_DMESG_RESTRICT" . #t)
;; All kernels should have NAMESPACES options enabled
("CONFIG_NAMESPACES" . #t)
@@ -920,6 +922,13 @@ It has been modified to remove all non-free binary blobs.")
;;; Generic kernel packages.
;;;
+(define-public linux-libre-5.16
+ (make-linux-libre* linux-libre-5.16-version
+ linux-libre-5.16-gnu-revision
+ linux-libre-5.16-source
+ '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
+ #:configuration-file kernel-config))
+
(define-public linux-libre-5.15
(make-linux-libre* linux-libre-5.15-version
linux-libre-5.15-gnu-revision
@@ -968,19 +977,6 @@ It has been modified to remove all non-free binary blobs.")
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
-(define-public linux-libre-4.4
- (make-linux-libre* linux-libre-4.4-version
- linux-libre-4.4-gnu-revision
- linux-libre-4.4-source
- '("x86_64-linux" "i686-linux")
- #:configuration-file kernel-config
- #:extra-options
- (append
- `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
- ;; This option was removed upstream in version 4.7.
- ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t))
- %default-extra-linux-options)))
-
;; Linux-Libre-LTS points to the *newest* released long-term support version of
;; Linux-Libre.
;; Reference: https://jxself.org/linux-libre/
@@ -1821,6 +1817,7 @@ providing the system administrator with some help in common tasks.")
(define-public util-linux
(package
(name "util-linux")
+ (replacement util-linux/fixed)
(version "2.37.2")
(source (origin
(method url-fetch)
@@ -1955,6 +1952,7 @@ providing the system administrator with some help in common tasks.")
utilities. It provides dmesg and includes tools for working with file systems,
block devices, UUIDs, TTYs, and many other tools.")
+ (properties '((upstream-name . "util-linux")))
;; Note that util-linux doesn't use the same license for all the
;; code. GPLv2+ is the default license for a code without an
;; explicitly defined license.
@@ -1969,8 +1967,23 @@ block devices, UUIDs, TTYs, and many other tools.")
util-linux
(name "util-linux-with-udev")
(inputs
- `(("udev" ,eudev)
- ,@(package-inputs util-linux)))))
+ (modify-inputs (package-inputs util-linux)
+ (prepend eudev)))))
+
+;; This is mostly equivalent to the upstream release version v2.37.3, except
+;; that the upstream tarball was generated improperly, which breaks the build.
+;; There will not be a v2.37.3-fixed release or anything like that to fix it:
+;; https://github.com/util-linux/util-linux/issues/1577
+(define-public util-linux/fixed
+ (hidden-package
+ (package
+ (inherit util-linux)
+ (source (origin
+ (inherit (package-source util-linux))
+ (patches (append (search-patches "util-linux-CVE-2021-3995.patch"
+ "util-linux-CVE-2021-3996.patch")
+ (origin-patches (package-source util-linux)))))))))
+
(define-public ddate
(package
@@ -2092,6 +2105,7 @@ parameters.")
that give information about processes using the Linux /proc file system.
The package includes the programs free, pgrep, pidof, pkill, pmap, ps, pwdx,
slabtop, tload, top, vmstat, w, watch and sysctl.")
+ (properties '((upstream-name . "procps-ng")))
(license license:gpl2)))
(define-public usbutils
@@ -4431,20 +4445,21 @@ create a firmware image suitable for the Linux kernel, and more.")
(define-public i2c-tools
(package
(name "i2c-tools")
- (version "3.1.1")
+ (version "4.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
+ "1y0fphjd5ah2j886x8i175r7viq0hmx666hyca0wi4dzrm290qxk"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no 'check' target
#:make-flags
- ,#~(list (string-append "prefix=" #$output)
+ ,#~(list (string-append "PREFIX=" #$output)
+ (string-append "LDFLAGS+=-Wl,-rpath=" #$output "/lib")
(string-append "CC=" #$(cc-for-target)))
;; No configure script.
#:phases (modify-phases %standard-phases (delete 'configure))))
@@ -4459,6 +4474,24 @@ EEPROM decoding scripts, EEPROM programming tools, and a python module for
SMBus access.")
(license license:gpl2+)))
+(define-public i2c-tools-3
+ (package
+ (inherit i2c-tools)
+ (name "i2c-tools")
+ (version "3.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
+ version ".tar.bz2"))
+ (sha256
+ (base32 "0hd4c1w8lnwc3j95h3vpd125170l1d4myspyrlpamqx6wbr6jpnv"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments i2c-tools)
+ ((#:make-flags _)
+ #~(list (string-append "prefix=" #$output)
+ (string-append "CC=" #$(cc-for-target))))))))
+
(define-public xsensors
(package
(name "xsensors")
@@ -4510,7 +4543,15 @@ in a digital read-out.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "SHELL_PATH" (which "bash"))
(chdir "tools/perf")
- #t)))
+
+ ;; This file hard-codes file system layouts for specific distros
+ ;; but not for ours; address that. With this change, one can run
+ ;; "perf report --symfs=$HOME/.guix-profile" (without
+ ;; "/lib/debug") and 'perf' should be able to find separate debug
+ ;; info files.
+ (substitute* "util/dso.c"
+ (("/usr/lib/debug")
+ "/lib/debug")))))
#:make-flags (list (string-append "prefix="
(assoc-ref %outputs "out"))
"CC=gcc"
@@ -4521,28 +4562,26 @@ in a digital read-out.")
"lib=lib")
#:tests? #f)) ;no tests
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("bison" ,bison)
- ("flex" ,flex)
-
- ;; There are build scripts written in these languages.
- ("perl" ,perl)
- ("python2" ,python-2)
- ("python3" ,python-3)))
+ (list pkg-config
+ bison
+ flex
+ ;; There are build scripts written in these languages.
+ perl
+ python-2
+ python-3))
(inputs
- `(("slang" ,slang) ;for the interactive TUI
- ;; ("newt" ,newt)
- ("python" ,python-2) ;'perf' links against libpython
- ("elfutils" ,elfutils)
- ("libiberty" ,libiberty) ;used alongside BDF for symbol demangling
- ("libunwind" ,libunwind) ;better stack walking
- ("numactl" ,numactl) ;for 'perf bench numa mem'
-
- ;; Documentation.
- ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
- ("docbook-xsl" ,docbook-xsl)
- ("xmlto" ,xmlto)
- ("asciidoc" ,asciidoc)))
+ (list slang ;for the interactive TUI
+ ;; newt
+ python-2 ;'perf' links against libpython
+ elfutils
+ libiberty ;used alongside BDF for symbol demangling
+ libunwind ;better stack walking
+ numactl ;for 'perf bench numa mem'
+ ;; Documentation.
+ libxml2 ;for $XML_CATALOG_FILES
+ docbook-xsl
+ xmlto
+ asciidoc))
(home-page "https://perf.wiki.kernel.org/")
(synopsis "Linux profiling with performance counters")
(description
@@ -5218,7 +5257,19 @@ Linux Device Mapper multipathing driver:
#:test-target "partcheck" ; need root for a full 'check'
#:phases
#~(modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
+ (delete 'configure) ; no configure script
+ ;; TODO: Make this phase unconditional on core-updates.
+ #$@(if (target-riscv64?)
+ '((add-before 'check 'patch-for-riscv-support
+ (lambda _
+ ;; Taken from the upstream repo:
+ ;; https://pagure.io/libaio/c/f322f467c3cd2ac4d8d08a19bd281eabb65433b1?branch=master
+ (substitute* "harness/cases/16.t"
+ (("(elif defined\\(__aarch64__\\))" all)
+ (string-append all " || defined(__riscv)"))
+ (("(endif /* __aarch64__)" all)
+ (string-append all " || __riscv "))))))
+ '()))))
(home-page "https://pagure.io/libaio")
(synopsis "Linux-native asynchronous I/O access library")
(description
@@ -5810,7 +5861,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(define-public thinkfan
(package
(name "thinkfan")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
(method git-fetch)
@@ -5819,37 +5870,35 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1whdhf3aw0g4xwbn1csy2wz6g1hw5nlw64r91nnxba9qn25nl9k4"))))
+ (base32 "07l7cxbsyvy7awa1zk0zxng60749idvsx3535iginhkqxfzij4b9"))))
(build-system cmake-build-system)
(arguments
- `(#:modules ((guix build cmake-build-system)
+ (list
+ #:modules '((guix build cmake-build-system)
(guix build utils)
(srfi srfi-26))
- #:tests? #f ; no test target
- #:configure-flags
- ;; Enable reading temperatures from hard disks via S.M.A.R.T.
- ;; Upstream ‘defaults to OFF because libatasmart seems to be horribly
- ;; inefficient’.
- `("-DUSE_ATASMART:BOOL=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'create-init-scripts
- ;; CMakeLists.txt relies on build-time symptoms of OpenRC and
- ;; systemd to patch and install their service files. Fake their
- ;; presence rather than duplicating the build system below. Leave
- ;; things like ‘/bin/kill’ because they're not worth a dependency.
- ;; The sysvinit needs manual patching, but since upstream doesn't
- ;; even provide the option to install it: don't.
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (share (string-append out "/share/" ,name)))
- (substitute* "CMakeLists.txt"
- (("pkg_check_modules\\((OPENRC|SYSTEMD) .*" _ package)
- (format #f "option(~a_FOUND \"Faked\" ON)\n" package))
- ;; That was easy! Now we just need to fix the destinations.
- (("/etc" directory)
- (string-append out directory)))
- #t))))))
+ #:tests? #f ; no test target
+ #:configure-flags
+ ;; Enable reading temperatures from hard disks via S.M.A.R.T.
+ ;; Upstream ‘defaults to OFF because libatasmart seems to be horribly
+ ;; inefficient’.
+ #~(list "-DUSE_ATASMART:BOOL=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'create-init-scripts
+ ;; CMakeLists.txt relies on build-time symptoms of OpenRC and
+ ;; systemd to patch and install their service files. Fake their
+ ;; presence rather than duplicating the build system below. Leave
+ ;; things like ‘/bin/kill’ because they're not worth a dependency.
+ ;; The sysvinit needs manual patching, but since upstream doesn't
+ ;; even provide the option to install it: don't.
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("pkg_check_modules\\((OPENRC|SYSTEMD) .*" _ package)
+ (format #f "option(~a_FOUND \"Faked\" ON)\n" package))
+ ;; That was easy! Now we just need to fix the destinations.
+ (("/etc" directory)
+ (string-append #$output directory))))))))
(native-inputs
(list pkg-config))
(inputs
@@ -8299,7 +8348,7 @@ tools for managing PipeWire.")
(define-public ell
(package
(name "ell")
- (version "0.46")
+ (version "0.48")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8308,25 +8357,16 @@ tools for managing PipeWire.")
(file-name (git-file-name name version))
(sha256
(base32
- "15hwqicmll23cbrj13h3wd4lgrby416ap7l6w0434jsza4s4yv82"))))
+ "0lxjizby3zdyhzad5a0gbz4m2pp44jf1j4l1pn18d04rw9mr2gqy"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-dbus-tests
- (lambda _
- (substitute* '("unit/test-dbus-message-fds.c"
- "unit/test-dbus-properties.c"
- "unit/test-dbus.c")
- (("/usr/bin/dbus-daemon") (which "dbus-daemon")))
- #t)))))
+ ;; Tests launch dbus-daemon instances that all try to bind to
+ ;; "/tmp/ell-test-bus". Thus, we need to run them sequentially.
+ '(#:parallel-tests? #f))
(inputs
(list dbus))
(native-inputs
- `(("autoconf" ,autoconf)
- ("libtool" ,libtool)
- ("pkgconfig" ,pkg-config)
- ("automake" ,automake)))
+ (list autoconf automake libtool pkg-config))
(home-page "https://01.org/ell")
(synopsis "Embedded Linux Library")
(description "The Embedded Linux* Library (ELL) provides core, low-level
@@ -8458,7 +8498,7 @@ headers.")
(native-inputs
(list bison flex))
(inputs
- `(("clang-toolchain" ,clang-toolchain)
+ `(("clang-toolchain" ,clang-toolchain-9)
("libbpf" ,(package-source libbpf))
;; LibElf required but libelf does not contain
;; archives, only object files.
@@ -8538,7 +8578,7 @@ and above.")
(native-inputs
(list bison flex))
(inputs
- (list bcc clang-toolchain elfutils libbpf))
+ (list bcc clang-toolchain-9 elfutils libbpf))
(arguments
`(#:tests? #f ;Tests require googletest sources.
#:configure-flags