diff options
Diffstat (limited to 'gnu/packages/linux.scm')
| -rw-r--r-- | gnu/packages/linux.scm | 410 |
1 files changed, 296 insertions, 114 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 83921a786a2..6e3b43ae66b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> | 33 | ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> |
| 34 | ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> | 34 | ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> |
| 35 | ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> | 35 | ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> |
| 36 | ;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> | 36 | ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> |
| 37 | ;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com> | 37 | ;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com> |
| 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> |
| @@ -47,7 +47,6 @@ | |||
| 47 | ;;; Copyright © 2020 John Soo <jsoo1@asu.edu> | 47 | ;;; Copyright © 2020 John Soo <jsoo1@asu.edu> |
| 48 | ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> | 48 | ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> |
| 49 | ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> | 49 | ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> |
| 50 | ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||
| 51 | ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> | 50 | ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> |
| 52 | ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> | 51 | ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> |
| 53 | ;;; Copyright © 2020 David Dashyan <mail@davie.li> | 52 | ;;; Copyright © 2020 David Dashyan <mail@davie.li> |
| @@ -164,7 +163,8 @@ | |||
| 164 | #:use-module (srfi srfi-1) | 163 | #:use-module (srfi srfi-1) |
| 165 | #:use-module (srfi srfi-2) | 164 | #:use-module (srfi srfi-2) |
| 166 | #:use-module (srfi srfi-26) | 165 | #:use-module (srfi srfi-26) |
| 167 | #:use-module (ice-9 match)) | 166 | #:use-module (ice-9 match) |
| 167 | #:use-module (ice-9 regex)) | ||
| 168 | 168 | ||
| 169 | (define-public (system->linux-architecture arch) | 169 | (define-public (system->linux-architecture arch) |
| 170 | "Return the Linux architecture name for ARCH, a Guix system name such as | 170 | "Return the Linux architecture name for ARCH, a Guix system name such as |
| @@ -355,15 +355,28 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 355 | 355 | ||
| 356 | ;; The current "stable" kernels. That is, the most recently released major | 356 | ;; The current "stable" kernels. That is, the most recently released major |
| 357 | ;; versions that are still supported upstream. | 357 | ;; versions that are still supported upstream. |
| 358 | (define-public linux-libre-5.12-version "5.12.12") | 358 | (define-public linux-libre-5.13-version "5.13.2") |
| 359 | (define deblob-scripts-5.13 | ||
| 360 | (linux-libre-deblob-scripts | ||
| 361 | linux-libre-5.13-version | ||
| 362 | (base32 "1mhc215a1y8bxip2f0sqmyl0rf7cgw22cmg26hg9x0pfm9li2c95") | ||
| 363 | (base32 "1hkbkyy3myraczaj982z72m0p1yxjwigqhsz2kx9g74qkap0xy9d"))) | ||
| 364 | (define-public linux-libre-5.13-pristine-source | ||
| 365 | (let ((version linux-libre-5.13-version) | ||
| 366 | (hash (base32 "0dx9khk7fh003xyb3xix0kc0rmjncg7ric5p830zhadnrw4hv563"))) | ||
| 367 | (make-linux-libre-source version | ||
| 368 | (%upstream-linux-source version hash) | ||
| 369 | deblob-scripts-5.13))) | ||
| 370 | |||
| 371 | (define-public linux-libre-5.12-version "5.12.17") | ||
| 359 | (define deblob-scripts-5.12 | 372 | (define deblob-scripts-5.12 |
| 360 | (linux-libre-deblob-scripts | 373 | (linux-libre-deblob-scripts |
| 361 | linux-libre-5.12-version | 374 | linux-libre-5.12-version |
| 362 | (base32 "1vdsr9y4gckknrbqcjyfakwva3k0vb5zcivzk3k1s9mh7qp9dils") | 375 | (base32 "1vdsr9y4gckknrbqcjyfakwva3k0vb5zcivzk3k1s9mh7qp9dils") |
| 363 | (base32 "1p1jzrci97sipjdx3h0vmdnw35z2vyvczinxmp65xi1ja7ww0g14"))) | 376 | (base32 "1kb98sbn6lgf5cpd2f8mav93hxh0aywybfjzxx35294ipll1264y"))) |
| 364 | (define-public linux-libre-5.12-pristine-source | 377 | (define-public linux-libre-5.12-pristine-source |
| 365 | (let ((version linux-libre-5.12-version) | 378 | (let ((version linux-libre-5.12-version) |
| 366 | (hash (base32 "1a1ymbgkp8ngrkf7cfjrn56zb9qz1mm1j1pmd60g85ln7nyb4ai1"))) | 379 | (hash (base32 "1ghyqxfxslxzr7273vj2yn14pkdnkja3wk50xxhavpvf87i8c40j"))) |
| 367 | (make-linux-libre-source version | 380 | (make-linux-libre-source version |
| 368 | (%upstream-linux-source version hash) | 381 | (%upstream-linux-source version hash) |
| 369 | deblob-scripts-5.12))) | 382 | deblob-scripts-5.12))) |
| @@ -371,20 +384,20 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 371 | ;; The "longterm" kernels — the older releases with long-term upstream support. | 384 | ;; The "longterm" kernels — the older releases with long-term upstream support. |
| 372 | ;; Here are the support timelines: | 385 | ;; Here are the support timelines: |
| 373 | ;; <https://www.kernel.org/category/releases.html> | 386 | ;; <https://www.kernel.org/category/releases.html> |
| 374 | (define-public linux-libre-5.10-version "5.10.45") | 387 | (define-public linux-libre-5.10-version "5.10.50") |
| 375 | (define deblob-scripts-5.10 | 388 | (define deblob-scripts-5.10 |
| 376 | (linux-libre-deblob-scripts | 389 | (linux-libre-deblob-scripts |
| 377 | linux-libre-5.10-version | 390 | linux-libre-5.10-version |
| 378 | (base32 "1rmnx1px4sizs2lq831yd2g9dyflg0vmykz3cv9443x2a2vwy81f") | 391 | (base32 "1rmnx1px4sizs2lq831yd2g9dyflg0vmykz3cv9443x2a2vwy81f") |
| 379 | (base32 "1zsr02zmpx3968277sy8pfs2mdlgh86ifymwyj0r56wnhzf5q6hk"))) | 392 | (base32 "1fdvjhc048nk8v27bgir0fdjqm8hn4yfdgd3mdjird4ary80ywb2"))) |
| 380 | (define-public linux-libre-5.10-pristine-source | 393 | (define-public linux-libre-5.10-pristine-source |
| 381 | (let ((version linux-libre-5.10-version) | 394 | (let ((version linux-libre-5.10-version) |
| 382 | (hash (base32 "01rmw5rnxyybr8sh0v9rgamrg71ign2nr7m0ilrq9704k6dj9dzj"))) | 395 | (hash (base32 "0dmlpy9k7am99495bxcm46i4y6g34d1fzdkzz3wgzb4mgmx35nlb"))) |
| 383 | (make-linux-libre-source version | 396 | (make-linux-libre-source version |
| 384 | (%upstream-linux-source version hash) | 397 | (%upstream-linux-source version hash) |
| 385 | deblob-scripts-5.10))) | 398 | deblob-scripts-5.10))) |
| 386 | 399 | ||
| 387 | (define-public linux-libre-5.4-version "5.4.127") | 400 | (define-public linux-libre-5.4-version "5.4.132") |
| 388 | (define deblob-scripts-5.4 | 401 | (define deblob-scripts-5.4 |
| 389 | (linux-libre-deblob-scripts | 402 | (linux-libre-deblob-scripts |
| 390 | linux-libre-5.4-version | 403 | linux-libre-5.4-version |
| @@ -392,12 +405,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 392 | (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) | 405 | (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) |
| 393 | (define-public linux-libre-5.4-pristine-source | 406 | (define-public linux-libre-5.4-pristine-source |
| 394 | (let ((version linux-libre-5.4-version) | 407 | (let ((version linux-libre-5.4-version) |
| 395 | (hash (base32 "1gr89x1ymxaslp9fqcchaa7939yvhxy67z3pgskmx6z2vrd9pgd0"))) | 408 | (hash (base32 "1vq0dmrn7gl2vprm08l8by5ja3xjgggrcd38vqg7b7jpnfzssrl4"))) |
| 396 | (make-linux-libre-source version | 409 | (make-linux-libre-source version |
| 397 | (%upstream-linux-source version hash) | 410 | (%upstream-linux-source version hash) |
| 398 | deblob-scripts-5.4))) | 411 | deblob-scripts-5.4))) |
| 399 | 412 | ||
| 400 | (define-public linux-libre-4.19-version "4.19.195") | 413 | (define-public linux-libre-4.19-version "4.19.197") |
| 401 | (define deblob-scripts-4.19 | 414 | (define deblob-scripts-4.19 |
| 402 | (linux-libre-deblob-scripts | 415 | (linux-libre-deblob-scripts |
| 403 | linux-libre-4.19-version | 416 | linux-libre-4.19-version |
| @@ -405,12 +418,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 405 | (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) | 418 | (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) |
| 406 | (define-public linux-libre-4.19-pristine-source | 419 | (define-public linux-libre-4.19-pristine-source |
| 407 | (let ((version linux-libre-4.19-version) | 420 | (let ((version linux-libre-4.19-version) |
| 408 | (hash (base32 "02rdy5mdmwxli0cin5n7ab492y9fs01hhqxrjq6b4idwv5baa42m"))) | 421 | (hash (base32 "10kj442qaky6rpl65k5rrvd3p6mdgz4p321zvf4s312ixfdja0g6"))) |
| 409 | (make-linux-libre-source version | 422 | (make-linux-libre-source version |
| 410 | (%upstream-linux-source version hash) | 423 | (%upstream-linux-source version hash) |
| 411 | deblob-scripts-4.19))) | 424 | deblob-scripts-4.19))) |
| 412 | 425 | ||
| 413 | (define-public linux-libre-4.14-version "4.14.237") | 426 | (define-public linux-libre-4.14-version "4.14.239") |
| 414 | (define deblob-scripts-4.14 | 427 | (define deblob-scripts-4.14 |
| 415 | (linux-libre-deblob-scripts | 428 | (linux-libre-deblob-scripts |
| 416 | linux-libre-4.14-version | 429 | linux-libre-4.14-version |
| @@ -418,12 +431,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 418 | (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) | 431 | (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) |
| 419 | (define-public linux-libre-4.14-pristine-source | 432 | (define-public linux-libre-4.14-pristine-source |
| 420 | (let ((version linux-libre-4.14-version) | 433 | (let ((version linux-libre-4.14-version) |
| 421 | (hash (base32 "0kib9p61hhwjbr8zhir9aw86qik7k6bm95503n3k09ayyachajpq"))) | 434 | (hash (base32 "167zwm3giizv42m0xjz71xnb2swlwiaw0xw0dg8j8mb74hz1drx0"))) |
| 422 | (make-linux-libre-source version | 435 | (make-linux-libre-source version |
| 423 | (%upstream-linux-source version hash) | 436 | (%upstream-linux-source version hash) |
| 424 | deblob-scripts-4.14))) | 437 | deblob-scripts-4.14))) |
| 425 | 438 | ||
| 426 | (define-public linux-libre-4.9-version "4.9.273") | 439 | (define-public linux-libre-4.9-version "4.9.275") |
| 427 | (define deblob-scripts-4.9 | 440 | (define deblob-scripts-4.9 |
| 428 | (linux-libre-deblob-scripts | 441 | (linux-libre-deblob-scripts |
| 429 | linux-libre-4.9-version | 442 | linux-libre-4.9-version |
| @@ -431,12 +444,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 431 | (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) | 444 | (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) |
| 432 | (define-public linux-libre-4.9-pristine-source | 445 | (define-public linux-libre-4.9-pristine-source |
| 433 | (let ((version linux-libre-4.9-version) | 446 | (let ((version linux-libre-4.9-version) |
| 434 | (hash (base32 "0jjarv3xfkc21j1xhgch53w8wm6rq3xw1i03rjw9fv5i9k4x6qsw"))) | 447 | (hash (base32 "08mz7mzmhk5n1gwadrc5fw8s40jk0rayvdpjcricl4sv56574lb6"))) |
| 435 | (make-linux-libre-source version | 448 | (make-linux-libre-source version |
| 436 | (%upstream-linux-source version hash) | 449 | (%upstream-linux-source version hash) |
| 437 | deblob-scripts-4.9))) | 450 | deblob-scripts-4.9))) |
| 438 | 451 | ||
| 439 | (define-public linux-libre-4.4-version "4.4.273") | 452 | (define-public linux-libre-4.4-version "4.4.275") |
| 440 | (define deblob-scripts-4.4 | 453 | (define deblob-scripts-4.4 |
| 441 | (linux-libre-deblob-scripts | 454 | (linux-libre-deblob-scripts |
| 442 | linux-libre-4.4-version | 455 | linux-libre-4.4-version |
| @@ -444,7 +457,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 444 | (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) | 457 | (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) |
| 445 | (define-public linux-libre-4.4-pristine-source | 458 | (define-public linux-libre-4.4-pristine-source |
| 446 | (let ((version linux-libre-4.4-version) | 459 | (let ((version linux-libre-4.4-version) |
| 447 | (hash (base32 "1pd39cak0zhda3m9nvn9yxgd070wxvckaha5wl8pi7c8i6jfpclb"))) | 460 | (hash (base32 "1aiwq6019sibsw5smj6ii28cr64dv24c19k4n8c09nakhmhcg94i"))) |
| 448 | (make-linux-libre-source version | 461 | (make-linux-libre-source version |
| 449 | (%upstream-linux-source version hash) | 462 | (%upstream-linux-source version hash) |
| 450 | deblob-scripts-4.4))) | 463 | deblob-scripts-4.4))) |
| @@ -477,6 +490,14 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 477 | (patches (append (origin-patches source) | 490 | (patches (append (origin-patches source) |
| 478 | patches)))) | 491 | patches)))) |
| 479 | 492 | ||
| 493 | (define-public linux-libre-5.13-source | ||
| 494 | (source-with-patches linux-libre-5.13-pristine-source | ||
| 495 | (list %boot-logo-patch | ||
| 496 | %linux-libre-arm-export-__sync_icache_dcache-patch | ||
| 497 | ;; Pinebook Pro patch to fix LCD display | ||
| 498 | (search-patch | ||
| 499 | "linux-libre-arm64-generic-pinebook-lcd.patch")))) | ||
| 500 | |||
| 480 | (define-public linux-libre-5.12-source | 501 | (define-public linux-libre-5.12-source |
| 481 | (source-with-patches linux-libre-5.12-pristine-source | 502 | (source-with-patches linux-libre-5.12-pristine-source |
| 482 | (list %boot-logo-patch | 503 | (list %boot-logo-patch |
| @@ -595,6 +616,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 595 | (description "Headers of the Linux-Libre kernel.") | 616 | (description "Headers of the Linux-Libre kernel.") |
| 596 | (license license:gpl2))) | 617 | (license license:gpl2))) |
| 597 | 618 | ||
| 619 | (define-public linux-libre-headers-5.13 | ||
| 620 | (make-linux-libre-headers* linux-libre-5.13-version | ||
| 621 | linux-libre-5.13-source)) | ||
| 622 | |||
| 598 | (define-public linux-libre-headers-5.12 | 623 | (define-public linux-libre-headers-5.12 |
| 599 | (make-linux-libre-headers* linux-libre-5.12-version | 624 | (make-linux-libre-headers* linux-libre-5.12-version |
| 600 | linux-libre-5.12-source)) | 625 | linux-libre-5.12-source)) |
| @@ -894,6 +919,12 @@ It has been modified to remove all non-free binary blobs.") | |||
| 894 | ;;; Generic kernel packages. | 919 | ;;; Generic kernel packages. |
| 895 | ;;; | 920 | ;;; |
| 896 | 921 | ||
| 922 | (define-public linux-libre-5.13 | ||
| 923 | (make-linux-libre* linux-libre-5.13-version | ||
| 924 | linux-libre-5.13-source | ||
| 925 | '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") | ||
| 926 | #:configuration-file kernel-config)) | ||
| 927 | |||
| 897 | (define-public linux-libre-5.12 | 928 | (define-public linux-libre-5.12 |
| 898 | (make-linux-libre* linux-libre-5.12-version | 929 | (make-linux-libre* linux-libre-5.12-version |
| 899 | linux-libre-5.12-source | 930 | linux-libre-5.12-source |
| @@ -1185,6 +1216,120 @@ It grants direct and undocumented access to your hardware that may cause damage | |||
| 1185 | and should be used with caution, especially on untested models.") | 1216 | and should be used with caution, especially on untested models.") |
| 1186 | (license license:gpl3+))) ; see README.md (no licence headers) | 1217 | (license license:gpl3+))) ; see README.md (no licence headers) |
| 1187 | 1218 | ||
| 1219 | (define-public corefreq | ||
| 1220 | (package | ||
| 1221 | (name "corefreq") | ||
| 1222 | (version "1.86.7") | ||
| 1223 | (source | ||
| 1224 | (origin | ||
| 1225 | (method git-fetch) | ||
| 1226 | (uri (git-reference | ||
| 1227 | (url "https://github.com/cyring/CoreFreq") | ||
| 1228 | (commit version))) | ||
| 1229 | (file-name (git-file-name name version)) | ||
| 1230 | (sha256 | ||
| 1231 | (base32 "1k8pyxcahc78kcc8q1h76dr91i1r33jciqhgkajkz3xa28qx8mhn")))) | ||
| 1232 | (build-system linux-module-build-system) | ||
| 1233 | (outputs (list "out" "linux-module")) | ||
| 1234 | (arguments | ||
| 1235 | `(#:imported-modules ((guix build gnu-build-system) | ||
| 1236 | ,@%linux-module-build-system-modules) | ||
| 1237 | #:modules ((guix build linux-module-build-system) | ||
| 1238 | ((guix build gnu-build-system) #:prefix gnu:) | ||
| 1239 | (guix build utils)) | ||
| 1240 | #:make-flags | ||
| 1241 | (list (string-append "CC=" ,(cc-for-target)) | ||
| 1242 | "OPTIM_LVL=3" | ||
| 1243 | (string-append "PREFIX=" (assoc-ref %outputs "out"))) | ||
| 1244 | #:tests? #f ; no test suite | ||
| 1245 | #:phases | ||
| 1246 | (modify-phases %standard-phases | ||
| 1247 | (add-after 'unpack 'untangle-module-targets | ||
| 1248 | ;; Having to build everything in one pass would complicate the | ||
| 1249 | ;; definition. Let each build system handle what it's good at. | ||
| 1250 | (lambda _ | ||
| 1251 | (substitute* "Makefile" | ||
| 1252 | ((".*MAKE.*KERNELDIR.*") "")))) | ||
| 1253 | (add-after 'build 'gnu:build | ||
| 1254 | (assoc-ref gnu:%standard-phases 'build)) | ||
| 1255 | (add-after 'install 'gnu:install | ||
| 1256 | (assoc-ref gnu:%standard-phases 'install)) | ||
| 1257 | (add-after 'install 'separate-module | ||
| 1258 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 1259 | ;; Adding INSTALL_MOD_PATH= to #:make-flags would still create an | ||
| 1260 | ;; empty <out>/lib/modules directory, so just do it all by hand. | ||
| 1261 | (let* ((out (assoc-ref outputs "out")) | ||
| 1262 | (module (assoc-ref outputs "linux-module"))) | ||
| 1263 | (mkdir-p (string-append module "/lib")) | ||
| 1264 | (rename-file (string-append out "/lib/modules") | ||
| 1265 | (string-append module "/lib/modules"))))) | ||
| 1266 | (add-after 'install 'install-README | ||
| 1267 | ;; There is no proper documentation. Provide something. | ||
| 1268 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 1269 | (let* ((out (assoc-ref outputs "out")) | ||
| 1270 | (doc (string-append out "/share/doc/" | ||
| 1271 | ,name "-" ,version))) | ||
| 1272 | (install-file "README.md" doc))))))) | ||
| 1273 | (home-page "https://github.com/cyring/CoreFreq") | ||
| 1274 | (synopsis | ||
| 1275 | "Measure performance data & tweak low-level settings on x86-64 CPUs") | ||
| 1276 | (description | ||
| 1277 | "CoreFreq is a CPU monitor that reports low-level processor settings and | ||
| 1278 | performance data with notably high precision by using a loadable Linux kernel | ||
| 1279 | module. Unlike most similar tools, it can be used to modify some settings if | ||
| 1280 | supported by the hardware and at your own risk. It's designed for 64-bit x86 | ||
| 1281 | Intel processors (Atom, Core2, Nehalem, SandyBridge, and newer) and compatible | ||
| 1282 | architectures like AMD@tie{}Zen and Hygon@tie{}Dhyana. | ||
| 1283 | |||
| 1284 | Supported processor features include: | ||
| 1285 | @enumerate | ||
| 1286 | @item time spent in C-states, including C1/C3 Auto- and UnDemotion; | ||
| 1287 | @item core temperatures, voltage, and tweaking thermal limits; | ||
| 1288 | @item core frequencies, ratios, and base clock rate; | ||
| 1289 | @item enabling, disabling, and testing SpeedStep (EIST), Turbo Boost, and | ||
| 1290 | Hyper-Threading or SMT; | ||
| 1291 | @item enabling or disabling data cache prefetching; | ||
| 1292 | @item kernel assembly code to keep as near as possible readings of performance | ||
| 1293 | counters such as the @acronym{TSC, Time Stamp Counter}, @acronym{UCC, Unhalted | ||
| 1294 | Core Cycles}, and @acronym{URC, Unhalted Reference Cycles}; | ||
| 1295 | @item the number of instructions per cycle or second (IPS, IPC, and CPI); | ||
| 1296 | @item memory controller geometry and RAM timings; | ||
| 1297 | @item running processes' CPU affinity. | ||
| 1298 | @end enumerate | ||
| 1299 | |||
| 1300 | This package provides the @command{corefreqd} data collection daemon, the | ||
| 1301 | @command{corefreq-cli} client to visualise and control it in real time, and the | ||
| 1302 | @code{corefreqk} kernel module in its own separate output. Read the included | ||
| 1303 | @file{README.md} before loading it.") | ||
| 1304 | (supported-systems (list "x86_64-linux")) | ||
| 1305 | (license license:gpl2))) | ||
| 1306 | |||
| 1307 | (define-public librem-ec-acpi-linux-module | ||
| 1308 | (package | ||
| 1309 | (name "librem-ec-acpi-linux-module") | ||
| 1310 | (version "0.9.1") | ||
| 1311 | (source | ||
| 1312 | (origin | ||
| 1313 | (method git-fetch) | ||
| 1314 | (uri (git-reference | ||
| 1315 | (url "https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms") | ||
| 1316 | (commit (string-append "v" version)))) | ||
| 1317 | (file-name (git-file-name name version)) | ||
| 1318 | (sha256 | ||
| 1319 | (base32 "1qnbfj60i8nn2ahgj2zp5ixd79bb0wl1ld36x3igws2f3c0f5pfi")))) | ||
| 1320 | (build-system linux-module-build-system) | ||
| 1321 | (arguments | ||
| 1322 | `(#:tests? #f)) ; no test suite | ||
| 1323 | (home-page "https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms") | ||
| 1324 | (synopsis "Linux kernel module to control the Librem Embedded Controller") | ||
| 1325 | (description | ||
| 1326 | "This is the Linux kernel @acronym{ACPI, Advanced Configuration and Power | ||
| 1327 | Interface} platform driver for the @acronym{EC, Embedded Controller} firmware | ||
| 1328 | on Purism Librem laptop computers. It allows user-space control over the | ||
| 1329 | battery charging thresholds, keyboard backlight, fans and thermal monitors, | ||
| 1330 | and the notification, WiFi, and Bluetooth LED.") | ||
| 1331 | (license license:gpl2))) | ||
| 1332 | |||
| 1188 | (define-public rtl8812au-aircrack-ng-linux-module | 1333 | (define-public rtl8812au-aircrack-ng-linux-module |
| 1189 | (let ((commit "059e06a51be025fde5b2bec6565540b3d9981b0b") | 1334 | (let ((commit "059e06a51be025fde5b2bec6565540b3d9981b0b") |
| 1190 | (revision "4")) | 1335 | (revision "4")) |
| @@ -1269,23 +1414,26 @@ network adapters.") | |||
| 1269 | (define-public vhba-module | 1414 | (define-public vhba-module |
| 1270 | (package | 1415 | (package |
| 1271 | (name "vhba-module") | 1416 | (name "vhba-module") |
| 1272 | (version "20200106") | 1417 | (version "20210418") |
| 1273 | (source (origin | 1418 | (source |
| 1274 | (method url-fetch) | 1419 | (origin |
| 1275 | (uri (string-append | 1420 | (method url-fetch) |
| 1276 | "http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-" | 1421 | (uri (string-append |
| 1277 | version ".tar.bz2")) | 1422 | "http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-" |
| 1278 | (sha256 | 1423 | version ".tar.xz")) |
| 1279 | (base32 | 1424 | (sha256 |
| 1280 | "10rlvsfj0fw6n0qmwcnvhimqnsnhi7n55lyl7fq1pkwggf5218sr")))) | 1425 | (base32 "119zgav6caialmf3hr096wkf72l9h76sqc9w5dhx26kj4yp85g8q")))) |
| 1281 | (build-system linux-module-build-system) | 1426 | (build-system linux-module-build-system) |
| 1282 | (arguments | 1427 | (arguments |
| 1283 | ;; TODO: No tests? | 1428 | `(#:tests? #f)) ; no test suite |
| 1284 | `(#:tests? #f)) | ||
| 1285 | (home-page "https://cdemu.sourceforge.io/") | 1429 | (home-page "https://cdemu.sourceforge.io/") |
| 1286 | (synopsis "Kernel module that emulates SCSI devices") | 1430 | (synopsis "Linux kernel module that emulates SCSI devices") |
| 1287 | (description "VHBA module provides a Virtual (SCSI) HBA, which is the link | 1431 | (description |
| 1288 | between the CDemu userspace daemon and linux kernel.") | 1432 | "The @acronym{VHBA, Virtual SCSI Host Bus Adapter} module is the link |
| 1433 | between the CDemu user-space daemon and the kernel Linux. It acts as a | ||
| 1434 | low-level SCSI driver that emulates a virtual SCSI adapter which can have | ||
| 1435 | multiple virtual devices attached to it. Its typical use with CDEmu is to | ||
| 1436 | emulate optical devices such as DVD and CD-ROM drives.") | ||
| 1289 | (license license:gpl2+))) | 1437 | (license license:gpl2+))) |
| 1290 | 1438 | ||
| 1291 | (define-public bbswitch-module | 1439 | (define-public bbswitch-module |
| @@ -1509,14 +1657,14 @@ at login. Local and dynamic reconfiguration are its key features.") | |||
| 1509 | (define-public powerstat | 1657 | (define-public powerstat |
| 1510 | (package | 1658 | (package |
| 1511 | (name "powerstat") | 1659 | (name "powerstat") |
| 1512 | (version "0.02.25") | 1660 | (version "0.02.26") |
| 1513 | (source | 1661 | (source |
| 1514 | (origin | 1662 | (origin |
| 1515 | (method url-fetch) | 1663 | (method url-fetch) |
| 1516 | (uri (string-append "https://kernel.ubuntu.com/~cking/tarballs/" | 1664 | (uri (string-append "https://kernel.ubuntu.com/~cking/tarballs/" |
| 1517 | "powerstat/powerstat-" version ".tar.gz")) | 1665 | "powerstat/powerstat-" version ".tar.gz")) |
| 1518 | (sha256 | 1666 | (sha256 |
| 1519 | (base32 "0dmixbxm4qd08ds26i0wvxwyy8nrjzfjj2q9ylx35564g4wh58qb")))) | 1667 | (base32 "18m85k83hryj05vix63fay1hh0sb9h87hy5r7g1dqg2y9i8lzgxk")))) |
| 1520 | (build-system gnu-build-system) | 1668 | (build-system gnu-build-system) |
| 1521 | (arguments | 1669 | (arguments |
| 1522 | `(#:make-flags | 1670 | `(#:make-flags |
| @@ -1525,12 +1673,6 @@ at login. Local and dynamic reconfiguration are its key features.") | |||
| 1525 | #:tests? #f ; no test suite | 1673 | #:tests? #f ; no test suite |
| 1526 | #:phases | 1674 | #:phases |
| 1527 | (modify-phases %standard-phases | 1675 | (modify-phases %standard-phases |
| 1528 | (add-after 'unpack 'respect-$prefix | ||
| 1529 | ;; https://bugs.launchpad.net/ubuntu/+source/powerstat/+bug/1877744 | ||
| 1530 | (lambda _ | ||
| 1531 | (substitute* "Makefile" | ||
| 1532 | (("DIR=/usr/") "DIR=$(prefix)/")) | ||
| 1533 | #t)) | ||
| 1534 | (delete 'configure)))) ; no configure script | 1676 | (delete 'configure)))) ; no configure script |
| 1535 | (home-page "https://kernel.ubuntu.com/~cking/powerstat/") | 1677 | (home-page "https://kernel.ubuntu.com/~cking/powerstat/") |
| 1536 | (synopsis "Measure system power consumption") | 1678 | (synopsis "Measure system power consumption") |
| @@ -2501,7 +2643,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") | |||
| 2501 | (define-public iproute | 2643 | (define-public iproute |
| 2502 | (package | 2644 | (package |
| 2503 | (name "iproute2") | 2645 | (name "iproute2") |
| 2504 | (version "5.12.0") | 2646 | (version "5.13.0") |
| 2505 | (source (origin | 2647 | (source (origin |
| 2506 | (method url-fetch) | 2648 | (method url-fetch) |
| 2507 | (uri (string-append | 2649 | (uri (string-append |
| @@ -2509,7 +2651,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") | |||
| 2509 | version ".tar.xz")) | 2651 | version ".tar.xz")) |
| 2510 | (sha256 | 2652 | (sha256 |
| 2511 | (base32 | 2653 | (base32 |
| 2512 | "0vrjbzhwzcvaxyyhkr2ii89w2vznzwp2pfgk7w72mviniawqs9lx")))) | 2654 | "0dhvdybfm33q9lz73sfnc24pxy2r42xywzb1gdgydjfafhvyb8kj")))) |
| 2513 | (build-system gnu-build-system) | 2655 | (build-system gnu-build-system) |
| 2514 | (arguments | 2656 | (arguments |
| 2515 | `( ;; There is a test suite, but it wants network namespaces and sudo. | 2657 | `( ;; There is a test suite, but it wants network namespaces and sudo. |
| @@ -2978,7 +3120,9 @@ processes currently causing I/O.") | |||
| 2978 | "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh")) | 3120 | "1ddlq6kzxilccgbvxjfx80jx6kamgw4sv49phks2zhlcc1frvrnh")) |
| 2979 | (patches (search-patches "fuse-overlapping-headers.patch")))) | 3121 | (patches (search-patches "fuse-overlapping-headers.patch")))) |
| 2980 | (build-system gnu-build-system) | 3122 | (build-system gnu-build-system) |
| 2981 | (inputs `(("util-linux" ,util-linux))) | 3123 | (inputs |
| 3124 | `(("bash-minimal" ,bash-minimal) | ||
| 3125 | ("util-linux" ,util-linux))) | ||
| 2982 | (arguments | 3126 | (arguments |
| 2983 | '(#:configure-flags (list (string-append "MOUNT_FUSE_PATH=" | 3127 | '(#:configure-flags (list (string-append "MOUNT_FUSE_PATH=" |
| 2984 | (assoc-ref %outputs "out") | 3128 | (assoc-ref %outputs "out") |
| @@ -3001,9 +3145,9 @@ processes currently causing I/O.") | |||
| 3001 | (("/bin/(u?)mount" _ maybe-u) | 3145 | (("/bin/(u?)mount" _ maybe-u) |
| 3002 | (string-append (assoc-ref inputs "util-linux") | 3146 | (string-append (assoc-ref inputs "util-linux") |
| 3003 | "/bin/" maybe-u "mount"))) | 3147 | "/bin/" maybe-u "mount"))) |
| 3004 | (substitute* '("util/mount.fuse.c") | 3148 | (substitute* "util/mount.fuse.c" |
| 3005 | (("/bin/sh") | 3149 | (("/bin/sh" command) |
| 3006 | (which "sh"))) | 3150 | (string-append (assoc-ref inputs "bash-minimal") command))) |
| 3007 | 3151 | ||
| 3008 | ;; This hack leads libfuse to search for 'fusermount' in | 3152 | ;; This hack leads libfuse to search for 'fusermount' in |
| 3009 | ;; $PATH, where it may find a setuid-root binary, instead of | 3153 | ;; $PATH, where it may find a setuid-root binary, instead of |
| @@ -3011,8 +3155,7 @@ processes currently causing I/O.") | |||
| 3011 | ;; it's not setuid. | 3155 | ;; it's not setuid. |
| 3012 | (substitute* "lib/Makefile" | 3156 | (substitute* "lib/Makefile" |
| 3013 | (("-DFUSERMOUNT_DIR=[[:graph:]]+") | 3157 | (("-DFUSERMOUNT_DIR=[[:graph:]]+") |
| 3014 | "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")) | 3158 | "-DFUSERMOUNT_DIR=\\\"/var/empty\\\""))))))) |
| 3015 | #t))))) | ||
| 3016 | (supported-systems (delete "i586-gnu" %supported-systems)) | 3159 | (supported-systems (delete "i586-gnu" %supported-systems)) |
| 3017 | (home-page "https://github.com/libfuse/libfuse") | 3160 | (home-page "https://github.com/libfuse/libfuse") |
| 3018 | (synopsis "Support file systems implemented in user space") | 3161 | (synopsis "Support file systems implemented in user space") |
| @@ -3602,7 +3745,7 @@ devices that can inject events directly into the input subsystem.") | |||
| 3602 | (define-public interception-tools | 3745 | (define-public interception-tools |
| 3603 | (package | 3746 | (package |
| 3604 | (name "interception-tools") | 3747 | (name "interception-tools") |
| 3605 | (version "0.6.4") | 3748 | (version "0.6.6") |
| 3606 | (home-page "https://gitlab.com/interception/linux/tools") | 3749 | (home-page "https://gitlab.com/interception/linux/tools") |
| 3607 | (source (origin | 3750 | (source (origin |
| 3608 | (method git-fetch) | 3751 | (method git-fetch) |
| @@ -3612,7 +3755,7 @@ devices that can inject events directly into the input subsystem.") | |||
| 3612 | (file-name (git-file-name name version)) | 3755 | (file-name (git-file-name name version)) |
| 3613 | (sha256 | 3756 | (sha256 |
| 3614 | (base32 | 3757 | (base32 |
| 3615 | "121jy40ynkbzlqnx7g0dqwvkb7dm2ahcy6vwrz6ylsyd0jmi6s5a")))) | 3758 | "0k9h14a9d65nwvv7pj0kigjgzfv453mm3r4svnxfg1h5lccmy8jj")))) |
| 3616 | (build-system cmake-build-system) | 3759 | (build-system cmake-build-system) |
| 3617 | (inputs | 3760 | (inputs |
| 3618 | `(("boost" ,boost) | 3761 | `(("boost" ,boost) |
| @@ -5134,7 +5277,7 @@ and copy/paste text in the console and in xterm.") | |||
| 5134 | (define-public btrfs-progs | 5277 | (define-public btrfs-progs |
| 5135 | (package | 5278 | (package |
| 5136 | (name "btrfs-progs") | 5279 | (name "btrfs-progs") |
| 5137 | (version "5.12.1") | 5280 | (version "5.13") |
| 5138 | (source (origin | 5281 | (source (origin |
| 5139 | (method url-fetch) | 5282 | (method url-fetch) |
| 5140 | (uri (string-append "mirror://kernel.org/linux/kernel/" | 5283 | (uri (string-append "mirror://kernel.org/linux/kernel/" |
| @@ -5142,7 +5285,7 @@ and copy/paste text in the console and in xterm.") | |||
| 5142 | "btrfs-progs-v" version ".tar.xz")) | 5285 | "btrfs-progs-v" version ".tar.xz")) |
| 5143 | (sha256 | 5286 | (sha256 |
| 5144 | (base32 | 5287 | (base32 |
| 5145 | "0n9p8zaz4nrkgc20cp6zj7gp4ib4hd4lbyph74f4pysllkz4c24m")))) | 5288 | "0hsqbv7kvw5j2669xmp226cf7mgdfyq6xg8vjhm5w9ix43922aaf")))) |
| 5146 | (build-system gnu-build-system) | 5289 | (build-system gnu-build-system) |
| 5147 | (outputs '("out" | 5290 | (outputs '("out" |
| 5148 | "static")) ; static versions of the binaries in "out" | 5291 | "static")) ; static versions of the binaries in "out" |
| @@ -5855,7 +5998,7 @@ The collection contains a set of bandwidth and latency benchmark such as: | |||
| 5855 | (package | 5998 | (package |
| 5856 | (name "rng-tools") | 5999 | (name "rng-tools") |
| 5857 | (home-page "https://github.com/nhorman/rng-tools") | 6000 | (home-page "https://github.com/nhorman/rng-tools") |
| 5858 | (version "6.12") | 6001 | (version "6.13") |
| 5859 | (source (origin | 6002 | (source (origin |
| 5860 | (method git-fetch) | 6003 | (method git-fetch) |
| 5861 | (uri (git-reference (url home-page) | 6004 | (uri (git-reference (url home-page) |
| @@ -5863,7 +6006,7 @@ The collection contains a set of bandwidth and latency benchmark such as: | |||
| 5863 | (file-name (git-file-name name version)) | 6006 | (file-name (git-file-name name version)) |
| 5864 | (sha256 | 6007 | (sha256 |
| 5865 | (base32 | 6008 | (base32 |
| 5866 | "0z4j3kqh9k3zsrx6257hwh4fa51vqg79c6dnfrj6lhpcll0wh0hm")))) | 6009 | "0m4895f44a668r0z7md5ifq7syndsb2by2dfhk794vmhprsk1406")))) |
| 5867 | (build-system gnu-build-system) | 6010 | (build-system gnu-build-system) |
| 5868 | (arguments | 6011 | (arguments |
| 5869 | `(;; Disable support for various hardware entropy sources as they need | 6012 | `(;; Disable support for various hardware entropy sources as they need |
| @@ -6486,6 +6629,8 @@ set the screen to be pitch black at a value of 0 (or higher). | |||
| 6486 | (delete 'configure) | 6629 | (delete 'configure) |
| 6487 | (add-after 'unpack 'adjust-udev-rules | 6630 | (add-after 'unpack 'adjust-udev-rules |
| 6488 | (lambda _ | 6631 | (lambda _ |
| 6632 | (substitute* "Makefile" | ||
| 6633 | (("INSTALL_UDEV_RULES=0") "INSTALL_UDEV_RULES=1")) | ||
| 6489 | (substitute* "90-brightnessctl.rules" | 6634 | (substitute* "90-brightnessctl.rules" |
| 6490 | (("/bin/") "/run/current-system/profile/bin/")) | 6635 | (("/bin/") "/run/current-system/profile/bin/")) |
| 6491 | #t))))) | 6636 | #t))))) |
| @@ -6738,7 +6883,9 @@ userspace queueing component and the logging subsystem.") | |||
| 6738 | (define-public proot | 6883 | (define-public proot |
| 6739 | (package | 6884 | (package |
| 6740 | (name "proot") | 6885 | (name "proot") |
| 6741 | (version "5.1.0") | 6886 | ;; The last stable release was made in 2015, and fails to build for |
| 6887 | ;; the aarch64 platform. | ||
| 6888 | (version "5.2.0-alpha") | ||
| 6742 | (source | 6889 | (source |
| 6743 | (origin | 6890 | (origin |
| 6744 | (method git-fetch) | 6891 | (method git-fetch) |
| @@ -6747,32 +6894,33 @@ userspace queueing component and the logging subsystem.") | |||
| 6747 | (commit (string-append "v" version)))) | 6894 | (commit (string-append "v" version)))) |
| 6748 | (file-name (git-file-name name version)) | 6895 | (file-name (git-file-name name version)) |
| 6749 | (sha256 | 6896 | (sha256 |
| 6750 | (base32 "0azsqis99gxldmbcg43girch85ysg4hwzf0h1b44bmapnsm89fbz")) | 6897 | (base32 "09vp806y4hqfq2fn2hpi873rh4j6a3c572ph4mkirx1n32wj8srl")))) |
| 6751 | (patches (search-patches "proot-test-fhs.patch")))) | ||
| 6752 | (build-system gnu-build-system) | 6898 | (build-system gnu-build-system) |
| 6899 | ;; The powerpc64le-linux and mips64el-linux architectures are not | ||
| 6900 | ;; supported (see: | ||
| 6901 | ;; https://github.com/proot-me/proot/blob/master/src/arch.h#L51). | ||
| 6902 | (supported-systems '("x86_64-linux" "i686-linux" | ||
| 6903 | "armhf-linux" "aarch64-linux" "i586-gnu")) | ||
| 6753 | (arguments | 6904 | (arguments |
| 6754 | '(#:make-flags '("-C" "src") | 6905 | ;; Disable the test suite on ARM platforms, as there are too many |
| 6755 | 6906 | ;; failures to keep track of (see for example: | |
| 6907 | ;; https://github.com/proot-me/proot/issues/263). | ||
| 6908 | `(#:tests? ,(not (string-match "^(arm|aarch64)" | ||
| 6909 | (or (%current-target-system) | ||
| 6910 | (%current-system)))) | ||
| 6911 | #:make-flags '("-C" "src") | ||
| 6756 | #:phases (modify-phases %standard-phases | 6912 | #:phases (modify-phases %standard-phases |
| 6757 | (delete 'configure) | 6913 | (add-after 'unpack 'patch-sources |
| 6758 | (add-before 'build 'set-shell-file-name | ||
| 6759 | (lambda* (#:key inputs #:allow-other-keys) | 6914 | (lambda* (#:key inputs #:allow-other-keys) |
| 6760 | (substitute* (find-files "src" "\\.[ch]$") | 6915 | (substitute* (find-files "src" "\\.[ch]$") |
| 6761 | (("\"/bin/sh\"") | 6916 | (("\"/bin/sh\"") |
| 6762 | (string-append "\"" | 6917 | (string-append "\"" (assoc-ref inputs "bash") |
| 6763 | (assoc-ref inputs "bash") | ||
| 6764 | "/bin/sh\""))) | 6918 | "/bin/sh\""))) |
| 6765 | #t)) | ||
| 6766 | (add-before 'check 'fix-fhs-assumptions-in-tests | ||
| 6767 | (lambda _ | ||
| 6768 | (substitute* "tests/test-c6b77b77.mk" | ||
| 6769 | (("/bin/bash") (which "bash")) | ||
| 6770 | (("/usr/bin/test") (which "test"))) | ||
| 6771 | (substitute* '("tests/test-16573e73.c") | ||
| 6772 | (("/bin/([a-z-]+)" _ program) | ||
| 6773 | (which program))) | ||
| 6774 | 6919 | ||
| 6775 | (substitute* (find-files "tests" "\\.sh$") | 6920 | (substitute* "src/GNUmakefile" |
| 6921 | (("/bin/echo") (which "echo"))) | ||
| 6922 | |||
| 6923 | (substitute* (find-files "test" "\\.sh$") | ||
| 6776 | ;; Some of the tests try to "bind-mount" /bin/true. | 6924 | ;; Some of the tests try to "bind-mount" /bin/true. |
| 6777 | (("-b /bin/true:") | 6925 | (("-b /bin/true:") |
| 6778 | (string-append "-b " (which "true") ":")) | 6926 | (string-append "-b " (which "true") ":")) |
| @@ -6782,30 +6930,65 @@ userspace queueing component and the logging subsystem.") | |||
| 6782 | (("/bin/sh") (which "sh")) | 6930 | (("/bin/sh") (which "sh")) |
| 6783 | ;; Others assume /etc/fstab exists. | 6931 | ;; Others assume /etc/fstab exists. |
| 6784 | (("/etc/fstab") "/etc/passwd")) | 6932 | (("/etc/fstab") "/etc/passwd")) |
| 6785 | 6933 | (substitute* "test/GNUmakefile" | |
| 6786 | (substitute* "tests/GNUmakefile" | ||
| 6787 | (("-b /bin:") "-b /gnu:")) | 6934 | (("-b /bin:") "-b /gnu:")) |
| 6935 | (substitute* "test/test-c6b77b77.mk" | ||
| 6936 | (("/bin/bash") (which "bash")) | ||
| 6937 | (("/usr/bin/test") (which "test"))) | ||
| 6938 | (substitute* "test/test-16573e73.c" | ||
| 6939 | (("/bin/([a-z-]+)" _ program) | ||
| 6940 | (which program))) | ||
| 6941 | (substitute* "test/test-d2175fc3.sh" | ||
| 6942 | (("\\^/bin/true\\$") "$(which true)")) | ||
| 6943 | (substitute* "test/test-5467b986.sh" | ||
| 6944 | (("-w /usr") "-w /gnu") | ||
| 6945 | (("-w usr") "-w gnu") | ||
| 6946 | (("/usr/share") "/gnu/store") | ||
| 6947 | (("share") "store")) | ||
| 6948 | (substitute* "test/test-092c5e26.sh" | ||
| 6949 | (("-q echo ") | ||
| 6950 | "-q $(which echo) ")) | ||
| 6951 | |||
| 6952 | ;; The following tests are known to fail (see: | ||
| 6953 | ;; https://github.com/proot-me/proot/issues/184). | ||
| 6954 | (delete-file "test/test-0228fbe7.sh") | ||
| 6955 | (delete-file "test/test-2db65cd2.sh") | ||
| 6956 | |||
| 6957 | ;; This one fails with "bind: Address already in use" | ||
| 6958 | ;; (see: https://github.com/proot-me/proot/issues/260). | ||
| 6959 | (delete-file "test/test-ssssssss.c") | ||
| 6960 | |||
| 6961 | ;; This one fails on a waitpid call that returns 1 (see: | ||
| 6962 | ;; https://github.com/proot-me/proot/issues/261). | ||
| 6963 | (delete-file "test/test-ptrace01.c") | ||
| 6788 | 6964 | ||
| 6789 | ;; XXX: This test fails in an obscure corner case, just | 6965 | ;; XXX: This test fails in an obscure corner case, just |
| 6790 | ;; skip it. | 6966 | ;; skip it. |
| 6791 | (delete-file "tests/test-kkkkkkkk.c") | 6967 | (delete-file "test/test-kkkkkkkk.c") |
| 6792 | 6968 | ||
| 6793 | #t)) | 6969 | ;; The socket tests requires networking. |
| 6794 | (replace 'check | 6970 | (for-each delete-file |
| 6971 | (find-files "test" "test-socket.*\\.sh$")))) | ||
| 6972 | (delete 'configure) | ||
| 6973 | (add-after 'build 'build-manpage | ||
| 6795 | (lambda _ | 6974 | (lambda _ |
| 6796 | (let ((n (parallel-job-count))) | 6975 | (with-directory-excursion "doc" |
| 6797 | ;; For some reason we get lots of segfaults with | 6976 | (invoke "make" "proot/man.1" "SUFFIX=.py")))) |
| 6798 | ;; seccomp support (x86_64, Linux-libre 4.11.0). | 6977 | (replace 'check |
| 6799 | (setenv "PROOT_NO_SECCOMP" "1") | 6978 | (lambda* (#:key tests? #:allow-other-keys) |
| 6800 | 6979 | (when tests? | |
| 6801 | ;; Most of the tests expect "/bin" to be in $PATH so | 6980 | (let ((n (parallel-job-count))) |
| 6802 | ;; they can run things that live in $ROOTFS/bin. | 6981 | ;; There are lots of segfaults with seccomp support |
| 6803 | (setenv "PATH" | 6982 | ;; (x86_64, Linux-libre 4.11.0) (see: |
| 6804 | (string-append (getenv "PATH") ":/bin")) | 6983 | ;; https://github.com/proot-me/proot/issues/106). |
| 6805 | 6984 | (setenv "PROOT_NO_SECCOMP" "1") | |
| 6806 | (invoke "make" "check" "-C" "tests" | 6985 | ;; Most of the tests expect "/bin" to be in $PATH so |
| 6807 | ;;"V=1" | 6986 | ;; they can run things that live in $ROOTFS/bin. |
| 6808 | "-j" (number->string n))))) | 6987 | (setenv "PATH" |
| 6988 | (string-append (getenv "PATH") ":/bin")) | ||
| 6989 | (invoke "make" "check" "-C" "test" | ||
| 6990 | ;;"V=1" | ||
| 6991 | "-j" (number->string n)))))) | ||
| 6809 | (replace 'install | 6992 | (replace 'install |
| 6810 | (lambda* (#:key outputs #:allow-other-keys) | 6993 | (lambda* (#:key outputs #:allow-other-keys) |
| 6811 | ;; The 'install' rule does nearly nothing. | 6994 | ;; The 'install' rule does nearly nothing. |
| @@ -6815,25 +6998,22 @@ userspace queueing component and the logging subsystem.") | |||
| 6815 | ;; build currently.) | 6998 | ;; build currently.) |
| 6816 | (invoke "make" "-C" "src" "install" | 6999 | (invoke "make" "-C" "src" "install" |
| 6817 | (string-append "PREFIX=" out)) | 7000 | (string-append "PREFIX=" out)) |
| 6818 | |||
| 6819 | (mkdir-p man1) | 7001 | (mkdir-p man1) |
| 6820 | (copy-file "doc/proot/man.1" | 7002 | (copy-file "doc/proot/man.1" |
| 6821 | (string-append man1 "/proot.1")) | 7003 | (string-append man1 "/proot.1")))))))) |
| 6822 | #t)))))) | ||
| 6823 | (native-inputs `(("which" ,which) | 7004 | (native-inputs `(("which" ,which) |
| 6824 | |||
| 6825 | ;; For 'mcookie', used by some of the tests. | 7005 | ;; For 'mcookie', used by some of the tests. |
| 6826 | ("util-linux" ,util-linux) | 7006 | ("util-linux" ,util-linux) |
| 6827 | |||
| 6828 | ;; XXX: Choose the old coreutils because its 'stat' | 7007 | ;; XXX: Choose the old coreutils because its 'stat' |
| 6829 | ;; program does not use statx(2) when running 'stat -c | 7008 | ;; program does not use statx(2) when running 'stat -c |
| 6830 | ;; %a' or similar, which PRoot doesn't properly support. | 7009 | ;; %a' or similar, which PRoot doesn't properly support |
| 7010 | ;; (see: https://github.com/proot-me/proot/issues/262). | ||
| 6831 | ("coreutils-old" ,coreutils-8.30) | 7011 | ("coreutils-old" ,coreutils-8.30) |
| 6832 | 7012 | ("pkg-config" ,pkg-config) | |
| 6833 | ;; XXX: 'test-c6b77b77.sh' runs 'make' and that leads | 7013 | ;; For rst2man, used to generate the manual page. |
| 6834 | ;; make 4.3 to segfault. | 7014 | ("python-docutils" ,python-docutils))) |
| 6835 | ("make-old" ,gnu-make-4.2))) | 7015 | (inputs `(("libarchive" ,libarchive) |
| 6836 | (inputs `(("talloc" ,talloc))) | 7016 | ("talloc" ,talloc))) |
| 6837 | (home-page "https://github.com/proot-me/PRoot") | 7017 | (home-page "https://github.com/proot-me/PRoot") |
| 6838 | (synopsis "Unprivileged chroot, bind mount, and binfmt_misc") | 7018 | (synopsis "Unprivileged chroot, bind mount, and binfmt_misc") |
| 6839 | (description | 7019 | (description |
| @@ -6938,7 +7118,7 @@ the MTP device as a file system.") | |||
| 6938 | (define-public procenv | 7118 | (define-public procenv |
| 6939 | (package | 7119 | (package |
| 6940 | (name "procenv") | 7120 | (name "procenv") |
| 6941 | (version "0.55") | 7121 | (version "0.58") |
| 6942 | (source | 7122 | (source |
| 6943 | (origin | 7123 | (origin |
| 6944 | (method git-fetch) | 7124 | (method git-fetch) |
| @@ -6947,7 +7127,7 @@ the MTP device as a file system.") | |||
| 6947 | (commit version))) | 7127 | (commit version))) |
| 6948 | (file-name (git-file-name name version)) | 7128 | (file-name (git-file-name name version)) |
| 6949 | (sha256 | 7129 | (sha256 |
| 6950 | (base32 "13fnr4gfj2xlxghw93m5gsxzlwzv3s6jv9hja0w0pb23hlncbmhy")))) | 7130 | (base32 "137n630qzml4yraqzp2fij8nzn8341nf8d58yzfhk8ddlzi60sfm")))) |
| 6951 | (build-system gnu-build-system) | 7131 | (build-system gnu-build-system) |
| 6952 | (native-inputs | 7132 | (native-inputs |
| 6953 | `(("pkg-config" ,pkg-config) | 7133 | `(("pkg-config" ,pkg-config) |
| @@ -6960,7 +7140,8 @@ the MTP device as a file system.") | |||
| 6960 | ("libcap" ,libcap) | 7140 | ("libcap" ,libcap) |
| 6961 | ("libselinux" ,libselinux))) | 7141 | ("libselinux" ,libselinux))) |
| 6962 | (synopsis "Utility to show process environment") | 7142 | (synopsis "Utility to show process environment") |
| 6963 | (description "Procenv is a command-line tool that displays as much detail about | 7143 | (description |
| 7144 | "Procenv is a command-line tool that displays as much detail about | ||
| 6964 | itself and its environment as possible. It can be used as a test | 7145 | itself and its environment as possible. It can be used as a test |
| 6965 | tool, to understand the type of environment a process runs in, and for | 7146 | tool, to understand the type of environment a process runs in, and for |
| 6966 | comparing system environments.") | 7147 | comparing system environments.") |
| @@ -7710,7 +7891,7 @@ of Linux application development.") | |||
| 7710 | (define-public ell | 7891 | (define-public ell |
| 7711 | (package | 7892 | (package |
| 7712 | (name "ell") | 7893 | (name "ell") |
| 7713 | (version "0.40") | 7894 | (version "0.41") |
| 7714 | (source (origin | 7895 | (source (origin |
| 7715 | (method git-fetch) | 7896 | (method git-fetch) |
| 7716 | (uri (git-reference | 7897 | (uri (git-reference |
| @@ -7719,7 +7900,7 @@ of Linux application development.") | |||
| 7719 | (file-name (git-file-name name version)) | 7900 | (file-name (git-file-name name version)) |
| 7720 | (sha256 | 7901 | (sha256 |
| 7721 | (base32 | 7902 | (base32 |
| 7722 | "1zzpbfdpmfldd7w0h7mwbq0mfqgqwz54nqbq0rmbqlqqpwlkrgb2")))) | 7903 | "14scs8vqpcf2810gvabsplg9yzh9y4sz47407bjy6vd604z3w8ah")))) |
| 7723 | (build-system gnu-build-system) | 7904 | (build-system gnu-build-system) |
| 7724 | (arguments | 7905 | (arguments |
| 7725 | `(#:phases | 7906 | `(#:phases |
| @@ -7750,14 +7931,14 @@ platforms, it is not limited to resource-constrained systems.") | |||
| 7750 | (define-public lttng-ust | 7931 | (define-public lttng-ust |
| 7751 | (package | 7932 | (package |
| 7752 | (name "lttng-ust") | 7933 | (name "lttng-ust") |
| 7753 | (version "2.11.0") | 7934 | (version "2.12.2") |
| 7754 | (source (origin | 7935 | (source (origin |
| 7755 | (method url-fetch) | 7936 | (method url-fetch) |
| 7756 | (uri (string-append "https://lttng.org/files/lttng-ust/" | 7937 | (uri (string-append "https://lttng.org/files/lttng-ust/" |
| 7757 | "lttng-ust-" version ".tar.bz2")) | 7938 | "lttng-ust-" version ".tar.bz2")) |
| 7758 | (sha256 | 7939 | (sha256 |
| 7759 | (base32 | 7940 | (base32 |
| 7760 | "1n646yz7882svf5a4ay3vqiiz3qjn3pgkkij9kk22871wp7q0ck8")))) | 7941 | "1iwz6p79zvibj8sl8qqw84lcir9a8z1ylq77hhnwg26anrjg1l5w")))) |
| 7761 | (build-system gnu-build-system) | 7942 | (build-system gnu-build-system) |
| 7762 | (inputs | 7943 | (inputs |
| 7763 | `(("liburcu" ,liburcu) | 7944 | `(("liburcu" ,liburcu) |
| @@ -8101,7 +8282,7 @@ kernel side implementation.") | |||
| 8101 | (define-public erofs-utils | 8282 | (define-public erofs-utils |
| 8102 | (package | 8283 | (package |
| 8103 | (name "erofs-utils") | 8284 | (name "erofs-utils") |
| 8104 | (version "1.2.1") | 8285 | (version "1.3") |
| 8105 | (source | 8286 | (source |
| 8106 | (origin | 8287 | (origin |
| 8107 | (method git-fetch) | 8288 | (method git-fetch) |
| @@ -8110,7 +8291,7 @@ kernel side implementation.") | |||
| 8110 | (commit (string-append "v" version)))) | 8291 | (commit (string-append "v" version)))) |
| 8111 | (file-name (git-file-name name version)) | 8292 | (file-name (git-file-name name version)) |
| 8112 | (sha256 | 8293 | (sha256 |
| 8113 | (base32 "1vb4mxsb59g29x7l22cffsqa8x743sra4j5zbmx89hjwpwm9vvcg")))) | 8294 | (base32 "0sqiw05zbxr6l0g9gn3whkc4qc5km2qvfg4lnm08nppwskm8yaw8")))) |
| 8114 | (build-system gnu-build-system) | 8295 | (build-system gnu-build-system) |
| 8115 | (inputs | 8296 | (inputs |
| 8116 | `(("lz4" ,lz4) | 8297 | `(("lz4" ,lz4) |
| @@ -8121,8 +8302,9 @@ kernel side implementation.") | |||
| 8121 | ("libtool" ,libtool) | 8302 | ("libtool" ,libtool) |
| 8122 | ("pkg-config" ,pkg-config))) | 8303 | ("pkg-config" ,pkg-config))) |
| 8123 | (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/") | 8304 | (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/") |
| 8124 | (synopsis "User-space tools for EROFS file system") | 8305 | (synopsis "User-space tools for the EROFS file system") |
| 8125 | (description "EROFS (Enhanced Read-Only File System) is a compressed, | 8306 | (description |
| 8307 | "@acronym{EROFS, The Enhanced Read-Only File System} is a compressed, | ||
| 8126 | read-only file system optimized for resource-scarce devices. This package | 8308 | read-only file system optimized for resource-scarce devices. This package |
| 8127 | provides user-space tools for creating EROFS file systems.") | 8309 | provides user-space tools for creating EROFS file systems.") |
| 8128 | (license license:gpl2+))) | 8310 | (license license:gpl2+))) |
