diff options
author | Marius Bakke <marius@gnu.org> | 2022-02-13 14:24:53 +0100 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2022-02-13 14:24:53 +0100 |
commit | 76b6bbdf232b4b82cdd23cfe0d81331a4fd2edec (patch) | |
tree | 0e6a57ba08b9c6f9f5cbcdc5b5d9daeea91e428d /gnu/packages/linux.scm | |
parent | 1a5302435ff0d2822b823f5a6fe01faa7a85c629 (diff) | |
parent | e8af2ea63a7f497b8f8e19e206645109c0646e72 (diff) | |
download | guix-76b6bbdf232b4b82cdd23cfe0d81331a4fd2edec.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 308 |
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 <ludo@gnu.org> +;;; Copyright © 2012-2021, 2021-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> @@ -11,7 +11,7 @@ ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2016, 2018–2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2018-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> @@ -19,7 +19,7 @@ ;;; 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, 2020, 2021 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017, 2018, 2020, 2021, 2022 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, 2021 Mathieu Othacehe <othacehe@gnu.org> @@ -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 |