aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

;;;
;;; Check whether important binaries are available.
;;;

(use-modules (guix store)
             (guix grafts)
             (guix packages)
             (guix derivations)
             (guix ui)
             (gnu packages commencement)
             (ice-9 match)
             (srfi srfi-1)
             (srfi srfi-26))

(define (final-inputs store system)
  "Return the list of outputs directories of the final inputs for SYSTEM."
  (append-map (match-lambda
                ((or (name package) (name package _))
                 (let ((drv (package-derivation store package system)))
                   ;; Libc's 'debug' output refers to gcc-cross-boot0, but it's
                   ;; hard to avoid, so we tolerate it.  This should be the
                   ;; only exception.  Likewise, 'bash:include' depends on
                   ;; bootstrap-binaries via its 'Makefile.inc' (FIXME).
                   (filter-map (match-lambda
                                 (("debug" . directory)
                                  (if (string=? "glibc" (package-name package))
                                      #f
                                      directory))
                                 (("include" . directory)
                                  (if (string=? "bash" (package-name package))
                                      #f
                                      directory))
                                 ((_ . directory) directory))
                               (derivation->output-paths drv)))))
              %final-inputs))

(define (assert-valid-substitute substitute)
  "Make sure SUBSTITUTE does not refer to any bootstrap inputs, and bail out
if it does."
  (let ((references (substitutable-references substitute)))
    (when (any (cut string-contains <> "boot") references)
      (leave (G_ "'~a' refers to bootstrap inputs: ~s~%")
             (substitutable-path substitute) references))))

