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.scm581
1 files changed, 375 insertions, 206 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8277780181..3aec03a3ec 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -34,7 +34,7 @@
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
-;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019-2022 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
@@ -42,7 +42,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
@@ -95,6 +95,7 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages apparmor)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
@@ -486,7 +487,22 @@ 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.
-(define-public linux-libre-6.3-version "6.3.12")
+(define-public linux-libre-6.4-version "6.4.3")
+(define-public linux-libre-6.4-gnu-revision "gnu")
+(define deblob-scripts-6.4
+ (linux-libre-deblob-scripts
+ linux-libre-6.4-version
+ linux-libre-6.4-gnu-revision
+ (base32 "1hfircard99kmf81416xnln0chs6hskpjqz0p55ic8alm4rdlljs")
+ (base32 "1566506bmci15i80y0l0s93dgpgima0lqfmkg5ql7gd671aawkra")))
+(define-public linux-libre-6.4-pristine-source
+ (let ((version linux-libre-6.4-version)
+ (hash (base32 "18c8ikghvlr6h9jajy11dldck4h57wl301j14rxg7xhd6qlysd3i")))
+ (make-linux-libre-source version
+ (%upstream-linux-source version hash)
+ deblob-scripts-6.4)))
+
+(define-public linux-libre-6.3-version "6.3.13")
(define-public linux-libre-6.3-gnu-revision "gnu")
(define deblob-scripts-6.3
(linux-libre-deblob-scripts
@@ -496,7 +512,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1i6vyakvqgmr3lcmr0aj8n7lbcksrp4d0rm1sz7cz64hwbsr67pq")))
(define-public linux-libre-6.3-pristine-source
(let ((version linux-libre-6.3-version)
- (hash (base32 "1mvcirkhqnf03cci3jiq077fs9b42a3xdk3zjkpyim3x43ydwzyb")))
+ (hash (base32 "1ywijjhf19bciip75ppzjjh7bkadd449jr64yg2j5049w9h0aipa")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.3)))
@@ -622,26 +638,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(patches (append (origin-patches source)
patches))))
+(define-public linux-libre-6.4-source
+ (source-with-patches linux-libre-6.4-pristine-source
+ (list %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ (search-patch
+ "linux-libre-wireguard-postup-privkey.patch"))))
+
(define-public linux-libre-6.3-source
(source-with-patches linux-libre-6.3-pristine-source
(list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch)))
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ (search-patch
+ "linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-6.1-source
(source-with-patches linux-libre-6.1-pristine-source
- (list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch
- (search-patch "linux-libre-infodocs-target.patch"))))
+ (append
+ (list %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch)
+ (search-patches
+ "linux-libre-infodocs-target.patch"
+ "linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-5.15-source
(source-with-patches linux-libre-5.15-pristine-source
(list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch)))
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ (search-patch
+ "linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-5.10-source
(source-with-patches linux-libre-5.10-pristine-source
(list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch)))
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ (search-patch
+ "linux-libre-wireguard-postup-privkey.patch"))))
(define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source
@@ -738,6 +770,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-6.4
+ (make-linux-libre-headers* linux-libre-6.4-version
+ linux-libre-6.4-gnu-revision
+ linux-libre-6.4-source))
+
(define-public linux-libre-headers-6.3
(make-linux-libre-headers* linux-libre-6.3-version
linux-libre-6.3-gnu-revision
@@ -1081,6 +1118,14 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
;;; Generic kernel packages.
;;;
+(define-public linux-libre-6.4
+ (make-linux-libre* linux-libre-6.4-version
+ linux-libre-6.4-gnu-revision
+ linux-libre-6.4-source
+ '("x86_64-linux" "i686-linux" "armhf-linux"
+ "aarch64-linux" "powerpc64le-linux" "riscv64-linux")
+ #:configuration-file kernel-config))
+
(define-public linux-libre-6.3
(make-linux-libre* linux-libre-6.3-version
linux-libre-6.3-gnu-revision
@@ -1246,7 +1291,9 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
#:extra-version "arm64-generic"
#:extra-options
(append
- `(;; needed to fix the RTC on rockchip platforms
+ `(;; Provide support for ath9k wireless
+ ("CONFIG_ATH9K_HTC" . m)
+ ;; needed to fix the RTC on rockchip platforms
("CONFIG_RTC_DRV_RK808" . #t)
;; Pinebook display, battery, charger and usb
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
@@ -2262,7 +2309,7 @@ by Robert Shea and Robert Anton Wilson.")
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ;no test suite
- (inputs (list fuse mbedtls-apache))
+ (inputs (list fuse-2 mbedtls-apache))
(synopsis "FUSE driver to read/write Windows BitLocker drives")
(description
"This package provides means to to read BitLocker encrypted
@@ -2356,7 +2403,14 @@ parameters.")
(let* ((out #$output)
(dup (append-map (cut find-files out <>)
'("^kill" "^uptime"))))
- (for-each delete-file dup)))))))
+ (for-each delete-file dup))))
+ #$@(if (system-hurd?)
+ #~((add-after 'unpack 'skip-tests
+ (lambda _
+ (substitute* "library/tests/test_version.c"
+ (("^int main\\(.*" all)
+ (string-append all "{\n exit (77);//"))))))
+ #~()))))
(inputs (list ncurses))
(native-inputs (list pkg-config))
(home-page "https://gitlab.com/procps-ng/procps/")
@@ -2464,7 +2518,7 @@ module.")
perl
procps))
(arguments
- '(;; util-linux is the preferred source for some of the libraries and
+ `(;; util-linux is the preferred source for some of the libraries and
;; commands, so disable them (see, e.g.,
;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b33633>.)
#:configure-flags (list "--disable-libblkid"
@@ -2511,7 +2565,77 @@ module.")
(let ((archives (find-files lib "\\.a$")))
(for-each (lambda (file)
(chmod file #o666))
- archives))))))))
+ archives)))))
+ ,@(if (system-hurd?)
+ '((add-after 'unpack 'skip-tests
+ (lambda _
+ (with-directory-excursion "tests"
+ (for-each
+ (lambda (directory)
+ (delete-file-recursively directory))
+ '("d_bad_ostype"
+ "f_detect_junk"
+ "f_extent_oobounds"
+ "j_ext_long_revoke_trans"
+ "j_ext_long_trans"
+ "j_long_revoke_trans"
+ "j_long_revoke_trans_mcsum_32bit"
+ "j_long_revoke_trans_mcsum_64bit"
+ "j_long_trans"
+ "j_long_trans_mcsum_32bit"
+ "j_long_trans_mcsum_64bit"
+ "j_short_revoke_trans"
+ "j_short_revoke_trans_mcsum_64bit"
+ "j_short_trans_64bit"
+ "j_short_trans"
+ "j_short_trans_mcsum_64bit"
+ "j_short_trans_old_csum"
+ "j_short_trans_open_recover"
+ "j_short_trans_recover"
+ "j_short_trans_recover_mcsum_64bit"
+ "j_short_uncommitted_trans"
+ "j_short_uncommitted_trans_mcsum_64bit"
+ "m_error_behavior"
+ "m_minrootdir"
+ "m_rootdir"
+ "r_32to64bit_expand_full"
+ "r_expand_full"
+ "r_fixup_lastbg_big"
+ "t_change_uuid"
+ "t_change_uuid_mcsum"
+ "t_change_uuid_mcsum_mounted"
+ "t_change_uuid_mcsum_seed_mounted"
+ "t_change_uuid_mounted"
+ "t_disable_changed_csum_seed"
+ "t_disable_changed_csum_seed_mounted"
+ "t_disable_csum_seed"
+ "t_disable_meta_csum_and_seed"
+ "t_enable_csum_seed"
+ "t_format_csum_seed"
+ "t_replay_and_set"
+ "u_compound_rollback"
+ "u_corrupt_blk_csum"
+ "u_corrupt_blk_csum_force"
+ "u_corrupt_key_csum"
+ "u_debugfs_opt"
+ "u_dryrun"
+ "u_e2fsck_opt"
+ "u_errorout"
+ "u_force"
+ "u_force_dryrun"
+ "u_incomplete"
+ "u_mke2fs_opt"
+ "u_mke2fs_opt_oddsize"
+ "u_offset"
+ "u_onefile_bad"
+ "u_resize2fs_opt"
+ "u_revert_64bitmcsum_onefile"
+ "u_revert_all_onefile"
+ "u_revert_upgrade_to_64bitmcsum"
+ "u_tune2fs_opt"
+ "u_undo_undo"
+ "u_wrong_fs"))))))
+ '()))))
(home-page "https://e2fsprogs.sourceforge.net/")
(synopsis "Creating and checking ext2/ext3/ext4 file systems")
(description
@@ -3476,6 +3600,7 @@ settings.")
(source (origin
(method url-fetch)
(uri (string-append
+ "https://web.archive.org/web/20211201184543/"
"http://www.jpj.net/~trevor/aumix/releases/aumix-"
version ".tar.bz2"))
(sha256
@@ -3486,7 +3611,8 @@ settings.")
;; Allow compilation with GCC 10.
'(#:configure-flags '("CFLAGS=-O2 -g -fcommon")))
(inputs (list ncurses))
- (home-page "http://www.jpj.net/~trevor/aumix.html")
+ (home-page (string-append "https://web.archive.org/web/20211201184543/"
+ "http://jpj.net/~trevor/aumix.html"))
(synopsis "Audio mixer for X and the console")
(description
"Aumix adjusts an audio mixer from X, the console, a terminal,
@@ -3569,77 +3695,6 @@ or kill them altogether.")
(define-public fuse
(package
(name "fuse")
- (version "2.9.9")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/libfuse/libfuse/releases/"
- "download/fuse-" version
- "/fuse-" version ".tar.gz"))
- (sha256
- (base32
- "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
- (patches (search-patches "fuse-overlapping-headers.patch"
- "fuse-glibc-2.34.patch"))))
- (build-system gnu-build-system)
- (native-inputs
- (list autoconf automake gettext-minimal libtool))
- (inputs
- (list bash-minimal util-linux))
- (arguments
- '(#:configure-flags (list (string-append "MOUNT_FUSE_PATH="
- (assoc-ref %outputs "out")
- "/sbin")
- (string-append "INIT_D_PATH="
- (assoc-ref %outputs "out")
- "/etc/init.d")
-
- ;; The rule makes /dev/fuse 666.
- (string-append "UDEV_RULES_PATH="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'bootstrap 'force-bootstrap
- (lambda _
- ;; Force a bootstrap to make the patch changes effective.
- (delete-file "configure")))
- (add-before 'build '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" "util/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/Makefile"
- (("-DFUSERMOUNT_DIR=[[:graph:]]+")
- "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))
- (supported-systems (delete "i586-gnu" %supported-systems))
- (home-page "https://github.com/libfuse/libfuse")
- (synopsis "Support file systems implemented in user space")
- (description
- "As a consequence of its monolithic design, file system code for Linux
-normally goes into the kernel itself---which is not only a robustness issue,
-but also an impediment to system extensibility. FUSE, for \"file systems in
-user space\", is a kernel module and user-space library that tries to address
-part of this problem by allowing users to run file system implementations as
-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)
@@ -3651,6 +3706,8 @@ user-space processes.")
(base32
"0rlnnsiw614qcmgy8xz67044gqc1pbvvf2yxjv44lh27bm487qmj"))))
(build-system meson-build-system)
+ (inputs
+ (list bash-minimal util-linux))
(arguments
`(#:configure-flags
,#~(list
@@ -3683,7 +3740,7 @@ user-space processes.")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("util/meson.build")
(("install_helper.sh") "true"))
- (substitute* '("util/meson.build")
+ (substitute* '("util/meson.build")
(("fuseconf_path = .*")
"fuseconf_path = '/etc/fuse.conf'"))))
(add-before 'configure 'set-paths
@@ -3694,12 +3751,82 @@ user-space processes.")
(string-append #$output "/sbin"))
(setenv "UDEV_RULES_PATH"
(string-append #$output
- "/lib/udev/rules.d"))))))))))
+ "/lib/udev/rules.d"))))))))
+ (supported-systems (delete "i586-gnu" %supported-systems))
+ (home-page "https://github.com/libfuse/libfuse")
+ (synopsis "Support file systems implemented in user space")
+ (description
+ "As a consequence of its monolithic design, file system code for Linux
+normally goes into the kernel itself---which is not only a robustness issue,
+but also an impediment to system extensibility. FUSE, for \"file systems in
+user space\", is a kernel module and user-space library that tries to address
+part of this problem by allowing users to run file system implementations as
+user-space processes.")
+ (license (list license:lgpl2.1 ; library
+ license:gpl2+)))) ; command-line utilities
+
+(define-public fuse-2
+ (package
+ (inherit fuse)
+ (name "fuse")
+ (version "2.9.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libfuse/libfuse/releases/"
+ "download/fuse-" version
+ "/fuse-" version ".tar.gz"))
+ (sha256
+ (base32 "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh"))
+ (patches (search-patches "fuse-overlapping-headers.patch"
+ "fuse-glibc-2.34.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake gettext-minimal libtool))
+ (arguments
+ '(#:tests? #t
+ #:configure-flags (list (string-append "MOUNT_FUSE_PATH="
+ (assoc-ref %outputs "out")
+ "/sbin")
+ (string-append "INIT_D_PATH="
+ (assoc-ref %outputs "out")
+ "/etc/init.d")
+
+ ;; The rule makes /dev/fuse 666.
+ (string-append "UDEV_RULES_PATH="
+ (assoc-ref %outputs "out")
+ "/lib/udev/rules.d"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'force-bootstrap
+ (lambda _
+ ;; Force a bootstrap to make the patch changes effective.
+ (delete-file "configure")))
+ (add-before 'build '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" "util/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/Makefile"
+ (("-DFUSERMOUNT_DIR=[[:graph:]]+")
+ "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))))
(define-public unionfs-fuse
(package
(name "unionfs-fuse")
- (version "2.2")
+ (version "3.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3708,15 +3835,26 @@ user-space processes.")
(file-name (git-file-name name version))
(sha256
(base32
- "1yigh8z1q6iq6yjyq7kl7vpbpjnxjld32apvjaw2bl44pqqg56hh"))))
+ "1wl5m5qnwf3s1792xphr35pb80sx8ybaqi3n3ddi5vvk3qjc4iws"))))
(build-system cmake-build-system)
- (native-inputs
- (list python))
- (inputs (list fuse))
(arguments
- ;; The tests were never actually run ("collected 0 items"), but in recent
- ;; versions of pytest that causes an error.
- '(#:tests? #f))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ ;; The epitome of ‘I tried’: run the 2 trivial tests that don't rely
+ ;; on the fuse kernel module being loaded. All others would fail.
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "../source/test_all.py" "-k" "test_help")))))))
+ (native-inputs
+ (list pkg-config
+
+ ;; Only for the test ‘suite’.
+ python
+ python-pytest))
+ (inputs
+ (list fuse))
(home-page "https://github.com/rpodgorny/unionfs-fuse")
(synopsis "User-space union file system")
(description
@@ -3729,55 +3867,55 @@ UnionFS-FUSE additionally supports copy-on-write.")
(define fuse-static
(package (inherit fuse)
(name "fuse-static")
- (source (origin (inherit (package-source fuse))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Normally libfuse invokes mount(8) so that /etc/mtab is
- ;; updated. Change calls to 'mtab_needs_update' to 0 so
- ;; that it doesn't do that, allowing us to remove the
- ;; dependency on util-linux (something that is useful in
- ;; initrds.)
- (substitute* '("lib/mount_util.c"
- "util/mount_util.c")
- (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
- "0")
- (("/bin/")
- ""))
- #t))))))
+ (source
+ (origin
+ (inherit (package-source fuse))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Normally libfuse invokes mount(8) so that /etc/mtab is updated.
+ ;; Change calls to 'mtab_needs_update' to 0 so that it doesn't do
+ ;; that, allowing us to remove the dependency on util-linux
+ ;; (something that is useful in initrds.)
+ (substitute* "lib/mount_util.c"
+ (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)") "0")
+ (("/bin/") ""))))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments fuse)
+ ((#:configure-flags flags '())
+ #~(cons "-Ddefault_library=static"
+ #$flags))))))
(define-public unionfs-fuse/static
(package (inherit unionfs-fuse)
(synopsis "User-space union file system (statically linked)")
(name (string-append (package-name unionfs-fuse) "-static"))
- (source (origin (inherit (package-source unionfs-fuse))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Add -ldl to the libraries, because libfuse.a needs that.
- (substitute* "src/CMakeLists.txt"
- (("target_link_libraries(.*)\\)" _ libs)
- (string-append "target_link_libraries"
- libs " dl)")))
- #t))))
+ (source
+ (origin
+ (inherit (package-source unionfs-fuse))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Add -ldl to the libraries, because libfuse.a needs that.
+ (substitute* "src/CMakeLists.txt"
+ (("target_link_libraries(.*)\\)" _ libs)
+ (string-append "target_link_libraries"
+ libs " dl)")))))))
(arguments
- '(#:tests? #f
- #:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'post-install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (exe (string-append out "/bin/unionfs")))
- ;; By default, 'unionfs' keeps references to
- ;; $glibc/share/locale and similar stuff. Remove them.
- (remove-store-references exe)
-
- ;; 'unionfsctl' has references to glibc as well. Since
- ;; we don't need it, remove it.
- (delete-file (string-append out "/bin/unionfsctl"))
- #t))))))
- (inputs `(("fuse" ,fuse-static)))))
+ (substitute-keyword-arguments (package-arguments unionfs-fuse)
+ ((#:configure-flags flags #~'())
+ #~(cons "-DCMAKE_EXE_LINKER_FLAGS=-static" #$flags))
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'post-install
+ (lambda _
+ ;; By default, 'unionfs' keeps references to
+ ;; $glibc/share/locale and similar stuff. Remove them.
+ (remove-store-references (string-append #$output "/bin/unionfs"))
+ ;; 'unionfsctl' has references to glibc as well. Since
+ ;; we don't need it, remove it.
+ (delete-file (string-append #$output "/bin/unionfsctl"))))))))
+ (inputs (list fuse-static))))
(define-public sshfs
(package
@@ -3796,7 +3934,7 @@ UnionFS-FUSE additionally supports copy-on-write.")
;; XXX: tests are skipped: FUSE kernel module does not seem to be loaded
'(#:tests? #f))
(inputs
- (list fuse-3 glib))
+ (list fuse glib))
(native-inputs
(list pkg-config
;; man page
@@ -3827,7 +3965,7 @@ file system is as easy as logging into the server with an SSH client.")
(sha256
(base32 "1cy5b6qril9c3ry6fv7ir87s8iyy5vxxmbyx90dm86fbra0vjaf5"))))
(build-system gnu-build-system)
- (inputs (list fuse libarchive))
+ (inputs (list fuse-2 libarchive))
(native-inputs (list pkg-config))
(home-page "https://www.cybernoia.de/software/archivemount.html")
(synopsis "Tool for mounting archive files with FUSE")
@@ -4331,7 +4469,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(define-public lvm2
(package
(name "lvm2")
- (version "2.03.11")
+ (version "2.03.21")
(source (origin
(method url-fetch)
(uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2."
@@ -4340,7 +4478,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
version ".tgz")))
(sha256
(base32
- "1m4xpda8vbyd89ca0w8nacvnl4j34yzsa625gn990fb5sh84ab44"))
+ "0zksqsz8y47kh6vq0ykkgxf19il4wxfn234n6zf8m691sqhij9hy"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4351,9 +4489,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(("^confdir = .*$")
"confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
- "DEFAULT_SYS_DIR = @sysconfdir@"))
- #t))
- (patches (search-patches "lvm2-static-link.patch"))))
+ "DEFAULT_SYS_DIR = @sysconfdir@"))))))
(build-system gnu-build-system)
(native-inputs
(list config
@@ -4379,8 +4515,7 @@ one to send arbitrary keycodes when a given key is tapped or held.")
(setenv "SHELL" (which "sh"))
;; Replace /bin/sh with the right file name.
- (patch-makefile-SHELL "make.tmpl")
- #t)))
+ (patch-makefile-SHELL "make.tmpl"))))
#:configure-flags (list (string-append "--sysconfdir="
(assoc-ref %outputs "out")
@@ -5096,21 +5231,24 @@ Translation (@dfn{SAT}) are also supported.")
(define-public libnvme
(package
(name "libnvme")
- (version "1.3")
+ (version "1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/linux-nvme/libnvme.git")
(commit (string-append "v" version))))
(sha256
- (base32 "1fngj5acp2sl4162xalq5simfasnika6gy0xrbi41x09wikvhn7y"))
+ (base32 "1wq8bw60l090z2kb717wyzk5wz1jrcn31ykdaa7k9pz9w79v0v67"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
+ (outputs (list "out" "doc")) ; docs are 80% of all output
(arguments
(list
- #:configure-flags #~(list (format #f "-Dhtmldir=~a/share/doc/~a/html"
- #$output #$name)
- "-Ddocs-build=true" "-Ddocs=all")))
+ #:configure-flags
+ #~(let ((doc (string-append #$output:doc "/share/doc/" #$name)))
+ (list (string-append "-Dhtmldir=" doc "/html")
+ (string-append "-Drstdir=" doc "/rst")
+ "-Ddocs-build=true" "-Ddocs=all"))))
(native-inputs (list pkg-config perl python python-sphinx))
;; libnvme.pc, libnvme-mi.pc lists these in Requires.private.
(propagated-inputs (list dbus json-c openssl))
@@ -5125,7 +5263,7 @@ and manage nvme devices on a Linux system.")
(define-public nvme-cli
(package
(name "nvme-cli")
- (version "2.3")
+ (version "2.5")
(home-page "https://github.com/linux-nvme/nvme-cli")
(source (origin
(method git-fetch)
@@ -5133,13 +5271,14 @@ and manage nvme devices on a Linux system.")
(url home-page)
(commit (string-append "v" version))))
(sha256
- (base32 "1f3bhxh2kr94s6glzibrmgxxgs66qyabn8plnw5y0v9cpi78b3qs"))
+ (base32 "1jv1xir6gm86yyk5846qqkcjhc1bq103zyxf794fznyinh4nhlbg"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
+ (outputs (list "out" "doc")) ; docs make up ~70% of total size
(arguments
(list
#:configure-flags #~(list (format #f "-Dhtmldir=~a/share/doc/~a/html"
- #$output #$name)
+ #$output:doc #$name)
"-Ddocs=all")))
(native-inputs (list pkg-config))
(inputs (list libnvme json-c zlib))
@@ -5786,7 +5925,7 @@ is flexible, efficient and uses a modular implementation.")
(native-inputs
(list pkg-config))
(inputs
- (list fuse))
+ (list fuse-2))
(home-page "https://github.com/relan/exfat")
(synopsis "Mount exFAT file systems")
(description
@@ -5809,7 +5948,7 @@ write access to exFAT devices.")
(native-inputs
(list pkg-config))
(inputs
- (list fuse glib zlib))
+ (list fuse-2 glib zlib))
(home-page "https://sourceforge.net/projects/fuseiso/")
(synopsis "Mount ISO file system images")
(description
@@ -5875,7 +6014,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "6.3.2")
+ (version "6.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -5883,7 +6022,7 @@ and copy/paste text in the console and in xterm.")
version ".tar.xz"))
(sha256
(base32
- "093wy9dsvp22nwlsk203l91h3yzkccvzdw58n3sicy41sncn3wm9"))))
+ "0vmrjn3dcmka9rj5b81ag9jwprzyicx05h1ccj0x0w02fqah1qsb"))))
(build-system gnu-build-system)
(outputs '("out" "static")) ;static versions of the binaries in "out"
(arguments
@@ -6321,7 +6460,7 @@ from userspace.")
(define-public tpacpi-bat
(package
(name "tpacpi-bat")
- (version "3.1")
+ (version "3.2")
(source
(origin
(method git-fetch)
@@ -6330,22 +6469,21 @@ from userspace.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0wbaz34z99gqx721alh5vmpxpj2yxg3x9m8jqyivfi1wfpwc2nd5"))))
+ (base32 "0nd8s2bqbhl0sjpflphb4l9ix71p7kvnbvkq4dg9a1v0sxafyygm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'refer-to-inputs
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "tpacpi-bat"
(("cat ")
- (format #f "~a " (which "cat")))
+ (string-append (search-input-file inputs "bin/cat") " "))
;; tpacpi-bat modprobes the acpi_call kernel module if it's not
;; loaded. That's the administrator's prerogative; disable it.
(("system \"(modprobe .*)\"" _ match)
- (format #f "die \"Please run ‘~a’ first.\\n\"" match)))
- #t))
+ (format #f "die \"Please run ‘~a’ first.\\n\"" match)))))
(delete 'configure) ; nothing to configure
(delete 'build) ; nothing to build
(replace 'install
@@ -6360,10 +6498,10 @@ from userspace.")
(let ((target (string-append doc "/" file)))
(mkdir-p (dirname target))
(copy-recursively file target)))
- (list "battery_asl" "examples" "README.md"))
- #t))))))
+ (list "battery_asl" "examples" "README.md"))))))))
(inputs
- (list perl))
+ (list coreutils-minimal
+ perl))
(home-page "https://github.com/teleshoes/tpacpi-bat")
(synopsis "ThinkPad battery charge controller")
(description
@@ -6388,24 +6526,22 @@ supported.")
(source (package-source linux-libre))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no test suite
- #:make-flags
- (list (string-append "CC=" ,(cc-for-target))
- (string-append "INSTALL_ROOT=" (assoc-ref %outputs "out"))
- "BINDIR=bin")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'enter-subdirectory
- (lambda _
- (chdir "tools/thermal/tmon")
- #t))
- (add-after 'install 'install-man-page
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (man8 (string-append out "/share/man/man8")))
- (install-file "tmon.8" man8)
- #t)))
- (delete 'configure)))) ; no configure script
+ (list
+ #:tests? #f ; no test suite
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "INSTALL_ROOT=" #$output)
+ "BINDIR=bin")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _
+ (chdir "tools/thermal/tmon")))
+ (add-after 'install 'install-man-page
+ (lambda _
+ (let ((man8 (string-append #$output "/share/man/man8")))
+ (install-file "tmon.8" man8))))
+ (delete 'configure)))) ; no configure script
(inputs
(list ncurses))
(home-page (package-home-page linux-libre))
@@ -6485,7 +6621,7 @@ invocations of itself.")
"@sbindir@"))))))
(build-system gnu-build-system)
(inputs (list util-linux ; libuuid
- fuse))
+ fuse-2))
(native-inputs (list pkg-config))
(arguments
'(#:configure-flags (list "--disable-static"
@@ -8346,14 +8482,14 @@ NexGen, Rise, and SiS CPUs.")
"1pm68agkhrwgrplrfrnbwdcvx5lrivdmqw8pb5gdmm3xppnryji1"))))
(build-system gnu-build-system)
(inputs
- (list file fuse libmtp))
+ (list file fuse-2 libmtp))
(native-inputs
(list pkg-config))
(home-page "https://github.com/JasonFerrara/jmtpfs")
(synopsis "Use a FUSE file system to access data over MTP")
- (description "jmtpfs uses FUSE (file system in userspace) to provide access
-to data over the Media Transfer Protocol (MTP). Unprivileged users can mount
-the MTP device as a file system.")
+ (description "jmtpfs uses @acronym{FUSE, File system in USEr space} to
+provide access to data over @acronym{MTP, the Media Transfer Protocol}.
+Unprivileged users can mount the MTP device as a file system.")
(license license:gpl3)))
(define-public procenv
@@ -8819,7 +8955,7 @@ IP addresses and routes, and configure IPsec.")
(define-public libinih
(package
(name "libinih")
- (version "56")
+ (version "57")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8828,7 +8964,7 @@ IP addresses and routes, and configure IPsec.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fjqvf56yij15lgwj58dcmxlq5n98gzpbss0nnn1d2i5j7gf4kgf"))))
+ "03hpyahdkipm5wfalj2xkz6y9ncd9zrlhnf7vap6lr56jj2fz2bb"))))
(build-system meson-build-system)
;; Install static libraries for use by the initrd's xfsprogs/static.
(outputs (list "out" "static"))
@@ -9263,7 +9399,7 @@ tools for managing PipeWire.")
(define-public ell
(package
(name "ell")
- (version "0.56")
+ (version "0.57")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9272,7 +9408,7 @@ tools for managing PipeWire.")
(file-name (git-file-name name version))
(sha256
(base32
- "084mc9377k2a61wyqnfnsgfrdvv1rinn9wzw8l8crip0hlikn938"))))
+ "1vpzz0z6q0d3h41aqajaw0dlpkdnmjcppmlwbb558hvj40q5dpzm"))))
(build-system gnu-build-system)
(arguments
;; Tests launch dbus-daemon instances that all try to bind to
@@ -9806,7 +9942,7 @@ older system-wide @file{/sys} interface.")
(define-public libtraceevent
(package
(name "libtraceevent")
- (version "1.7.1")
+ (version "1.7.3")
(source
(origin
(method git-fetch)
@@ -9815,26 +9951,23 @@ older system-wide @file{/sys} interface.")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1kbl11lqh8cadi6r3qqxx68idr7597l6i50pr5p5mdgsf6k2i83c"))
+ (base32 "06mw2f0xnk6dy9w2z0n4dz7lnm02qfsmnmj2h24453qxlw57x0d6"))
(modules '((guix build utils)))
(snippet
#~(begin
- (substitute* "Makefile"
- (("/bin/pwd") "pwd"))
- (substitute* "scripts/utils.mk"
- (("/bin/pwd") "pwd"))))))
+ (substitute* (list "Makefile" "scripts/utils.mk")
+ (("/bin/(pwd)" _ command) command))))))
(build-system gnu-build-system)
(arguments
(list
- #:tests? #f ;no test suite
+ #:tests? #f ; no test suite
#:make-flags
#~(list
(string-append "pkgconfig_dir=" #$output "/lib/pkgconfig")
(string-append "prefix=" #$output))
#:phases
#~(modify-phases %standard-phases
- (delete 'configure))))
+ (delete 'configure)))) ; no configure script
(home-page "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/")
(synopsis "Linux kernel trace event library")
(description "This package provides library to parse raw trace event
@@ -10130,6 +10263,42 @@ suggestions from various sources, including:
This tool supports checking Kconfig options and kernel cmdline parameters.")
(license license:gpl3)))
+(define-public firejail
+ (package
+ (name "firejail")
+ (version "0.9.72")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/netblue30/firejail/releases/download/" version
+ "/firejail-" version ".tar.xz" ))
+ (sha256
+ (base32
+ "1x77xy1mwfgjrcsymdda82bjnqgl7z2yymcb10mzd1zwik27gqc2"))))
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "test"
+ (invoke "make"))))))))
+ (build-system gnu-build-system)
+ (inputs
+ (list apparmor xdg-dbus-proxy))
+ (synopsis "Linux namespaces sandbox program")
+ (description
+ "Firejail is a SUID sandbox program that reduces the risk of security
+breaches by restricting the running environment of untrusted applications
+using Linux namespaces, seccomp-bpf and Linux capabilities. The software
+includes sandbox profiles for a number of common Linux programs. Firejail
+should be added to the list of setuid programs in the system configuration to
+work properly.")
+ (home-page "https://github.com/netblue30/firejail")
+ (supported-systems
+ (filter (cut string-suffix? "-linux" <>) %supported-systems))
+ (license license:gpl2+)))
+
(define-public edac-utils
(package
(name "edac-utils")