;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 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 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
-;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
-;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
-;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017 Nils Gillmann <ng0@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>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;;
((string-prefix? "aarch64" arch) "arm64")
((string-prefix? "alpha" arch) "alpha")
((string-prefix? "powerpc" arch) "powerpc") ;including "powerpc64le"
+ ((string-prefix? "s390" arch) "s390")
(else arch))))
(define-public (system->defconfig system)
(define-public linux-libre-headers
(package
(name "linux-libre-headers")
- (version "4.4.47")
+ (version "4.9.59")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "00zdq7swhvzbbnnhzizq6m34q5k4fycpcp215bmkbxh1ic76v7bs"))))
+ "0z8hq8a6ic38xh33idzl0k0yi4isgd7ncl2g1d6mzf9ixw5krhvc"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
("bc" ,bc)
("openssl" ,openssl)
("kmod" ,kmod)
+ ;; On x86, build with GCC-7 for full retpoline support.
+ ;; FIXME: Remove this when our default compiler has retpoline support.
+ ,@(match (system->linux-architecture
+ (or (%current-target-system) (%current-system)))
+ ((or "x86_64" "i386")
+ `(("gcc" ,gcc-7)))
+ (_
+ '()))
,@(match (and configuration-file
(configuration-file
(system->linux-architecture
(begin
(copy-file config ".config")
(chmod ".config" #o666))
- (system* "make" ,defconfig))
+ (invoke "make" ,defconfig))
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(display extra-configuration port)
(close-port port))
- (zero? (system* "make" "oldconfig")))))
+ (invoke "make" "oldconfig"))))
(replace 'install
(lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(find-files "." "\\.dtb$"))
;; Install kernel modules
(mkdir-p moddir)
- (zero? (system* "make"
- (string-append "DEPMOD=" kmod "/bin/depmod")
- (string-append "MODULE_DIR=" moddir)
- (string-append "INSTALL_PATH=" out)
- (string-append "INSTALL_MOD_PATH=" out)
- "INSTALL_MOD_STRIP=1"
- "modules_install"))))))
+ (invoke "make"
+ (string-append "DEPMOD=" kmod "/bin/depmod")
+ (string-append "MODULE_DIR=" moddir)
+ (string-append "INSTALL_PATH=" out)
+ (string-append "INSTALL_MOD_PATH=" out)
+ "INSTALL_MOD_STRIP=1"
+ "modules_install")))))
#:tests? #f))
- (home-page "https://www.gnu.org/software/linux-libre//")
+ (home-page "https://www.gnu.org/software/linux-libre/")
(synopsis "100% free redistribution of a cleaned Linux kernel")
(description
"GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
-(define %linux-libre-version "4.14.10")
-(define %linux-libre-hash "05l3r8i34l6b6mlgkia4xvlpc6h9nfwhsb74fy8g9dfbklx51zc8")
-
;; linux-libre configuration for armhf-linux is derived from Debian armmp. It
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
+(define %linux-libre-version "4.15.15")
+(define %linux-libre-hash "14pjdwj6n7j8wpjrwlj261s5bxf4861d6w42agrz8ilznhi11niy")
+
(define-public linux-libre
(make-linux-libre %linux-libre-version
%linux-libre-hash
%linux-compatible-systems
#:configuration-file kernel-config))
+(define %linux-libre-4.14-version "4.14.32")
+(define %linux-libre-4.14-hash "0xqqd9s35xqxp72l93jr26vjcbwxlxmpmk8b5p9jipql9a81a1x8")
+
+(define-public linux-libre-4.14
+ (make-linux-libre %linux-libre-4.14-version
+ %linux-libre-4.14-hash
+ %linux-compatible-systems
+ #:configuration-file kernel-config))
+
(define-public linux-libre-4.9
- (make-linux-libre "4.9.73"
- "0a5xgy7g7sb3439brv4hvpb2hjzs22nhibz8vxdmi4sqaqchh9r7"
+ (make-linux-libre "4.9.92"
+ "1v4mf5mcqc5axbld38qn31pivy6mi80xci81wk128yhlby6w0yj7"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.108"
- "1cwcpp76m4k69lv7h09j3mlgm6jva4bnsykps35ffmbv9sw71wma"
+ (make-linux-libre "4.4.126"
+ "03arqqx8qsjadnk7mhhnr59j2vmbpkmrwi86md2n4c8bqja8fgnq"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.1
- (make-linux-libre "4.1.48"
- "13ii6ixcm46hzk1ns6n4hrrv4dyc0n3wvj2qhmxi178akdcgbn8a"
+ (make-linux-libre "4.1.51"
+ "0l8lpwjpckp44hjyx5qrxqdwwi97gyyc1n6pmk66cr3fpdhnk540"
%intel-compatible-systems
#:configuration-file kernel-config))
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
+(define-public linux-libre-arm-generic-4.14
+ (make-linux-libre %linux-libre-4.14-version
+ %linux-libre-4.14-hash
+ '("armhf-linux")
+ #:defconfig "multi_v7_defconfig"
+ #:extra-version "arm-generic"))
+
(define-public linux-libre-arm-omap2plus
(make-linux-libre %linux-libre-version
%linux-libre-hash
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
+(define-public linux-libre-arm-omap2plus-4.14
+ (make-linux-libre %linux-libre-4.14-version
+ %linux-libre-4.14-hash
+ '("armhf-linux")
+ #:defconfig "omap2plus_defconfig"
+ #:extra-version "arm-omap2plus"))
+
\f
;;;
;;; Pluggable authentication modules (PAM).
(define-public util-linux
(package
(name "util-linux")
- (version "2.30.1")
+ (version "2.31")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0hdq2fz405a89fyha4bgwg0rx8b65inxq17w8fg8qhmcj4x3dr0v"))
+ "12nw108xjhm63sh2n5a0qs33vpvbvb6rln96l9j50p7wykf7rgpr"))
(patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils)))
(snippet
(arguments
`(#:configure-flags (list "--disable-use-tty-group"
"--enable-fs-paths-default=/run/current-system/profile/sbin"
+ ;; Don't try to chown root:root mount and umount
+ "--disable-makeinstall-chown"
;; Install completions where our
;; bash-completion package expects them.
(string-append "--with-bashcompletiondir="
(license (list license:gpl3+ license:gpl2+ license:gpl2 license:lgpl2.0+
license:bsd-4 license:public-domain))))
+;; The patch 'util-linux-CVE-2018-7738.patch' fixes a security bug in
+;; the Bash completions for `mount`. Since this bug doesn't affect
+;; other programs that link against libraries from util-linux, we don't
+;; need to use a graft to make the fix available. Instead, users
+;; installing util-linux will get the fix in this newer version, and
+;; (@ (gnu system) %base-packages) takes care to use this package.
+;; This solution was suggested here:
+;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30827#13>
+(define-public util-linux-2.31.1
+ (package
+ (inherit util-linux)
+ (name "util-linux")
+ ;; XXX Don't update this without also updating %base-packages!
+ (version "2.31.1")
+ (source (origin
+ (inherit (package-source util-linux))
+ (uri (string-append "mirror://kernel.org/linux/utils/"
+ name "/v" (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "04fzrnrr3pvqskvjn9f81y0knh0jvvqx4lmbz5pd4lfdm5pv2l8s"))
+ (patches
+ (append (origin-patches (package-source util-linux))
+ (search-patches "util-linux-CVE-2018-7738.patch")))))))
+
(define-public ddate
(package
(name "ddate")
(define-public usbutils
(package
(name "usbutils")
- (version "008")
+ (version "009")
(source
(origin
(method url-fetch)
"usbutils-" version ".tar.xz"))
(sha256
(base32
- "132clk14j4nm8crln2jymdbbc2vhzar2j2hnxyh05m79pbq1lx24"))))
+ "0q3iavmak2bs9xw486w4xfbjl0hbzii93ssgpr95mxmm9kjz1gwb"))))
(build-system gnu-build-system)
(inputs
`(("libusb" ,libusb)
(define-public zerofree
(package
(name "zerofree")
- (version "1.1.0")
+ (version "1.1.1")
(home-page "https://frippery.org/uml/")
(source (origin
(method url-fetch)
".tgz"))
(sha256
(base32
- "059g29x5r1xj6wcj4xj85l8w6qrxyl86yqbybjqqz6nxz4falxzf"))))
+ "0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public strace
(package
(name "strace")
- (version "4.20")
+ (version "4.22")
+ (home-page "https://strace.io")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/strace/strace/" version
+ (uri (string-append home-page "/files/" version
"/strace-" version ".tar.xz"))
(sha256
(base32
- "08y5b07vb8jc7ak5xc3x2kx1ly6xiwv1gnppcqjs81kks66i9wsv"))))
+ "17dkpnsjxmys1ydidm9wcvc3wscsz44fmlxw3dclspn9cj9d1306"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(("/bin/sh") (which "sh")))
#t)))))
(native-inputs `(("perl" ,perl)))
- (home-page "https://strace.io/")
(synopsis "System call tracer for Linux")
(description
"strace is a system call tracer, i.e. a debugging tool which prints out a
(arguments
;; Compilation uses -Werror by default, but it fails.
'(#:configure-flags '("--disable-werror")))
- (home-page "http://www.ltrace.org/")
+ (home-page "https://www.ltrace.org/")
(synopsis "Library call tracer for Linux")
(description
"ltrace intercepts and records dynamic library calls which are called by
(define-public alsa-lib
(package
(name "alsa-lib")
- (version "1.1.4.1")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "0xjvi381105gldhv0z872a0x58sghznyx19j45lw5iyi2h68gfwi"))))
+ "1rhacnlj0grvfagjx5qzsnbhw7m7lyccghqs4jsv0dnsqv9qmxpl"))))
(build-system gnu-build-system)
(home-page "https://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries")
(define-public alsa-utils
(package
(name "alsa-utils")
- (version "1.1.4")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "17cxih9ibjp1193dyd79j50pyfa9dvrs6r9kpwrvzicjvr2110x7"))))
+ "1s727md6mb408y2cfwzjkx23abxhampyrjdkgpyygdhxx62x42rj"))))
(build-system gnu-build-system)
(arguments
;; XXX: Disable man page creation until we have DocBook.
(define-public alsa-plugins
(package
(name "alsa-plugins")
- (version "1.1.4")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "12hsvm6rpinjkg06pa9hzndkdrbfw6wk6yk00cm8y1gbv8xiq3ak"))))
+ "073zpgvj4pldmzqq97l40wngvbqnvrkc8yw153mgny9kypwaazbr"))))
(build-system gnu-build-system)
;; TODO: Split libavcodec and speex if possible. It looks like they can not
;; be split, there are references to both in files.
(define-public iptables
(package
(name "iptables")
- (version "1.6.1")
+ (version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg"))))
+ "0crp0lvh5m2f15pr8cw97h8yb8zjj10x95zj06j46cr68vx2vl2m"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
#:configure-flags ; add $libdir to the RUNPATH of executables
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
(home-page "https://www.netfilter.org/projects/iptables/index.html")
- (synopsis "Program to configure the Linux IP packet filtering rules")
+ (synopsis "Programs to configure Linux IP packet filtering rules")
(description
- "iptables is the userspace command line program used to configure the
-Linux 2.4.x and later IPv4 packet filtering ruleset (firewall). It is targeted at
-system administrators. Since Network Address Translation is also configured
-from the packet filter ruleset, iptables is used for this, too. The iptables
-package also includes ip6tables. ip6tables is used for configuring the IPv6
-packet filter.")
+ "@command{iptables} is the user-space command line program used to
+configure the Linux 2.4.x and later IPv4 packet filtering ruleset
+(@dfn{firewall}), including @dfn{NAT} (Network Address Translation).
+
+This package also includes @command{ip6tables}, which is used to configure the
+IPv6 packet filter.
+
+Both commands are targeted at system administrators.")
(license license:gpl2+)))
(define-public ebtables
(define-public iproute
(package
(name "iproute2")
- (version "4.14.1")
+ (version "4.16.0")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "0rq0n7yxb0hmk0s6wx5awzjgf7ikjbibd0a5ix20ldfcmxlc0fnl"))))
+ "02pfalg319jpbjz273ph725br8dnkzpfvi98azi9yd6p1w128p0c"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
inadequately in modern network environments, and both should be deprecated.")
(license license:gpl2+)))
-;; There are two packages for net-tools. The first, net-tools, is more recent
-;; and probably safer to use with untrusted inputs (i.e. the internet). The
-;; second, net-tools-for-tests, is relatively old and buggy. It can be used in
-;; package test suites and should never be referred to by a built package. Use
-;; #:disallowed-references to enforce this.
-;;
-;; When we are able to rebuild many packages (i.e. core-updates), we can update
-;; net-tools-for-tests if appropriate.
-;;
-;; See <https://bugs.gnu.org/27811> for more information.
(define-public net-tools
;; XXX: This package is basically unmaintained, but it provides a few
;; commands not yet provided by Inetutils, such as 'route', so we have to
configuration (iptunnel, ipmaddr).")
(license license:gpl2+))))
-(define-public net-tools-for-tests
- (hidden-package (package (inherit net-tools)
- (version "1.60")
- ;; Git depends on net-tools-for-tests via GnuTLS, so we can't use git-fetch
- ;; here. We should find a better workaround for this problem so that we can
- ;; use the latest upstream source.
- (source (origin
- (method url-fetch)
- (uri (list (string-append
- "mirror://sourceforge/net-tools/net-tools-"
- version ".tar.bz2")
- (string-append
- "http://distro.ibiblio.org/rootlinux/rootlinux-ports"
- "/base/net-tools/net-tools-1.60.tar.bz2")))
- (sha256
- (base32
- "0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s"))
- (patches (search-patches "net-tools-bitrot.patch"))))
- (build-system gnu-build-system)
- (arguments
- '(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1)
- (srfi srfi-26))
- #:phases (alist-cons-after
- 'unpack 'patch
- (lambda* (#:key inputs #:allow-other-keys)
- (define (apply-patch file)
- (zero? (system* "patch" "-p1" "--force"
- "--input" file)))
-
- (let ((patch.gz (assoc-ref inputs "patch")))
- (format #t "applying Debian patch set '~a'...~%"
- patch.gz)
- (system (string-append "gunzip < " patch.gz " > the-patch"))
- (and (apply-patch "the-patch")
- (for-each apply-patch
- (find-files "debian/patches"
- "\\.patch")))))
- (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir-p (string-append out "/bin"))
- (mkdir-p (string-append out "/sbin"))
-
- ;; Pretend we have everything...
- (system "yes | make config")
-
- ;; ... except for the things we don't have.
- ;; HAVE_AFDECnet requires libdnet, which we don't have.
- ;; HAVE_HWSTRIP and HAVE_HWTR require kernel headers
- ;; that have been removed.
- (substitute* '("config.make" "config.h")
- (("^.*HAVE_(AFDECnet|HWSTRIP|HWTR)[ =]1.*$") ""))))
- (alist-cons-after
- 'install 'remove-redundant-commands
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Remove commands and man pages redundant with
- ;; Inetutils.
- (let* ((out (assoc-ref outputs "out"))
- (dup (append-map (cut find-files out <>)
- '("^hostname"
- "^(yp|nis|dns)?domainname"))))
- (for-each delete-file dup)
- #t))
- %standard-phases)))
-
- ;; Binaries that depend on libnet-tools.a don't declare that
- ;; dependency, making it parallel-unsafe.
- #:parallel-build? #f
-
- #:tests? #f ; no test suite
- #:make-flags (let ((out (assoc-ref %outputs "out")))
- (list "CC=gcc"
- (string-append "BASEDIR=" out)
- (string-append "INSTALLNLSDIR=" out "/share/locale")
- (string-append "mandir=/share/man")))))
-
- ;; We added unzip to the net-tools package's native-inputs when
- ;; switching its source from a Git checkout to a zip archive. We
- ;; need to specify the native-inputs here to keep unzip out of the
- ;; build of net-tools-for-tests, so that we don't have to rebuild
- ;; many packages on the master branch. We can make
- ;; net-tools-for-tests inherit directly from net-tools in the next
- ;; core-updates cycle.
- (native-inputs `(("gettext" ,gettext-minimal)))
-
- ;; Use the big Debian patch set (the thing does not even compile out of
- ;; the box.)
- ;; XXX The patch is not actually applied, due to a bug in the 'patch' phase
- ;; above. However, this package variant is only used in GnuTLS's tests. It
- ;; will be adjusted when convenient for the build farm.
- ;; See <https://bugs.gnu.org/27811> for more information.
- (inputs `(("patch" ,(origin
- (method url-fetch)
- (uri
- "http://ftp.de.debian.org/debian/pool/main/n/net-tools/net-tools_1.60-24.2.diff.gz")
- (sha256
- (base32
- "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p")))))))))
-
(define-public libcap
(package
(name "libcap")
(mkdir-p dest)
(zero? (system* "tar" "xf" (assoc-ref inputs "libnl3-doc")
"--strip-components=1" "-C" dest))))))))
- (home-page "http://www.infradead.org/~tgr/libnl/")
+ (home-page "https://www.infradead.org/~tgr/libnl/")
(synopsis "NetLink protocol library suite")
(description
"The libnl suite is a collection of libraries providing APIs to netlink
(define-public iw
(package
(name "iw")
- (version "4.9")
+ (version "4.14")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "1klpvv98bnx1zm6aqalnri2vd7w80scmdaxr2qnblb6mz82whk1j"))))
+ "12ddd6vh6vs97135bnlyr0szv7hvpbnmfh48584frzab0z0725ph"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libnl" ,libnl)))
"0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj"))))
(build-system cmake-build-system)
(native-inputs
- `(("python" ,python)
- ("python-pytest" ,python-pytest)))
+ `(("python" ,python)))
(inputs `(("fuse" ,fuse)))
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- ;; Borrowed from the Makefile
- (lambda _ (zero? (system* "python3" "-m" "pytest")))))))
+ ;; The tests were never actually run ("collected 0 items"), but in recent
+ ;; versions of pytest that causes an error.
+ '(#:tests? #f))
(home-page "https://github.com/rpodgorny/unionfs-fuse")
(synopsis "User-space union file system")
(description
(define-public archivemount
(package
(name "archivemount")
- (version "0.8.7")
+ (version "0.8.9")
(source
(origin
(method url-fetch)
"archivemount-" version ".tar.gz"))
(sha256
(base32
- "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127"))))
+ "0v4si1ri6lhnq9q87gkx7fsh6lv6xz4bynknwndqncpvfp5cy1jg"))))
(build-system gnu-build-system)
- (inputs `(("fuse", fuse)
- ("libarchive", libarchive)))
- (native-inputs `(("pkg-config", pkg-config)))
+ (inputs `(("fuse" ,fuse)
+ ("libarchive" ,libarchive)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
(home-page "http://www.cybernoia.de/software/archivemount")
(synopsis "Tool for mounting archive files with FUSE")
(description "archivemount is a FUSE-based file system for Unix variants,
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "3.2.2")
+ (version "3.2.4")
(source (origin
(method url-fetch)
- (uri (string-append
- "http://dev.gentoo.org/~blueness/eudev/eudev-"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/gentoo/eudev/archive/v"
+ version ".zip"))
+ (file-name (string-append name "-" version ".zip"))
(sha256
(base32
- "0qqgbgpm5wdllk0s04pf80nwc8pr93xazwri1bylm1f15zn5ck1y"))
+ "1r1ag0snarygrj5qqxi2xdq9w6g3sfjd5jx1b0fl7zmqlsz3vvxx"))
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'install 'build-hwdb
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
- ;; similar tools to display product names.
- (let ((out (assoc-ref outputs "out")))
- (zero? (system* (string-append out "/bin/udevadm")
- "hwdb" "--update"))))))))
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "man/make.sh"
+ (("/usr/bin/xsltproc")
+ (string-append (assoc-ref inputs "xsltproc")
+ "/bin/xsltproc")))
+ ;; Manual pages are regenerated here.
+ (zero? (system* "./autogen.sh"))))
+ (add-after 'install 'build-hwdb
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
+ ;; similar tools to display product names.
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system* (string-append out "/bin/udevadm")
+ "hwdb" "--update"))))))
+ #:configure-flags (list "--enable-manpages")))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gperf" ,gperf)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ;; For tests.
("perl" ,perl)
- ("gperf" ,gperf)))
+ ("python" ,python-wrapper)
+ ;; For documentation.
+ ("docbook-xml" ,docbook-xml-4.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
+ ("xsltproc" ,libxslt)))
(inputs
;; When linked against libblkid, eudev can populate /dev/disk/by-label
;; and similar; it also installs the '60-persistent-storage.rules' file,
(define-public lvm2
(package
(name "lvm2")
- (version "2.02.176")
+ (version "2.02.177")
(source (origin
(method url-fetch)
(uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
version ".tgz"))
(sha256
(base32
- "0wx4rvy4frdmb66znh2xms2j2n06sm361ki6l5ks4y1ciii87kny"))
+ "1wl0isn0yz5wvglwylnlqkppafwmvhliq5bd92vjqp5ir4za49a0"))
(modules '((guix build utils)))
(snippet
'(begin
;; Replace /bin/sh with the right file name.
(patch-makefile-SHELL "make.tmpl")
- #t))
- (add-before 'strip 'make-objects-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make compiled objects writable so they can be stripped.
- (let ((out (assoc-ref outputs "out")))
- (for-each (lambda (file)
- (chmod file #o755))
- (append
- (find-files (string-append out "/lib"))
- (find-files (string-append out "/sbin"))))
- #t))))
+ #t)))
#:configure-flags (list (string-append "--sysconfdir="
(assoc-ref %outputs "out")
It works with most newer systems.")
(license license:gpl2+)))
+(define-public iucode-tool
+ (package
+ (name "iucode-tool")
+ (version "2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/iucode-tool/releases"
+ "/raw/latest/iucode-tool_" version ".tar.xz"))
+ (sha256
+ (base32
+ "0w99k1aq1xw148ffk1xykqf60rdbphb1jknw98jcmadq4pwxl44q"))))
+ (build-system gnu-build-system)
+ (home-page "https://gitlab.com/iucode-tool/iucode-tool/wikis/home")
+ (synopsis "Manipulate Intel microcode bundles")
+ (description
+ "@command{iucode_tool} is a utility to work with microcode packages for
+Intel processors. It can convert between formats, extract specific versions,
+create a firmware image suitable for the Linux kernel, and more.")
+ ;; cpuid.h is available for i686, x86_64, and ia64.
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (license license:gpl2+)))
+
(define-public i2c-tools
(package
(name "i2c-tools")
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no tests
- (home-page "http://ghedo.github.io/pflask/")
+ (home-page "https://ghedo.github.io/pflask/")
(synopsis "Simple tool for creating Linux namespace containers")
(description "pflask is a simple tool for creating Linux namespace
containers. It can be used for running a command or even booting an OS inside
(define-public hdparm
(package
(name "hdparm")
- (version "9.52")
+ (version "9.55")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
- "1djgxhfadd865dcrl6dp7dvjxpaisy7mk17mbdbglwg24ga9qhn3"))))
+ "1ivdvrzimaayiq03by8mcq0mhmdljndj06h012zkdpw34irnpixm"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
@command{hdparm} provides a command line interface to various Linux kernel
interfaces provided by the SATA/ATA/SAS @code{libata} subsystem, and the older
-IDE driver subsystem. Many external USB drive enclosures with @dfn{SCSI-ATA
-Command Translation} (SAT) are also supported.")
+IDE driver subsystem. Many external USB drive enclosures with SCSI-ATA Command
+Translation (@dfn{SAT}) are also supported.")
(license (license:non-copyleft "file://LICENSE.TXT"))))
(define-public rfkill
which is used to enable and disable wireless networking devices, typically
WLAN, Bluetooth and mobile broadband.")
(license (license:non-copyleft "file://COPYING"
- "See COPYING in the distribution."))))
+ "See COPYING in the distribution."))
+ ;; rfkill is part of util-linux as of 2.31.
+ (properties `((superseded . ,util-linux)))))
(define-public acpi
(package
(version "1.7")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/acpiclient/acpiclient/"
+ (uri (string-append "mirror://sourceforge/acpiclient/acpiclient/"
version "/" name "-" version ".tar.gz"))
(sha256
(base32
(define-public multipath-tools
(package
(name "multipath-tools")
- (version "0.7.1")
+ (version "0.7.4")
(source (origin
(method url-fetch)
- (uri (string-append "http://git.opensvc.com/?p=multipath-tools/"
+ (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"))
(sha256
(base32
- "0w0rgi3lqksaki30yvd4l5rgjqb0d7js1sh7masl8aw6xbrsm26p"))
+ "02lk453wa2gfxkl8zmdws15nkcibln2yw76zm779pkngkhggl6w8"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public bluez
(package
(name "bluez")
- (version "5.47")
+ (version "5.49")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "1j22hfjz0fp4pgclgz9mfcwjbr4wqgah3gd2qhfg4r6msmybyxfg"))))
+ "15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(string-append "--with-udevdir=" out "/lib/udev")))
#:phases
(modify-phases %standard-phases
- ,@(if (string=? (%current-system) "armhf-linux")
- ;; This test fails unpredictably.
- ;; TODO: skip it for all architectures.
- `((add-before 'check 'skip-wonky-test
- (lambda _
- (substitute* "unit/test-gatt.c"
- (("tester_init\\(&argc, &argv\\);") "return 77;"))
- #t)))
- `())
-
+ ;; Test unit/test-gatt fails unpredictably. Seems to be a timing
+ ;; issue (discussion on upstream mailing list:
+ ;; https://marc.info/?t=149578476300002&r=1&w=2)
+ (add-before 'check 'skip-wonky-test
+ (lambda _
+ (substitute* "unit/test-gatt.c"
+ (("tester_init\\(&argc, &argv\\);") "return 77;"))
+ #t))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(define-public fuse-exfat
(package
(name "fuse-exfat")
- (version "1.2.7")
+ (version "1.2.8")
(source (origin
(method url-fetch)
(uri (string-append
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "0df0ccnd0dgwc6rvk9qmrz0nfb8whc5s3wg9qnw1mzbrh4rcvhw2"))))
+ "1jwnxw0bg9v5ij8xvbg4xpjr50nykq8a1lmc2xkblz204rq7wd8z"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(uri (string-append
"http://www.nico.schottelius.org/software/gpm/archives/gpm-"
version ".tar.bz2"))
+ (patches (search-patches "gpm-glibc-2.26.patch"))
(sha256
(base32
"13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh"))))
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "4.14")
+ (version "4.14.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "1bwirg6hz6gyfj5r3xkj4lfwadvl9pxlccf916fsmdn27fy5q289"))))
+ "1palnddw3d50kyflwk1j4xapbc6jniid6j5i9dsr8l8a7nkv7ich"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
(lambda _ (zero? (system* "make" "static"))))
(add-after 'install 'install-bash-completion
(lambda* (#:key outputs #:allow-other-keys)
- (install-file "btrfs-completion"
- (string-append (assoc-ref outputs "out")
- "/etc/bash_completion.d"))
- #t))
+ (let* ((out (assoc-ref outputs "out"))
+ (bashcomp (string-append out "/etc/bash_completion.d")))
+ (mkdir-p bashcomp)
+ (copy-file "btrfs-completion"
+ (string-append bashcomp "/btrfs"))
+ #t)))
(add-after 'install 'install-static
(let ((staticbin (string-append (assoc-ref %outputs "static")
"/bin")))
;; Upstream uses the "ninja" build system and encourage distros
;; to do the same for consistency. They also recommend using the
;; "Release" build type.
- #:configure-flags (list "-GNinja"
- ;; Defaults to "lib64" on 64-bit archs.
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out") "/lib")
- "-DCMAKE_BUILD_TYPE=Release")
+ #:build-type "Release"
+ #:configure-flags (list "-GNinja")
#:phases
(modify-phases %standard-phases
(replace 'build
(define-public haveged
(package
(name "haveged")
- (version "1.9.1")
+ (version "1.9.2")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "059pxlfd4l5dqhd6r3lynzfz4wby2f17294fy17pi9j2jpnn68ww"))))
+ "0w5ypz6451msckivjriwyw8djydlwffam7x23xh626s2vzdrlzgp"))))
(build-system gnu-build-system)
(home-page "http://www.issihosts.com/haveged")
(synopsis "Entropy source for the Linux random number generator")
(("^DOCBOOKTOMAN.*$")
"DOCBOOKTOMAN = true\n"))
#t)))))
- (home-page "http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/")
+ (home-page "https://www.kernel.org/pub/linux/utils/kernel/module-init-tools/")
(synopsis "Tools for loading and managing Linux kernel modules")
(description
"Tools for loading and managing Linux kernel modules, such as `modprobe',
(inputs
`(("acl" ,acl)
("libuuid" ,util-linux)
- ("lzo", lzo)
+ ("lzo" ,lzo)
("zlib" ,zlib)))
(build-system gnu-build-system)
(arguments
(define-public libseccomp
(package
(name "libseccomp")
- (version "2.3.2")
+ (version "2.3.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/"
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
- "18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x"))))
+ "0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))
(define-public radeontop
(package
(name "radeontop")
- (version "1.0")
+ (version "1.1")
(home-page "https://github.com/clbr/radeontop/")
(source (origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1z38nibirqxrbsfyhfcrnzlcw16cqjp4ds6qnjfxalwayf9fm5x9"))))
+ "1fv06j5c99imvzkac3j40lgjhr5b2i77fnyffhlvj92bli1fm1c6"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(define-public efivar
(package
(name "efivar")
- (version "30")
+ (version "34")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhinstaller/" name
"-" version ".tar.bz2"))
(sha256
(base32
- "12qjnm44yi55ffqxjpgrxy82s89yjziy84w2rfjjknsd8flj0mqz"))))
+ "09a31y6sl3b33myy42gl9k732k1f440ycd07l6ac5d5l53kk8zhv"))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.
#:tests? #f
#:make-flags (list (string-append "prefix=" %output)
(string-append "libdir=" %output "/lib")
+ "CC_FOR_BUILD=gcc"
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases
(define-public tlp
(package
(name "tlp")
- (version "1.0")
+ (version "1.1")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1v3qpj9kp4rxwqapayd0i9419wwv4bikyrzjvqn0r9xkgnr1f9v4"))))
+ "068hzmh90x600saynbl7iwg1pm0ywldn4jazyxx5y1fixs8s1qbn"))))
(inputs `(("bash" ,bash)
("dbus" ,dbus)
("ethtool" ,ethtool)
(setenv "TLP_CONF" "/etc/tlp")
(setenv "TLP_SHCPL"
(string-append out "/share/bash-completion/completions"))
- (setenv "TLP_MAN" (string-append out "/share/man")))))
+ (setenv "TLP_MAN" (string-append out "/share/man"))
+ (setenv "TLP_META" (string-append out "/share/metainfo")))))
(delete 'check) ; no tests
(add-before 'install 'fix-installation
(lambda _
(substitute* "Makefile" (("\\[ -f \\$\\(_CONF\\) \\]") "#"))))
(replace 'install
(lambda _
- (zero? (system* "make" "install-tlp" "install-man"))))
+ (invoke "make" "install-tlp" "install-man")
+ #t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
(define-public libnftnl
(package
(name "libnftnl")
- (version "1.0.8")
+ (version "1.0.9")
(source
(origin
(method url-fetch)
"libnftnl-" version ".tar.bz2"))
(sha256
(base32
- "0f10cfiyl4c0f8k3brxfrw28x7a6qvrakaslg4jgqncwxycxggg6"))))
+ "0d9nkdbdck8sg6msysqyv3m9kjr9sjif5amf26dfa0g3mqjdihgy"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public nftables
(package
(name "nftables")
- (version "0.8")
+ (version "0.8.1")
(source
(origin
(method url-fetch)
"/files/nftables-" version ".tar.bz2"))
(sha256
(base32
- "16iq9x0qxikdhp1nan500rk33ycqddl1k57876m4dfv3n7kqhnrz"))))
+ "1i1gfy8l7qyhc5vlrpp63s0n5kybmc9pi4dywiq8rmkhrrnddsla"))))
(build-system gnu-build-system)
- (inputs `(("bison", bison)
- ("flex", flex)
- ("gmp", gmp)
- ("libmnl", libmnl)
- ("libnftnl", libnftnl)
- ("readline", readline)))
- (native-inputs `(("pkg-config", pkg-config)))
+ (inputs `(("bison" ,bison)
+ ("flex" ,flex)
+ ("gmp" ,gmp)
+ ("libmnl" ,libmnl)
+ ("libnftnl" ,libnftnl)
+ ("readline" ,readline)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
(home-page "http://www.nftables.org")
(synopsis "Userspace utility for Linux packet filtering")
(description "nftables is the project that aims to replace the existing
"PRoot is a user-space implementation of @code{chroot}, @code{mount --bind},
and @code{binfmt_misc}. This means that users don't need any privileges or
setup to do things like using an arbitrary directory as the new root
-filesystem, making files accessible somewhere else in the file system
+file system, making files accessible somewhere else in the file system
hierarchy, or executing programs built for another CPU architecture
transparently through QEMU user-mode. Also, developers can use PRoot as a
generic process instrumentation engine thanks to its extension mechanism.
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/JasonFerrara/jmtpfs")
- (synopsis "Use a FUSE filesystem to access data over MTP")
- (description "jmtpfs uses FUSE (filesystem in userspace) to provide access
+ (synopsis "Use a FUSE file system to access data over MTP")
+ (description "jmtpfs uses FUSE (file system in userspace) to provide access
to data over the Media Transfer Protocol (MTP). Unprivileged users can mount
-the MTP device as a filesystem.")
+the MTP device as a file system.")
(license license:gpl3)))
(define-public procenv
(base32 "0dvscyf47i3j5ay0amncqmqw9kd916689r2pqdvpnsrhp6j46zp1"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
+ (native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("expat" ,expat) ("libcap" ,libcap) ("check" ,check)
("groff" ,groff) ; for tests
("libselinux" ,libselinux)))
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/share/man/man1"))
#t))))))
- (home-page "http://bisqwit.iki.fi/source/snapscreenshot.html")
+ (home-page "https://bisqwit.iki.fi/source/snapscreenshot.html")
(synopsis "Take screenshots of one or more Linux text consoles")
(description
"snapscreenshot saves a screenshot of one or more Linux text consoles as a
(define-public fbcat
(package
(name "fbcat")
- (version "0.5")
+ (version "0.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jwilk/fbcat/releases/download/"
version "/" name "-" version ".tar.gz"))
(sha256
- (base32 "1dla1na3nf3s4xy0p6w0v54zipg1x8c14yqsw8w9qjzhchr4caxw"))))
+ (base32 "0pj9hxmwhbz6kmd7847yx2jh1scl9l25zgndyi8s9vlzdkq2q8d7"))))
(build-system gnu-build-system)
- (native-inputs
- ;; For building the man pages.
- `(("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("xsltproc" ,libxslt)))
(inputs
;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters. We
;; choose netpbm simply because it's the smallest. It still adds ~94 MiB
`(("pnmtopng" ,netpbm)))
(outputs (list "out" "fbgrab"))
(arguments
- `(#:make-flags (list "CC=gcc")
+ `(#:make-flags
+ (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-docbook-location
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "doc/Makefile"
- (("http://docbook.sourceforge.net/release/xsl/current")
- (string-append (assoc-ref inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-"
- ,(package-version docbook-xsl))))
- #t))
(delete 'configure) ; no configure script
- (add-after 'build 'build-documentation
- (lambda* (#:key make-flags #:allow-other-keys)
- (zero? (apply system* "make" "-C" "doc"
- make-flags))))
(add-after 'build 'qualify-references
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((pnmtopng (assoc-ref inputs "pnmtopng"))
(("pnmtopng" all)
(string-append pnmtopng "/bin/" all)))
#t)))
- (replace 'install
- ;; The Makefile lacks an ‘install’ target. Install files manually.
+ (add-after 'install 'split-fbgrab-output
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out:fbgrab (assoc-ref outputs "fbgrab")))
- (install-file "fbcat" (string-append out "/bin"))
- (install-file "doc/fbcat.1"
- (string-append out "/share/man/man1"))
- (install-file "fbgrab" (string-append out:fbgrab "/bin"))
- (install-file "doc/fbgrab.1"
- (string-append out:fbgrab "/share/man/man1"))
+ (for-each (lambda (file)
+ (let ((old (string-append out "/" file))
+ (new (string-append out:fbgrab "/" file)))
+ (mkdir-p (dirname new))
+ (rename-file old new)))
+ (list "bin/fbgrab"
+ "share/man/man1/fbgrab.1"))
#t))))))
(home-page "https://jwilk.net/software/fbcat")
(synopsis "Take a screenshot of the contents of the Linux framebuffer")