diff options
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r-- | gnu/packages/linux.scm | 224 |
1 files changed, 117 insertions, 107 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 79507195f1..6ee78b457e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -11,7 +11,7 @@ ;;; 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> @@ -24,7 +24,7 @@ ;;; 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> ;;; @@ -128,6 +128,7 @@ ((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) @@ -283,6 +284,14 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ("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 @@ -328,7 +337,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (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. @@ -337,7 +346,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (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")) @@ -352,15 +361,15 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (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. @@ -370,34 +379,43 @@ It has been modified to remove all non-free binary blobs.") (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.13") -(define %linux-libre-hash "1a1wkl4xn2jsjvdnszv5gmg794waiir6x178q85qykninfbigfzx") - ;; 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.4") +(define %linux-libre-hash "0dg5b2vgp2ph0l63cxyq6bz05hvc90wab05f8y3a8731c9xsxmzq") + (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.20") +(define %linux-libre-4.14-hash "1xc5g2kq3wpn6i61rpypnlb0f82f05b8jac2lg62rv4v46bsvfwv") + +(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.76" - "1ms026dp8r1cv8rbc98nfc331xggwdz1dafv89ack8d80qrhg1y1" + (make-linux-libre "4.9.82" + "1x2hbn2kf7ikgdiqwj2d6d0s1pa1xh4xywliyj3rfsilanny2ipw" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.111" - "1yxii8csdxpxbspbz5gd768zjzfv9x0h22hdk8dbw4c9nq09z0zc" + (make-linux-libre "4.4.116" + "00y5xhgqiyf7ivivnphwvkjgszk8rzn4s8q3sgshswz3kdic55hj" %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.49" + "0dklmqj6ayjlkz97b811zdvpgb3yppahinji9l9jmkz4ssi7a1gs" %intel-compatible-systems #:configuration-file kernel-config)) @@ -408,6 +426,13 @@ It has been modified to remove all non-free binary blobs.") #: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 @@ -415,6 +440,13 @@ It has been modified to remove all non-free binary blobs.") #: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")) + ;;; ;;; Pluggable authentication modules (PAM). @@ -674,7 +706,7 @@ slabtop, and skill.") (define-public usbutils (package (name "usbutils") - (version "008") + (version "009") (source (origin (method url-fetch) @@ -682,7 +714,7 @@ slabtop, and skill.") "usbutils-" version ".tar.xz")) (sha256 (base32 - "132clk14j4nm8crln2jymdbbc2vhzar2j2hnxyh05m79pbq1lx24")))) + "0q3iavmak2bs9xw486w4xfbjl0hbzii93ssgpr95mxmm9kjz1gwb")))) (build-system gnu-build-system) (inputs `(("libusb" ,libusb) @@ -876,14 +908,14 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "4.20") + (version "4.21") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/strace/strace/" version - "/strace-" version ".tar.xz")) + (uri (string-append "https://github.com/strace/strace/releases/" + "download/v" version "/strace-" version ".tar.xz")) (sha256 (base32 - "08y5b07vb8jc7ak5xc3x2kx1ly6xiwv1gnppcqjs81kks66i9wsv")))) + "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw")))) (build-system gnu-build-system) (arguments '(#:phases @@ -917,7 +949,7 @@ trace of all the system calls made by a another process/program.") (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 @@ -1147,7 +1179,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "4.14.1") + (version "4.15.0") (source (origin (method url-fetch) (uri (string-append @@ -1155,7 +1187,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "0rq0n7yxb0hmk0s6wx5awzjgf7ikjbibd0a5ix20ldfcmxlc0fnl")))) + "0mc3g4kj7h3jhwz2b2gdf41gp6bhqn7axh4mnyvhkdnpk5m63m28")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite @@ -1417,7 +1449,7 @@ transparently through a bridge.") (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 @@ -1433,7 +1465,7 @@ configuration and monitoring interfaces.") (define-public iw (package (name "iw") - (version "4.9") + (version "4.14") (source (origin (method url-fetch) (uri (string-append @@ -1441,7 +1473,7 @@ configuration and monitoring interfaces.") version ".tar.xz")) (sha256 (base32 - "1klpvv98bnx1zm6aqalnri2vd7w80scmdaxr2qnblb6mz82whk1j")))) + "12ddd6vh6vs97135bnlyr0szv7hvpbnmfh48584frzab0z0725ph")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libnl" ,libnl))) @@ -1630,15 +1662,12 @@ user-space processes.") "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 @@ -2012,14 +2041,14 @@ time.") (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 @@ -2049,17 +2078,7 @@ time.") ;; 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") @@ -2496,7 +2515,7 @@ particular the 'perf' command.") (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 @@ -2576,7 +2595,7 @@ WLAN, Bluetooth and mobile broadband.") (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 @@ -3037,7 +3056,7 @@ is flexible, efficient and uses a modular implementation.") (define-public fuse-exfat (package (name "fuse-exfat") - (version "1.2.7") + (version "1.2.8") (source (origin (method url-fetch) (uri (string-append @@ -3045,7 +3064,7 @@ is flexible, efficient and uses a modular implementation.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "0df0ccnd0dgwc6rvk9qmrz0nfb8whc5s3wg9qnw1mzbrh4rcvhw2")))) + "1jwnxw0bg9v5ij8xvbg4xpjr50nykq8a1lmc2xkblz204rq7wd8z")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -3125,10 +3144,12 @@ and copy/paste text in the console and in xterm.") (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"))) @@ -3494,7 +3515,7 @@ such as frequency and voltage scaling.") (define-public haveged (package (name "haveged") - (version "1.9.1") + (version "1.9.2") (source (origin (method url-fetch) @@ -3502,7 +3523,7 @@ such as frequency and voltage scaling.") 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") @@ -3613,7 +3634,7 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") (("^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', @@ -3760,7 +3781,7 @@ under OpenGL graphics workloads.") (define-public efivar (package (name "efivar") - (version "30") + (version "34") (source (origin (method url-fetch) (uri (string-append "https://github.com/rhinstaller/" name @@ -3768,13 +3789,14 @@ under OpenGL graphics workloads.") "-" 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 @@ -3916,7 +3938,7 @@ Light is the successor of lightscript.") (define-public tlp (package (name "tlp") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (string-append @@ -3926,7 +3948,7 @@ Light is the successor of lightscript.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1v3qpj9kp4rxwqapayd0i9419wwv4bikyrzjvqn0r9xkgnr1f9v4")))) + "068hzmh90x600saynbl7iwg1pm0ywldn4jazyxx5y1fixs8s1qbn")))) (inputs `(("bash" ,bash) ("dbus" ,dbus) ("ethtool" ,ethtool) @@ -3961,7 +3983,8 @@ Light is the successor of lightscript.") (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 _ @@ -3969,7 +3992,8 @@ Light is the successor of lightscript.") (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")) @@ -4065,7 +4089,7 @@ re-use code and to avoid re-inventing the wheel.") (define-public libnftnl (package (name "libnftnl") - (version "1.0.8") + (version "1.0.9") (source (origin (method url-fetch) @@ -4073,7 +4097,7 @@ re-use code and to avoid re-inventing the wheel.") "libnftnl-" version ".tar.bz2")) (sha256 (base32 - "0f10cfiyl4c0f8k3brxfrw28x7a6qvrakaslg4jgqncwxycxggg6")))) + "0d9nkdbdck8sg6msysqyv3m9kjr9sjif5amf26dfa0g3mqjdihgy")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -4090,7 +4114,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "0.8") + (version "0.8.1") (source (origin (method url-fetch) @@ -4098,7 +4122,7 @@ used by nftables.") "/files/nftables-" version ".tar.bz2")) (sha256 (base32 - "16iq9x0qxikdhp1nan500rk33ycqddl1k57876m4dfv3n7kqhnrz")))) + "1i1gfy8l7qyhc5vlrpp63s0n5kybmc9pi4dywiq8rmkhrrnddsla")))) (build-system gnu-build-system) (inputs `(("bison", bison) ("flex", flex) @@ -4212,7 +4236,7 @@ userspace queueing component and the logging subsystem.") "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. @@ -4299,10 +4323,10 @@ NexGen, Rise, and SiS CPUs.") (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 @@ -4319,6 +4343,7 @@ the MTP device as a filesystem.") (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))) @@ -4440,7 +4465,7 @@ interfaces in parallel environments.") (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 @@ -4451,20 +4476,15 @@ relevant @file{/dev/vcs*} file(s).") (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 @@ -4472,23 +4492,13 @@ relevant @file{/dev/vcs*} file(s).") `(("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")) @@ -4499,17 +4509,17 @@ relevant @file{/dev/vcs*} file(s).") (("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") |