aboutsummaryrefslogtreecommitdiff
path: root/build-aux/check-available-binaries.scm
blob: b832d999358cb79e3f13ce3ede71b38f048a092f (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 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 at hydra.gnu.org.
;;;

(use-modules (guix store)
             (guix grafts)
             (guix packages)
             (guix derivations)
             (gnu packages emacs)
             (gnu packages make-bootstrap)
             (srfi srfi-1)
             (srfi srfi-26)
             (ice-9 format))

(with-store store
  (parameterize ((%graft? #f))
    (let* ((native (append-map (lambda (system)
                                 (map (cut package-derivation store <> system)
                                      (list %bootstrap-tarballs emacs)))
                               %hydra-supported-systems))
           (cross  (map (cut package-cross-derivation store
                             %bootstrap-tarballs <>)
                        '("mips64el-linux-gnu"
                          "arm-linux-gnueabihf")))
           (total  (append native cross)))

      (set-build-options store
                         #:use-substitutes? #t
                         #:substitute-urls %default-substitute-urls)
      (let* ((total     (map derivation->output-path total))
             (available (substitutable-paths store total))
             (missing   (lset-difference string=? total available)))
        (if (null? missing)
            (format (current-error-port)
                    "~a packages found substitutable on~{ ~a~}~%"
                    (length total) %hydra-supported-systems)
            (format (current-error-port)
                    "~a packages are not substitutable:~%~{  ~a~%~}~%"
                    (length missing) missing))
        (exit (null? missing))))))
le='2018-09-02 16:51:40 +0200'>2018-09-02Add (guix channels) and use it in (guix scripts pull).Ludovic Courtès * guix/channels.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/pull.scm: Use it. (%default-options): Remove 'repository-url' and 'ref'. (show-help, %options): Add '--channels'. (%self-build-file, %pull-version, build-from-source) (whole-package-for-legacy, derivation->manifest-entry): Remove. These now exist in a similar form in (guix channels). (build-and-install): Change 'source' to 'instances'. Remove #:url, #:branch, and #:commit. Rewrite using 'channel-instances->manifest'. (channel-list): New procedure. (guix-pull): Parameterize %REPOSITORY-CACHE-DIRECTORY. Call 'honor-lets-encrypt-certificates!' unconditionally. Load ~/.config/guix/channels.scm. Rewrite to use (guix channels). [use-le-certs?]: Remove. * po/guix/POTFILES.in: Add (guix channels). * doc/guix.texi (Invoking guix pull): Group the description of '--url', '--commit', and '--branch'. Remove mention of 'GUIX_PULL_URL'. Add references to "Channels". Document '--channels'. (Channels): New node. (Defining Packages): Link to "Channels" instead of "Package Modules". (Invoking guix edit): Link to "Package Modules" instead of "Defining Packages". (Package Modules): Document both GUIX_PACKAGE_PATH and channels. 2018-08-26nls: Update 'fr' translation.Julien Lepiller 2018-08-24nls: Update 'de' translation.Leo Famulari 2018-08-20nls: Update 'fr' translation.Leo Famulari 2018-08-15nls: Update 'fr' translation.Julien Lepiller 2018-08-12nls: Update 'da' translation.Leo Famulari 2018-07-04nls: Update 'fr' translation.Julien Lepiller 2018-06-27nls: Update 'pt_BR' translation.Ludovic Courtès 2018-06-23nls: Update 'fr' translation.Julien Lepiller 2018-06-18nls: Update 'da' translation.Ludovic Courtès 2018-06-13nls: Update 'fr' translation.Julien Lepiller 2018-06-08nls: Update 'fr' translation.Julien Lepiller 2018-06-08doc: Update 'fr' translation.Ludovic Courtès 2018-06-08nls: Update 'da' translation.Ludovic Courtès 2018-05-01nls: Update 'pt_BR' translation.Ludovic Courtès 2018-04-29build: Use only one domain for guix-manual.Julien Lepiller * Makefile.am (assert-no-store-file-names): Exclude guix-manual. * po/doc/guix.pot po/doc/contributing.pot: Merge into... * po/doc/guix-manual.pot: ...this. * po/doc/guix.fr.po po/doc/contributing.fr.po: Merge into... * po/doc/guix-manual.fr.po: ...this. * doc/local.mk: Replace old file names. * po/doc/local.mk: Replace old file names. 2018-04-19gnu: doc: Add French documentation.Julien Lepiller * doc/contributing.fr.texi: New file. * doc/guix.fr.texi: New file. * doc/local.mk (TRANSLATED_INFO): Add them. (info_TEXINFOS): Add guix.fr.texi. * po/doc/contributing.fr.po: New file. * po/doc/guix.fr.po: New file. * po/doc/local.mk (EXTRA_DIST): Add them. 2018-04-19gnu: doc: Allow documentation to be translated.Julien Lepiller * po/doc/contributing.pot: New file. * po/doc/guix.pot: New file. * po/doc/local.mk: New file. * Makefile.am: Include it. Add gettext command. Add silent rules for po4a. * configure.ac: Look for po4a-translate and po4a-updatepo. * doc/local.mk: Add rules to generate translated texi files. (TRANSLATED_INFO): New variable. (BUILT_SOURCES, EXTRA_DIST, MAINTAINERCLEANFILES): Add it. * .gitignore: Add generated files. 2018-04-19nls: Update 'fr' translation.Ludovic Courtès 2018-04-19nls: Update 'es' translation.Ludovic Courtès 2018-04-11nls: Add Spanish translation.Ludovic Courtès 2018-03-31nls: Add Spanish translation.Ludovic Courtès * po/guix/es.po: New file. * po/guix/LINGUAS: Add 'es'. 2018-03-15linux-initrd: Move 'check-device-initrd-modules' elsewhere.Ludovic Courtès This mostly reverts ca23693d280de5c4031058da4d3041d830080484, which introduced a circular dependency between (gnu system linux-initrd) and (gnu system mapped-devices). Reported by Eric Bavier. * gnu/system/linux-initrd.scm (check-device-initrd-modules): Move to... * gnu/system/mapped-devices.scm (check-device-initrd-modules): ... here. * po/guix/POTFILES.in: Adjust accordingly. 2018-03-07linux-initrd: Factorize 'check-device-initrd-modules'.Ludovic Courtès * gnu/system/mapped-devices.scm (check-device-initrd-modules): Move to... * gnu/system/linux-initrd.scm (check-device-initrd-modules): ... here. New procedure. * po/guix/POTFILES.in: Add it. * guix/scripts/system.scm (check-initrd-modules)[check-device]: Remove. Use 'check-device-initrd-modules' instead. 2018-03-05nls: Add Simplified Chinese translation.Ludovic Courtès 2018-02-26nls: Update 'pt_BR' translation.Marius Bakke 2018-02-19nls: Update 'fr' translation.Ludovic Courtès 2018-02-12nls: Update 'zh_CN' translation.Leo Famulari 2018-01-17nls: Update 'hu' translation.Leo Famulari 2017-12-18nls: Update 'hu' translation.Ludovic Courtès 2017-12-04nls: Update 'fr' translation.Ludovic Courtès 2017-11-28services: certbot: Add default value and description.Ludovic Courtès * gnu/services/certbot.scm (certbot-service-type) [default-value, description]: New fields. * po/packages/POTFILES.in: Add it. 2017-11-28services: cgit, git-daemon: Add description and default value.Ludovic Courtès * gnu/services/version-control.scm (git-daemon-service-type) [description, default-value]: New fields. (cgit-service-type)[default-value]: New field. * po/packages/POTFILES.in: Add version-control.scm. 2017-11-08gnu: Improve error reporting of the use-.*modules macros.Ludovic Courtès Suggested by Julien Lepiller and myglc2 at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00106.html>. * gnu.scm (%try-use-modules): New procedure. (package-module-hint, service-module-hint): New procedures. (try-use-modules): New macro. (use-package-modules, use-service-modules, use-system-modules): Use it. * tests/guix-system.sh: Test it. 2017-09-16services: networking: Add descriptions.Ludovic Courtès * gnu/services/networking.scm (static-networking-service-type) (ntp-service-type, inetd-service-type, tor-service-type) (tor-hidden-service-type, bitlbee-service-type) (wicd-service-type, network-manager-service-type) (connman-service-type, openvswitch-service-type): Add 'description' field. * po/packages/POTFILES.in: Add gnu/services/networking.scm. 2017-09-16services: base: Add descriptions.Ludovic Courtès * gnu/services/base.scm (fstab-service-type) (file-system-service-type, urandom-seed-service-type) (session-environment-service-type) (console-font-service-type) (login-service-type, agetty-service-type) (mingetty-service-type, nscd-service-type) (pam-limits-service-type, guix-service-type) (guix-publish-service-type, udev-service-type) (gpm-service-type): Add 'description' field. * po/packages/POTFILES.in: Add gnu/services/base.scm. 2017-09-16guix system: Add 'search' command.Ludovic Courtès * guix/scripts/system.scm (resolve-subcommand): New procedure. (process-command): Handle 'search'. (guix-system): Likewise. (show-help): Augment. * guix/scripts/system/search.scm: New file. * po/guix/POTFILES.in: Add it. * Makefile.am (MODULES): Add it. * guix/ui.scm (%text-width): Export. * doc/guix.texi (Invoking guix system): Document it. (Service Types and Services): Mention 'guix system search'. * tests/guix-system.sh: Test it. 2017-09-02nls: Update 'fr' translation.Ludovic Courtès 2017-07-27nls: Mark (guix scripts weather) as translatable.Ludovic Courtès * po/guix/POTFILES.in: Add guix/scripts/weather.scm. 2017-07-15nls: Adjust to qemu.scm renaming.宋文武 This is a followup to 59132b800093e486e4d81aed6b837e9ac76aa86c. * po/packages/POTFILES.in: Remove qemu.scm and add virtualization.scm. 2017-06-20gnu: Move contents of zip module into compression module.Arun Isaac * gnu/packages/zip.scm (zip, unzip, zziplib, perl-zip): Move to... * gnu/packages/compression.scm: ...here. * gnu/packages/zip.scm: Delete file. * gnu/local.mk (GNU_SYSTEM_MODULES): Unregister deleted file. * po/packages/POTFILES.in: Unregister deleted file. * gnu/packages/{audio, avr, bioinformatics, busybox, cdrom, ci, compression, docbook, documentation, fonts, fpga, game-development, games, gl, gnome, gnuzilla, graphics, guile, haskell, image, java, kodi, ldc, libreoffice, markup, maths, mc, monitoring, music, php, pretty-print, python, scheme, smalltalk, statistics, synergy, tex, textutils, video, web-browsers, xml, zip}.scm, guix/build-system/{ant, font}.scm, guix/{download, packages}.scm: Adapt module import.