diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 244 |
1 files changed, 153 insertions, 91 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8ef8108773..5830368a64 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -75,6 +75,7 @@ ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 dan <i@dan.games> +;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,6 +189,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix build-system linux-module) @@ -490,17 +492,32 @@ 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.4-version "6.4.15") +(define-public linux-libre-6.5-version "6.5.5") +(define-public linux-libre-6.5-gnu-revision "gnu") +(define deblob-scripts-6.5 + (linux-libre-deblob-scripts + linux-libre-6.5-version + linux-libre-6.5-gnu-revision + (base32 "01mm6v67bcrhgm97axsw46x0iix9im7hmlb765f3bkjhwklpxdy7") + (base32 "132ps1jprxw6kqyscsar38fn7s12kg416mfhz7w702f4ajgq1ndi"))) +(define-public linux-libre-6.5-pristine-source + (let ((version linux-libre-6.5-version) + (hash (base32 "15gg8sb6cfgk1afwj7fl7mj4nkj14w43vzwvw0qsg3nzyxwh7wcc"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-6.5))) + +(define-public linux-libre-6.4-version "6.4.16") (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 "012d16rjprxdv9frf7kcakpikvw7l0s3kvj4kkp9flzdg3j8wxpz") - (base32 "1rwm09anyn4py1g877f9vh6ya86y2hfvlqx51bpa53dci5k0b0ds"))) + (base32 "02zizxf0dp4291hbvjrif04m19h8rrc55c11qinlrm0p19s9srcx"))) (define-public linux-libre-6.4-pristine-source (let ((version linux-libre-6.4-version) - (hash (base32 "1phlx375ln5pslw5vjqm029cdv6pzf4ang10xlrf90x5sb4fgy93"))) + (hash (base32 "0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.4))) @@ -508,7 +525,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-6.1-version "6.1.52") +(define-public linux-libre-6.1-version "6.1.53") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts @@ -518,7 +535,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0lis73mxnl7hxz8lyja6sfgmbym944l3k1h7dab6b4mw1nckfxsn"))) + (hash (base32 "0zpdg3fcc12iyjhfs5w7cw75700z4i8m9jcg38mlzlhh92hf0msz"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) @@ -626,6 +643,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (patches (append (origin-patches source) patches)))) +(define-public linux-libre-6.5-source + (source-with-patches linux-libre-6.5-pristine-source + (list %boot-logo-patch + %linux-libre-arm-export-__sync_icache_dcache-patch))) + (define-public linux-libre-6.4-source (source-with-patches linux-libre-6.4-pristine-source (list %boot-logo-patch @@ -745,6 +767,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.5 + (make-linux-libre-headers* linux-libre-6.5-version + linux-libre-6.5-gnu-revision + linux-libre-6.5-source)) + (define-public linux-libre-headers-6.4 (make-linux-libre-headers* linux-libre-6.4-version linux-libre-6.4-gnu-revision @@ -1089,6 +1116,14 @@ Linux kernel. It has been modified to remove all non-free binary blobs.") ;;; Generic kernel packages. ;;; +(define-public linux-libre-6.5 + (make-linux-libre* linux-libre-6.5-version + linux-libre-6.5-gnu-revision + linux-libre-6.5-source + '("x86_64-linux" "i686-linux" "armhf-linux" + "aarch64-linux" "powerpc64le-linux" "riscv64-linux") + #:configuration-file kernel-config)) + (define-public linux-libre-6.4 (make-linux-libre* linux-libre-6.4-version linux-libre-6.4-gnu-revision @@ -1548,32 +1583,66 @@ is also needed for the @code{tuxedo-control-center} (short tcc) package.") (define-public evdi (package (name "evdi") - (version "1.12.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/DisplayLink/evdi") - (commit "bdc258b25df4d00f222fde0e3c5003bf88ef17b5"))) - (file-name (git-file-name name version)) - (patches (search-patches "evdi-fix-build-with-linux-6.2.patch")) - (sha256 - (base32 - "1yi7mbyvxm9lsx6i1xbwp2bihwgzhwxkydk1kbngw5a5kw9azpws")))) + (version "1.14.1") ;inherited by libevdi + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DisplayLink/evdi") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vfbph6bdb206zgdp0bvpqck2zvkx1367xdxbavv41qsmgkxhvbs")))) (build-system linux-module-build-system) (arguments - (list #:tests? #f ;no test suite + (list #:tests? #f ;no test suite #:phases #~(modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir "module")))))) (home-page "https://github.com/DisplayLink/evdi") - (synopsis "EVDI Linux kernel module") + (synopsis + "@acronym{EVDI, Extensible Virtual Display Interface} Linux kernel module") (description - "The @acronym{EVDI, Extensible Virtual Display Interface} is a Linux kernel module -that enables management of multiple screens, allowing user-space programs to -take control over what happens with the image.") + "The @acronym{EVDI, Extensible Virtual Display Interface} is a Linux kernel +module that enables management of multiple screens, allowing user-space programs +to take control over what happens with the image. It is essentially a virtual +display for which applications using the @code{libevdi} library can add, remove, +and receive screen updates. + +The EVDI driver uses the standard Linux @acronym{DRM, Direct Rendering Manager}. +Its displays can be controlled by standard tools such as @command{xrandr} and +display settings applets in graphical environments") (license license:gpl2))) +(define-public libevdi + (package + (inherit evdi) + (name "libevdi") + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'chdir + (lambda _ + (chdir "library"))) + (replace 'install + (lambda* _ + (let* ((lib (string-append #$output "/lib"))) + (mkdir-p lib) + (install-file "libevdi.so" lib))))))) + (inputs (list libdrm)) + (synopsis + "@acronym{EVDI, Extensible Virtual Display Interface} user-space library") + (description + "Libevdi is a library that gives applications easy access to +@acronym{EVDI, Extensible Virtual Display Interface} devices provided by the +@code{evdi} driver package. ") + (license license:lgpl2.1))) + (define-public ec (package (name "ec") @@ -1602,7 +1671,7 @@ registers of the @acronym{EC, Embedded Controller} supported by the (define-public lkrg (package (name "lkrg") - (version "0.9.3") + (version "0.9.7") (source (origin (method git-fetch) (uri (git-reference @@ -1611,7 +1680,7 @@ registers of the @acronym{EC, Embedded Controller} supported by the (file-name (git-file-name name version)) (sha256 (base32 - "0yirb7n4mqv8cn0gziz1m7ymq00dhhy79j59jdgrx00b8rj57cfw")))) + "0k0z9caj48nqjwk3bapgfcdzi1lkizxcjj4r1dvkvwsk38mbk1c4")))) (build-system linux-module-build-system) (arguments (list #:linux linux-libre @@ -1686,7 +1755,7 @@ graphics card on Optimus laptops.") (define-public ddcci-driver-linux (package (name "ddcci-driver-linux") - (version "0.4.2") + (version "0.4.4") (source (origin (method git-fetch) @@ -1696,7 +1765,7 @@ graphics card on Optimus laptops.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lww3mnqhxqzj0qbxzbwbq93v9zw49myp7p9ib873a5izbq8nadi")))) + (base32 "19vi7dk4jv5wm18cznz4lj2fb1c7m7j3ig62x4a6qy9djxf9z472")))) (build-system linux-module-build-system) (arguments (list #:tests? #f ; no tests @@ -2064,19 +2133,25 @@ deviation, and minimum and maximum values. It can show a nice histogram too.") (base32 "0al2138z0m2bqrviv3zw2i2km4v8xg5wrw867li4jk4s2l3dwz95")))) (build-system gnu-build-system) (arguments - `(,@(if (%current-target-system) - '(#:configure-flags - (list - "ac_cv_func_malloc_0_nonnull=yes" - "ac_cv_func_realloc_0_nonnull=yes")) - '()))) + (list + #:configure-flags + (if (%current-target-system) + #~(list "ac_cv_func_malloc_0_nonnull=yes" + "ac_cv_func_realloc_0_nonnull=yes") + #~'()))) (inputs (list ncurses)) (home-page "https://gitlab.com/psmisc/psmisc") (synopsis "Small utilities that use the proc file system") (description - "This PSmisc package is a set of some small useful utilities that -use the proc file system. We're not about changing the world, but -providing the system administrator with some help in common tasks.") + "psmisc is a set of small utilities that use the proc file system. +@itemize @bullet +@item @command{fuser} identifies processes using files or sockets; +@item @command{killall} kills processes by name; +@item @command{prtstat} prints statistics of a process; +@item @command{pslog} prints the log file(s) of a process; +@item @command{pstree} shows the currently running processes as a tree; +@item @command{peekfd} shows the data travelling over a file descriptor. +@end itemize") (license license:gpl2+))) (define-public util-linux @@ -4923,6 +4998,29 @@ SMBus access.") #~(list (string-append "prefix=" #$output) (string-append "CC=" #$(cc-for-target)))))))) +(define-public python-smbus + (package + (inherit i2c-tools) + (name "python-smbus") + (build-system pyproject-build-system) + (arguments + (list #:tests? #f ;; No test suite. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ (chdir "py-smbus"))) + (add-after 'change-directory 'set-library-path + (lambda _ + (substitute* "setup.py" + (("-L\\.\\./lib") + (string-append "-L" #$(this-package-input "i2c-tools") + "/lib")))))))) + (inputs (list i2c-tools)) + (synopsis "I2C/SMBus access for Python") + (description "This package provides a Python library to access +@acronym{I2C, Inter-Integrated Circuit} and @acronym{SMBus, System +Management Bus} devices on Linux."))) + (define-public xsensors (package (name "xsensors") @@ -7116,7 +7214,7 @@ the @code{mce-inject} module loaded if it exists.") (define-public mcelog (package (name "mcelog") - (version "191") + (version "195") (source (origin (method git-fetch) @@ -7125,7 +7223,7 @@ the @code{mce-inject} module loaded if it exists.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0vx0lziw6g20vh42ngs66fiq2bm714llx5xx6f0m1hbjcihi1afy")) + (base32 "1bg2bj8flybd8kzmmaaslisc6lc1fs9nbv09im6r32dq48skx5aj")) (modules '((guix build utils))) (snippet `(begin @@ -7797,14 +7895,14 @@ re-use code and to avoid re-inventing the wheel.") (define-public libnftnl (package (name "libnftnl") - (version "1.2.4") + (version "1.2.6") (source (origin (method url-fetch) (uri (string-append "mirror://netfilter.org/libnftnl/" - "libnftnl-" version ".tar.bz2")) + "libnftnl-" version ".tar.xz")) (sha256 - (base32 "0zs7c8swlirxnbhl8q1b0p8g3jrzns7fyxsrglz71zfdwhxj7zn0")))) + (base32 "1x3pqxclpxcw8x5qx0vyi7znf9xwlkqsfd9sy4cxlir1v4nfmsnf")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -7843,7 +7941,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "1.0.6") + (version "1.0.8") (source (origin (method url-fetch) @@ -7852,7 +7950,7 @@ used by nftables.") (string-append "https://www.nftables.org/projects/nftables" "/files/nftables-" version ".tar.xz"))) (sha256 - (base32 "0k2y03dz77b0inqlmh5yg8qaifl0walzvhldwiq7d642vl6l61r4")))) + (base32 "0l1xpwr9qfbl3bxa97v8s2lbibiz0xma9q0qi34xp0hswh6p8wwk")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static" @@ -8354,14 +8452,14 @@ available in the kernel Linux.") (define-public cpuid (package (name "cpuid") - (version "20221201") + (version "20230614") (source (origin (method url-fetch) (uri (string-append "http://www.etallen.com/cpuid/cpuid-" version ".src.tar.gz")) (sha256 (base32 - "0vlg5zc0dayyn9bzyb25fcaxid9svrsjjza11afplrhh50wdrzh8")))) + "1s54qc1j10d765r05kw9pzwzaxq2b0nndq2ifwq7cq62xx2k1j5i")))) (build-system gnu-build-system) (arguments (list #:make-flags @@ -9571,7 +9669,7 @@ modification of BPF objects on the system.") (define-public bpftrace (package (name "bpftrace") - (version "0.18.0") + (version "0.18.1") (source (origin (method git-fetch) @@ -9580,7 +9678,7 @@ modification of BPF objects on the system.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0n0mm5vlaildilq5nmjymmq8ijif1lcyfin76wcmhzwfriq4n87r")) + (base32 "0j8ba2j98d3j8lilgx3z2n162r26ryg7zw5ldwd9m36xnjp40347")) (patches (search-patches "bpftrace-disable-bfd-disasm.patch")))) (build-system cmake-build-system) (native-inputs @@ -9711,7 +9809,7 @@ kernel side implementation.") (define-public erofs-utils (package (name "erofs-utils") - (version "1.5") + (version "1.7") (source (origin (method git-fetch) @@ -9720,11 +9818,12 @@ kernel side implementation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0rgkw3b924xdg49v3qi8a10w41zfk276wb6fp71lb9q9cfc81idw")))) + (base32 "0bi8n1kb263v1gvis21pa9dxsf3p96d1nasm21icmv3rd9g2xh6p")))) (build-system gnu-build-system) (inputs (list lz4 - `(,util-linux "lib"))) + `(,util-linux "lib") + zlib)) (native-inputs (list autoconf automake libtool pkg-config)) (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/") @@ -9975,42 +10074,6 @@ system.") libraries are found or why they cannot be located.") (license license:expat))) -(define-public libevdi - (package - (name "libevdi") - (version "1.12.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/DisplayLink/evdi") - (commit "bdc258b25df4d00f222fde0e3c5003bf88ef17b5"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1yi7mbyvxm9lsx6i1xbwp2bihwgzhwxkydk1kbngw5a5kw9azpws")))) - (build-system gnu-build-system) - (inputs (list libdrm)) - (arguments - (list #:tests? #f ;no test suite - #:make-flags #~'("CC=gcc") - #:phases #~(modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'chdir - (lambda _ - (chdir "library"))) - (replace 'install - (lambda* _ - (let* ((lib (string-append #$output "/lib"))) - (mkdir-p lib) - (install-file "libevdi.so" lib))))))) - (home-page "https://github.com/DisplayLink/evdi") - (synopsis "User-space EVDI library") - (description - "Libevdi is a library that gives applications easy access to -@acronym{EVDI, Extensible Virtual Display Interface} devices on -various operating systems.") - (license license:lgpl2.1))) - (define-public touchegg (package (name "touchegg") @@ -10286,7 +10349,7 @@ error detection and correction (EDAC).") (define-public spectre-meltdown-checker (package (name "spectre-meltdown-checker") - (version "0.45") + (version "0.46") (source (origin (method git-fetch) (uri (git-reference @@ -10295,15 +10358,14 @@ error detection and correction (EDAC).") (file-name (git-file-name name version)) (patches (search-patches - "spectre-meltdown-checker-externalize-fwdb.patch" - "spectre-meltdown-checker-find-kernel.patch")) + "spectre-meltdown-checker-externalize-fwdb.patch")) ;; Remove builtin firmware database. (modules '((guix build utils))) (snippet '(substitute* "spectre-meltdown-checker.sh" (("^# [AI],.*") ""))) (sha256 (base32 - "1xx8h5791lhc2xw0dcbzjkklzvlxwxkjzh8di4g8divfy24fqsn8")))) + "0j42p6dayb7k87kf8sqimxlaswis3qh0569a15zccyknv9vf129k")))) (build-system copy-build-system) (arguments (list @@ -10322,11 +10384,11 @@ error detection and correction (EDAC).") (find-command inputs cmd)) ;; Commands safe to substitute directly. - (("\\<(awk|(base|dir)name|bunzip|g(un)?zip|lz4)\\>" all cmd) + (("\\<(awk|(base|dir)name|bunzip2|g(un)?zip|lz4)\\>" all cmd) (find-command inputs cmd)) - (("\\<(modprobe|pgrep|rmmod|umount|unlzma)\\>" all cmd) + (("\\<(lzop|mktemp|modprobe|pgrep|rmmod|umount)\\>" all cmd) (find-command inputs cmd)) - (("\\<(unxz|unzstd|uuencode)\\>" all cmd) + (("\\<(unlzma|unxz|unzstd|uuencode)\\>" all cmd) (find-command inputs cmd)) ;; Commands which should only be substituted based on their |