;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
-;;; Copyright © 2016, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
-;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages gperf)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages haskell-apps)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages man)
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
- "5.4.14"
+ "5.4.19"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
- (base32 "121px6030s89jh975sw0whwq315al6px1s7ildz3asql97bjdgc8")))
+ (base32 "1ajzwyy6vgmihxpz3sbshzfzd0w8yzj0fihv0d5rjpr4z3gm48bk")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
- "4.19.98"
+ "4.19.103"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
(base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr")))
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
- "4.14.167"
+ "4.14.170"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
- "4.9.211"
+ "4.9.213"
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
- "4.4.211"
+ "4.4.213"
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
"linux-" version ".tar.xz"))
(sha256 hash)))
-(define-public linux-libre-5.4-version "5.4.13")
+(define-public linux-libre-5.4-version "5.4.24")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1mva73ywb2r5lrmzp5m7hyy0zpgxdg91nw42c1z1sz3ydpcjkys9")))
+ (hash (base32 "1cvy3mxwzll4f9j8i3hfmi0i0zq75aiafq1jskp9n4kq9iwar83z")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.97")
+(define-public linux-libre-4.19-version "4.19.108")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1nln2ksfm0ddkqdmhvxwzqq96av1myx89kr1wxs54m2yw0la7clg")))
+ (hash (base32 "18shyy1z2s8r26qb4rcz7gwl43dnmycjjywp9gss5zlfn2jyrbh9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.167")
+(define-public linux-libre-4.14-version "4.14.172")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "0hzyb5k6adhg4vkhix21kg7z6gdzyk1dnzylvbsz9yh2m73qzdrb")))
+ (hash (base32 "0yi13cky6jdswca7nrjgcrdxk8rnqdbhblhy6mws103mjfms2613")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.211")
+(define-public linux-libre-4.9-version "4.9.215")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "1gmi27ih5ys1wxbrnc4a5dr9vw9ngccs9xpa2p0gsk4pbn6n15r5")))
+ (hash (base32 "0j4z2al318654z40w4f8zhh73zwpgn8igjr5k4mz401phm3jyvr3")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.211")
+(define-public linux-libre-4.4-version "4.4.215")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "1f6qz4bvjn18cfcg3wwfsl75aw2kxwn28r228kdic9aibhy6rpvp")))
+ (hash (base32 "00zy6cxwb16pqziiqs25pz5llryx2v2nbk9vvzpzxa8x43ad7g18")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
(define-public linux-libre-5.4
(make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-source
- '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
+ '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-5.4-version)
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
+(define-public linux-libre-riscv64-generic
+ (make-linux-libre* linux-libre-version
+ linux-libre-source
+ '("riscv64-linux")
+ #:extra-version "riscv64-generic"))
+
\f
;;;
;;; Linux kernel modules.
and should be used with caution, especially on untested models.")
(license license:gpl3+))) ; see README.md (no licence headers)
+(define-public rtl8812au-aircrack-ng-linux-module
+ (let ((commit "945d6ed6505c32f0993b1dba576388e92e78101b")
+ (revision "0"))
+ (package
+ (name "rtl8812au-aircrack-ng-linux-module")
+ (version (git-version "5.6.4.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aircrack-ng/rtl8812au.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pjws7qb5l4z9k80vgz4zdxmqhbwxjjrmkpf0hijf821byyddvi7"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove bundled tarballs, APKs, word lists, speadsheets,
+ ;; and other unnecessary unlicenced things.
+ (for-each delete-file-recursively (list "android"
+ "docs"
+ "tools"))
+ #t))))
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (apply invoke "make"
+ (string-append "KSRC="
+ (assoc-ref inputs "linux-module-builder")
+ "/lib/modules/build")
+ (or make-flags '())))))
+ #:tests? #f)) ; no test suite
+ (supported-systems '("x86_64-linux" "i686-linux"))
+ (home-page "https://github.com/aircrack-ng/rtl8812au")
+ (synopsis "Linux driver for Realtek USB wireless network adapters")
+ (description
+ "This is Realtek's rtl8812au Linux driver for USB 802.11n wireless
+network adapters, modified by the aircrack-ng project to support monitor mode
+and frame injection. It provides a @code{88XXau} kernel module that supports
+RTL8812AU, RTL8821AU, and RTL8814AU chips.")
+ (license license:gpl2+))))
+
(define-public vhba-module
(package
(name "vhba-module")
by Robert Shea and Robert Anton Wilson.")
(license license:public-domain)))
+(define-public fbset
+ (package
+ (name "fbset")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://users.telenet.be/geertu/Linux/fbdev/fbset-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "080wnisi0jq7dp0jcwdp83rq8q8s3kw41vc712516xbv4jq4mzs0"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-before 'install 'pre-install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile"
+ (("mknod ") "true ")
+ ;; The Makefile doesn't honour PREFIX or similar.
+ (("/usr") out))
+ (mkdir out)
+ (with-directory-excursion out
+ (for-each mkdir-p (list "sbin"
+ "man/man5"
+ "man/man8")))
+ #t)))
+ (add-after 'install 'install-fb.modes
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (etc (string-append out "/etc")))
+ (for-each (cut install-file <> etc)
+ (find-files "etc" "^fb\\.modes"))
+ (symlink "fb.modes.ATI"
+ (string-append etc "/fb.modes"))
+ #t))))
+ ;; Parallel building races to create modes.tab.c.
+ #:parallel-build? #f
+ #:tests? #f)) ; no test suite
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (home-page "http://users.telenet.be/geertu/Linux/fbdev/")
+ (synopsis "Show and modify Linux frame buffer settings")
+ (description
+ "The kernel Linux's @dfn{frame buffers} provide a simple interface to
+different kinds of graphic displays. The @command{fbset} utility can query and
+change various device settings such as depth, virtual resolution, and timing
+parameters.")
+ (license license:gpl2)))
+
(define-public procps
(package
(name "procps")
- (version "3.3.15")
+ (version "3.3.16")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/procps-ng/Production/"
"procps-ng-" version ".tar.xz"))
(sha256
(base32
- "0r84kwa5fl0sjdashcn4vh7hgfm7ahdcysig3mcjvpmkzi7p9g8h"))))
+ "1br0g93ysqhlv13i1k4lfbimsgxnpy5rgs4lxfc9rkzdbpbaqplj"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
(define-public strace
(package
(name "strace")
- (version "5.4")
+ (version "5.5")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
"/strace-" version ".tar.xz"))
(sha256
(base32
- "0hd7sb7l99y9rcj8jjc1b6m3ryds17krsymdg3dvd40jsla0bl7p"))))
+ "1zrhpzjlgfwfl8dd53llswmmharm5rbi0zch7lln5sjris69an4z"))))
(build-system gnu-build-system)
(arguments
'(#:phases
Both commands are targeted at system administrators.")
(license license:gpl2+)))
+(define-public lsscsi
+ (package
+ (name "lsscsi")
+ (version "0.31")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://sg.danny.cz/scsi/lsscsi-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1ry2y34xmpgxdbfbyvs8cjmbx0fn222yjdab87wj21q60nab5p75"))))
+ (build-system gnu-build-system)
+ (synopsis "Lists information about SCSI or NVMe devices in Linux")
+ (home-page "http://sg.danny.cz/scsi/lsscsi.html")
+ (description
+ "@command{lsscsi} lists SCSI logical units or SCSI targets. It can
+also list NVMe namespaces or controllers and show the relationship between a
+device's primary node name, its SCSI generic (sg) node name and its kernel
+name.")
+ (license license:gpl2)))
+
(define-public ebtables
(package
(name "ebtables")
- (version "2.0.10-4")
+ (version "2.0.11")
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://netfilter.org/ebtables/ebtables-v"
+ "mirror://netfilter.org/ebtables/ebtables-"
version ".tar.gz"))
(sha256
(base32
- "0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw"))))
+ "0apxgmkhsk3vxn9q3libxn3dgrdljrxyy4mli2gk49m7hi3na7xp"))))
(build-system gnu-build-system)
- (arguments
- '(#:tests? #f ; no test suite
- #:make-flags
- (let* ((out (assoc-ref %outputs "out"))
- (bin (string-append out "/sbin"))
- (lib (string-append out "/lib"))
- (man (string-append out "/share/man"))
- (iptables (assoc-ref %build-inputs "iptables"))
- (ethertypes (string-append iptables "/etc/ethertypes")))
- (list (string-append "LIBDIR=" lib)
- (string-append "MANDIR=" man)
- (string-append "BINDIR=" bin)
- (string-append "ETHERTYPESFILE=" ethertypes)
- ;; With the default CFLAGS, it falis with:
- ;; communication.c:259:58: error: variable ‘ret’ set but not
- ;; used [-Werror=unused-but-set-variable]
- "CFLAGS=-Wall"))
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- ;; no configure script
- (lambda _
- (substitute* "Makefile"
- ;; Remove user and group options from install commands,
- ;; otherwise it fails with: invalid user 'root'.
- (("-o root -g root") "")
- ;; Remove 'ethertypes' from the install target.
- (("install: .*")
- "install: $(MANDIR)/man8/ebtables.8 exec scripts\n"))
- #t)))))
(inputs
`(("perl" ,perl)
("iptables" ,iptables)))
(synopsis "Ethernet bridge frame table administration")
- (home-page "http://ebtables.netfilter.org/")
+ (home-page "https://ebtables.netfilter.org/")
(description
"ebtables is an application program used to set up and maintain the
tables of rules (inside the Linux kernel) that inspect Ethernet frames. It is
(define-public iproute
(package
(name "iproute2")
- (version "5.3.0")
+ (version "5.5.0")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b"))))
+ "0ywg70f98wgfai35jl47xzpjp45a6n7crja4vc8ql85cbi1l7ids"))))
(build-system gnu-build-system)
(arguments
`( ;; There is a test suite, but it wants network namespaces and sudo.
from the module-init-tools project.")
(license license:gpl2+))) ; library under lgpl2.1+
+(define-public earlyoom
+ (package
+ (name "earlyoom")
+ (version "1.3.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rfjakob/earlyoom.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06sd3jpkdrwqbphsf8jrgs5rxfi7j3xjmygjjvj4xjk4gncz7r2i"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'check 'set-home
+ (lambda _
+ (setenv "HOME" (getcwd))
+ #t))
+ (add-after 'build 'install-contribs
+ ;; Install what seems useful from the contrib directory.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (contrib (string-append
+ out "/share/earlyoom/contrib")))
+ (install-file "contrib/notify_all_users.py" contrib)
+ #t))))
+ #:make-flags (let* ((prefix (assoc-ref %outputs "out")))
+ (list "CC=gcc"
+ (string-append "VERSION=v" ,version)
+ (string-append "PREFIX=" prefix)
+ (string-append "SYSCONFDIR=" prefix "/etc")))
+ #:test-target "test"))
+ (native-inputs `(("go" ,go) ;for the test suite
+ ("pandoc" ,ghc-pandoc))) ;to generate the manpage
+ (home-page "https://github.com/rfjakob/earlyoom")
+ (synopsis "Simple out of memory (OOM) daemon for the Linux kernel")
+ (description "Early OOM is a minimalist out of memory (OOM) daemon that
+runs in user space and provides a more responsive and configurable alternative
+to the in-kernel OOM killer.")
+ (license license:expat)))
+
(define-public eudev
;; The post-systemd fork, maintained by Gentoo.
(package
time.")
(license license:gpl2+)))
+;; TODO: Merge with eudev on the next rebuild cycle.
+(define-public eudev/btrfs-fix
+ (package/inherit
+ eudev
+ (version (string-append (package-version eudev) "-1"))
+ (arguments
+ (substitute-keyword-arguments (package-arguments eudev)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'configure 'patch-bindir-in-btrfs-rules
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; The "@bindir@" substitution incorrectly expands to a literal
+ ;; "${exec_prefix}" (see <https://bugs.gnu.org/39926>). Work
+ ;; around it.
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "rules/64-btrfs.rules.in"
+ (("@bindir@")
+ (string-append out "/bin")))
+ #t)))))))))
+
(define-public eudev-with-hwdb
(deprecated-package "eudev-with-hwdb" eudev))
(define-public lvm2
(package
(name "lvm2")
- (version "2.02.177")
+ (version "2.03.08")
(source (origin
(method url-fetch)
- (uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
- version ".tgz"))
+ (uri (list (string-append "ftp://sourceware.org/pub/lvm2/LVM2."
+ version ".tgz")
+ (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
+ version ".tgz")))
(sha256
(base32
- "1wl0isn0yz5wvglwylnlqkppafwmvhliq5bd92vjqp5ir4za49a0"))
+ "1j0yis658564rk1ddabkl8vbavp0fdd10gd6qhgyzc3akzf620kf"))
(modules '((guix build utils)))
(snippet
'(begin
;; Honor sysconfdir.
(substitute* "make.tmpl.in"
- (("confdir = .*$")
+ (("^confdir = .*$")
"confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
"DEFAULT_SYS_DIR = @sysconfdir@"))
`(("pkg-config" ,pkg-config)
("procps" ,procps))) ;tests use 'pgrep'
(inputs
- `(("udev" ,eudev)))
+ `(("libaio" ,libaio)
+ ("udev" ,eudev)))
(arguments
'(#:phases
(modify-phases %standard-phases
;; Make sure programs such as 'dmsetup' can
;; find libdevmapper.so.
(string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib,-rpath="
- (assoc-ref %outputs "out")
- "/lib/device-mapper")
- ;; TODO: Patch make.tmpl.in to take LDFLAGS
- ;; into account so that we don't need to also
- ;; set CLDFLAGS.
- (string-append "CLDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib,-rpath="
(assoc-ref %outputs "out")
(substitute-keyword-arguments (package-arguments lvm2)
((#:configure-flags flags '())
;; LVM2 doesn't use Libtool, hence the custom option.
- `(cons "--enable-static_link" ,flags))))
+ `(append '("--enable-static_link")
+ ;; Building dmeventd statically is complicated due to a
+ ;; requirement on libdevmapper.a, which is being phased out
+ ;; in favor of libdevice-mapper.a, which in turn is is not
+ ;; easily made available at dmeventd build time. Just ignore
+ ;; it until the situation improves.
+ (delete "--enable-dmeventd" ,flags)))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'configure 'adjust-Makefile
+ (lambda _
+ ;; These fixes are related to the upstream libdm->device_mapper
+ ;; migration and will hopefully be fixed upstream in due time.
+ (substitute* "tools/Makefile.in"
+ ;; This variable is empty in a static configuration and causes
+ ;; an erroneous GCC command line.
+ (("-L\\$\\(interfacebuilddir\\)") "")
+ ;; Remove obsolete reference to libdevmapper.a.
+ (("-ldevmapper") ""))
+ #t))))))
(synopsis "Logical volume management for Linux (statically linked)")))
(define-public wireless-tools
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "5.4")
+ (version "5.4.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "1ykhasv0jc3qi3xrm5841mzkmlbkjw6rm70gl4aww90jj6ak55qg"))))
+ "0scxg9p6z0wss92gmv5a8yxdmr8x449kb5v3bfnvs26n92r7zq7k"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
(arguments
'(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefile
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("\\$\\(DESTDIR\\)\\$\\(udevruledir\\)")
+ (string-append (assoc-ref outputs "out")
+ "/lib/udev/rules.d")))
+ #t))
(add-after 'build 'build-static
(lambda _ (invoke "make" "static")))
(add-after 'install 'install-bash-completion
#:tests? #f ; XXX: require the 'btrfs' kernel module.
#:test-target "test"
#:parallel-tests? #f)) ; tests fail when run in parallel
- (inputs `(("e2fsprogs" ,e2fsprogs)
+ (inputs `(("e2fsprogs" ,e2fsprogs) ; for btrfs-convert
("libblkid" ,util-linux)
("libblkid:static" ,util-linux "static")
("libuuid" ,util-linux)
;; For tests.
("acl" ,acl)
("which" ,which)
+ ("dmsetup" ,lvm2)
+ ("udevadm" ,eudev)
;; The tests need 'grep' with perl regexp support.
("grep" ,grep)))
(home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page")
(define-public haveged
(package
(name "haveged")
- (version "1.9.6")
+ (version "1.9.8")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "11kr19n2f87izsj341lv5amhd1wc2ckfmqr9pq5fxix8pkbs94rh"))))
+ (base32 "1znr58fb3faq4nmrvc3c5whkc1f3chivm4vhicdwr9pdsyqqsd51"))))
(build-system gnu-build-system)
(home-page "https://www.issihosts.com/haveged")
(synopsis "Entropy source for the Linux random number generator")
(base32 "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-udev-rules-absolute-path-bins
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "90-backlight.rules"
+ (("/bin/chgrp") (which "chgrp"))
+ (("/bin/chmod") (which "chmod")))
+ #t))
+ (add-after 'install 'install-udev-rules
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file
+ "90-backlight.rules" (string-append out "/lib/udev/rules.d"))
+ #t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(define-public tlp
(package
(name "tlp")
- (version "1.2.2")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/linrunner/"
- (string-upcase name)
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w"))))
- (inputs `(("bash" ,bash)
- ("dbus" ,dbus)
- ("ethtool" ,ethtool)
- ("eudev" ,eudev)
- ("grep" ,grep)
- ("hdparm" ,hdparm)
- ("inetutils" ,inetutils)
- ("iw" ,iw)
- ("kmod" ,kmod)
- ("pciutils" ,pciutils)
- ("perl" ,perl)
- ("rfkill" ,rfkill)
- ("sed" ,sed)
- ("usbutils" ,usbutils)
- ("util-linux" ,util-linux)
- ("wireless-tools" ,wireless-tools)
- ,@(if (let ((system (or (%current-target-system)
- (%current-system))))
- (or (string-prefix? "i686-" system)
- (string-prefix? "x86_64-" system)))
- `(("x86-energy-perf-policy" ,x86-energy-perf-policy))
- '())))
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linrunner/TLP.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14fcnaz9pw534v4d8dddqq4wcvpf1kghr8zlrk62r5lrl46sp1p5"))))
+ (native-inputs
+ `(("shellcheck" ,shellcheck)))
+ (inputs
+ `(("bash" ,bash)
+ ("dbus" ,dbus)
+ ("ethtool" ,ethtool)
+ ("eudev" ,eudev)
+ ("grep" ,grep)
+ ("hdparm" ,hdparm)
+ ("inetutils" ,inetutils)
+ ("iw" ,iw)
+ ("kmod" ,kmod)
+ ("pciutils" ,pciutils)
+ ("perl" ,perl)
+ ("rfkill" ,rfkill)
+ ("sed" ,sed)
+ ("usbutils" ,usbutils)
+ ("util-linux" ,util-linux)
+ ("wireless-tools" ,wireless-tools)
+ ,@(if (let ((system (or (%current-target-system)
+ (%current-system))))
+ (or (string-prefix? "i686-" system)
+ (string-prefix? "x86_64-" system)))
+ `(("x86-energy-perf-policy" ,x86-energy-perf-policy))
+ '())))
(build-system gnu-build-system)
(arguments
- `(#:modules ((guix build gnu-build-system)
+ ;; XXX: The full test suite is run with "checkall" but it requires
+ ;; "checkbashisms" and "perlcritic", not yet packaged in Guix.
+ `(#:test-target "shellcheck"
+ #:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
#:phases
(setenv "TLP_TLIB" (string-append out "/share/tlp"))
(setenv "TLP_FLIB" (string-append out "/share/tlp/func.d"))
(setenv "TLP_ULIB" (string-append out "/lib/udev"))
- (setenv "TLP_CONF" "/etc/tlp")
+ (setenv "TLP_CONFDEF"
+ (string-append out "/share/tlp/defaults.conf"))
+ (setenv "TLP_CONFDIR" (string-append out "/etc/tlp.d"))
(setenv "TLP_ELOD"
(string-append out "/lib/elogind/system-sleep"))
(setenv "TLP_SHCPL"
(setenv "TLP_MAN" (string-append out "/share/man"))
(setenv "TLP_META" (string-append out "/share/metainfo"))
#t)))
- (delete 'check) ; no tests
(add-before 'install 'fix-installation
(lambda _
;; Stop the Makefile from trying to create system directories.
(substitute* "Makefile"
- (("\\[ -f \\$\\(_CONF\\) \\]") "#")
+ (("\\[ -f \\$\\(_CONFUSR\\) \\]") "#")
(("install -d -m 755 \\$\\(_VAR\\)") "#"))
#t))
(replace 'install
- (lambda _
- (invoke "make" "install-tlp" "install-man")))
+ (lambda _ (invoke "make" "install-tlp" "install-man-tlp")))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
(define-public cpuid
(package
(name "cpuid")
- (version "20200116")
+ (version "20200211")
(source (origin
(method url-fetch)
(uri (string-append "http://www.etallen.com/cpuid/cpuid-"
version ".src.tar.gz"))
(sha256
(base32
- "1gxi4iwy6j366l6bkj1yyxhrk1rxmwfp498gikfxn8xwhij9dn0a"))))
+ "06sjbqqp80l7nhsp6khglkzdp9qy4vhbvjxbfilznhsmrqiwlw55"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("CC=gcc")
ELL is designed to be efficient and compact enough for use on embedded Linux
platforms, it is not limited to resource-constrained systems.")
(license license:lgpl2.1+)))
+
+(define-public lttng-ust
+ (package
+ (name "lttng-ust")
+ (version "2.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://lttng.org/files/lttng-ust/"
+ "lttng-ust-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1n646yz7882svf5a4ay3vqiiz3qjn3pgkkij9kk22871wp7q0ck8"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("liburcu" ,liburcu)
+ ("numactl" ,numactl)))
+ (native-inputs
+ `(("python" ,python-3)))
+ (home-page "https://lttng.org/")
+ (synopsis "LTTng userspace tracer libraries")
+ (description "The user space tracing library, liblttng-ust, is the LTTng
+user space tracer. It receives commands from a session daemon, for example to
+enable and disable specific instrumentation points, and writes event records
+to ring buffers shared with a consumer daemon.")
+ (license license:lgpl2.1+)))
+
+(define-public kexec-tools
+ (package
+ (name "kexec-tools")
+ (version "2.0.20")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/linux/utils/kernel"
+ "/kexec/kexec-tools-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1j7qlhxk1rbv9jbj8wd6hb7zl8p2mp29ymrmccgmsi0m0dzhgn6s"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; There are no automated tests.
+ '(#:tests? #f))
+ (home-page "https://projects.horms.net/projects/kexec/")
+ (synopsis "Tools for booting directly into different kernels")
+ (description "This package provides the @code{kexec} program and ancillary
+utilities. Using @code{kexec}, it is possible to boot directly into a new
+kernel from the context of an already-running kernel, bypassing the normal
+system boot process.")
+ (license license:gpl2)))