(define (test-final-inputs store system)
  "Check whether the final inputs for SYSTEM are clean---i.e., they don't
refer to the bootstrap tools."
  (format #t "checking final inputs for '~a'...~%" system)
  (let* ((inputs    (final-inputs store system))
         (available (substitutable-path-info store inputs)))
    (for-each (lambda (dir)
                (unless (find (lambda (substitute)
                                (string=? (substitutable-path substitute)
                                          dir))
                              available)
                  (leave (G_ "~a (system: ~a) has no substitute~%")
                         dir system)))
              inputs)

    (for-each assert-valid-substitute available)))

;; Entry point.
(with-store store
  (parameterize ((%graft? #f))
    (set-build-options store #:use-substitutes? #t)

    (for-each (cut test-final-inputs store <>)
              %cuirass-supported-systems)))
ckages/emacs-xyz.scm (emacs-pinentry)[propagated-inputs]: Replace gnupg with gnupg-2.2.32. Leo Famulari 2021-12-23gnu: libksba: Fix cross-compilation....* gnu/packages/gnupg.scm (libksba)[native-inputs]: Remove. Marius Bakke 2021-12-18gnu: pgpdump: Remove bogus DESTDIR usage....* gnu/packages/gnupg.scm (pgpdump)[arguments]: Gexp. Remove custom #:configure-flags, and DESTDIR from #:make-flags. Tobias Geerinckx-Rice 2021-12-18gnu: pgpdump: Update to 0.34....* gnu/packages/gnupg.scm (pgpdump): Update to 0.34. Tobias Geerinckx-Rice 2021-12-17gnu: pinentry-bemenu: Update to 0.7.1....* gnu/packages/gnupg.scm (pinentry-bemenu): Update to 0.7.1. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Aleksandr Vityazev 2021-12-13gnu: Simplify package inputs....This commit was obtained by running: ./pre-inst-env guix style without any additional argument. Ludovic Courtès 2021-11-18gnu: gnupg@2.2.32: Hide....* gnu/packages/gnupg.scm (gnupg-2.2.32)[properties]: New field. Ludovic Courtès 2021-11-18gnu: qgpgme: Use 'modify-inputs'....* gnu/packages/gnupg.scm (qgpgme)[inputs]: Use 'modify-inputs'. Ludovic Courtès 2021-11-18gnu: qgpgme: Depend on a newer GnuPG....This addresses a test failure in 'testSymmetricEncryptDecrypt': FAIL! : EncryptionTest::testSymmetricEncryptDecrypt() 'QString::fromUtf8(plainText) == QStringLiteral("Hello symmetric World")' returned FALSE. () Loc: [t-encrypt.cpp(188)] The failure was apparently due to gpg asking for a passphrase for symmetric decryption. * gnu/packages/gnupg.scm (gnupg-2.2.32): New variable. (qgpgme)[native-inputs]: Use it. Ludovic Courtès 2021-11-17Merge branch 'master' into core-updates-frozenLudovic Courtès 2021-11-14gnu: pinentry-tty: Update to 1.2.0....* gnu/packages/gnupg.scm (pinentry-tty): Update to 1.2.0. Efraim Flashner 2021-11-11gnu: gnupg: Update to 2.2.30....* gnu/packages/gnupg.scm (gnupg): Update to 2.2.30. Tobias Geerinckx-Rice 2021-11-11gnu: gnupg: Don't explicitly return #t from phases....* gnu/packages/gnupg.scm (gnupg)[arguments]: Don't explicitly return #t from phases. Tobias Geerinckx-Rice 2021-11-08gnu: packages: Remove last year's deprecations....* gnu/packages/admin.scm (guile3.0-shepherd): Remove variable. * gnu/packages/benchmark.scm (imb-openmpi): Likewise. * gnu/packages/boost.scm (boost-with-python3): Likewise. * gnu/packages/pep.scm (python-pep-adapter)[inputs]: Adjust accordingly. * gnu/packages/cpp.scm (nlohmann-json-cpp): Likewise. * gnu/packages/games.scm (openrct2)[inputs]: Adjust accordingly. * gnu/packages/cups.scm (escpr): Likewise. * gnu/packages/django.scm (python-django-jsonfield): Likewise. * gnu/packages/emacs-xyz.scm (emacs-modus-operandi-theme) (emacs-modus-vivendi-theme): Likewise. * gnu/packages/engineering.scm (kicad-i18l): Likewise. * gnu/packages/enlightenment.scm (enlightenment-wayland): Likewise. * gnu/packages/firmware.scm (opensbi-qemu-virt, opensbi-qemu-sifive-u): Likewise. * gnu/packages/fonts.scm (font-gnu-freefont-ttf, font-open-dyslexic): Likewise. * gnu/packages/game-development.scm (guile3.0-chickadee) (python-sge-pygame): Likewise. * gnu/packages/games.scm (retux)[inputs]: Adjust accordingly. * gnu/packages/gnome-xyz.scm (numix-theme): Likewise. * gnu/packages/gnupg.scm (guile3.0-gcrypt): Likewise. * gnu/packages/gstreamer.scm (gst-transcoder): Likewise. * gnu/packages/gtk.scm (guile3.0-cairo, guile3.0-present, guile3.0-rsvg): Likewise. * gnu/packages/guile-xyz.scm (guile3.0-colorized, guile3.0-commonmark) (guile3.0-config, guile3.0-email, guile3.0-fibers, guile3.0-gi) (guile3.0-hall, guile3.0-hashing, guile3.0-haunt, guile3.0-ics) (guile3.0-irregex, guile3.0-lib, guile3.0-mcron, guile3.0-minikanren) (guile3.0-ncurses, guile3.0-ncurses/gpm, guile3.0-newt, guile3.0-parted) (guile3.0-pfds, guile3.0-picture-language, guile3.0-semver) (guile3.0-simple-zmq, guile3.0-squee, guile3.0-syntax-highlight) (guile3.0-websocket, guile3.0-wisp, guile3.0-xapian): Likewise. * gnu/packages/guile.scm (define-deprecated-guile3.0-package) (guile3.0-json, guile3.0-gdbm-ffi, guile3.0-sqlite3) (guile3.0-bytestructures, guile3.0-git): Likewise. * gnu/packages/haskell-apps.scm (ghc-stylish-haskell): Likewise. * gnu/packages/linux.scm (linux-libre-arm-veyron): Likewise. * gnu/packages/mail.scm (guile3.0-mailutils): Likewise. * gnu/packages/monitoring.scm (python2-graphite-web): Likewise. * gnu/packages/package-management.scm (guile3.0-guix): Likewise. * gnu/packages/package-management.scm (python-conda): Likewise. * gnu/packages/phabricator.scm (libphutil): Likewise. * gnu/packages/plotutils.scm (guile3.0-charting): Likewise. * gnu/packages/python-xyz.scm (python2-smmap2, python-glances) (python-smmap2): Likewise. * gnu/packages/shells.scm (oil-shell): Likewise. * gnu/packages/sqlite.scm (sqlite-with-column-metadata): Likewise. * gnu/packages/ssh.scm (guile3.0-ssh): Likewise. * gnu/packages/terminals.scm (et): Likewise. * gnu/packages/tls.scm (guile3.0-gnutls): Likewise. * gnu/packages/vlang.scm (v): Likewise. * gnu/packages/vpn.scm (wireguard): Likewise. * gnu/packages/web-browsers.scm (next, sbcl-next): Likewise. * gnu/packages/xorg.scm (transset-df): Likewise. Tobias Geerinckx-Rice 2021-10-12Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe 2021-10-03gnu: python-gnupg: Honor #:tests? flag....* gnu/packages/gnupg.scm (python-gnupg)[arguments]: Adjust custom 'check phase to honor the #:tests? flag. Efraim Flashner 2021-10-03gnu: python-gnupg: Build with gnupg....* gnu/packages/gnupg.scm (python-gnupg)[native-inputs]: Replace gnupg-1 with gnupg. Efraim Flashner 2021-10-03gnu: python-gnupg: Update to 0.4.7....* gnu/packages/gnupg.scm (python-gnupg): Update to 0.4.7. [homepage]: change to https://pythonhosted.org/python-gnupg/index.html due to redirect. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Zac Berkowitz 2021-09-07Merge branch 'master' into core-updates-frozenLudovic Courtès 2021-07-27gnu: GnuPG: Update to 2.2.29....* gnu/packages/gnupg.scm (gnupg): Update to 2.22.9. Leo Famulari 2021-08-08gnu: gnupg-1: Fix build with gcc-10....* gnu/packages/gnupg.scm (gnupg-1)[source]: Add patch. * gnu/packages/patches/gnupg-1-build-with-gcc10.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Efraim Flashner 2021-07-27gnu: GnuPG: Update to 2.2.29....* gnu/packages/gnupg.scm (gnupg): Update to 2.22.9. Leo Famulari 2021-08-15Update copyright/name notices for Christine Lemmer-Webber....* doc/guix-cookbook.texi: Update copyright/name for Christine Lemmer-Webber. * gnu/build/image.scm: Likewise. * gnu/build/vm.scm: Likewise. * gnu/packages/admin.scm: Likewise. * gnu/packages/assembly.scm: Likewise. * gnu/packages/audio.scm: Likewise. * gnu/packages/backup.scm: Likewise. * gnu/packages/check.scm: Likewise. * gnu/packages/databases.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/finance.scm: Likewise. * gnu/packages/gnupg.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/guile.scm: Likewise. * gnu/packages/haskell-xyz.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/mail.scm: Likewise. * gnu/packages/password-utils.scm: Likewise. * gnu/packages/perl.scm: Likewise. * gnu/packages/python-web.scm: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/sphinx.scm: Likewise. * gnu/packages/ssh.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/services/networking.scm: Likewise. * gnu/system/vm.scm: Likewise. Christopher Lemmer Webber 2021-07-24gnu: Use 'search-input-file' when looking for executables....* gnu/packages/admin.scm (isc-dhcp): Use 'search-input-file' when looking for executables. * gnu/packages/audio.scm (ableton-link): Likewise. * gnu/packages/benchmark.scm (fio): Likewise. * gnu/packages/bioinformatics.scm (roary): Likewise. (ngless): Likewise. * gnu/packages/boost.scm (boost-for-irods): Likewise. * gnu/packages/bootloaders.scm (grub): Likewise. (grub-efi): Likewise. * gnu/packages/chemistry.scm (inchi): Likewise. * gnu/packages/dictionaries.scm (ding): Likewise. * gnu/packages/dlang.scm (ldc): Likewise. * gnu/packages/education.scm (childsplay): Likewise. * gnu/packages/emacs-xyz.scm (emacs-hyperbole): Likewise. (emacs-haskell-mode): Likewise. (emacs-auctex): Likewise. (emacs-ggtags): Likewise. (emacs-graphviz-dot-mode): Likewise. (emacs-flycheck-grammalecte): Likewise. (emacs-counsel-notmuch): Likewise. (emacspeak): Likewise. (emacs-exwm): Likewise. (emacs-exwm-x): Likewise. (emacs-treemacs): Likewise. (emacs-telega): Likewise. (emacs-exiftool): Likewise. * gnu/packages/emulators.scm (higan): Likewise. * gnu/packages/engineering.scm (freehdl): Likewise. (librepcb): Likewise. * gnu/packages/entr.scm (entr): Likewise. * gnu/packages/file-systems.scm (libeatmydata): Likewise. (xfstests): Likewise. (mergerfs): Likewise. (mergerfs-tools): Likewise. * gnu/packages/finance.scm (monero-gui): Likewise. * gnu/packages/flashing-tools.scm (flashrom): Likewise. * gnu/packages/fontutils.scm (fontforge): Likewise. * gnu/packages/game-development.scm (python2-renpy): Likewise. * gnu/packages/games.scm (opensurge): Likewise. (xboard): Likewise. (hyperrogue): Likewise. (flare-game): Likewise. (chessx): Likewise. * gnu/packages/geo.scm (grass): Likewise. * gnu/packages/glib.scm (glib): Likewise. * gnu/packages/gnome.scm (mm-common): Likewise. (network-manager-openvpn): Likewise. (network-manager-vpnc): Likewise. (network-manager-openconnect): Likewise. (apostrophe): Likewise. * gnu/packages/gnupg.scm (pius): Likewise. (jetring): Likewise. * gnu/packages/gnuzilla.scm (icedove): Likewise. * gnu/packages/golang.scm (go-1.4): Likewise. * gnu/packages/graphviz.scm (xdot): Likewise. * gnu/packages/guile-xyz.scm (jupyter-guile-kernel): Likewise. * gnu/packages/haskell-xyz.scm (ghc-hindent): Likewise. * gnu/packages/ibus.scm (ibus): Likewise. * gnu/packages/image.scm (phockup): Likewise. * gnu/packages/irc.scm (quassel): Likewise. * gnu/packages/java.scm (drip): Likewise. (ant-bootstrap): Likewise. (tla2tools): Likewise. * gnu/packages/julia.scm (julia): Likewise. * gnu/packages/less.scm (lesspipe): Likewise. * gnu/packages/libreoffice.scm (libreoffice): Likewise. * gnu/packages/linux.scm (fuse): Likewise. (lm-sensors): Likewise. (bluez): Likewise. (fakeroot): Likewise. (inputattach): Likewise. * gnu/packages/lisp-xyz.scm (sbcl-cl-diskspace): Likewise. * gnu/packages/lisp.scm (lisp-repl-core-dumper): Likewise. * gnu/packages/lua.scm (fennel): Likewise. * gnu/packages/lxde.scm (spacefm): Likewise. * gnu/packages/mail.scm (public-inbox): Likewise. * gnu/packages/maths.scm (hdf-java): Likewise. (maxima): Likewise. (frama-c): Likewise. * gnu/packages/messaging.scm (libgadu): Likewise. * gnu/packages/music.scm (denemo): Likewise. (curseradio): Likewise. * gnu/packages/netpbm.scm (netpbm): Likewise. * gnu/packages/networking.scm (blueman): Likewise. (squid): Likewise. (aircrack-ng): Likewise. * gnu/packages/node.scm (node): Likewise. (node-llparse-frontend-bootstrap): Likewise. (node-llparse-bootstrap): Likewise. (llhttp-bootstrap): Likewise. (node-lts): Likewise. * gnu/packages/ocaml.scm (ocaml-4.11): Likewise. (opam): Likewise. (ocaml-graph): Likewise. * gnu/packages/orpheus.scm (orpheus): Likewise. * gnu/packages/password-utils.scm (password-store): Likewise. * gnu/packages/python.scm (pypy3): Likewise. * gnu/packages/qt.scm (qt5ct): Likewise. * gnu/packages/radio.scm (libosmo-dsp): Likewise. * gnu/packages/ruby.scm (ruby-pandoc-ruby): Likewise. * gnu/packages/rust.scm (rust-1.30): Likewise. * gnu/packages/screen.scm (byobu): Likewise. * gnu/packages/statistics.scm (r-with-tests): Likewise. * gnu/packages/suckless.scm (surf): Likewise. * gnu/packages/syndication.scm (gfeeds): Likewise. * gnu/packages/telephony.scm (mumble): Likewise. * gnu/packages/terminals.scm (alacritty): Likewise. * gnu/packages/tex.scm (texlive-bin): Likewise. * gnu/packages/uml.scm (plantuml): Likewise. * gnu/packages/version-control.scm (python-git-multimail): Likewise. (gitolite): Likewise. (hg-commitsigs): Likewise. (git-when-merged): Likewise. (git-imerge): Likewise. (gita): Likewise. * gnu/packages/video.scm (you-get): Likewise. * gnu/packages/vim.scm (eovim): Likewise. * gnu/packages/virtualization.scm (qemu): Likewise. (virt-manager): Likewise. (criu): Likewise. * gnu/packages/vpn.scm (strongswan): Likewise. (xl2tpd): Likewise. * gnu/packages/wm.scm (i3lock-fancy): Likewise. * gnu/packages/wxwidgets.scm (python-wxpython): Likewise. (python2-wxpython): Likewise. * gnu/packages/xdisorg.scm (autorandr): Likewise. * gnu/packages/xorg.scm (hackneyed-x11-cursors): Likewise. (v86d): Likewise. (mkfontdir): Likewise. (xpra): Likewise. Ludovic Courtès 2021-07-23gnu: libksba: Update to 1.6.0....* gnu/packages/gnupg.scm (libksba): Update to 1.6.0. Marius Bakke 2021-07-23gnu: libgcrypt: Update to 1.8.8....* gnu/packages/gnupg.scm (libgcrypt): Update to 1.8.8. Marius Bakke 2021-07-18Merge branch 'master' into core-updatesLudovic Courtès 2021-07-14libgpg-error: Fix cross-compilation error....TODO: inform upstream about the cross-compilation error. * gnu/packages/gnupg.scm (libgpg-error)[arguments]{fix-gen-lock-obj.sh}: Prevent generated header files from being sprinkled with ‘\c’. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Maxime Devos 2021-07-14libgpg-error: Prevent silent miscompilation some systems....* gnu/packages/gpg.scm (libgpgerror)[arguments]<#:phases>{cross-symlinks}: Only link to src/syscfg/lock-obj-pub.linux-gnu.h if the package is being compiled for a Linux target. Do not link either if the architecture is unknown, as the headers vary with the architecture. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Maxime Devos 2021-07-14libgpg-error: Remove trailing #f from phases....These aren't required anymore. * gnu/packages/gnupg.scm (libgpgerror)[arguments]{cross-symlinks}: Remove trailing #f. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Maxime Devos 2021-07-08gnu: pinentry-bemenu: Fix license....* gnu/packages/gnupg.scm (pinentry-bemenu)[license]: Use GPL 3+. Nicolas Goaziou 2021-07-08gnu: Add pinentry-bemenu....* gnu/packages/gnupg.scm (pinentry-bemenu): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Nikita Domnitskii 2021-06-19Merge branch 'master' into core-updates...Note: this merge actually changes the 'curl' and 'python-attrs' derivations, as part of solving caf4a7a2770ef4d05a6e18f40d602e51da749ddc and 12964df69a99de6190422c752fef65ef813f3b6b respectively. 4604d43c0e (gnu: gnutls@3.6.16: Fix cross-compilation.) was ignored because it cannot currently be tested. Conflicts: gnu/local.mk gnu/packages/aidc.scm gnu/packages/boost.scm gnu/packages/curl.scm gnu/packages/nettle.scm gnu/packages/networking.scm gnu/packages/python-xyz.scm gnu/packages/tls.scm Marius Bakke 2021-06-14gnu: Rename qtbase to qtbase-5....This change was automated via the following command: $ git ls-files | xargs sed -i 's/,qtbase)/,qtbase-5)/g' $ git ls-files | xargs sed -i 's/inherit qtbase)/inherit qtbase-5)/g' $ git ls-files | xargs sed -i 's/package-version qtbase)/package-version qtbase-5)/g' $ git checkout etc # to clear some spurious changes This is done so the qtbase package can be upgraded to version 6 in the following commit. Maxim Cournoyer 2021-05-09gnu: libksba: Update to 1.5.1....* gnu/packages/gnupg.scm (libksba): Update to 1.5.1. Marius Bakke 2021-05-09gnu: libassuan: Update to 2.5.5....* gnu/packages/gnupg.scm (libassuan): Update to 2.5.5. Marius Bakke 2021-05-09gnu: libgpg-error: Update to 1.42....* gnu/packages/gnupg.scm (libgpg-error): Update to 1.42. Marius Bakke 2021-05-09Merge branch 'master' into core-updates... Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/django.scm gnu/packages/gtk.scm gnu/packages/llvm.scm gnu/packages/python-web.scm gnu/packages/python.scm gnu/packages/tex.scm guix/build-system/asdf.scm guix/build/emacs-build-system.scm guix/profiles.scm Marius Bakke