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.scm622
1 files changed, 379 insertions, 243 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 21bdb76f36..4e0b3ab2c4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2017, 2018, 2020, 2021 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>
+;;; Copyright © 2017, 2019, 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
@@ -52,6 +52,11 @@
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
+;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -142,10 +147,10 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages groff)
- #:use-module (gnu packages rsync)
#:use-module (gnu packages selinux)
#:use-module (gnu packages swig)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
@@ -546,14 +551,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
,@(if (version>=? version "4.16")
`(("flex" ,flex)
("bison" ,bison))
- '())
- ,@(if (version>=? version "5.3")
- `(("rsync" ,rsync))
'())))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
- (srfi srfi-1))
+ (srfi srfi-1)
+ (ice-9 match))
#:phases
(modify-phases %standard-phases
(delete 'configure)
@@ -564,32 +567,37 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(%current-system))))
(defconfig ,(system->defconfig
(or (%current-target-system)
- (%current-system)))))
+ (%current-system))))
+ (make-target ,(if (version>=? version "5.3")
+ "headers"
+ "headers_check")))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
(invoke "make" defconfig)
- (invoke "make" "mrproper" "headers_check"))))
+ (invoke "make" "mrproper" make-target))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (invoke "make"
- (string-append "INSTALL_HDR_PATH=" out)
- "headers_install")
+
+ ;; Mimic the quiet_cmd_headers_install target to avoid a
+ ;; dependency on rsync.
+ (for-each (lambda (file)
+ (let ((destination (string-append
+ out "/include/"
+ ;; Drop the 'usr/include' prefix.
+ (match (string-split file #\/)
+ ((_ _ path ...)
+ (string-join path "/"))))))
+ (format #t "`~a' -> `~a'~%" file destination)
+ (install-file file (dirname destination))))
+ (find-files "usr/include" "\\.h$"))
(mkdir (string-append out "/include/config"))
(call-with-output-file
(string-append out
"/include/config/kernel.release")
(lambda (p)
- (format p "~a-default~%" ,version)))
-
- ;; Remove the '.install' and '..install.cmd' files; the
- ;; latter contains store paths, which pulls in bootstrap
- ;; binaries in the build environment, and prevents bit
- ;; reproducibility for the bootstrap binaries.
- (for-each delete-file (find-files out "\\.install"))
-
- #t))))
+ (format p "~a-default~%" ,version)))))))
#:allowed-references ()
#:tests? #f))
(home-page "https://www.gnu.org/software/linux-libre/")
@@ -634,11 +642,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; 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.4.20
- (make-linux-libre-headers "5.4.20" "gnu"
- "1qxhf6dmcwjblzx8fgn6vr10p38xw10iwh6d1y1v1mxb25y30b47"))
+(define-public linux-libre-headers-5.10.35
+ (make-linux-libre-headers "5.10.35" "gnu"
+ "0q2rnchad55d49f3rajrkazz0fcjv1irwrdb1hwjnl01fzm2gjk3"))
-(define-public linux-libre-headers linux-libre-headers-5.4.20)
+(define-public linux-libre-headers linux-libre-headers-5.10.35)
;;;
@@ -1811,7 +1819,7 @@ providing the system administrator with some help in common tasks.")
(define-public util-linux
(package
(name "util-linux")
- (version "2.35.1")
+ (version "2.37.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
@@ -1819,7 +1827,7 @@ providing the system administrator with some help in common tasks.")
"util-linux-" version ".tar.xz"))
(sha256
(base32
- "1yfpy6bkab4jw61mpx48gfy24yrqp4a7arvpis8csrkk53fkxpnr"))
+ "0xkb7vw2040zi4m0sbhs5qn5l8nrq4xsf4sdxf3cy9mpachd8jwf"))
(patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils)))
(snippet
@@ -1837,7 +1845,10 @@ providing the system administrator with some help in common tasks.")
"static")) ;2.9 MiB static .a libraries
(arguments
`(#:configure-flags (list "--disable-use-tty-group"
- "--enable-fs-paths-default=/run/current-system/profile/sbin"
+ (string-append
+ "--enable-fs-paths-default="
+ "/run/setuid-programs"
+ ":/run/current-system/profile/sbin")
;; Don't try to chown root:root mount and umount
"--disable-makeinstall-chown"
"--localstatedir=/var"
@@ -1863,43 +1874,46 @@ providing the system administrator with some help in common tasks.")
;; libraries below $exec_prefix when $libdir does not
;; match any of the "usual" locations. Fix that.
(("usrlib_execdir='\\$\\{exec_prefix\\}'\\$libdir")
- "usrlib_execdir=$libdir"))
- #t))
+ "usrlib_execdir=$libdir"))))
(add-before 'build 'set-umount-file-name
(lambda* (#:key outputs #:allow-other-keys)
;; Tell 'eject' the right file name of 'umount'.
(let ((out (assoc-ref outputs "out")))
(substitute* "sys-utils/eject.c"
(("\"/bin/umount\"")
- (string-append "\"" out "/bin/umount\"")))
- #t)))
+ (string-append "\"" out "/bin/umount\""))))))
(add-before 'check 'pre-check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (net (assoc-ref inputs "net-base")))
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (let ((services (search-input-file (or native-inputs inputs)
+ "etc/services")))
;; Change the test to refer to the right file.
(substitute* "tests/ts/misc/mcookie"
(("/etc/services")
- (string-append net "/etc/services")))
+ services))
;; The C.UTF-8 locale does not exist in our libc.
(substitute* "tests/ts/column/invalid-multibyte"
- (("C\\.UTF-8") "en_US.utf8"))
- #t)))
- ;; TODO: Remove the conditional on the next rebuild cycle.
- ,@(if (string-prefix? "arm" (%current-system))
- '((add-before 'check 'disable-setarch-test
+ (("C\\.UTF-8") "en_US.utf8")))))
+ (add-before 'check 'disable-setarch-test
+ (lambda _
+ ;; The setarch tests are unreliable in QEMU's user-mode
+ ;; emulation, which is our primary method of building
+ ;; ARMv7 packages. See
+ ;; <https://github.com/karelzak/util-linux/issues/601>.
+ (substitute* "tests/ts/misc/setarch"
+ (("ts_init_subtest.*" all)
+ (string-append
+ all "\n"
+ "ts_skip \"setarch tests are unreliable under QEMU\"")))))
+ ,@(if (target-x86-32?)
+ `((add-before 'check 'disable-lsns-test
(lambda _
- ;; The setarch tests are unreliable in QEMU's
- ;; user-mode emulation, which is our primary
- ;; method of building ARMv7 packages.
- ;; <https://github.com/karelzak/util-linux/issues/601>
- (substitute* "tests/ts/misc/setarch"
- (("ts_init_subtest.*" all)
- (string-append
- all "\n"
- "ts_skip \"setarch tests are unreliable under QEMU\"")))
- #t)))
+ ;; The lsns tests can fail due to ioctl(_, NS_GET_USERNS)
+ ;; returning ENOTTY, indicating this kernel does not
+ ;; support user namespaces. Curiously, this test can fail
+ ;; on i686 even if the same test passes on x86_64 on the
+ ;; same machine. See <https://issues.guix.gnu.org/49933>.
+ (delete-file "tests/ts/lsns/ioctl_ns"))))
'())
(add-after 'install 'move-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
@@ -1919,9 +1933,7 @@ providing the system administrator with some help in common tasks.")
;; files so that Libtool does the right thing when both
;; the shared and static library is available.
(substitute* (find-files "lib" "\\.la$")
- (("old_library=.*") "old_library=''\n")))
-
- #t)))
+ (("old_library=.*") "old_library=''\n"))))))
(add-after 'install 'adjust-pkg-config-files
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
@@ -1929,18 +1941,14 @@ providing the system administrator with some help in common tasks.")
;; the pkg-config files to avoid a cyclic reference on "out".
(substitute* (find-files (string-append lib "/lib/pkgconfig")
"\\.pc$")
- (("^(exec_)?prefix=.*") "")))
- #t)))))
- (inputs `(("zlib" ,zlib)
- ("ncurses" ,ncurses)
-
- ;; XXX: This is so that the 'pre-check' phase can find it.
- ,@(if (%current-target-system)
- `(("net-base" ,net-base))
- '())))
+ (("^(exec_)?prefix=.*") ""))))))))
+ (inputs
+ (list file ;for libmagic
+ ncurses
+ zlib))
(native-inputs
- `(("perl" ,perl)
- ("net-base" ,net-base))) ;for tests
+ (list net-base ;for tests
+ perl))
(home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
(synopsis "Collection of utilities for the Linux kernel")
(description "Util-linux is a diverse collection of Linux kernel
@@ -2355,7 +2363,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
(define-public strace
(package
(name "strace")
- (version "5.8")
+ (version "5.13")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
@@ -2363,23 +2371,31 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
"/strace-" version ".tar.xz"))
(sha256
(base32
- "1abs3svkg9985f4jrxx34sj1dcpsf95vv1a0g01c777zgygncjnz"))))
+ "0mmns22bjjvakxj29si0x4dcylcgy26llpcimkb0llcxif439k2s"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-/bin/sh
(lambda _
- (substitute* "strace.c"
+ (substitute* "src/strace.c"
(("/bin/sh") (which "sh")))
#t))
(add-after 'unpack 'disable-failing-tests
(lambda _
- ;; XXX These hang forever even if the test time-out is extended.
(substitute* "tests/Makefile.in"
- (("^\tstrace-DD?D?\\.test \\\\.*") ""))
+ ;; XXX: This test fails because an extra readlink call is made
+ ;; by the glibc when using the ld.so cache.
+ (("readlink.gen.test[^:]") " ")
+
+ ;; XXX: These hang forever even if the test time-out is
+ ;; extended.
+ (("^\tstrace-DD?D?\\.test \\\\.*") "")
+ (("^\tpidns-cache.test \\\\.*") "")
+ (("^\t.*--pidns-translation.test \\\\.*") ""))
#t)))
- ;; Don't fail if the architecture doesn't support different personalities.
+ ;; Don't fail if the architecture doesn't support different
+ ;; personalities.
#:configure-flags '("--enable-mpers=check")
;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32459>.
#:parallel-tests? #f)) ; undeterministic failures
@@ -2414,24 +2430,96 @@ an executed process and the signals received by that process. It can also
intercept and print the system calls executed by the program.")
(license license:gpl2+)))
+(define-public alsa-ucm-conf
+ (package
+ (name "alsa-ucm-conf")
+ (version "1.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.alsa-project.org/pub/lib/" name "-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "0h6kzi1cfdqyxp4pwpqh5wb89c8s9wrgix315bvamffwfxf56frc"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan
+ '(("ucm" "share/alsa/ucm")
+ ("ucm2" "share/alsa/ucm2"))))
+ (home-page "https://www.alsa-project.org/wiki/Main_Page")
+ (synopsis "The Advanced Linux Sound Architecture Use Case Manager")
+ (description
+ "This package contains Advanced Linux Sound Architecture Use Case Manager
+configuration of audio input/output names and routing for specific audio
+hardware.")
+ (license license:bsd-3)))
+
+(define-public alsa-topology-conf
+ (package
+ (name "alsa-topology-conf")
+ (version "1.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.alsa-project.org/pub/lib/" name "-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "01zdg6q4s6d01k39z96wi4vbhrfw1i2g4yi5dijwfk6a5vjfdq2m"))))
+ (build-system copy-build-system)
+ (arguments
+ '(#:install-plan
+ '(("topology" "share/alsa/topology"))))
+ (home-page "https://www.alsa-project.org/wiki/Main_Page")
+ (synopsis "The Advanced Linux Sound Architecture libraries")
+ (description
+ "This package contains Advanced Linux Sound Architecture topology
+configuration files that can be used for specific audio hardware.")
+ (license license:bsd-3)))
+
(define-public alsa-lib
(package
(name "alsa-lib")
(version "1.2.4")
(source (origin
- (method url-fetch)
- (uri (string-append
- "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-"
- version ".tar.bz2"))
- (sha256
- (base32
- "1xq8d48wfy59qw4x7383j32n8j5njndw5hcgnmlg9pvclphlnmgp"))))
+ (method url-fetch)
+ (uri (string-append
+ "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1xq8d48wfy59qw4x7383j32n8j5njndw5hcgnmlg9pvclphlnmgp"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
- "/lib"))))
- (home-page "https://www.alsa-project.org/")
+ "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'pre-install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((ucm
+ (string-append (assoc-ref inputs "alsa-ucm-conf")))
+ (topology
+ (string-append (assoc-ref inputs "alsa-topology-conf")))
+ (alsa
+ (string-append (assoc-ref outputs "out") "/share/alsa"))
+ (ucm-share
+ (string-append ucm "/share/alsa/ucm"))
+ (ucm2-share
+ (string-append ucm "/share/alsa/ucm2"))
+ (topology-share
+ (string-append topology "/share/alsa/topology")))
+ (mkdir-p alsa)
+ (symlink ucm-share (string-append alsa "/ucm"))
+ (symlink ucm2-share (string-append alsa "/ucm2"))
+ (symlink topology-share (string-append alsa "/topology")))
+ #t)))))
+ (inputs
+ `(("alsa-ucm-conf" ,alsa-ucm-conf)
+ ("alsa-topology-conf" ,alsa-topology-conf)))
+ (home-page "https://www.alsa-project.org/wiki/Main_Page")
(synopsis "The Advanced Linux Sound Architecture libraries")
(description
"The Advanced Linux Sound Architecture (ALSA) provides audio and
@@ -2843,10 +2931,10 @@ network hardware types (plipconfig, slattach) and advanced aspects of IP
configuration (iptunnel, ipmaddr).")
(license license:gpl2+))))
-(define-public libcap-2.31
+(define-public libcap
(package
(name "libcap")
- (version "2.31")
+ (version "2.51")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2854,23 +2942,34 @@ configuration (iptunnel, ipmaddr).")
"libcap2/libcap-" version ".tar.xz"))
(sha256
(base32
- "0ikwm0kngrqa4ci80lqnrkk17kg09q7dxrz28y0gm5qw3vj8s266"))))
+ "1ych13qc1mvzv8iscbims5b317vxcmy5ffpmfy98zk7bgamz62b6"))))
(build-system gnu-build-system)
- (arguments '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- ;; Add $libdir to the RUNPATH of executables.
- (lambda _
- (substitute* "Make.Rules"
- (("LDFLAGS := #-g")
- (string-append "LDFLAGS := -Wl,-rpath="
- %output "/lib")))
- #t)))
+ (arguments `(#:phases
+ ,#~(modify-phases %standard-phases
+ (replace 'configure
+ ;; Add $libdir to the RUNPATH of executables.
+ (lambda _
+ (substitute* "Make.Rules"
+ (("LDFLAGS \\?= #-g")
+ (string-append "LDFLAGS ?= -Wl,-rpath="
+ ;; TODO(core-updates): Use #$output
+ ;; unconditionally.
+ #$(if (%current-target-system)
+ #~#$output
+ '%output)
+ "/lib"))))))
#:test-target "test"
- #:make-flags (list "lib=lib"
- (string-append "prefix="
- (assoc-ref %outputs "out"))
- "RAISE_SETFCAP=no")))
+ #:make-flags
+ (list "lib=lib"
+ (string-append "prefix=" (assoc-ref %outputs "out"))
+ "RAISE_SETFCAP=no"
+ ;; Tell the makefile to use TARGET-gcc and friends
+ ;; when cross-compiling.
+ ,@(if (%current-target-system)
+ `(,(string-append "CROSS_COMPILE="
+ (%current-target-system) "-")
+ "BUILD_CC=gcc")
+ '()))))
(native-inputs `(("perl" ,perl)))
(supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://sites.google.com/site/fullycapable/")
@@ -2882,37 +2981,6 @@ Linux-based operating systems.")
;; License is BSD-3 or GPLv2, at the user's choice.
(license license:gpl2)))
-;; libcap 2.31 has problems with newer kernels, so provide this newer variant.
-;; Keep the old libcap around to avoid rebuilding 'coreutils' and 'avahi'.
-;; To be merged with libcap on the next rebuild cycle.
-(define-public libcap
- (package
- (inherit libcap-2.31)
- (version "2.45")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kernel.org/linux/libs/security/linux-privs/"
- "libcap2/libcap-" version ".tar.xz"))
- (sha256
- (base32
- "11ijmi7jik9iw6pdszc6bylhggghr8cza03bcrbhbqf0cpvkjrnn"))))
- (arguments
- (substitute-keyword-arguments (package-arguments libcap-2.31)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'configure
- (lambda _
- ;; Add $libdir to the RUNPATH of executables.
- (substitute* "Make.Rules"
- (("LDFLAGS \\?= #-g")
- (string-append "LDFLAGS ?= -Wl,-rpath="
- %output "/lib")))
- #t))))))))
-
-(define-deprecated libcap/next libcap)
-(export libcap/next)
-
(define-public bridge-utils
(package
(name "bridge-utils")
@@ -3214,11 +3282,12 @@ processes currently causing I/O.")
;; it refers to the right ones.
(substitute* '("lib/mount_util.c" "util/mount_util.c")
(("/bin/(u?)mount" _ maybe-u)
- (string-append (assoc-ref inputs "util-linux")
- "/bin/" maybe-u "mount")))
- (substitute* "util/mount.fuse.c"
- (("/bin/sh" command)
- (string-append (assoc-ref inputs "bash-minimal") command)))
+ (search-input-file inputs
+ (string-append "bin/"
+ maybe-u "mount"))))
+ (substitute* '("util/mount.fuse.c")
+ (("/bin/sh")
+ (search-input-file inputs "/bin/sh")))
;; This hack leads libfuse to search for 'fusermount' in
;; $PATH, where it may find a setuid-root binary, instead of
@@ -3240,6 +3309,66 @@ user-space processes.")
(license (list license:lgpl2.1 ;library
license:gpl2+)))) ;command-line utilities
+(define-public fuse-3
+ (package
+ (inherit fuse)
+ (name "fuse")
+ (version "3.10.5")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/libfuse/libfuse/releases/"
+ "download/fuse-" version
+ "/fuse-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags
+ ,#~(list
+ (string-append "-Dudevrulesdir=" #$output "/udev/rules.d")
+ "-Duseroot=false")
+ #:tests? #f
+ #:phases
+ ,#~(modify-phases %standard-phases
+ (add-after 'unpack 'set-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; libfuse calls out to mount(8) and umount(8). Make sure
+ ;; it refers to the right ones.
+ (substitute* '("lib/mount_util.c")
+ (("/bin/(u?)mount" _ maybe-u)
+ (search-input-file inputs
+ (string-append "bin/"
+ maybe-u "mount"))))
+ (substitute* '("util/mount.fuse.c")
+ (("/bin/sh")
+ (search-input-file inputs "/bin/sh")))
+
+ ;; This hack leads libfuse to search for 'fusermount' in
+ ;; $PATH, where it may find a setuid-root binary, instead of
+ ;; trying solely $out/sbin/fusermount and failing because
+ ;; it's not setuid.
+ (substitute* "lib/meson.build"
+ (("-DFUSERMOUNT_DIR=[[:graph:]]+")
+ "-DFUSERMOUNT_DIR=\"/var/empty\"'"))))
+ (add-after 'unpack 'fix-install
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("util/meson.build")
+ (("install_helper.sh") "true"))
+ (substitute* '("util/meson.build")
+ (("fuseconf_path = .*")
+ "fuseconf_path = '/etc/fuse.conf'"))))
+ (add-before 'configure 'set-paths
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((dummy-init.d
+ (string-append (getcwd) "/etc/init.d")))
+ (setenv "MOUNT_FUSE_PATH"
+ (string-append #$output "/sbin"))
+ (setenv "UDEV_RULES_PATH"
+ (string-append #$output
+ "/lib/udev/rules.d"))))))))))
+
(define-public unionfs-fuse
(package
(name "unionfs-fuse")
@@ -3580,7 +3709,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
(define-public kmod
(package
(name "kmod")
- (version "27")
+ (version "29")
(source (origin
(method url-fetch)
(uri
@@ -3588,16 +3717,19 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
"kmod-" version ".tar.xz"))
(sha256
(base32
- "035wzfzjx4nwidk747p8n085mgkvy531ppn16krrajx2dkqzply1"))
+ "0am54mi5rk72g5q7k6l6f36gw3r9vwgjmyna43ywcjhqmakyx00b"))
(patches (search-patches "kmod-module-directory.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ;; For tests.
+ ("zstd" ,zstd)))
(inputs
`(("xz" ,xz)
- ("zlib" ,zlib)))
+ ("zlib" ,zlib)
+ ("zstd-lib" ,zstd "lib")))
(arguments
- `(#:configure-flags '("--with-xz" "--with-zlib"
+ `(#:configure-flags '("--with-xz" "--with-zlib" "--with-zstd"
"--disable-test-modules")
#:phases
(modify-phases %standard-phases
@@ -4302,27 +4434,28 @@ country-specific regulations for the wireless spectrum.")
(substitute* '("prog/pwm/pwmconfig"
"prog/pwm/fancontrol")
(("gnuplot")
- (string-append (assoc-ref inputs "gnuplot")
- "/bin/gnuplot"))
+ (search-input-file inputs "/bin/gnuplot"))
(("cat ")
- (string-append (assoc-ref inputs "coreutils")
- "/bin/cat "))
+ (string-append (search-input-file inputs "/bin/cat")
+ " "))
(("e?grep " match)
- (string-append (assoc-ref inputs "grep")
- "/bin/" match))
+ (string-append (search-input-file inputs
+ (string-append
+ "/bin/"
+ (string-trim-right match)))
+ " "))
(("sed -e")
- (string-append (assoc-ref inputs "sed")
- "/bin/sed -e"))
+ (string-append (search-input-file inputs "/bin/sed")
+ " -e"))
(("cut -d")
- (string-append (assoc-ref inputs "coreutils")
- "/bin/cut -d"))
+ (string-append (search-input-file inputs "/bin/cut")
+ " -d"))
(("sleep ")
- (string-append (assoc-ref inputs "coreutils")
- "/bin/sleep "))
+ (string-append (search-input-file inputs "/bin/sleep")
+ " "))
(("readlink -f")
- (string-append (assoc-ref inputs "coreutils")
- "/bin/readlink -f")))
- #t)))))
+ (string-append (search-input-file inputs "/bin/readlink")
+ " -f"))))))))
(home-page "https://hwmon.wiki.kernel.org/lm_sensors")
(synopsis "Utilities to read temperature/voltage/fan sensors")
(description
@@ -5210,7 +5343,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
(("hid2hci --method")
(string-append out "/lib/udev/hid2hci --method"))
(("/sbin/udevadm")
- (string-append (assoc-ref inputs "eudev") "/bin/udevadm")))
+ (search-input-file inputs "/bin/udevadm")))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -5532,7 +5665,8 @@ obviously it can be shared with files outside our set).")
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:configure-flags '("CFLAGS=-fcommon")
+ #:phases
(modify-phases %standard-phases
(add-after 'install 'install-headers
(lambda* (#:key outputs #:allow-other-keys)
@@ -5911,6 +6045,7 @@ invocations of itself.")
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
'(#:configure-flags (list "--disable-static"
+ "--disable-ldconfig" ;not necessary
"--exec-prefix=${prefix}"
"--with-fuse=external" ;use our own FUSE
"--enable-mount-helper"
@@ -6674,7 +6809,8 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat},
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:configure-flags '("CFLAGS=-fcommon")
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-udev-rules-absolute-path-bins
(lambda* (#:key inputs #:allow-other-keys)
@@ -7310,6 +7446,11 @@ libraries, which are often integrated directly into libfabric.")
(arguments
'(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR="
,(string-append "INSTALL_PREFIX=" %output)
+ ,(string-append "CFLAGS=-Wall -fpic -fPIC -D_GNU_SOURCE"
+ " -funwind-tables -O3 -g3"
+ " -DPSM_USE_SYS_UUID"
+ " -Wno-strict-aliasing -DNVALGRIND"
+ " -fcommon")
,(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:tests? #f
#:phases (modify-phases %standard-phases
@@ -7825,94 +7966,90 @@ the superuser to make device nodes.")
(license license:gpl2)))
(define-public fakeroot
- (package
- (name "fakeroot")
- (version "1.25.3")
- (source (origin
- ;; There are no tags in the repository, so take this snapshot.
- (method url-fetch)
- (uri (string-append "https://deb.debian.org/debian/pool/main/f/"
- "fakeroot/fakeroot_" version ".orig.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0v4m3v1bdqvblwj3vqsb3mllgbci6dsgsydq6765nzvz6n1kd44f"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'bootstrap
- (lambda _
- ;; The "preroll" script takes care of Autoconf and also
- ;; prepares the translated manuals.
- (invoke "sh" "./preroll")))
- (add-after 'configure 'patch-Makefile
- (lambda _
- ;; Note: The root of the problem is already in "Makefile.am".
- (substitute* "Makefile"
- (("/bin/sh") (which "sh")))
- #t))
- (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"))
- (("sed")
- (string-append (assoc-ref inputs "sed")
- "/bin/sed"))
- (("cut")
- (string-append (assoc-ref inputs "coreutils")
- "/bin/cut")) )
- #t))
- (add-before 'configure 'setenv
- (lambda _
- (setenv "LIBS" "-lacl")
- #t))
- (add-before 'check 'prepare-check
- (lambda _
- (setenv "SHELL" (which "bash"))
- (setenv "VERBOSE" "1")
- (substitute* "test/t.touchinstall"
- ;; We don't have the name of the root user, so use ID=0.
- (("grep root") "grep \"\\<0\\>\""))
- (substitute* "test/tartest"
- ;; We don't have the name of the root group, so use ID=0.
- (("ROOTGROUP=root") "ROOTGROUP=0")
- ;; We don't have the name of the daemon user, so use IDs.
- (("daemon:sys") "1:3")
- (("daemon:") "1:"))
- ;; We don't have an /etc/passwd entry for "root" - use numeric IDs.
- (substitute* "test/compare-tar"
- (("tar -tvf") "tar --numeric-owner -tvf"))
- #t)))))
- (native-inputs
- `(;; For bootstrapping the package.
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("gettext" ,gettext-minimal)
- ("po4a" ,po4a)
-
- ;; For tests.
- ("sharutils" ,sharutils)
- ("xz" ,xz)))
- (inputs
- `(("acl" ,acl)
- ("libcap" ,libcap)
- ("util-linux" ,util-linux)
- ("sed" ,sed)
- ("coreutils" ,coreutils)))
- (synopsis "Provides a fake root environment")
- (description "@command{fakeroot} runs a command in an environment where
+ ;; glibc-2.33 compatibility was added since the last release.
+ (let ((commit "24d6b0857396cad87b2cabd32fb8af9ef4799915")
+ (revision "1"))
+ (package
+ (name "fakeroot")
+ (version (git-version "1.25.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/clint/fakeroot.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rg9m30k6v930cmj16qwk1k2vn1l2irxj7r3pp3k1i1sdhfkm3df"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ ;; The "preroll" script takes care of Autoconf and also
+ ;; prepares the translated manuals.
+ (invoke "sh" "./preroll")))
+ (add-after 'configure 'patch-Makefile
+ (lambda _
+ ;; Note: The root of the problem is already in "Makefile.am".
+ (substitute* "Makefile"
+ (("/bin/sh") (which "sh")))))
+ (add-after 'unpack 'patch-script
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "scripts/fakeroot.in"
+ (("getopt")
+ (search-input-file inputs "/bin/getopt"))
+ (("sed")
+ (search-input-file inputs "/bin/sed"))
+ (("cut")
+ (search-input-file inputs "/bin/cut")) )))
+ (add-before 'configure 'setenv
+ (lambda _
+ (setenv "LIBS" "-lacl")))
+ (add-before 'check 'prepare-check
+ (lambda _
+ (setenv "SHELL" (which "bash"))
+ (setenv "VERBOSE" "1")
+ (substitute* "test/t.touchinstall"
+ ;; We don't have the name of the root user, so use ID=0.
+ (("grep root") "grep \"\\<0\\>\""))
+ (substitute* "test/tartest"
+ ;; We don't have the name of the root group, so use ID=0.
+ (("ROOTGROUP=root") "ROOTGROUP=0")
+ ;; We don't have the name of the daemon user, so use IDs.
+ (("daemon:sys") "1:3")
+ (("daemon:") "1:"))
+ ;; We don't have an /etc/passwd entry for "root" - use numeric IDs.
+ (substitute* "test/compare-tar"
+ (("tar -tvf") "tar --numeric-owner -tvf")))))))
+ (native-inputs
+ `(;; For bootstrapping the package.
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("gettext" ,gettext-minimal)
+ ("po4a" ,po4a)
+
+ ;; For tests.
+ ("sharutils" ,sharutils)
+ ("xz" ,xz)))
+ (inputs
+ `(("acl" ,acl)
+ ("libcap" ,libcap)
+ ("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
for allowing users to create archives (tar, ar, .deb etc.) with files in
them with root permissions/ownership. Without fakeroot one would have to
have root privileges to create the constituent files of the archives with
the correct permissions and ownership, and then pack them up, or one would
have to construct the archives directly, without using the archiver.")
- (home-page "http://freshmeat.sourceforge.net/projects/fakeroot")
- (license license:gpl3+)))
+ (home-page "http://freshmeat.sourceforge.net/projects/fakeroot")
+ (license license:gpl3+))))
(define-public fakechroot
(package
@@ -7965,10 +8102,8 @@ set as @code{LD_PRELOAD} to override the C library file system functions.")
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "inputattach"
- (invoke (string-append (assoc-ref inputs "gcc")
- "/bin/gcc")
- "-O2" "-o" "inputattach" "inputattach.c"))
- #t))
+ (invoke "gcc" "-O2" "-o" "inputattach"
+ "inputattach.c"))))
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@@ -7998,7 +8133,8 @@ types and interfaces and translates so that the X server can use them.")
(file-name (git-file-name name version))
(sha256
(base32
- "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))))
+ "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))
+ (patches (search-patches "pipewire-0.2.7-fno-common.patch"))))
(build-system meson-build-system)
(arguments
'(#:configure-flags '("-Dsystemd=false")))
@@ -8287,7 +8423,7 @@ headers.")
(lambda (python-executable)
(format #t "Wrapping: ~A.~%" python-executable)
(wrap-program python-executable
- `("PYTHONPATH" ":" prefix
+ `("GUIX_PYTHONPATH" ":" prefix
(,(string-append lib
"/python"
,(version-major+minor