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.scm738
1 files changed, 493 insertions, 245 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9e3ad367e27..b771f65d928 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -6,7 +6,7 @@
6;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> 6;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
7;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> 7;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
8;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> 8;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
9;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> 9;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
10;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> 10;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
11;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> 11;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
12;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> 12;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
@@ -19,7 +19,7 @@
19;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com> 19;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
20;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> 20;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
21;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> 21;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
22;;; Copyright © 2017, 2018, 2020 Leo Famulari <leo@famulari.name> 22;;; Copyright © 2017, 2018, 2020, 2021 Leo Famulari <leo@famulari.name>
23;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com> 23;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
24;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> 24;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
25;;; Copyright © 2017, 2019, 2021 Mathieu Othacehe <othacehe@gnu.org> 25;;; Copyright © 2017, 2019, 2021 Mathieu Othacehe <othacehe@gnu.org>
@@ -38,7 +38,7 @@
38;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> 38;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
39;;; Copyright © 2019, 2020, 2021 Brice Waegeneire <brice@waegenei.re> 39;;; Copyright © 2019, 2020, 2021 Brice Waegeneire <brice@waegenei.re>
40;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> 40;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
41;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> 41;;; Copyright © 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
42;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> 42;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
43;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com> 43;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
44;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> 44;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@@ -52,6 +52,11 @@
52;;; Copyright © 2020 David Dashyan <mail@davie.li> 52;;; Copyright © 2020 David Dashyan <mail@davie.li>
53;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> 53;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
54;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com> 54;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
55;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
56;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
57;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
58;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
59;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
55;;; 60;;;
56;;; This file is part of GNU Guix. 61;;; This file is part of GNU Guix.
57;;; 62;;;
@@ -98,6 +103,7 @@
98 #:use-module (gnu packages gcc) 103 #:use-module (gnu packages gcc)
99 #:use-module (gnu packages gettext) 104 #:use-module (gnu packages gettext)
100 #:use-module (gnu packages glib) 105 #:use-module (gnu packages glib)
106 #:use-module (gnu packages gnupg)
101 #:use-module (gnu packages golang) 107 #:use-module (gnu packages golang)
102 #:use-module (gnu packages gperf) 108 #:use-module (gnu packages gperf)
103 #:use-module (gnu packages gstreamer) 109 #:use-module (gnu packages gstreamer)
@@ -194,24 +200,24 @@ defconfig. Return the appropriate make target if applicable, otherwise return
194;;; Kernel source code deblobbing. 200;;; Kernel source code deblobbing.
195;;; 201;;;
196 202
197(define (linux-libre-deblob-scripts version 203(define (linux-libre-deblob-scripts version gnu-revision
198 deblob-hash 204 deblob-hash
199 deblob-check-hash) 205 deblob-check-hash)
200 (list (version-major+minor version) 206 (list (version-major+minor version)
201 (origin 207 (origin
202 (method url-fetch) 208 (method url-fetch)
203 (uri (string-append "https://linux-libre.fsfla.org" 209 (uri (string-append "https://linux-libre.fsfla.org"
204 "/pub/linux-libre/releases/" version "-gnu/" 210 "/pub/linux-libre/releases/" version "-" gnu-revision "/"
205 "deblob-" (version-major+minor version))) 211 "deblob-" (version-major+minor version)))
206 (file-name (string-append "linux-libre-deblob-" 212 (file-name (string-append "linux-libre-deblob-"
207 version)) 213 version "-" gnu-revision))
208 (sha256 deblob-hash)) 214 (sha256 deblob-hash))
209 (origin 215 (origin
210 (method url-fetch) 216 (method url-fetch)
211 (uri (string-append "https://linux-libre.fsfla.org" 217 (uri (string-append "https://linux-libre.fsfla.org"
212 "/pub/linux-libre/releases/" version "-gnu/" 218 "/pub/linux-libre/releases/" version "-" gnu-revision "/"
213 "deblob-check")) 219 "deblob-check"))
214 (file-name (string-append "linux-libre-deblob-check-" version)) 220 (file-name (string-append "linux-libre-deblob-check-" version "-" gnu-revision))
215 (sha256 deblob-check-hash)))) 221 (sha256 deblob-check-hash))))
216 222
217(define* (computed-origin-method gexp-promise hash-algo hash 223(define* (computed-origin-method gexp-promise hash-algo hash
@@ -329,21 +335,21 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
329;;; Kernel sources. 335;;; Kernel sources.
330;;; 336;;;
331 337
332(define (linux-libre-urls version) 338(define (linux-libre-urls version gnu-revision)
333 "Return a list of URLs for Linux-Libre VERSION." 339 "Return a list of URLs for Linux-Libre VERSION."
334 (list (string-append 340 (list (string-append
335 "https://linux-libre.fsfla.org/pub/linux-libre/releases/" 341 "https://linux-libre.fsfla.org/pub/linux-libre/releases/"
336 version "-gnu/linux-libre-" version "-gnu.tar.xz") 342 version "-" gnu-revision "/linux-libre-" version "-" gnu-revision ".tar.xz")
337 343
338 ;; XXX: Work around <http://bugs.gnu.org/14851>. 344 ;; XXX: Work around <http://bugs.gnu.org/14851>.
339 (string-append 345 (string-append
340 "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-" 346 "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-"
341 version "-gnu.tar.xz") 347 version "-" gnu-revision ".tar.xz")
342 348
343 ;; Maybe this URL will become valid eventually. 349 ;; Maybe this URL will become valid eventually.
344 (string-append 350 (string-append
345 "mirror://gnu/linux-libre/" version "-gnu/linux-libre-" 351 "mirror://gnu/linux-libre/" version "-" gnu-revision "/linux-libre-"
346 version "-gnu.tar.xz"))) 352 version "-" gnu-revision ".tar.xz")))
347 353
348(define (%upstream-linux-source version hash) 354(define (%upstream-linux-source version hash)
349 (origin 355 (origin
@@ -355,109 +361,125 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
355 361
356;; The current "stable" kernels. That is, the most recently released major 362;; The current "stable" kernels. That is, the most recently released major
357;; versions that are still supported upstream. 363;; versions that are still supported upstream.
358(define-public linux-libre-5.13-version "5.13.2") 364(define-public linux-libre-5.14-version "5.14.4")
365(define-public linux-libre-5.14-gnu-revision "gnu")
366(define deblob-scripts-5.14
367 (linux-libre-deblob-scripts
368 linux-libre-5.14-version
369 linux-libre-5.14-gnu-revision
370 (base32 "00vv2a51cvw2nx8iazmiy9i4h3jj9gvvpwz9gxp2v1hcmrsxq935")
371 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
372(define-public linux-libre-5.14-pristine-source
373 (let ((version linux-libre-5.14-version)
374 (hash (base32 "1dijf7qsjlqx893c2sxg5jrjdm8v1nv4hicvqlmp1v92s3h7kqj2")))
375 (make-linux-libre-source version
376 (%upstream-linux-source version hash)
377 deblob-scripts-5.14)))
378
379(define-public linux-libre-5.13-version "5.13.17")
380(define-public linux-libre-5.13-gnu-revision "gnu1")
359(define deblob-scripts-5.13 381(define deblob-scripts-5.13
360 (linux-libre-deblob-scripts 382 (linux-libre-deblob-scripts
361 linux-libre-5.13-version 383 linux-libre-5.13-version
362 (base32 "1mhc215a1y8bxip2f0sqmyl0rf7cgw22cmg26hg9x0pfm9li2c95") 384 linux-libre-5.13-gnu-revision
363 (base32 "1hkbkyy3myraczaj982z72m0p1yxjwigqhsz2kx9g74qkap0xy9d"))) 385 (base32 "0hj3w3vh1rj24xgl4v72mr6vaz1qzsnc5xzdfjga1zy84bw8lhkp")
386 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
364(define-public linux-libre-5.13-pristine-source 387(define-public linux-libre-5.13-pristine-source
365 (let ((version linux-libre-5.13-version) 388 (let ((version linux-libre-5.13-version)
366 (hash (base32 "0dx9khk7fh003xyb3xix0kc0rmjncg7ric5p830zhadnrw4hv563"))) 389 (hash (base32 "06qa3c8wx87l4mh9h8gjcra5k5l6bcirs59s7baxdfjkxlihvrsa")))
367 (make-linux-libre-source version 390 (make-linux-libre-source version
368 (%upstream-linux-source version hash) 391 (%upstream-linux-source version hash)
369 deblob-scripts-5.13))) 392 deblob-scripts-5.13)))
370 393
371(define-public linux-libre-5.12-version "5.12.17")
372(define deblob-scripts-5.12
373 (linux-libre-deblob-scripts
374 linux-libre-5.12-version
375 (base32 "1vdsr9y4gckknrbqcjyfakwva3k0vb5zcivzk3k1s9mh7qp9dils")
376 (base32 "1kb98sbn6lgf5cpd2f8mav93hxh0aywybfjzxx35294ipll1264y")))
377(define-public linux-libre-5.12-pristine-source
378 (let ((version linux-libre-5.12-version)
379 (hash (base32 "1ghyqxfxslxzr7273vj2yn14pkdnkja3wk50xxhavpvf87i8c40j")))
380 (make-linux-libre-source version
381 (%upstream-linux-source version hash)
382 deblob-scripts-5.12)))
383
384;; The "longterm" kernels — the older releases with long-term upstream support. 394;; The "longterm" kernels — the older releases with long-term upstream support.
385;; Here are the support timelines: 395;; Here are the support timelines:
386;; <https://www.kernel.org/category/releases.html> 396;; <https://www.kernel.org/category/releases.html>
387(define-public linux-libre-5.10-version "5.10.50") 397(define-public linux-libre-5.10-version "5.10.65")
398(define-public linux-libre-5.10-gnu-revision "gnu1")
388(define deblob-scripts-5.10 399(define deblob-scripts-5.10
389 (linux-libre-deblob-scripts 400 (linux-libre-deblob-scripts
390 linux-libre-5.10-version 401 linux-libre-5.10-version
391 (base32 "1rmnx1px4sizs2lq831yd2g9dyflg0vmykz3cv9443x2a2vwy81f") 402 linux-libre-5.10-gnu-revision
392 (base32 "1fdvjhc048nk8v27bgir0fdjqm8hn4yfdgd3mdjird4ary80ywb2"))) 403 (base32 "19d1pdsilq1ycnx1zw3vhf9mwdxbi5nmgzm0g1kj1lkkf1y4i1mv")
404 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
393(define-public linux-libre-5.10-pristine-source 405(define-public linux-libre-5.10-pristine-source
394 (let ((version linux-libre-5.10-version) 406 (let ((version linux-libre-5.10-version)
395 (hash (base32 "0dmlpy9k7am99495bxcm46i4y6g34d1fzdkzz3wgzb4mgmx35nlb"))) 407 (hash (base32 "0riyq1gdm18642fpnhpcw8hspcjqzprzhqnygjxabjjvrvdxxlzd")))
396 (make-linux-libre-source version 408 (make-linux-libre-source version
397 (%upstream-linux-source version hash) 409 (%upstream-linux-source version hash)
398 deblob-scripts-5.10))) 410 deblob-scripts-5.10)))
399 411
400(define-public linux-libre-5.4-version "5.4.132") 412(define-public linux-libre-5.4-version "5.4.146")
413(define-public linux-libre-5.4-gnu-revision "gnu1")
401(define deblob-scripts-5.4 414(define deblob-scripts-5.4
402 (linux-libre-deblob-scripts 415 (linux-libre-deblob-scripts
403 linux-libre-5.4-version 416 linux-libre-5.4-version
404 (base32 "12g1wm7xvjvmjanbgg0ahxm4vs2n5bvicfnnnag4h35vl4q3lggg") 417 linux-libre-5.4-gnu-revision
405 (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) 418 (base32 "1cdxljvmivdwcy9v9fr5iv0x0d1884pf3876p9nzrly599lz2wnl")
419 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
406(define-public linux-libre-5.4-pristine-source 420(define-public linux-libre-5.4-pristine-source
407 (let ((version linux-libre-5.4-version) 421 (let ((version linux-libre-5.4-version)
408 (hash (base32 "1vq0dmrn7gl2vprm08l8by5ja3xjgggrcd38vqg7b7jpnfzssrl4"))) 422 (hash (base32 "1bjkfk24j86akm6df3c5b28viyq363drhssml7rcrl69286f92dk")))
409 (make-linux-libre-source version 423 (make-linux-libre-source version
410 (%upstream-linux-source version hash) 424 (%upstream-linux-source version hash)
411 deblob-scripts-5.4))) 425 deblob-scripts-5.4)))
412 426
413(define-public linux-libre-4.19-version "4.19.197") 427(define-public linux-libre-4.19-version "4.19.206")
428(define-public linux-libre-4.19-gnu-revision "gnu1")
414(define deblob-scripts-4.19 429(define deblob-scripts-4.19
415 (linux-libre-deblob-scripts 430 (linux-libre-deblob-scripts
416 linux-libre-4.19-version 431 linux-libre-4.19-version
417 (base32 "1jfcz4lnm44b3xzrkiipvw35kl0vvdvhr2pg7jfwf02f6qbvay18") 432 linux-libre-4.19-gnu-revision
418 (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) 433 (base32 "1hiaagdyfy6b0f9ivdy7zq0cd6akaj6v3c4nzikrgsk12vgc1a1q")
434 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
419(define-public linux-libre-4.19-pristine-source 435(define-public linux-libre-4.19-pristine-source
420 (let ((version linux-libre-4.19-version) 436 (let ((version linux-libre-4.19-version)
421 (hash (base32 "10kj442qaky6rpl65k5rrvd3p6mdgz4p321zvf4s312ixfdja0g6"))) 437 (hash (base32 "1h44lvzxd0cngj71bk8qba9dz7jlqj68ir6xjwfafglb81ppgsxp")))
422 (make-linux-libre-source version 438 (make-linux-libre-source version
423 (%upstream-linux-source version hash) 439 (%upstream-linux-source version hash)
424 deblob-scripts-4.19))) 440 deblob-scripts-4.19)))
425 441
426(define-public linux-libre-4.14-version "4.14.239") 442(define-public linux-libre-4.14-version "4.14.246")
443(define-public linux-libre-4.14-gnu-revision "gnu1")
427(define deblob-scripts-4.14 444(define deblob-scripts-4.14
428 (linux-libre-deblob-scripts 445 (linux-libre-deblob-scripts
429 linux-libre-4.14-version 446 linux-libre-4.14-version
430 (base32 "07afckszdm4pq008i6ij0pxpw2rpgi5q931nxh6dxcczpicvwbc9") 447 linux-libre-4.14-gnu-revision
431 (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) 448 (base32 "0cnax38650m9sxiwvc1xm5saymlsmx427j3jqpx34df2ah2rnrwf")
449 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
432(define-public linux-libre-4.14-pristine-source 450(define-public linux-libre-4.14-pristine-source
433 (let ((version linux-libre-4.14-version) 451 (let ((version linux-libre-4.14-version)
434 (hash (base32 "167zwm3giizv42m0xjz71xnb2swlwiaw0xw0dg8j8mb74hz1drx0"))) 452 (hash (base32 "0fpgig84shpas1jc0h4s3aw9brkcq1as84gjbk4bfhc48bpi4mlw")))
435 (make-linux-libre-source version 453 (make-linux-libre-source version
436 (%upstream-linux-source version hash) 454 (%upstream-linux-source version hash)
437 deblob-scripts-4.14))) 455 deblob-scripts-4.14)))
438 456
439(define-public linux-libre-4.9-version "4.9.275") 457(define-public linux-libre-4.9-version "4.9.282")
458(define-public linux-libre-4.9-gnu-revision "gnu1")
440(define deblob-scripts-4.9 459(define deblob-scripts-4.9
441 (linux-libre-deblob-scripts 460 (linux-libre-deblob-scripts
442 linux-libre-4.9-version 461 linux-libre-4.9-version
443 (base32 "1w8cb8w1cpcwswc3rxq6vwjafw6yy0igib34rrm93ag5h6inncfv") 462 linux-libre-4.9-gnu-revision
444 (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) 463 (base32 "1n74ddrifnw06hx7ih2sk8jaiqlm1jyyhswyjpxiyhrrcvjcilch")
464 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
445(define-public linux-libre-4.9-pristine-source 465(define-public linux-libre-4.9-pristine-source
446 (let ((version linux-libre-4.9-version) 466 (let ((version linux-libre-4.9-version)
447 (hash (base32 "08mz7mzmhk5n1gwadrc5fw8s40jk0rayvdpjcricl4sv56574lb6"))) 467 (hash (base32 "059fin4si93ya13xy831w84q496ksxidpd3kyw38918sfy4p6wk7")))
448 (make-linux-libre-source version 468 (make-linux-libre-source version
449 (%upstream-linux-source version hash) 469 (%upstream-linux-source version hash)
450 deblob-scripts-4.9))) 470 deblob-scripts-4.9)))
451 471
452(define-public linux-libre-4.4-version "4.4.275") 472(define-public linux-libre-4.4-version "4.4.283")
473(define-public linux-libre-4.4-gnu-revision "gnu1")
453(define deblob-scripts-4.4 474(define deblob-scripts-4.4
454 (linux-libre-deblob-scripts 475 (linux-libre-deblob-scripts
455 linux-libre-4.4-version 476 linux-libre-4.4-version
456 (base32 "1lid4k7g947yi3hcjj0lz0fnssawbph3jsy67vrv57l5imrhv3zs") 477 linux-libre-4.4-gnu-revision
457 (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) 478 (base32 "11397dgj6cdfv6anxrj7jwgvnqvwh5i0ci6c8mb85ry6h4fnfmq4")
479 (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
458(define-public linux-libre-4.4-pristine-source 480(define-public linux-libre-4.4-pristine-source
459 (let ((version linux-libre-4.4-version) 481 (let ((version linux-libre-4.4-version)
460 (hash (base32 "1aiwq6019sibsw5smj6ii28cr64dv24c19k4n8c09nakhmhcg94i"))) 482 (hash (base32 "1d9v4h4cbc4i371lhhwpxbmg88gna6xyi2ahfvv0clz60802y982")))
461 (make-linux-libre-source version 483 (make-linux-libre-source version
462 (%upstream-linux-source version hash) 484 (%upstream-linux-source version hash)
463 deblob-scripts-4.4))) 485 deblob-scripts-4.4)))
@@ -490,16 +512,16 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
490 (patches (append (origin-patches source) 512 (patches (append (origin-patches source)
491 patches)))) 513 patches))))
492 514
493(define-public linux-libre-5.13-source 515(define-public linux-libre-5.14-source
494 (source-with-patches linux-libre-5.13-pristine-source 516 (source-with-patches linux-libre-5.14-pristine-source
495 (list %boot-logo-patch 517 (list %boot-logo-patch
496 %linux-libre-arm-export-__sync_icache_dcache-patch 518 %linux-libre-arm-export-__sync_icache_dcache-patch
497 ;; Pinebook Pro patch to fix LCD display 519 ;; Pinebook Pro patch to fix LCD display
498 (search-patch 520 (search-patch
499 "linux-libre-arm64-generic-pinebook-lcd.patch")))) 521 "linux-libre-arm64-generic-pinebook-lcd.patch"))))
500 522
501(define-public linux-libre-5.12-source 523(define-public linux-libre-5.13-source
502 (source-with-patches linux-libre-5.12-pristine-source 524 (source-with-patches linux-libre-5.13-pristine-source
503 (list %boot-logo-patch 525 (list %boot-logo-patch
504 %linux-libre-arm-export-__sync_icache_dcache-patch 526 %linux-libre-arm-export-__sync_icache_dcache-patch
505 ;; Pinebook Pro patch to fix LCD display 527 ;; Pinebook Pro patch to fix LCD display
@@ -545,14 +567,14 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
545;;; Kernel headers. 567;;; Kernel headers.
546;;; 568;;;
547 569
548(define (make-linux-libre-headers version hash-string) 570(define (make-linux-libre-headers version gnu-revision hash-string)
549 (make-linux-libre-headers* version 571 (make-linux-libre-headers* version gnu-revision
550 (origin 572 (origin
551 (method url-fetch) 573 (method url-fetch)
552 (uri (linux-libre-urls version)) 574 (uri (linux-libre-urls version gnu-revision))
553 (sha256 (base32 hash-string))))) 575 (sha256 (base32 hash-string)))))
554 576
555(define (make-linux-libre-headers* version source) 577(define (make-linux-libre-headers* version gnu-revision source)
556 (package 578 (package
557 (name "linux-libre-headers") 579 (name "linux-libre-headers")
558 (version version) 580 (version version)
@@ -616,42 +638,50 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
616 (description "Headers of the Linux-Libre kernel.") 638 (description "Headers of the Linux-Libre kernel.")
617 (license license:gpl2))) 639 (license license:gpl2)))
618 640
641(define-public linux-libre-headers-5.14
642 (make-linux-libre-headers* linux-libre-5.14-version
643 linux-libre-5.14-gnu-revision
644 linux-libre-5.14-source))
645
619(define-public linux-libre-headers-5.13 646(define-public linux-libre-headers-5.13
620 (make-linux-libre-headers* linux-libre-5.13-version 647 (make-linux-libre-headers* linux-libre-5.13-version
648 linux-libre-5.13-gnu-revision
621 linux-libre-5.13-source)) 649 linux-libre-5.13-source))
622 650
623(define-public linux-libre-headers-5.12
624 (make-linux-libre-headers* linux-libre-5.12-version
625 linux-libre-5.12-source))
626
627(define-public linux-libre-headers-5.10 651(define-public linux-libre-headers-5.10
628 (make-linux-libre-headers* linux-libre-5.10-version 652 (make-linux-libre-headers* linux-libre-5.10-version
653 linux-libre-5.10-gnu-revision
629 linux-libre-5.10-source)) 654 linux-libre-5.10-source))
630 655
631(define-public linux-libre-headers-5.4 656(define-public linux-libre-headers-5.4
632 (make-linux-libre-headers* linux-libre-5.4-version 657 (make-linux-libre-headers* linux-libre-5.4-version
658 linux-libre-5.4-gnu-revision
633 linux-libre-5.4-source)) 659 linux-libre-5.4-source))
634 660
635(define-public linux-libre-headers-4.19 661(define-public linux-libre-headers-4.19
636 (make-linux-libre-headers* linux-libre-4.19-version 662 (make-linux-libre-headers* linux-libre-4.19-version
663 linux-libre-4.19-gnu-revision
637 linux-libre-4.19-source)) 664 linux-libre-4.19-source))
638 665
639(define-public linux-libre-headers-4.14 666(define-public linux-libre-headers-4.14
640 (make-linux-libre-headers* linux-libre-4.14-version 667 (make-linux-libre-headers* linux-libre-4.14-version
668 linux-libre-4.14-gnu-revision
641 linux-libre-4.14-source)) 669 linux-libre-4.14-source))
642 670
643(define-public linux-libre-headers-4.9 671(define-public linux-libre-headers-4.9
644 (make-linux-libre-headers* linux-libre-4.9-version 672 (make-linux-libre-headers* linux-libre-4.9-version
673 linux-libre-4.9-gnu-revision
645 linux-libre-4.9-source)) 674 linux-libre-4.9-source))
646 675
647(define-public linux-libre-headers-4.4 676(define-public linux-libre-headers-4.4
648 (make-linux-libre-headers* linux-libre-4.4-version 677 (make-linux-libre-headers* linux-libre-4.4-version
678 linux-libre-4.4-gnu-revision
649 linux-libre-4.4-source)) 679 linux-libre-4.4-source))
650 680
651;; The following package is used in the early bootstrap, and thus must be kept 681;; The following package is used in the early bootstrap, and thus must be kept
652;; stable and with minimal build requirements. 682;; stable and with minimal build requirements.
653(define-public linux-libre-headers-5.10.35 683(define-public linux-libre-headers-5.10.35
654 (make-linux-libre-headers "5.10.35" 684 (make-linux-libre-headers "5.10.35" "gnu"
655 "0q2rnchad55d49f3rajrkazz0fcjv1irwrdb1hwjnl01fzm2gjk3")) 685 "0q2rnchad55d49f3rajrkazz0fcjv1irwrdb1hwjnl01fzm2gjk3"))
656 686
657(define-public linux-libre-headers linux-libre-headers-5.10.35) 687(define-public linux-libre-headers linux-libre-headers-5.10.35)
@@ -753,7 +783,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
753;;; Kernel package utilities. 783;;; Kernel package utilities.
754;;; 784;;;
755 785
756(define* (make-linux-libre version hash-string supported-systems 786(define* (make-linux-libre version gnu-revision hash-string supported-systems
757 #:key 787 #:key
758 (extra-version #f) 788 (extra-version #f)
759 ;; A function that takes an arch and a variant. 789 ;; A function that takes an arch and a variant.
@@ -762,10 +792,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
762 (defconfig "defconfig") 792 (defconfig "defconfig")
763 (extra-options %default-extra-linux-options) 793 (extra-options %default-extra-linux-options)
764 (patches (list %boot-logo-patch))) 794 (patches (list %boot-logo-patch)))
765 (make-linux-libre* version 795 (make-linux-libre* version gnu-revision
766 (origin 796 (origin
767 (method url-fetch) 797 (method url-fetch)
768 (uri (linux-libre-urls version)) 798 (uri (linux-libre-urls version gnu-revision))
769 (sha256 (base32 hash-string)) 799 (sha256 (base32 hash-string))
770 (patches patches)) 800 (patches patches))
771 supported-systems 801 supported-systems
@@ -774,7 +804,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
774 #:defconfig defconfig 804 #:defconfig defconfig
775 #:extra-options extra-options)) 805 #:extra-options extra-options))
776 806
777(define* (make-linux-libre* version source supported-systems 807(define* (make-linux-libre* version gnu-revision source supported-systems
778 #:key 808 #:key
779 (extra-version #f) 809 (extra-version #f)
780 ;; A function that takes an arch and a variant. 810 ;; A function that takes an arch and a variant.
@@ -919,55 +949,64 @@ It has been modified to remove all non-free binary blobs.")
919;;; Generic kernel packages. 949;;; Generic kernel packages.
920;;; 950;;;
921 951
922(define-public linux-libre-5.13 952(define-public linux-libre-5.14
923 (make-linux-libre* linux-libre-5.13-version 953 (make-linux-libre* linux-libre-5.14-version
924 linux-libre-5.13-source 954 linux-libre-5.14-gnu-revision
955 linux-libre-5.14-source
925 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") 956 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
926 #:configuration-file kernel-config)) 957 #:configuration-file kernel-config))
927 958
928(define-public linux-libre-5.12 959(define-public linux-libre-5.13
929 (make-linux-libre* linux-libre-5.12-version 960 (make-linux-libre* linux-libre-5.13-version
930 linux-libre-5.12-source 961 linux-libre-5.13-gnu-revision
962 linux-libre-5.13-source
931 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") 963 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
932 #:configuration-file kernel-config)) 964 #:configuration-file kernel-config))
933 965
934(define-public linux-libre-version linux-libre-5.12-version) 966(define-public linux-libre-version linux-libre-5.13-version)
935(define-public linux-libre-pristine-source linux-libre-5.12-pristine-source) 967(define-public linux-libre-gnu-revision linux-libre-5.13-gnu-revision)
936(define-public linux-libre-source linux-libre-5.12-source) 968(define-public linux-libre-pristine-source linux-libre-5.13-pristine-source)
937(define-public linux-libre linux-libre-5.12) 969(define-public linux-libre-source linux-libre-5.13-source)
970(define-public linux-libre linux-libre-5.13)
938 971
939(define-public linux-libre-5.10 972(define-public linux-libre-5.10
940 (make-linux-libre* linux-libre-5.10-version 973 (make-linux-libre* linux-libre-5.10-version
974 linux-libre-5.10-gnu-revision
941 linux-libre-5.10-source 975 linux-libre-5.10-source
942 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") 976 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
943 #:configuration-file kernel-config)) 977 #:configuration-file kernel-config))
944 978
945(define-public linux-libre-5.4 979(define-public linux-libre-5.4
946 (make-linux-libre* linux-libre-5.4-version 980 (make-linux-libre* linux-libre-5.4-version
981 linux-libre-5.4-gnu-revision
947 linux-libre-5.4-source 982 linux-libre-5.4-source
948 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") 983 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
949 #:configuration-file kernel-config)) 984 #:configuration-file kernel-config))
950 985
951(define-public linux-libre-4.19 986(define-public linux-libre-4.19
952 (make-linux-libre* linux-libre-4.19-version 987 (make-linux-libre* linux-libre-4.19-version
988 linux-libre-4.19-gnu-revision
953 linux-libre-4.19-source 989 linux-libre-4.19-source
954 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") 990 '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
955 #:configuration-file kernel-config)) 991 #:configuration-file kernel-config))
956 992
957(define-public linux-libre-4.14 993(define-public linux-libre-4.14
958 (make-linux-libre* linux-libre-4.14-version 994 (make-linux-libre* linux-libre-4.14-version
995 linux-libre-4.14-gnu-revision
959 linux-libre-4.14-source 996 linux-libre-4.14-source
960 '("x86_64-linux" "i686-linux" "armhf-linux") 997 '("x86_64-linux" "i686-linux" "armhf-linux")
961 #:configuration-file kernel-config)) 998 #:configuration-file kernel-config))
962 999
963(define-public linux-libre-4.9 1000(define-public linux-libre-4.9
964 (make-linux-libre* linux-libre-4.9-version 1001 (make-linux-libre* linux-libre-4.9-version
1002 linux-libre-4.9-gnu-revision
965 linux-libre-4.9-source 1003 linux-libre-4.9-source
966 '("x86_64-linux" "i686-linux") 1004 '("x86_64-linux" "i686-linux")
967 #:configuration-file kernel-config)) 1005 #:configuration-file kernel-config))
968 1006
969(define-public linux-libre-4.4 1007(define-public linux-libre-4.4
970 (make-linux-libre* linux-libre-4.4-version 1008 (make-linux-libre* linux-libre-4.4-version
1009 linux-libre-4.4-gnu-revision
971 linux-libre-4.4-source 1010 linux-libre-4.4-source
972 '("x86_64-linux" "i686-linux") 1011 '("x86_64-linux" "i686-linux")
973 #:configuration-file kernel-config 1012 #:configuration-file kernel-config
@@ -983,6 +1022,7 @@ It has been modified to remove all non-free binary blobs.")
983;; Reference: https://jxself.org/linux-libre/ 1022;; Reference: https://jxself.org/linux-libre/
984 1023
985(define-public linux-libre-lts-version linux-libre-5.10-version) 1024(define-public linux-libre-lts-version linux-libre-5.10-version)
1025(define-public linux-libre-lts-gnu-revision linux-libre-5.10-gnu-revision)
986(define-public linux-libre-lts-pristine-source linux-libre-5.10-pristine-source) 1026(define-public linux-libre-lts-pristine-source linux-libre-5.10-pristine-source)
987(define-public linux-libre-lts-source linux-libre-5.10-source) 1027(define-public linux-libre-lts-source linux-libre-5.10-source)
988(define-public linux-libre-lts linux-libre-5.10) 1028(define-public linux-libre-lts linux-libre-5.10)
@@ -994,6 +1034,7 @@ It has been modified to remove all non-free binary blobs.")
994 1034
995(define-public linux-libre-arm-generic 1035(define-public linux-libre-arm-generic
996 (make-linux-libre* linux-libre-version 1036 (make-linux-libre* linux-libre-version
1037 linux-libre-gnu-revision
997 linux-libre-source 1038 linux-libre-source
998 '("armhf-linux") 1039 '("armhf-linux")
999 #:defconfig "multi_v7_defconfig" 1040 #:defconfig "multi_v7_defconfig"
@@ -1009,6 +1050,7 @@ It has been modified to remove all non-free binary blobs.")
1009 1050
1010(define-public linux-libre-arm-generic-5.10 1051(define-public linux-libre-arm-generic-5.10
1011 (make-linux-libre* linux-libre-5.10-version 1052 (make-linux-libre* linux-libre-5.10-version
1053 linux-libre-5.10-gnu-revision
1012 linux-libre-5.10-source 1054 linux-libre-5.10-source
1013 '("armhf-linux") 1055 '("armhf-linux")
1014 #:defconfig "multi_v7_defconfig" 1056 #:defconfig "multi_v7_defconfig"
@@ -1021,6 +1063,7 @@ It has been modified to remove all non-free binary blobs.")
1021 1063
1022(define-public linux-libre-arm-generic-5.4 1064(define-public linux-libre-arm-generic-5.4
1023 (make-linux-libre* linux-libre-5.4-version 1065 (make-linux-libre* linux-libre-5.4-version
1066 linux-libre-5.4-gnu-revision
1024 linux-libre-5.4-source 1067 linux-libre-5.4-source
1025 '("armhf-linux") 1068 '("armhf-linux")
1026 #:defconfig "multi_v7_defconfig" 1069 #:defconfig "multi_v7_defconfig"
@@ -1033,6 +1076,7 @@ It has been modified to remove all non-free binary blobs.")
1033 1076
1034(define-public linux-libre-arm-generic-4.19 1077(define-public linux-libre-arm-generic-4.19
1035 (make-linux-libre* linux-libre-4.19-version 1078 (make-linux-libre* linux-libre-4.19-version
1079 linux-libre-4.19-gnu-revision
1036 linux-libre-4.19-source 1080 linux-libre-4.19-source
1037 '("armhf-linux") 1081 '("armhf-linux")
1038 #:defconfig "multi_v7_defconfig" 1082 #:defconfig "multi_v7_defconfig"
@@ -1040,6 +1084,7 @@ It has been modified to remove all non-free binary blobs.")
1040 1084
1041(define-public linux-libre-arm-generic-4.14 1085(define-public linux-libre-arm-generic-4.14
1042 (make-linux-libre* linux-libre-4.14-version 1086 (make-linux-libre* linux-libre-4.14-version
1087 linux-libre-4.14-gnu-revision
1043 linux-libre-4.14-source 1088 linux-libre-4.14-source
1044 '("armhf-linux") 1089 '("armhf-linux")
1045 #:defconfig "multi_v7_defconfig" 1090 #:defconfig "multi_v7_defconfig"
@@ -1047,6 +1092,7 @@ It has been modified to remove all non-free binary blobs.")
1047 1092
1048(define-public linux-libre-arm-omap2plus 1093(define-public linux-libre-arm-omap2plus
1049 (make-linux-libre* linux-libre-version 1094 (make-linux-libre* linux-libre-version
1095 linux-libre-gnu-revision
1050 linux-libre-source 1096 linux-libre-source
1051 '("armhf-linux") 1097 '("armhf-linux")
1052 #:defconfig "omap2plus_defconfig" 1098 #:defconfig "omap2plus_defconfig"
@@ -1054,6 +1100,7 @@ It has been modified to remove all non-free binary blobs.")
1054 1100
1055(define-public linux-libre-arm-omap2plus-4.19 1101(define-public linux-libre-arm-omap2plus-4.19
1056 (make-linux-libre* linux-libre-4.19-version 1102 (make-linux-libre* linux-libre-4.19-version
1103 linux-libre-4.19-gnu-revision
1057 linux-libre-4.19-source 1104 linux-libre-4.19-source
1058 '("armhf-linux") 1105 '("armhf-linux")
1059 #:defconfig "omap2plus_defconfig" 1106 #:defconfig "omap2plus_defconfig"
@@ -1061,6 +1108,7 @@ It has been modified to remove all non-free binary blobs.")
1061 1108
1062(define-public linux-libre-arm-omap2plus-4.14 1109(define-public linux-libre-arm-omap2plus-4.14
1063 (make-linux-libre* linux-libre-4.14-version 1110 (make-linux-libre* linux-libre-4.14-version
1111 linux-libre-4.14-gnu-revision
1064 linux-libre-4.14-source 1112 linux-libre-4.14-source
1065 '("armhf-linux") 1113 '("armhf-linux")
1066 #:defconfig "omap2plus_defconfig" 1114 #:defconfig "omap2plus_defconfig"
@@ -1068,6 +1116,7 @@ It has been modified to remove all non-free binary blobs.")
1068 1116
1069(define-public linux-libre-arm64-generic 1117(define-public linux-libre-arm64-generic
1070 (make-linux-libre* linux-libre-version 1118 (make-linux-libre* linux-libre-version
1119 linux-libre-gnu-revision
1071 linux-libre-source 1120 linux-libre-source
1072 '("aarch64-linux") 1121 '("aarch64-linux")
1073 #:defconfig "defconfig" 1122 #:defconfig "defconfig"
@@ -1093,6 +1142,7 @@ It has been modified to remove all non-free binary blobs.")
1093 1142
1094(define-public linux-libre-arm64-generic-5.10 1143(define-public linux-libre-arm64-generic-5.10
1095 (make-linux-libre* linux-libre-5.10-version 1144 (make-linux-libre* linux-libre-5.10-version
1145 linux-libre-5.10-gnu-revision
1096 linux-libre-5.10-source 1146 linux-libre-5.10-source
1097 '("aarch64-linux") 1147 '("aarch64-linux")
1098 #:defconfig "defconfig" 1148 #:defconfig "defconfig"
@@ -1118,6 +1168,7 @@ It has been modified to remove all non-free binary blobs.")
1118 1168
1119(define-public linux-libre-arm64-generic-5.4 1169(define-public linux-libre-arm64-generic-5.4
1120 (make-linux-libre* linux-libre-5.4-version 1170 (make-linux-libre* linux-libre-5.4-version
1171 linux-libre-5.4-gnu-revision
1121 linux-libre-5.4-source 1172 linux-libre-5.4-source
1122 '("aarch64-linux") 1173 '("aarch64-linux")
1123 #:defconfig "defconfig" 1174 #:defconfig "defconfig"
@@ -1130,12 +1181,14 @@ It has been modified to remove all non-free binary blobs.")
1130 1181
1131(define-public linux-libre-riscv64-generic 1182(define-public linux-libre-riscv64-generic
1132 (make-linux-libre* linux-libre-version 1183 (make-linux-libre* linux-libre-version
1184 linux-libre-gnu-revision
1133 linux-libre-source 1185 linux-libre-source
1134 '("riscv64-linux") 1186 '("riscv64-linux")
1135 #:extra-version "riscv64-generic")) 1187 #:extra-version "riscv64-generic"))
1136 1188
1137(define-public linux-libre-mips64el-fuloong2e 1189(define-public linux-libre-mips64el-fuloong2e
1138 (make-linux-libre* linux-libre-version 1190 (make-linux-libre* linux-libre-version
1191 linux-libre-gnu-revision
1139 linux-libre-source 1192 linux-libre-source
1140 '("mips64el-linux") 1193 '("mips64el-linux")
1141 #:defconfig "fuloong2e_defconfig" 1194 #:defconfig "fuloong2e_defconfig"
@@ -1148,8 +1201,9 @@ It has been modified to remove all non-free binary blobs.")
1148(define-public linux-libre-with-bpf 1201(define-public linux-libre-with-bpf
1149 (let ((base-linux-libre 1202 (let ((base-linux-libre
1150 (make-linux-libre* 1203 (make-linux-libre*
1151 linux-libre-5.12-version 1204 linux-libre-5.13-version
1152 linux-libre-5.12-source 1205 linux-libre-5.13-gnu-revision
1206 linux-libre-5.13-source
1153 '("x86_64-linux" "i686-linux" "armhf-linux" 1207 '("x86_64-linux" "i686-linux" "armhf-linux"
1154 "aarch64-linux" "riscv64-linux") 1208 "aarch64-linux" "riscv64-linux")
1155 #:extra-version "bpf" 1209 #:extra-version "bpf"
@@ -1170,7 +1224,7 @@ It has been modified to remove all non-free binary blobs.")
1170(define-public acpi-call-linux-module 1224(define-public acpi-call-linux-module
1171 (package 1225 (package
1172 (name "acpi-call-linux-module") 1226 (name "acpi-call-linux-module")
1173 (version "1.2.1") 1227 (version "1.2.2")
1174 (source 1228 (source
1175 (origin 1229 (origin
1176 (method git-fetch) 1230 (method git-fetch)
@@ -1179,7 +1233,7 @@ It has been modified to remove all non-free binary blobs.")
1179 (commit (string-append "v" version)))) 1233 (commit (string-append "v" version))))
1180 (file-name (git-file-name name version)) 1234 (file-name (git-file-name name version))
1181 (sha256 1235 (sha256
1182 (base32 "0mr4rjbv6fj4phf038addrgv32940bphghw2v9n1z4awvw7wzkbg")))) 1236 (base32 "1s7h9y3adyfhw7cjldlfmid79lrwz3vqlvziw9nwd6x5qdj4w9vp"))))
1183 (build-system linux-module-build-system) 1237 (build-system linux-module-build-system)
1184 (arguments 1238 (arguments
1185 `(#:tests? #f ; no tests 1239 `(#:tests? #f ; no tests
@@ -1191,8 +1245,7 @@ It has been modified to remove all non-free binary blobs.")
1191 (lambda _ 1245 (lambda _
1192 (substitute* (find-files "examples" ".") 1246 (substitute* (find-files "examples" ".")
1193 (("^(#! *)/[^ ]*/" _ shebang) 1247 (("^(#! *)/[^ ]*/" _ shebang)
1194 (string-append shebang "/usr/bin/env "))) 1248 (string-append shebang "/usr/bin/env ")))))
1195 #t))
1196 (add-after 'install 'install-documentation 1249 (add-after 'install 'install-documentation
1197 (lambda* (#:key outputs #:allow-other-keys) 1250 (lambda* (#:key outputs #:allow-other-keys)
1198 (let* ((out (assoc-ref outputs "out")) 1251 (let* ((out (assoc-ref outputs "out"))
@@ -1201,9 +1254,8 @@ It has been modified to remove all non-free binary blobs.")
1201 (let ((target (string-append doc "/" file))) 1254 (let ((target (string-append doc "/" file)))
1202 (mkdir-p (dirname target)) 1255 (mkdir-p (dirname target))
1203 (copy-recursively file target))) 1256 (copy-recursively file target)))
1204 (list "README.md" "examples")) 1257 (list "README.md" "examples"))))))))
1205 #t)))))) 1258 (home-page "https://github.com/nix-community/acpi_call")
1206 (home-page "https://github.com/teleshoes/acpi_call")
1207 (synopsis "Linux kernel module to perform ACPI method calls") 1259 (synopsis "Linux kernel module to perform ACPI method calls")
1208 (description 1260 (description
1209 "This simple Linux kernel module allows calls from user space to any 1261 "This simple Linux kernel module allows calls from user space to any
@@ -1331,8 +1383,8 @@ and the notification, WiFi, and Bluetooth LED.")
1331 (license license:gpl2))) 1383 (license license:gpl2)))
1332 1384
1333(define-public rtl8812au-aircrack-ng-linux-module 1385(define-public rtl8812au-aircrack-ng-linux-module
1334 (let ((commit "059e06a51be025fde5b2bec6565540b3d9981b0b") 1386 (let ((commit "b8167e66b4ac046b3b76c2c40008d84528e91594")
1335 (revision "4")) 1387 (revision "5"))
1336 (package 1388 (package
1337 (name "rtl8812au-aircrack-ng-linux-module") 1389 (name "rtl8812au-aircrack-ng-linux-module")
1338 (version (git-version "5.6.4.2" revision commit)) 1390 (version (git-version "5.6.4.2" revision commit))
@@ -1344,7 +1396,7 @@ and the notification, WiFi, and Bluetooth LED.")
1344 (commit commit))) 1396 (commit commit)))
1345 (file-name (git-file-name name version)) 1397 (file-name (git-file-name name version))
1346 (sha256 1398 (sha256
1347 (base32 "0h6l2r3yj7j9zf11dw0zcdyn50ajnjw8yvv86dzlfj80dn75n98f")) 1399 (base32 "1940f2yz5c4q2fhcd91zfzl32fhdsgr297vzamm7nd8kdk0gymi2"))
1348 (modules '((guix build utils))) 1400 (modules '((guix build utils)))
1349 (snippet 1401 (snippet
1350 '(begin 1402 '(begin
@@ -1465,7 +1517,7 @@ graphics card on Optimus laptops.")
1465(define-public ddcci-driver-linux 1517(define-public ddcci-driver-linux
1466 (package 1518 (package
1467 (name "ddcci-driver-linux") 1519 (name "ddcci-driver-linux")
1468 (version "0.3.3") 1520 (version "0.3.4")
1469 (source 1521 (source
1470 (origin 1522 (origin
1471 (method git-fetch) 1523 (method git-fetch)
@@ -1476,7 +1528,7 @@ graphics card on Optimus laptops.")
1476 (file-name (git-file-name name version)) 1528 (file-name (git-file-name name version))
1477 (sha256 1529 (sha256
1478 (base32 1530 (base32
1479 "0vkkja3ykjil783zjpwp0vz7jy2fp9ccazzi3afd4fjk8gldin7f")))) 1531 "0b50hhkna6ika2vwahzb9za9b41g39ialgv5y1y0kakqi50qi0ld"))))
1480 (build-system linux-module-build-system) 1532 (build-system linux-module-build-system)
1481 (arguments 1533 (arguments
1482 `(#:tests? #f ; no tests 1534 `(#:tests? #f ; no tests
@@ -1537,6 +1589,43 @@ allows some more serious things like adding streaming capabilities to an
1537application by hooking GStreamer into the loopback device.") 1589application by hooking GStreamer into the loopback device.")
1538 (license license:gpl2+))) 1590 (license license:gpl2+)))
1539 1591
1592(define-public xpadneo
1593 (package
1594 (name "xpadneo")
1595 (version "0.9.1")
1596 (source (origin
1597 (method git-fetch)
1598 (uri (git-reference
1599 (url "https://github.com/atar-axis/xpadneo")
1600 (commit (string-append "v" version))))
1601 (file-name (git-file-name name version))
1602 (sha256
1603 (base32
1604 "0xr0zx134s56h4ij6c3fh8ki0h58h61minbfxcl3sgpgxkh14ism"))))
1605 (build-system linux-module-build-system)
1606 (arguments
1607 `(#:tests? #f ; no `check' target
1608 #:source-directory "hid-xpadneo/src"
1609 #:phases
1610 (modify-phases %standard-phases
1611 (add-after 'install 'post-install
1612 (lambda* (#:key outputs #:allow-other-keys #:rest args)
1613 (let ((out (assoc-ref outputs "out")))
1614 (copy-recursively "hid-xpadneo/etc-modprobe.d"
1615 (string-append out "/etc/modprobe.d"))
1616 ;; udev-service-type takes its rules from /lib rather than
1617 ;; /etc, so copy it there instead
1618 (copy-recursively "hid-xpadneo/etc-udev-rules.d"
1619 (string-append out "/lib/udev/rules.d"))))))))
1620 (home-page "https://atar-axis.github.io/xpadneo/")
1621 (synopsis "Xbox One Wireless Controller driver")
1622 (description
1623 "This package provides a driver for the XBox One S Wireless controller
1624and some newer models when connected via bluetooth. In addition to the kernel
1625module provided itself, it also contains a modprobe configuration and udev
1626rules, which need to be installed separately.")
1627 (license license:gpl3+)))
1628
1540 1629
1541;;; 1630;;;
1542;;; Pluggable authentication modules (PAM). 1631;;; Pluggable authentication modules (PAM).
@@ -1649,11 +1738,70 @@ at login. Local and dynamic reconfiguration are its key features.")
1649 (description "This package provides a PAM interface using @code{ctypes}.") 1738 (description "This package provides a PAM interface using @code{ctypes}.")
1650 (license license:expat))) 1739 (license license:expat)))
1651 1740
1741(define-public pam-gnupg
1742 (package
1743 (name "pam-gnupg")
1744 (version "0.3")
1745 (source (origin
1746 (method git-fetch)
1747 (uri (git-reference
1748 (url "https://github.com/cruegge/pam-gnupg")
1749 (commit (string-append "v" version))))
1750 (file-name (git-file-name name version))
1751 (sha256
1752 (base32
1753 "1bf91gi6zmfzzmczxm7pajxdlgnikasvg5xsd3j0a368rcr7lf9l"))))
1754 (build-system gnu-build-system)
1755 (inputs
1756 `(("gnupg" ,gnupg)
1757 ("linux-pam" ,linux-pam)))
1758 (native-inputs
1759 `(("autoconf" ,autoconf)
1760 ("automake" ,automake)
1761 ("libtool" ,libtool)))
1762 (arguments
1763 `(#:tests? #f ;no tests suite
1764 #:configure-flags
1765 (list (string-append "--with-moduledir="
1766 (assoc-ref %outputs "out") "/lib/security"))))
1767
1768 (home-page "https://github.com/cruegge/pam-gnupg")
1769 (synopsis "Unlock GnuPG keys on login")
1770 (description "This package provides a PAM module that hands over your
1771login password to @code{gpg-agent}. This can be useful if you are using a
1772GnuPG-based password manager like @code{pass}.")
1773 (license license:gpl3+)))
1774
1652 1775
1653;;; 1776;;;
1654;;; Miscellaneous. 1777;;; Miscellaneous.
1655;;; 1778;;;
1656 1779
1780(define-public powercap
1781 (package
1782 (name "powercap")
1783 (version "0.4.0")
1784 (source
1785 (origin
1786 (method git-fetch)
1787 (uri (git-reference
1788 (url "https://github.com/powercap/powercap")
1789 (commit (string-append "v" version))))
1790 (file-name (git-file-name name version))
1791 (sha256
1792 (base32 "1hp2i1d195v0n4jgvgaymkxlpgyhn07ic273gkda95lz65cdfcgm"))))
1793 (build-system cmake-build-system)
1794 (arguments
1795 '(#:configure-flags
1796 '("-DBUILD_SHARED_LIBS=ON")))
1797 (home-page "https://github.com/powercap/powercap")
1798 (synopsis "Utilities for accessing the powercap Linux kernel feature")
1799 (description "This package contains utilities for accessing the powercap
1800Linux kernel feature through sysfs. It includes an implementation for working
1801with Intel @acronym{RAPL, Running Average Power Limit}.
1802It provides the commands @code{powercap-info} and @code{powercap-set}.")
1803 (license license:bsd-3)))
1804
1657(define-public powerstat 1805(define-public powerstat
1658 (package 1806 (package
1659 (name "powerstat") 1807 (name "powerstat")
@@ -1723,7 +1871,7 @@ providing the system administrator with some help in common tasks.")
1723(define-public util-linux 1871(define-public util-linux
1724 (package 1872 (package
1725 (name "util-linux") 1873 (name "util-linux")
1726 (version "2.37") 1874 (version "2.37.1")
1727 (source (origin 1875 (source (origin
1728 (method url-fetch) 1876 (method url-fetch)
1729 (uri (string-append "mirror://kernel.org/linux/utils/" 1877 (uri (string-append "mirror://kernel.org/linux/utils/"
@@ -1731,7 +1879,7 @@ providing the system administrator with some help in common tasks.")
1731 "util-linux-" version ".tar.xz")) 1879 "util-linux-" version ".tar.xz"))
1732 (sha256 1880 (sha256
1733 (base32 1881 (base32
1734 "1rfc2lnx6lhnvpixvglh7apqxnrg0fija18i8ac3bq1ri3lvf1xx")) 1882 "0xkb7vw2040zi4m0sbhs5qn5l8nrq4xsf4sdxf3cy9mpachd8jwf"))
1735 (patches (search-patches "util-linux-tests.patch")) 1883 (patches (search-patches "util-linux-tests.patch"))
1736 (modules '((guix build utils))) 1884 (modules '((guix build utils)))
1737 (snippet 1885 (snippet
@@ -1787,13 +1935,13 @@ providing the system administrator with some help in common tasks.")
1787 (("\"/bin/umount\"") 1935 (("\"/bin/umount\"")
1788 (string-append "\"" out "/bin/umount\"")))))) 1936 (string-append "\"" out "/bin/umount\""))))))
1789 (add-before 'check 'pre-check 1937 (add-before 'check 'pre-check
1790 (lambda* (#:key inputs outputs #:allow-other-keys) 1938 (lambda* (#:key native-inputs inputs #:allow-other-keys)
1791 (let ((out (assoc-ref outputs "out")) 1939 (let ((services (search-input-file (or native-inputs inputs)
1792 (net (assoc-ref inputs "net-base"))) 1940 "etc/services")))
1793 ;; Change the test to refer to the right file. 1941 ;; Change the test to refer to the right file.
1794 (substitute* "tests/ts/misc/mcookie" 1942 (substitute* "tests/ts/misc/mcookie"
1795 (("/etc/services") 1943 (("/etc/services")
1796 (string-append net "/etc/services"))) 1944 services))
1797 1945
1798 ;; The C.UTF-8 locale does not exist in our libc. 1946 ;; The C.UTF-8 locale does not exist in our libc.
1799 (substitute* "tests/ts/column/invalid-multibyte" 1947 (substitute* "tests/ts/column/invalid-multibyte"
@@ -1809,6 +1957,16 @@ providing the system administrator with some help in common tasks.")
1809 (string-append 1957 (string-append
1810 all "\n" 1958 all "\n"
1811 "ts_skip \"setarch tests are unreliable under QEMU\""))))) 1959 "ts_skip \"setarch tests are unreliable under QEMU\"")))))
1960 ,@(if (target-x86-32?)
1961 `((add-before 'check 'disable-lsns-test
1962 (lambda _
1963 ;; The lsns tests can fail due to ioctl(_, NS_GET_USERNS)
1964 ;; returning ENOTTY, indicating this kernel does not
1965 ;; support user namespaces. Curiously, this test can fail
1966 ;; on i686 even if the same test passes on x86_64 on the
1967 ;; same machine. See <https://issues.guix.gnu.org/49933>.
1968 (delete-file "tests/ts/lsns/ioctl_ns"))))
1969 '())
1812 (add-after 'install 'move-static-libraries 1970 (add-after 'install 'move-static-libraries
1813 (lambda* (#:key outputs #:allow-other-keys) 1971 (lambda* (#:key outputs #:allow-other-keys)
1814 (let ((lib (assoc-ref outputs "lib")) 1972 (let ((lib (assoc-ref outputs "lib"))
@@ -1836,16 +1994,13 @@ providing the system administrator with some help in common tasks.")
1836 (substitute* (find-files (string-append lib "/lib/pkgconfig") 1994 (substitute* (find-files (string-append lib "/lib/pkgconfig")
1837 "\\.pc$") 1995 "\\.pc$")
1838 (("^(exec_)?prefix=.*") "")))))))) 1996 (("^(exec_)?prefix=.*") ""))))))))
1839 (inputs `(("zlib" ,zlib) 1997 (inputs
1840 ("ncurses" ,ncurses) 1998 (list file ;for libmagic
1841 1999 ncurses
1842 ;; XXX: This is so that the 'pre-check' phase can find it. 2000 zlib))
1843 ,@(if (%current-target-system)
1844 `(("net-base" ,net-base))
1845 '())))
1846 (native-inputs 2001 (native-inputs
1847 `(("perl" ,perl) 2002 (list net-base ;for tests
1848 ("net-base" ,net-base))) ;for tests 2003 perl))
1849 (home-page "https://www.kernel.org/pub/linux/utils/util-linux/") 2004 (home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
1850 (synopsis "Collection of utilities for the Linux kernel") 2005 (synopsis "Collection of utilities for the Linux kernel")
1851 (description "Util-linux is a diverse collection of Linux kernel 2006 (description "Util-linux is a diverse collection of Linux kernel
@@ -2045,6 +2200,38 @@ slabtop, tload, top, vmstat, w, watch and sysctl.")
2045 "Tools for working with USB devices, such as lsusb.") 2200 "Tools for working with USB devices, such as lsusb.")
2046 (license license:gpl2+))) 2201 (license license:gpl2+)))
2047 2202
2203(define-public usbip-utils
2204 (package
2205 (name "usbip-utils")
2206 (version (package-version linux-libre))
2207 (source (package-source linux-libre))
2208 (build-system gnu-build-system)
2209 (arguments
2210 '(#:configure-flags '("--disable-static")
2211 #:phases (modify-phases %standard-phases
2212 (add-after 'unpack 'enter-subdirectory
2213 (lambda _
2214 (chdir "tools/usb/usbip")
2215 #t)))))
2216 (native-inputs
2217 `(("automake" ,automake)
2218 ("autoreconf" ,autoconf)
2219 ("libtool" ,libtool)))
2220 (inputs `(("eudev" ,eudev)))
2221 (home-page (package-home-page linux-libre))
2222 (synopsis "Utilities for sharing USB devices over IP networks")
2223 (description
2224 "The USB/IP protocol enables to pass USB device from a server to
2225a client over the network. The server is a machine which shares an
2226USB device and the client is a machine which uses USB device provided by
2227a server over the network. The USB device may be either physical device
2228connected to a server or software entity created on a server using USB
2229gadget subsystem. The usbip-utils are userspace tools to used to handle
2230connection and management on both side. The client needs the @file{vhci-hcd}
2231Linux kernel module and the server needs the @file{usbip_host} Linux kernel
2232module.")
2233 (license license:gpl2)))
2234
2048(define-public e2fsprogs 2235(define-public e2fsprogs
2049 (package 2236 (package
2050 (name "e2fsprogs") 2237 (name "e2fsprogs")
@@ -2228,7 +2415,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
2228(define-public strace 2415(define-public strace
2229 (package 2416 (package
2230 (name "strace") 2417 (name "strace")
2231 (version "5.8") 2418 (version "5.13")
2232 (home-page "https://strace.io") 2419 (home-page "https://strace.io")
2233 (source (origin 2420 (source (origin
2234 (method url-fetch) 2421 (method url-fetch)
@@ -2236,23 +2423,31 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
2236 "/strace-" version ".tar.xz")) 2423 "/strace-" version ".tar.xz"))
2237 (sha256 2424 (sha256
2238 (base32 2425 (base32
2239 "1abs3svkg9985f4jrxx34sj1dcpsf95vv1a0g01c777zgygncjnz")))) 2426 "0mmns22bjjvakxj29si0x4dcylcgy26llpcimkb0llcxif439k2s"))))
2240 (build-system gnu-build-system) 2427 (build-system gnu-build-system)
2241 (arguments 2428 (arguments
2242 '(#:phases 2429 '(#:phases
2243 (modify-phases %standard-phases 2430 (modify-phases %standard-phases
2244 (add-after 'unpack 'patch-/bin/sh 2431 (add-after 'unpack 'patch-/bin/sh
2245 (lambda _ 2432 (lambda _
2246 (substitute* "strace.c" 2433 (substitute* "src/strace.c"
2247 (("/bin/sh") (which "sh"))) 2434 (("/bin/sh") (which "sh")))
2248 #t)) 2435 #t))
2249 (add-after 'unpack 'disable-failing-tests 2436 (add-after 'unpack 'disable-failing-tests
2250 (lambda _ 2437 (lambda _
2251 ;; XXX These hang forever even if the test time-out is extended.
2252 (substitute* "tests/Makefile.in" 2438 (substitute* "tests/Makefile.in"
2253 (("^\tstrace-DD?D?\\.test \\\\.*") "")) 2439 ;; XXX: This test fails because an extra readlink call is made
2440 ;; by the glibc when using the ld.so cache.
2441 (("readlink.gen.test[^:]") " ")
2442
2443 ;; XXX: These hang forever even if the test time-out is
2444 ;; extended.
2445 (("^\tstrace-DD?D?\\.test \\\\.*") "")
2446 (("^\tpidns-cache.test \\\\.*") "")
2447 (("^\t.*--pidns-translation.test \\\\.*") ""))
2254 #t))) 2448 #t)))
2255 ;; Don't fail if the architecture doesn't support different personalities. 2449 ;; Don't fail if the architecture doesn't support different
2450 ;; personalities.
2256 #:configure-flags '("--enable-mpers=check") 2451 #:configure-flags '("--enable-mpers=check")
2257 ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32459>. 2452 ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32459>.
2258 #:parallel-tests? #f)) ; undeterministic failures 2453 #:parallel-tests? #f)) ; undeterministic failures
@@ -2801,20 +2996,32 @@ configuration (iptunnel, ipmaddr).")
2801 (base32 2996 (base32
2802 "1ych13qc1mvzv8iscbims5b317vxcmy5ffpmfy98zk7bgamz62b6")))) 2997 "1ych13qc1mvzv8iscbims5b317vxcmy5ffpmfy98zk7bgamz62b6"))))
2803 (build-system gnu-build-system) 2998 (build-system gnu-build-system)
2804 (arguments '(#:phases 2999 (arguments `(#:phases
2805 (modify-phases %standard-phases 3000 ,#~(modify-phases %standard-phases
2806 (replace 'configure 3001 (replace 'configure
2807 ;; Add $libdir to the RUNPATH of executables. 3002 ;; Add $libdir to the RUNPATH of executables.
2808 (lambda _ 3003 (lambda _
2809 (substitute* "Make.Rules" 3004 (substitute* "Make.Rules"
2810 (("LDFLAGS \\?= #-g") 3005 (("LDFLAGS \\?= #-g")
2811 (string-append "LDFLAGS ?= -Wl,-rpath=" 3006 (string-append "LDFLAGS ?= -Wl,-rpath="
2812 %output "/lib")))))) 3007 ;; TODO(core-updates): Use #$output
3008 ;; unconditionally.
3009 #$(if (%current-target-system)
3010 #~#$output
3011 '%output)
3012 "/lib"))))))
2813 #:test-target "test" 3013 #:test-target "test"
2814 #:make-flags (list "lib=lib" 3014 #:make-flags
2815 (string-append "prefix=" 3015 (list "lib=lib"
2816 (assoc-ref %outputs "out")) 3016 (string-append "prefix=" (assoc-ref %outputs "out"))
2817 "RAISE_SETFCAP=no"))) 3017 "RAISE_SETFCAP=no"
3018 ;; Tell the makefile to use TARGET-gcc and friends
3019 ;; when cross-compiling.
3020 ,@(if (%current-target-system)
3021 `(,(string-append "CROSS_COMPILE="
3022 (%current-target-system) "-")
3023 "BUILD_CC=gcc")
3024 '()))))
2818 (native-inputs `(("perl" ,perl))) 3025 (native-inputs `(("perl" ,perl)))
2819 (supported-systems (delete "i586-gnu" %supported-systems)) 3026 (supported-systems (delete "i586-gnu" %supported-systems))
2820 (home-page "https://sites.google.com/site/fullycapable/") 3027 (home-page "https://sites.google.com/site/fullycapable/")
@@ -3576,7 +3783,14 @@ from the module-init-tools project.")
3576 (file-name (git-file-name name version)) 3783 (file-name (git-file-name name version))
3577 (sha256 3784 (sha256
3578 (base32 3785 (base32
3579 "16iyn51xlrsbshc7p5xl2338yyfzknaqc538sa7mamgccqwgyvvq")))) 3786 "16iyn51xlrsbshc7p5xl2338yyfzknaqc538sa7mamgccqwgyvvq"))
3787 (modules '((guix build utils)))
3788 (snippet
3789 '(begin
3790 (substitute* "Makefile"
3791 (("go test -v")
3792 "GO111MODULE=off go test -v"))
3793 #t))))
3580 (build-system gnu-build-system) 3794 (build-system gnu-build-system)
3581 (arguments 3795 (arguments
3582 `(#:phases 3796 `(#:phases
@@ -3746,7 +3960,7 @@ devices that can inject events directly into the input subsystem.")
3746(define-public interception-tools 3960(define-public interception-tools
3747 (package 3961 (package
3748 (name "interception-tools") 3962 (name "interception-tools")
3749 (version "0.6.6") 3963 (version "0.6.7")
3750 (home-page "https://gitlab.com/interception/linux/tools") 3964 (home-page "https://gitlab.com/interception/linux/tools")
3751 (source (origin 3965 (source (origin
3752 (method git-fetch) 3966 (method git-fetch)
@@ -3756,25 +3970,17 @@ devices that can inject events directly into the input subsystem.")
3756 (file-name (git-file-name name version)) 3970 (file-name (git-file-name name version))
3757 (sha256 3971 (sha256
3758 (base32 3972 (base32
3759 "0k9h14a9d65nwvv7pj0kigjgzfv453mm3r4svnxfg1h5lccmy8jj")))) 3973 "0wcmppa7092b33wb8vc782day5phf90pc25cn1x7rk0rlw565z36"))))
3760 (build-system cmake-build-system) 3974 (build-system cmake-build-system)
3975 (native-inputs
3976 `(("pkg-config" ,pkg-config)))
3761 (inputs 3977 (inputs
3762 `(("boost" ,boost) 3978 `(("boost" ,boost)
3763 ("libevdev" ,libevdev) 3979 ("libevdev" ,libevdev)
3764 ("libudev" ,eudev) 3980 ("libudev" ,eudev)
3765 ("yaml-cpp" ,yaml-cpp))) 3981 ("yaml-cpp" ,yaml-cpp)))
3766 (arguments 3982 (arguments
3767 `(#:phases 3983 `(#:tests? #f)) ; no test suite
3768 (modify-phases %standard-phases
3769 (add-after 'unpack 'fix-libevdev-path
3770 (lambda* (#:key inputs #:allow-other-keys)
3771 (let ((libevdev (assoc-ref inputs "libevdev")))
3772 (substitute* "CMakeLists.txt"
3773 (("/usr/include/libevdev-1.0")
3774 (string-append libevdev "/include/libevdev-1.0")))
3775 #t))))
3776 ;; No tests are included.
3777 #:tests? #f))
3778 (synopsis "Utilities for operating on input events of evdev devices") 3984 (synopsis "Utilities for operating on input events of evdev devices")
3779 (description 3985 (description
3780 "Interception Tools provides a composable infrastructure on top of 3986 "Interception Tools provides a composable infrastructure on top of
@@ -3793,7 +3999,7 @@ devices that can inject events directly into the input subsystem.")
3793(define-public interception-dual-function-keys 3999(define-public interception-dual-function-keys
3794 (package 4000 (package
3795 (name "interception-dual-function-keys") 4001 (name "interception-dual-function-keys")
3796 (version "1.3.0") 4002 (version "1.4.0")
3797 (home-page "https://gitlab.com/interception/linux/plugins/dual-function-keys") 4003 (home-page "https://gitlab.com/interception/linux/plugins/dual-function-keys")
3798 (source (origin 4004 (source (origin
3799 (method git-fetch) 4005 (method git-fetch)
@@ -3803,14 +4009,15 @@ devices that can inject events directly into the input subsystem.")
3803 (file-name (git-file-name name version)) 4009 (file-name (git-file-name name version))
3804 (sha256 4010 (sha256
3805 (base32 4011 (base32
3806 "1gvhkmwzl5fyyc7k8rc4rf2b9mzh05wa8wcybf9hz2x1mqkc7lmz")))) 4012 "0s49vbg3j4rwh78i8rx8qr7myql09p7b3lhrjl0p7dd98xp6ann6"))))
3807 (build-system gnu-build-system) 4013 (build-system gnu-build-system)
3808 (inputs 4014 (inputs
3809 `(("libevdev" ,libevdev) 4015 `(("libevdev" ,libevdev)
3810 ("yaml-cpp" ,yaml-cpp))) 4016 ("yaml-cpp" ,yaml-cpp)))
3811 (arguments 4017 (arguments
3812 `(#:make-flags (list "CC=gcc" "CXX=g++" 4018 `(#:make-flags (list ,(string-append "CC=" (cc-for-target))
3813 (string-append "PREFIX=" (assoc-ref %outputs "out"))) 4019 ,(string-append "CXX=" (cxx-for-target))
4020 (string-append "PREFIX=" %output))
3814 #:phases 4021 #:phases
3815 (modify-phases %standard-phases 4022 (modify-phases %standard-phases
3816 (add-after 'unpack 'fix-libevdev-path 4023 (add-after 'unpack 'fix-libevdev-path
@@ -3821,9 +4028,9 @@ devices that can inject events directly into the input subsystem.")
3821 (string-append libevdev "/include/libevdev-1.0"))) 4028 (string-append libevdev "/include/libevdev-1.0")))
3822 #t))) 4029 #t)))
3823 ;; No configure script 4030 ;; No configure script
3824 (delete 'configure) 4031 (delete 'configure))
3825 ;; No target 'check' 4032 ;; No tests are included.
3826 (delete 'check)))) 4033 #:tests? #f))
3827 (synopsis "Tap for one key, hold for another") 4034 (synopsis "Tap for one key, hold for another")
3828 (description 4035 (description
3829 "Dual Function Keys is a plugin for @code{interception-tools} that allows 4036 "Dual Function Keys is a plugin for @code{interception-tools} that allows
@@ -5279,7 +5486,7 @@ and copy/paste text in the console and in xterm.")
5279(define-public btrfs-progs 5486(define-public btrfs-progs
5280 (package 5487 (package
5281 (name "btrfs-progs") 5488 (name "btrfs-progs")
5282 (version "5.13") 5489 (version "5.14")
5283 (source (origin 5490 (source (origin
5284 (method url-fetch) 5491 (method url-fetch)
5285 (uri (string-append "mirror://kernel.org/linux/kernel/" 5492 (uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -5287,7 +5494,7 @@ and copy/paste text in the console and in xterm.")
5287 "btrfs-progs-v" version ".tar.xz")) 5494 "btrfs-progs-v" version ".tar.xz"))
5288 (sha256 5495 (sha256
5289 (base32 5496 (base32
5290 "0hsqbv7kvw5j2669xmp226cf7mgdfyq6xg8vjhm5w9ix43922aaf")))) 5497 "0mwxhwws6scjjpfws5xp7988wwwfa46jp5y3kn6jjmjpxiqm85da"))))
5291 (build-system gnu-build-system) 5498 (build-system gnu-build-system)
5292 (outputs '("out" 5499 (outputs '("out"
5293 "static")) ; static versions of the binaries in "out" 5500 "static")) ; static versions of the binaries in "out"
@@ -5478,7 +5685,8 @@ obviously it can be shared with files outside our set).")
5478 5685
5479 (build-system gnu-build-system) 5686 (build-system gnu-build-system)
5480 (arguments 5687 (arguments
5481 `(#:phases 5688 `(#:configure-flags '("CFLAGS=-fcommon")
5689 #:phases
5482 (modify-phases %standard-phases 5690 (modify-phases %standard-phases
5483 (add-after 'install 'install-headers 5691 (add-after 'install 'install-headers
5484 (lambda* (#:key outputs #:allow-other-keys) 5692 (lambda* (#:key outputs #:allow-other-keys)
@@ -6852,7 +7060,7 @@ used by nftables.")
6852(define-public nftables 7060(define-public nftables
6853 (package 7061 (package
6854 (name "nftables") 7062 (name "nftables")
6855 (version "0.9.9") 7063 (version "1.0.0")
6856 (source 7064 (source
6857 (origin 7065 (origin
6858 (method url-fetch) 7066 (method url-fetch)
@@ -6861,10 +7069,11 @@ used by nftables.")
6861 (string-append "https://www.nftables.org/projects/nftables" 7069 (string-append "https://www.nftables.org/projects/nftables"
6862 "/files/nftables-" version ".tar.bz2"))) 7070 "/files/nftables-" version ".tar.bz2")))
6863 (sha256 7071 (sha256
6864 (base32 "1d7iwc8xlyfsbgn6qx1sdfcq7jhpl8wpfj39hcd06y8dzp3jvvvn")))) 7072 (base32 "1x25zs2czmn14mmq1nqi4zibsvh04vqjbx5lxj42nylnmxym9gsq"))))
6865 (build-system gnu-build-system) 7073 (build-system gnu-build-system)
6866 (arguments `(#:configure-flags 7074 (arguments `(#:configure-flags
6867 '("--disable-man-doc"))) ; FIXME: Needs docbook2x. 7075 '("--disable-man-doc" ; FIXME: needs docbook2x
7076 "--disable-static")))
6868 (inputs `(("gmp" ,gmp) 7077 (inputs `(("gmp" ,gmp)
6869 ("libmnl" ,libmnl) 7078 ("libmnl" ,libmnl)
6870 ("libnftnl" ,libnftnl) 7079 ("libnftnl" ,libnftnl)
@@ -7208,6 +7417,11 @@ libraries, which are often integrated directly into libfabric.")
7208 (arguments 7417 (arguments
7209 '(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR=" 7418 '(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR="
7210 ,(string-append "INSTALL_PREFIX=" %output) 7419 ,(string-append "INSTALL_PREFIX=" %output)
7420 ,(string-append "CFLAGS=-Wall -fpic -fPIC -D_GNU_SOURCE"
7421 " -funwind-tables -O3 -g3"
7422 " -DPSM_USE_SYS_UUID"
7423 " -Wno-strict-aliasing -DNVALGRIND"
7424 " -fcommon")
7211 ,(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) 7425 ,(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
7212 #:tests? #f 7426 #:tests? #f
7213 #:phases (modify-phases %standard-phases 7427 #:phases (modify-phases %standard-phases
@@ -7280,14 +7494,14 @@ relevant @file{/dev/vcs*} file(s).")
7280(define-public fbcat 7494(define-public fbcat
7281 (package 7495 (package
7282 (name "fbcat") 7496 (name "fbcat")
7283 (version "0.5.1") 7497 (version "0.5.2")
7284 (source 7498 (source
7285 (origin 7499 (origin
7286 (method url-fetch) 7500 (method url-fetch)
7287 (uri (string-append "https://github.com/jwilk/fbcat/releases/download/" 7501 (uri (string-append "https://github.com/jwilk/fbcat/releases/download/"
7288 version "/" name "-" version ".tar.gz")) 7502 version "/" name "-" version ".tar.gz"))
7289 (sha256 7503 (sha256
7290 (base32 "0pj9hxmwhbz6kmd7847yx2jh1scl9l25zgndyi8s9vlzdkq2q8d7")))) 7504 (base32 "07q6f0xj7b4gjvn69qfn0g04yd0ch8ndzyigcz8nnrhli0cvsbh6"))))
7291 (build-system gnu-build-system) 7505 (build-system gnu-build-system)
7292 (inputs 7506 (inputs
7293 ;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters. We 7507 ;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters. We
@@ -7311,8 +7525,7 @@ relevant @file{/dev/vcs*} file(s).")
7311 (("fbcat" all) 7525 (("fbcat" all)
7312 (string-append out "/bin/" all)) 7526 (string-append out "/bin/" all))
7313 (("pnmtopng" all) 7527 (("pnmtopng" all)
7314 (string-append pnmtopng "/bin/" all))) 7528 (string-append pnmtopng "/bin/" all))))))
7315 #t)))
7316 (add-after 'install 'split-fbgrab-output 7529 (add-after 'install 'split-fbgrab-output
7317 (lambda* (#:key outputs #:allow-other-keys) 7530 (lambda* (#:key outputs #:allow-other-keys)
7318 (let* ((out (assoc-ref outputs "out")) 7531 (let* ((out (assoc-ref outputs "out"))
@@ -7323,8 +7536,7 @@ relevant @file{/dev/vcs*} file(s).")
7323 (mkdir-p (dirname new)) 7536 (mkdir-p (dirname new))
7324 (rename-file old new))) 7537 (rename-file old new)))
7325 (list "bin/fbgrab" 7538 (list "bin/fbgrab"
7326 "share/man/man1/fbgrab.1")) 7539 "share/man/man1/fbgrab.1"))))))))
7327 #t))))))
7328 (home-page "https://jwilk.net/software/fbcat") 7540 (home-page "https://jwilk.net/software/fbcat")
7329 (synopsis "Take a screenshot of the contents of the Linux framebuffer") 7541 (synopsis "Take a screenshot of the contents of the Linux framebuffer")
7330 (description 7542 (description
@@ -7574,7 +7786,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
7574(define-public xfsprogs 7786(define-public xfsprogs
7575 (package 7787 (package
7576 (name "xfsprogs") 7788 (name "xfsprogs")
7577 (version "5.12.0") 7789 (version "5.13.0")
7578 (source (origin 7790 (source (origin
7579 (method url-fetch) 7791 (method url-fetch)
7580 (uri (string-append 7792 (uri (string-append
@@ -7582,7 +7794,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
7582 "xfsprogs-" version ".tar.gz")) 7794 "xfsprogs-" version ".tar.gz"))
7583 (sha256 7795 (sha256
7584 (base32 7796 (base32
7585 "0b5vvwq4rqw7kph23ycd518d31dx3wq7w61znixxpdljx0ig71qn")))) 7797 "09s3alwrhs1gaaywkpx2knc5bxb44b77009jw8zgsy9c2wxximns"))))
7586 (build-system gnu-build-system) 7798 (build-system gnu-build-system)
7587 (outputs (list "out" "python")) 7799 (outputs (list "out" "python"))
7588 (arguments 7800 (arguments
@@ -7598,8 +7810,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
7598 (mkdir-p (string-append python (dirname script))) 7810 (mkdir-p (string-append python (dirname script)))
7599 (rename-file (string-append out script) 7811 (rename-file (string-append out script)
7600 (string-append python script))) 7812 (string-append python script)))
7601 (list "/sbin/xfs_scrub_all")) 7813 (list "/sbin/xfs_scrub_all")))))
7602 #t)))
7603 (add-after 'install 'install-headers 7814 (add-after 'install 'install-headers
7604 (lambda _ 7815 (lambda _
7605 (invoke "make" "install-dev")))))) 7816 (invoke "make" "install-dev"))))))
@@ -7657,90 +7868,90 @@ the superuser to make device nodes.")
7657 (license license:gpl2))) 7868 (license license:gpl2)))
7658 7869
7659(define-public fakeroot 7870(define-public fakeroot
7660 (package 7871 ;; glibc-2.33 compatibility was added since the last release.
7661 (name "fakeroot") 7872 (let ((commit "24d6b0857396cad87b2cabd32fb8af9ef4799915")
7662 (version "1.25.3") 7873 (revision "1"))
7663 (source (origin 7874 (package
7664 ;; There are no tags in the repository, so take this snapshot. 7875 (name "fakeroot")
7665 (method url-fetch) 7876 (version (git-version "1.25.3" revision commit))
7666 (uri (string-append "https://deb.debian.org/debian/pool/main/f/" 7877 (source (origin
7667 "fakeroot/fakeroot_" version ".orig.tar.gz")) 7878 (method git-fetch)
7668 (file-name (string-append name "-" version ".tar.gz")) 7879 (uri (git-reference
7669 (sha256 7880 (url "https://salsa.debian.org/clint/fakeroot.git")
7670 (base32 7881 (commit commit)))
7671 "0v4m3v1bdqvblwj3vqsb3mllgbci6dsgsydq6765nzvz6n1kd44f")))) 7882 (file-name (git-file-name name version))
7672 (build-system gnu-build-system) 7883 (sha256
7673 (arguments 7884 (base32
7674 `(#:phases 7885 "0rg9m30k6v930cmj16qwk1k2vn1l2irxj7r3pp3k1i1sdhfkm3df"))))
7675 (modify-phases %standard-phases 7886 (build-system gnu-build-system)
7676 (replace 'bootstrap 7887 (arguments
7677 (lambda _ 7888 `(#:phases
7678 ;; The "preroll" script takes care of Autoconf and also 7889 (modify-phases %standard-phases
7679 ;; prepares the translated manuals. 7890 (replace 'bootstrap
7680 (invoke "sh" "./preroll"))) 7891 (lambda _
7681 (add-after 'configure 'patch-Makefile 7892 ;; The "preroll" script takes care of Autoconf and also
7682 (lambda _ 7893 ;; prepares the translated manuals.
7683 ;; Note: The root of the problem is already in "Makefile.am". 7894 (invoke "sh" "./preroll")))
7684 (substitute* "Makefile" 7895 (add-after 'configure 'patch-Makefile
7685 (("/bin/sh") (which "sh"))) 7896 (lambda _
7686 #t)) 7897 ;; Note: The root of the problem is already in "Makefile.am".
7687 (add-after 'unpack 'patch-script 7898 (substitute* "Makefile"
7688 (lambda* (#:key inputs #:allow-other-keys) 7899 (("/bin/sh") (which "sh")))))
7689 (substitute* "scripts/fakeroot.in" 7900 (add-after 'unpack 'patch-script
7690 (("getopt") 7901 (lambda* (#:key inputs #:allow-other-keys)
7691 (search-input-file inputs "/bin/getopt")) 7902 (substitute* "scripts/fakeroot.in"
7692 (("sed") 7903 (("getopt")
7693 (search-input-file inputs "/bin/sed")) 7904 (search-input-file inputs "/bin/getopt"))
7694 (("cut") 7905 (("sed")
7695 (search-input-file inputs "/bin/cut")) ))) 7906 (search-input-file inputs "/bin/sed"))
7696 (add-before 'configure 'setenv 7907 (("cut")
7697 (lambda _ 7908 (search-input-file inputs "/bin/cut")) )))
7698 (setenv "LIBS" "-lacl") 7909 (add-before 'configure 'setenv
7699 #t)) 7910 (lambda _
7700 (add-before 'check 'prepare-check 7911 (setenv "LIBS" "-lacl")))
7701 (lambda _ 7912 (add-before 'check 'prepare-check
7702 (setenv "SHELL" (which "bash")) 7913 (lambda _
7703 (setenv "VERBOSE" "1") 7914 (setenv "SHELL" (which "bash"))
7704 (substitute* "test/t.touchinstall" 7915 (setenv "VERBOSE" "1")
7705 ;; We don't have the name of the root user, so use ID=0. 7916 (substitute* "test/t.touchinstall"
7706 (("grep root") "grep \"\\<0\\>\"")) 7917 ;; We don't have the name of the root user, so use ID=0.
7707 (substitute* "test/tartest" 7918 (("grep root") "grep \"\\<0\\>\""))
7708 ;; We don't have the name of the root group, so use ID=0. 7919 (substitute* "test/tartest"
7709 (("ROOTGROUP=root") "ROOTGROUP=0") 7920 ;; We don't have the name of the root group, so use ID=0.
7710 ;; We don't have the name of the daemon user, so use IDs. 7921 (("ROOTGROUP=root") "ROOTGROUP=0")
7711 (("daemon:sys") "1:3") 7922 ;; We don't have the name of the daemon user, so use IDs.
7712 (("daemon:") "1:")) 7923 (("daemon:sys") "1:3")
7713 ;; We don't have an /etc/passwd entry for "root" - use numeric IDs. 7924 (("daemon:") "1:"))
7714 (substitute* "test/compare-tar" 7925 ;; We don't have an /etc/passwd entry for "root" - use numeric IDs.
7715 (("tar -tvf") "tar --numeric-owner -tvf")) 7926 (substitute* "test/compare-tar"
7716 #t))))) 7927 (("tar -tvf") "tar --numeric-owner -tvf")))))))
7717 (native-inputs 7928 (native-inputs
7718 `(;; For bootstrapping the package. 7929 `(;; For bootstrapping the package.
7719 ("autoconf" ,autoconf) 7930 ("autoconf" ,autoconf)
7720 ("automake" ,automake) 7931 ("automake" ,automake)
7721 ("libtool" ,libtool) 7932 ("libtool" ,libtool)
7722 ("gettext" ,gettext-minimal) 7933 ("gettext" ,gettext-minimal)
7723 ("po4a" ,po4a) 7934 ("po4a" ,po4a)
7724 7935
7725 ;; For tests. 7936 ;; For tests.
7726 ("sharutils" ,sharutils) 7937 ("sharutils" ,sharutils)
7727 ("xz" ,xz))) 7938 ("xz" ,xz)))
7728 (inputs 7939 (inputs
7729 `(("acl" ,acl) 7940 `(("acl" ,acl)
7730 ("libcap" ,libcap) 7941 ("libcap" ,libcap)
7731 ("util-linux" ,util-linux) 7942 ("util-linux" ,util-linux)
7732 ("sed" ,sed) 7943 ("sed" ,sed)
7733 ("coreutils" ,coreutils))) 7944 ("coreutils" ,coreutils)))
7734 (synopsis "Provides a fake root environment") 7945 (synopsis "Provides a fake root environment")
7735 (description "@command{fakeroot} runs a command in an environment where 7946 (description "@command{fakeroot} runs a command in an environment where
7736it appears to have root privileges for file manipulation. This is useful 7947it appears to have root privileges for file manipulation. This is useful
7737for allowing users to create archives (tar, ar, .deb etc.) with files in 7948for allowing users to create archives (tar, ar, .deb etc.) with files in
7738them with root permissions/ownership. Without fakeroot one would have to 7949them with root permissions/ownership. Without fakeroot one would have to
7739have root privileges to create the constituent files of the archives with 7950have root privileges to create the constituent files of the archives with
7740the correct permissions and ownership, and then pack them up, or one would 7951the correct permissions and ownership, and then pack them up, or one would
7741have to construct the archives directly, without using the archiver.") 7952have to construct the archives directly, without using the archiver.")
7742 (home-page "http://freshmeat.sourceforge.net/projects/fakeroot") 7953 (home-page "http://freshmeat.sourceforge.net/projects/fakeroot")
7743 (license license:gpl3+))) 7954 (license license:gpl3+))))
7744 7955
7745(define-public fakechroot 7956(define-public fakechroot
7746 (package 7957 (package
@@ -7824,7 +8035,8 @@ types and interfaces and translates so that the X server can use them.")
7824 (file-name (git-file-name name version)) 8035 (file-name (git-file-name name version))
7825 (sha256 8036 (sha256
7826 (base32 8037 (base32
7827 "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc")))) 8038 "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))
8039 (patches (search-patches "pipewire-0.2.7-fno-common.patch"))))
7828 (build-system meson-build-system) 8040 (build-system meson-build-system)
7829 (arguments 8041 (arguments
7830 '(#:configure-flags '("-Dsystemd=false"))) 8042 '(#:configure-flags '("-Dsystemd=false")))
@@ -8351,3 +8563,39 @@ Availability and Serviceability} reports from Linux kernel trace events.
8351These trace events are logged in @file{/sys/kernel/debug/tracing} and reported 8563These trace events are logged in @file{/sys/kernel/debug/tracing} and reported
8352through standard log mechanisms like syslog.") 8564through standard log mechanisms like syslog.")
8353 (license license:gpl2))) 8565 (license license:gpl2)))
8566
8567(define-public libgpiod
8568 (package
8569 (name "libgpiod")
8570 (version "1.6.3")
8571 (source
8572 (origin
8573 (method git-fetch)
8574 (uri
8575 (git-reference
8576 (url "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git")
8577 (commit (string-append "v" version))))
8578 (file-name (git-file-name name version))
8579 (sha256 (base32 "0rv8a11hx3pc6sdw6nfc6k35hkp2clb3v53n1381cvip8fzhbsad"))))
8580 (build-system gnu-build-system)
8581 (arguments
8582 `(#:configure-flags
8583 '("--enable-tools=yes"
8584 "--enable-bindings-cxx"
8585 "--enable-bindings-python")))
8586 (native-inputs
8587 `(("automake" ,automake)
8588 ("autoconf" ,autoconf)
8589 ("libtool" ,libtool)
8590 ("autoconf-archive" ,autoconf-archive)
8591 ("pkg-config" ,pkg-config)
8592 ("python" ,python-3)))
8593 (synopsis "Interact with the Linux GPIO character device")
8594 (description
8595 "This package provides a C library with C++/Python bindings and
8596command-line tools for interacting with GPIO devices that avoids the usage of
8597older system-wide @file{/sys} interface.")
8598 (home-page "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/")
8599 (license (list license:lgpl2.1+ ;; libgpiod
8600 license:gpl2+ ;; gpio-tools
8601 license:lgpl3+)))) ;; C++ bindings