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.scm244
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