;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
- "5.4.28"
+ "5.4.37"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
- (base32 "08ls4gx5vanyiq9rn0869nfq4piw4lx1dl8hh9w9xgkr4ypc1j4k")))
+ (base32 "10qb890is4z58vr8czh3xx69q62l3b3j38y410kgiw8nii3zx5lr")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
(sha256 hash)))
-(define-public linux-libre-5.6-version "5.6.8")
+(define-public linux-libre-5.6-version "5.6.13")
(define-public linux-libre-5.6-pristine-source
(let ((version linux-libre-5.6-version)
- (hash (base32 "1pw2q9509jzp84b6qasaais2ws25v2wrjh072q0x3j520zzl5q8r")))
+ (hash (base32 "11zriz0jwqizv0pq0laql0svsnspdfnxqykq70v22x39iyfdf9gi")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.6)))
-(define-public linux-libre-5.4-version "5.4.36")
+(define-public linux-libre-5.4-version "5.4.41")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "13avfvimjyg4lhj9micgib9bb5qpx11cja5liypid0rf2acfmymr")))
+ (hash (base32 "0mxhz3f0ayz0nggndbikp44kx307yxf16qzsv46hni6p8z1ffr0y")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.119")
+(define-public linux-libre-4.19-version "4.19.123")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1klvdzz8sndg2zsr1anfy9p5fc1aapjqvc249myrbndyf55bk91b")))
+ (hash (base32 "0gwrkbbfy85ajxpg7q6j9mn8mzhmsr1v3wmh5c76p34d3b9i96d7")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.177")
+(define-public linux-libre-4.14-version "4.14.180")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "04hq0i06mg2yc09jj2xk0vhf5q9yigzjzm55a5bvfy2a6j43r9rk")))
+ (hash (base32 "03pd4wpg526n391jwc0kbmbxi059mvq8d42a9qbym9mnv5rzjkj4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.220")
+(define-public linux-libre-4.9-version "4.9.223")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0bhbkybzbdsbmrjmb5m7hxxl8b3v6n79zhh86cbr95kzg1hcgnfs")))
+ (hash (base32 "1r9ag1fhy0g429q44qlqh0qkf42qkhzxa04gxlmnrinqypk00lyg")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.220")
+(define-public linux-libre-4.4-version "4.4.223")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "1knj3qsl7x3fysdz1h0s980ddbafs3658z2y67w6sn79wp7d8blg")))
+ (hash (base32 "09fln0sdfif2zv2jifp24yiqi0vcyj8fqx2jz91g21zvsxk3x5nd")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
;;;
(define-public acpi-call-linux-module
- (package
- (name "acpi-call-linux-module")
- (version "3.17")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/teleshoes/acpi_call.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "04mbv4lasm3vv1j4ndxhnz4hvp5wg8f5fc9q6qxv0nhvwjynmsl3"))))
- (build-system linux-module-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-for-linux-4.12
- (lambda _
- (substitute* "acpi_call.c"
- (("asm/uaccess\\.h")
- "linux/uaccess.h"))
- #t))
- (add-after 'install 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-" ,version)))
- (for-each (lambda (file)
- (let ((target (string-append doc "/" file)))
- (mkdir-p (dirname target))
- (copy-recursively file target)))
- (list "README.md" "examples"))
- #t))))))
- (home-page "https://github.com/teleshoes/acpi_call")
- (synopsis "Linux kernel module to perform ACPI method calls")
- (description
- "This simple Linux kernel module allows calls from user space to any
+ (let ((commit "70b9c80bd700e6a4d10797eaac9fd34b7e8cbd4a")
+ (revision "0"))
+ (package
+ (name "acpi-call-linux-module")
+ (version (git-version "3.17" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/teleshoes/acpi_call.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09c1vw6vcrkqxbwhpgfgpj4d1grzn4qq6ka8pwwzm7cvm405xj7x"))))
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (for-each (lambda (file)
+ (let ((target (string-append doc "/" file)))
+ (mkdir-p (dirname target))
+ (copy-recursively file target)))
+ (list "README.md" "examples"))
+ #t))))))
+ (home-page "https://github.com/teleshoes/acpi_call")
+ (synopsis "Linux kernel module to perform ACPI method calls")
+ (description
+ "This simple Linux kernel module allows calls from user space to any
@acronym{ACPI, Advanced Configuration and Power Interface} method provided by
your computer's firmware, by writing to @file{/proc/acpi/call}. You can pass
-any number of parameters of types @code{ACPI_INTEGER}, @code{ACPI_STRING},
+any number of parameters of types @code{ACPI_INTEGER}, @code{ACPI_STRING},
and @code{ACPI_BUFFER}.
It grants direct and undocumented access to your hardware that may cause damage
and should be used with caution, especially on untested models.")
- (license license:gpl3+))) ; see README.md (no licence headers)
+ (license license:gpl3+)))) ; see README.md (no licence headers)
(define-public rtl8812au-aircrack-ng-linux-module
(let ((commit "945d6ed6505c32f0993b1dba576388e92e78101b")
RTL8812AU, RTL8821AU, and RTL8814AU chips.")
(license license:gpl2+))))
+(define-public rtl8821ce-linux-module
+ (let ((commit "69765eb288a8dfad3b055b906760b53e02ab1dea")
+ (revision "0"))
+ (package
+ (name "rtl8821ce-linux-module")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tomaspinho/rtl8821ce.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17jiw25k74kv5lnvgycvj2g1n06hbrpjz6p4znk4a62g136rhn4s"))))
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key (make-flags '()) inputs #:allow-other-keys)
+ (setenv "CC" "gcc")
+ (invoke "make"
+ (string-append "KSRC="
+ (assoc-ref inputs "linux-module-builder")
+ "/lib/modules/build")))))
+ #:tests? #f))
+ (home-page "https://github.com/tomaspinho/rtl8821ce")
+ (synopsis "Linux driver for Realtek RTL8821CE wireless network adapters")
+ (description "This is Realtek's RTL8821CE Linux driver for wireless
+network adapters.")
+ (license license:gpl2))))
+
(define-public vhba-module
(package
(name "vhba-module")
;;; Miscellaneous.
;;;
+(define-public powerstat
+ (package
+ (name "powerstat")
+ (version "0.02.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://kernel.ubuntu.com/~cking/tarballs/"
+ "powerstat/powerstat-" version ".tar.gz"))
+ (sha256
+ (base32 "0r355b9syqa2nhfy8ksvxyy5d58v0isf983842js091s6liy0x7g"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (let* ((target ,(%current-target-system)))
+ (list (string-append "CC=" (if target
+ (string-append target "-gcc")
+ "gcc"))
+ (string-append "prefix=" (assoc-ref %outputs "out"))))
+ #:tests? #f ; no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'respect-$prefix
+ ;; https://bugs.launchpad.net/ubuntu/+source/powerstat/+bug/1877744
+ (lambda _
+ (substitute* "Makefile"
+ (("DIR=/usr/") "DIR=$(prefix)/"))
+ #t))
+ (delete 'configure)))) ; no configure script
+ (home-page "https://kernel.ubuntu.com/~cking/powerstat/")
+ (synopsis "Measure system power consumption")
+ (description
+ "Powerstat measures and reports your computer's power consumption in real
+time. On mobile PCs, it uses ACPI battery information to measure the power
+drain of the entire system.
+
+Powerstat can also report @acronym{RAPL, Running Average Power Limit} power
+domain measurements. These are available only on some hardware such as Intel
+Sandybridge and newer, and cover only part of the machine's components such as
+CPU, DRAM, and graphics. However, they provide accurate and immediate readings
+and don't require a battery at all.
+
+The output is like @command{vmstat} but also shows power consumption statistics:
+at the end of a run, @command{powerstat} will calculate the average, standard
+deviation, and minimum and maximum values. It can show a nice histogram too.")
+ (license license:gpl2)))
+
(define-public psmisc
(package
(name "psmisc")
(define-public powertop
(package
(name "powertop")
- (version "2.11")
+ (version "2.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://01.org/sites/default/files/downloads/"
- "powertop-v" version "-1-g7ef7f79.tar_0.gz"))
+ "powertop-" version ".tar.gz"))
(sha256
- (base32 "0kynypj5cydfbma0ssblq1k4m1arixc1s2vf0ybv8y2gg09wjs5f"))))
+ (base32 "1kiiwa5p2r7h1lzcf53xq61ckaa4wk565s9fs6vw4bfk84y3mfsw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public lvm2
(package
(name "lvm2")
- (version "2.03.08")
+ (version "2.03.09")
(source (origin
(method url-fetch)
(uri (list (string-append "ftp://sourceware.org/pub/lvm2/LVM2."
version ".tgz")))
(sha256
(base32
- "1j0yis658564rk1ddabkl8vbavp0fdd10gd6qhgyzc3akzf620kf"))
+ "0xdr9qbqw6kja267wmx6ajnfv1nhw056gpxx9v2qmfh3bj6qnfn0"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public multipath-tools
(package
(name "multipath-tools")
- (version "0.8.3")
+ (version "0.8.4")
(source (origin
- (method url-fetch)
- (uri (string-append "https://git.opensvc.com/?p=multipath-tools/"
- ".git;a=snapshot;h=" version ";sf=tgz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.opensvc.com/multipath-tools/.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1c6ay97wlfv1fl0y8hcfpxhkps14hlnw9gzmj7884micsp7pa9yv"))
+ "14n8pcgnliicqxzc40xvjxk4cafm4qx7a3rsx5qva74r3ydzx8rn"))
+ (patches (search-patches "multipath-tools-sans-systemd.patch"))
(modules '((guix build utils)))
(snippet
'(begin
#t))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ; no tests
+ '(#:test-target "test"
+ #:parallel-build? #f ;XXX: broken in 0.8.4
#:make-flags (list "CC=gcc"
(string-append "DESTDIR="
(assoc-ref %outputs "out"))
+ ;; Install Udev rules below this directory, relative
+ ;; to the prefix.
"SYSTEMDPATH=lib"
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
(("/usr/include/libudev.h")
(string-append udev "/include/libudev.h")))
#t)))
+ (add-after 'unpack 'fix-maybe-uninitialized-variable
+ (lambda _
+ ;; This variable gets initialized later if needed, but GCC 7
+ ;; fails to notice. Should be fixed for > 0.8.4.
+ ;; https://www.redhat.com/archives/dm-devel/2020-March/msg00137.html
+ (substitute* "libmultipath/structs_vec.c"
+ (("bool is_queueing;")
+ "bool is_queueing = false;"))
+ #t))
+ (add-after 'unpack 'fix-linking-tests
+ (lambda _
+ ;; Add missing linker flag for -lmpathcmd. This should be fixed
+ ;; for versions > 0.8.4.
+ (substitute* "tests/Makefile"
+ (("-lmultipath -lcmocka")
+ "-lmultipath -L$(mpathcmddir) -lmpathcmd -lcmocka"))
+ #t))
(delete 'configure)))) ; no configure script
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
- ("valgrind" ,valgrind)))
+ ("valgrind" ,valgrind)
+
+ ;; For tests.
+ ("cmocka" ,cmocka)))
(inputs
`(("json-c" ,json-c)
("libaio" ,libaio)
(append-to-file "mkfs/Makefile.am" "\nmkfs_f2fs_LDFLAGS = -all-static\n")
(append-to-file "fsck/Makefile.am" "\nfsck_f2fs_LDFLAGS = -all-static\n")
(append-to-file "tools/Makefile.am" "\nf2fscrypt_LDFLAGS = -all-static -luuid\n")
- #t)))))
+ #t))
+ (add-after 'install 'remove-store-references
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Work around bug in our util-linux.
+ ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41019>.
+ (remove-store-references (string-append (assoc-ref outputs "out")
+ "/sbin/mkfs.f2fs"))
+ #t)))))
(inputs
`(("libuuid:static" ,util-linux "static")
("libuuid" ,util-linux "lib")))))) ; for include files
+(define-public f2fs-fsck/static
+ (package
+ (name "f2fs-fsck-static")
+ (version (package-version f2fs-tools/static))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26))
+ (let* ((f2fs-tools (assoc-ref %build-inputs "f2fs-tools-static"))
+ (fsck "fsck.f2fs")
+ (out (assoc-ref %outputs "out"))
+ (sbin (string-append out "/sbin")))
+ (mkdir-p sbin)
+ (with-directory-excursion sbin
+ (install-file (string-append f2fs-tools "/sbin/" fsck)
+ ".")
+ (remove-store-references fsck)
+ (chmod fsck #o555))
+ #t))))
+ (inputs
+ `(("f2fs-tools-static" ,f2fs-tools/static)))
+ (home-page (package-home-page f2fs-tools/static))
+ (synopsis "Statically-linked fsck.f2fs command from f2fs-tools")
+ (description "This package provides statically-linked fsck.f2fs command taken
+from the f2fs-tools package. It is meant to be used in initrds.")
+ (license (package-license f2fs-tools/static))))
+
(define-public freefall
(package
(name "freefall")
(package
(name "rng-tools")
(home-page "https://github.com/nhorman/rng-tools")
- (version "6.9")
+ (version "6.10")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(file-name (git-file-name name version))
(sha256
(base32
- "065jf26s8zkicb95zc9ilksjdq9gqrh5vcx3mhi6mypbnamn6w98"))))
+ "0hbml37yxs0fs69g7f2x4ixq61z0029swy99rn7ykma9mi6b7ni9"))))
(build-system gnu-build-system)
(arguments
- `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
+ `(;; Disable support for various hardware entropy sources as they need
+ ;; dependencies that are not yet in Guix, and would significantly
+ ;; increase closure size.
#:configure-flags '("--without-nistbeacon"
- "--without-pkcs11")))
+ "--without-pkcs11"
+ "--without-rtlsdr")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
- `(("libsysfs" ,sysfsutils)))
+ `(("libsysfs" ,sysfsutils)
+ ("openssl" ,openssl)))
(synopsis "Random number generator daemon")
(description
"Monitor a hardware random number generator, and supply entropy
(native-inputs `(("which" ,which)
;; For 'mcookie', used by some of the tests.
- ("util-linux" ,util-linux)))
+ ("util-linux" ,util-linux)
+
+ ;; XXX: Choose the old coreutils because its 'stat'
+ ;; program does not use statx(2) when running 'stat -c
+ ;; %a' or similar, which PRoot doesn't properly support.
+ ("coreutils-old" ,coreutils-8.30)
+
+ ;; XXX: 'test-c6b77b77.sh' runs 'make' and that leads
+ ;; make 4.3 to segfault.
+ ("make-old" ,gnu-make-4.2)))
(inputs `(("talloc" ,talloc)))
(home-page "https://github.com/proot-me/PRoot")
(synopsis "Unprivileged chroot, bind mount, and binfmt_misc")
;; We don't have an /etc/passwd entry for "root" - use numeric IDs.
(substitute* "test/compare-tar"
(("tar -tvf") "tar --numeric-owner -tvf"))
+
+ ;; coreutils 8.32 changed 'ls' to use the statx() syscall instead
+ ;; of lstat(). fakeroot 1.24 does not support the former, so
+ ;; adjust these tests to use 'test -b' instead of 'ls' to test for
+ ;; block device. See <https://bugs.gnu.org/41090>.
+ (substitute* '("test/t.mknod" "test/t.chmod_dev")
+ (("ls -ld? \\$tmp/hda3")
+ "test -b $tmp/hda3 && echo block || echo fail"))
#t)))))
(native-inputs
`(("acl" ,acl)
("sharutils" ,sharutils) ; for the tests
("xz" ,xz))) ; for the tests
(inputs
- `(("libcap" ,libcap)
+ `(("libcap" ,libcap/next)
("util-linux" ,util-linux)))
(synopsis "Provides a fake root environment")
(description "@command{fakeroot} runs a command in an environment where
(home-page "http://freshmeat.sourceforge.net/projects/fakeroot")
(license license:gpl3+)))
+(define-public fakechroot
+ (package
+ (name "fakechroot")
+ (version "2.20.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/dex4er/fakechroot/releases/download/"
+ version "/fakechroot-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1aijkd0b45wav25v01qhw8zxwa3pl0nnp9fabmmy1nlx7hr09gas"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; XXX: The tests heavily assume they run on an FHS system so for now
+ ;; skip them.
+ '(#:tests? #f
+ #:configure-flags '("--disable-static")))
+ (synopsis "Emulate @code{chroot} by overriding file system calls")
+ (description
+ "@command{fakechroot} runs a command in an environment were is additional
+possibility to use @code{chroot} command without root privileges. This is
+useful for allowing users to create own chrooted environment with possibility
+to install another packages without need for root privileges.
+
+It works by providing @file{libfakechroot.so}, a shared library meant to be
+set as @code{LD_PRELOAD} to override the C library file system functions.")
+ (home-page "https://github.com/dex4er/fakechroot/")
+ (license license:lgpl2.1+)))
+
(define-public inputattach
(package
(name "inputattach")
kernel from the context of an already-running kernel, bypassing the normal
system boot process.")
(license license:gpl2)))
+
+(define-public cachefilesd
+ (package
+ (name "cachefilesd")
+ (version "0.10.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells"
+ "/cachefilesd.git/snapshot/cachefilesd-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0g40ljjnn3wzh9gp6il21c95f977298qrrkrxfnwfl3k3asfmnbi"))))
+ (build-system gnu-build-system)
+ (outputs '("out"))
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:make-flags
+ (let ((prefix-dir (lambda (var dir)
+ (string-append var "=" %output "/" dir)))
+ (target ,(%current-target-system)))
+ (list (string-append "CC="
+ (if target
+ (string-append target "-gcc")
+ "gcc"))
+ (prefix-dir "SBINDIR" "sbin/")
+ (prefix-dir "ETCDIR" "etc/")
+ (prefix-dir "MANDIR" "share/man/")))
+ #:phases (modify-phases %standard-phases (delete 'configure))))
+ (home-page "https://people.redhat.com/~dhowells/cachefs/")
+ (synopsis "CacheFiles userspace management daemon")
+ (description "@code{cachefilesd} is a userspace daemon that manages the
+cache data store that is used by network file systems such as @code{AFS} and
+@code{NFS} to cache data locally on disk. The content of the cache is
+persistent over reboots.")
+ (license license:gpl2+)))