This reverts commit 5f93d97005.
'guix pull' would fail because (guix self) needs 'scheme-files'
from (guix discovery), which was not exported until now.
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'.
* 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.
Among other things, this removes (guix utils), (guix ui), (guix config),
etc. from the closure of (guix build download), as was the case since
798648515b.
* 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.
This was for Guile < 2.0.9 and we've been requiring 2.0.9+ for some time
already.
* configure.ac: Remove 'GUIX_CHECK_SRFI_37' use and 'INSTALL_SRFI_37'
conditional.
* Makefile.am: Remove code in "if INSTALL_SRFI_37".
(EXTRA_DIST): Remove srfi/srfi-37.scm.in.
* srfi/srfi-37.scm.in: Remove.
* m4/guix.m4 (GUIX_CHECK_SRFI_37): Remove.
* gnu/system/examples/vm-image.tmpl: New file.
* Makefile.am (GUIXSD_VM_SYSTEMS, GUIXSD_VM_IMAGE_BASE,
GUIXSD_VM_IMAGE_SIZE): New variables.
(release): Add logic to build a VM image.
(EXAMPLES): Add 'gnu/system/examples/vm-image.tmpl'.
* doc/guix.texi (Running GuixSD in a VM, Installing GuixSD in a VM): Mention the
pre-built VM image.
Fixes <http://bugs.gnu.org/26860>.
This is a followup to commit 3089b5d3f5.
* Makefile.am (MODULES): Move "guix/scripts/import/stackage.scm" within
'if HAVE_GUILE_JSON'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build-aux/update-NEWS.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(GUIX_MAINTENANCE_DIRECTORY): New variable.
(update-NEWS): New target.
(.PHONY): Add it.
This fixes a bug whereby "make distcheck -j4" might invoke
'assert-no-store-file-names' when the temporary $(distdir)/cl-t
exists (and contains store file names), before $(distdir)/ChangeLog has
been created.
* Makefile.am (assert-no-store-file-names): Depend on $(distdir)/ChangeLog.
(dist-hook): Depend on $(distdir)/ChangeLog instead of 'gen-ChangeLog'.
(gen-ChangeLog): Add $(distdir)/ChangeLog left of the colon.
* guix/build/java-utils.scm: New file.
* guix/build-system/ant.scm: Use it.
* Makefile.am (MODULES): Add it.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
* Makefile.am (SUPPORTED_SYSTEMS, GUIXSD_SUPPORTED_SYSTEMS): Use "?="
instead of "=".
(release): Do "git checkout ." in po/ early on. Abort upon uncommitted
changes. Print a message at the end.
Suggested by Jan Nieuwenhuizen.
* Makefile.am (releasedir, PACKAGE_FULL_TARNAME, SOURCE_TARBALLS)
(SUPPORTED_SYSTEMS, BINARY_TARBALLS, GUIXSD_SUPPORTED_SYSTEMS)
(GUIXSD_IMAGE_BASE, GUIXSD_INSTALLATION_IMAGE_SIZE): New variables.
(release): New target.
(.PHONY): Add it.
* build-aux/update-guix-package.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
(update-guix-package): New target.
(.PHONY): Add it.
* gnu/packages/package-management.scm (guix): Mention it.
* Makefile.am (EXTRA_DIST, BUILT_SOURCES): Add $(top_srcdir)/.version.
($(top_srcdir)/.version, gen-tarball-version): New targets.
(dist-hook): Depend on 'gen-tarball-version'.
(.PHONY): Add 'gen-tarball-version'.
* build-aux/git-version-gen: New file, from Gnulib v0.1-1312-ga87d5e5c6.
* configure.ac: Use it in 'AC_INIT'. Use 'https' for the URL.
This target predates 'guix lint'. Nowadays it makes little sense to run
it upon 'make dist'.
* Makefile.am (sync-descriptions): Remove.
(dist-hook, .PHONY): Remove reference to 'sync-descriptions'.