system: examples: Add a template for BeagleBone Black. * gnu/system/examples/beaglebone-black.tmpl: New file. * Makefile.am (EXAMPLES): Add it. * gnu/system/install.scm (/etc/configuration-files): Add it.
profiles: Use (guix man-db) to create the manual database. Fixes <https://bugs.gnu.org/29654>. Reported by Ruud van Asseldonk <dev+guix@veniogames.com>. This also speeds up database creation compared to "man-db --create" (less than half the time, on a warm cache, for 19k pages.) * guix/man-db.scm: New file. * Makefile.am (MODULES_NOT_COMPILED): Add it. * guix/profiles.scm (manual-database): Rewrite to use (guix man-db).
Add (guix profiling). * guix/profiling.scm: New file. * Makefile.am (MODULES): Add it. * guix/store.scm (record-operation): Use 'profiled?' and 'register-profiling-hook!'.
maint: Add 'berlin.guixsd.org.pub'. * bayfront.guixsd.org.pub: Rename to... * berlin.guixsd.org.pub: ... this. * Makefile.am (dist_pkgdata_DATA): Adjust accordingly. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
maint: Let 'guix system vm-image' determine the right size. * Makefile.am (GUIXSD_VM_IMAGE_BASE): Remove. (release): Remoev --image-size argument to 'guix system vm-image'.
maint: Add 'aarch64-linux' to the supported systems. * Makefile.am (SUPPORTED_SYSTEMS): Add aarch64-linux.
maint: Add the '.iso' extension to installation images. * Makefile.am (release): Add the '.iso' suffix to image files. * doc/guix.texi (USB Stick and DVD Installation): Adjust accordingly.
build-system: Add scons-build-system. * guix/build-system/scons.scm: New file. * guix/build/scons-build-system.scm: New file. * Makefile.am (MODULES): Register them. * doc/guix.texi (Build Systems): Add scons-build-system.
Revert "Add (guix self) and use it when pulling." This reverts commit 5f93d97005897c2d859f0be1bdff34c88467ec61. 'guix pull' would fail because (guix self) needs 'scheme-files' from (guix discovery), which was not exported until now.
hydra: Add jobs for the modular Guix. * build-aux/hydra/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
Add (guix self) and use it when pulling. This mitigates <https://bugs.gnu.org/27284>. * guix/self.scm: New file. * Makefile.am (MODULES): Add it. * build-aux/build-self.scm (libgcrypt, zlib, gzip, bzip2, xz) (false-if-wrong-guile, package-for-current-guile, guile-json) (guile-ssh, guile-git, guile-bytestructures): Remove. (build): Rewrite to simply delegate to 'compiled-guix'. * gnu/packages.scm (%distro-root-directory): Rewrite to try different directories. * guix/discovery.scm (guix): Export 'scheme-files'. * guix/scripts/pull.scm (build-and-install): Split into... (install-latest): ... this. New procedure. And... (build-and-install): ... this, which now takes a monadic value argument. (indirect-root-added): Remove. (guix-pull): Call 'add-indirect-root'. Call 'build-from-source' and pass the result to 'build-and-install'.
gnu: linux-libre: Update to 4.14. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.14. (%linux-libre-hash): Update hash. * gnu/packages/aux-files/linux-libre/4.13-arm.conf, gnu/packages/aux-files/linux-libre/4.13-i686.conf, gnu/packages/aux-files/linux-libre/4.13-x86_64.conf: Delete files. * gnu/packages/aux-files/linux-libre/4.14-arm.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: New files. * Makefile.am (AUX_FILES): Update accordingly.
gnu: linux: Add linux-libre arm kernel. * Makefile.am (AUX_FILES): Add arm config file. * gnu/packages/aux-files/linux-libre/4.13-arm.conf: New file. * gnu/packages/linux.scm (%intel-compatible-systems): Rename to %linux-compatible-systems and add "armhf-linux". (linux-libre): Adapt consequently. The config file for arm is taken from debian armmp kernel. It's a generic firmware for ARMv7 multiplatform compatible SoCs.
ui: Introduce (guix i18n). * guix/ui.scm (G_, N_, _P, %gettext-domain, %package-text-domain): Move to... * guix/i18n.scm: ... here. New file.
build: Conditionally build json importer. * Makefile.am (MODULES): Add guix/scripts/import/json.scm when HAVE_GUILE_JSON.
build: Factorize module compilation in (guix build compile). * guix/build/compile.scm: New file. * Makefile.am (MODULES): Add it. * build-aux/compile-all.scm: Use it. (warnings, file->module, load-module-file) (%default-optimizations, %lightweight-optimizations) (optimization-options, compile-file*): Remove. <top level>: Use 'compile-files'. * guix/build/pull.scm (%default-optimizations) (%lightweight-optimizations, optimization-options): Remove. (build-guix): Rewrite as a call to 'compile-files'. * guix/discovery.scm (file-name->module-name): Export.
download: Download a nar when a VCS checkout fails. Fixes <https://bugs.gnu.org/28709>. * guix/build/download-nar.scm: New file. * Makefile.am (MODULES): Add it. * guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New variables. [build]: Use MODULES. Add call to 'download-nar'. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise.
Add (guix progress). Among other things, this removes (guix utils), (guix ui), (guix config), etc. from the closure of (guix build download), as was the case since 798648515b77507c242752457b4dc17c155bad6e. * guix/utils.scm (<progress-reporter>, call-with-progress-reporter): Move to... * guix/progress.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/build/download.scm (current-terminal-columns) (nearest-exact-integer, duration->seconds, seconds->string) (byte-count->string, progress-bar, string-pad-middle) (rate-limited, progress-reporter/file, dump-port*) (time-monotonic): Move to progress.scm. * guix/scripts/download.scm: Adjust accordingly. * guix/scripts/substitute.scm: Likewise.
build: Add the Go build system. * guix/build-system/go.scm, guix/build/go-build-system.scm: New files. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document the go-build-system.
Merge branch 'master' into staging