diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 581 |
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") |