summaryrefslogtreecommitdiff
path: root/build-aux
AgeCommit message (Expand)Author
2018-01-29hydra: Add arm image builder....* build-aux/hydra/gnu-system.scm (%u-boot-systems): New variable. (%guixsd-supported-systems): Add armhf-linux. (qemu-jobs): Use u-boot if system in %u-boot-systems. Danny Milosavljevic
2017-12-13hydra: Pre-load the compiler....Starting from Guile 2.2.3, '%fresh-auto-compile' does what it says and would auto-compile everything, including the compiler (see <https://bugs.gnu.org/29226>). * build-aux/hydra/gnu-system.scm: Call 'compile'. Ludovic Courtès
2017-12-13hydra: Invalidate derivation caches after each architecture evaluation....This reduces max RSS from 1.3G to 1.0G. * guix/derivations.scm (invalidate-derivation-caches!): New procedure. * build-aux/hydra/gnu-system.scm (hydra-jobs): Use it. Add 'format' call. Ludovic Courtès
2017-12-13pull: Add (guix profiling) to the build environment....Reported by Ricardo Wurmus. * build-aux/build-self.scm (build): Add (guix profiling). Ludovic Courtès
2017-12-07pull: Build with an ABI-compatible Guile....Fixes <https://bugs.gnu.org/29570>. Reported by Vagrant Cascadian <vagrant@debian.org>. * build-aux/build-self.scm (matching-guile-2.2): New procedure. (guile-for-build): Use it. Ludovic Courtès
2017-11-28build: Explicitly flush the "LOAD" and "GUILEC" lines....* build-aux/compile-all.scm <top level>: Add calls to 'force-output' in the #:report-load and #:report-compilation procedures. Fixes a regression introduced in 2890ad332fcdfd4bc92b127d783975437c8b718b whereby compilation output would be buffered, leading to a weird visual effect. Ludovic Courtès
2017-11-21Revert "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. Ludovic Courtès
2017-11-21hydra: Add jobs for the modular Guix....* build-aux/hydra/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it. Ludovic Courtès
2017-11-21hydra: 'evaluate' passes an alist to the entry point....* build-aux/hydra/evaluate.scm (%top-srcdir): New variable. <top level>: Pass it to 'hydra-jobs'. Ludovic Courtès
2017-11-21Add (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'. Ludovic Courtès
2017-11-07hydra: Add jobs for all of '%final-inputs'....* build-aux/hydra/gnu-system.scm (package->job): Create a 'base.' job when PACKAGE is a member of BASE-PACKAGES. (all-packages)[adjust]: New procedure. Fold over %FINAL-INPUTS and add it to the result. Ludovic Courtès
2017-11-07hydra: Build hidden packages....* build-aux/hydra/gnu-system.scm (all-packages): Pass #:select? to 'fold-packages'. Ludovic Courtès
2017-11-07hydra: Factorize package list creation....* build-aux/hydra/gnu-system.scm (all-packages): New procedure, with body taken from... (hydra-jobs): ... here. Use it. Ludovic Courtès
2017-10-23pull: Add (guix build compile) to the mix....Fixes <https://bugs.gnu.org/28956>. Reported by Leo Famulari <leo@famulari.name>. * build-aux/build-self.scm (build): Add (guix build compile) to #:modules. * guix/build/pull.scm (build-guix): Wrap 'compile-files' call in 'with-directory-excursion'. Strip "./" from FILES when passing it to 'compile-files'. Ludovic Courtès
2017-10-22build: Honor make's '-j' flag....* build-aux/compile-all.scm (parallel-job-count): New procedure. <top level>: Pass it to 'compile-files' as #:workers. Ludovic Courtès
2017-10-22build: 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. Ludovic Courtès
2017-10-10build: Set 'NIX_BUILD_HOOK' only if offloading is configured....This prevents libstore/build.cc from executing nix/scripts/offload, which is always created by config.status, when offload support is not enabled. * build-aux/pre-inst-env.in: Export 'NIX_BUILD_HOOK' only when configured; unset it otherwise. Eric Bavier
2017-09-28cuirass: Add 'cuirass-jobs.scm' target to compute the Cuirass jobs....* build-aux/hydra/evaluate.scm: Support "cuirass" command line option. * Makefile.am (cuirass-jobs.scm): New target. Jan Nieuwenhuizen
2017-09-27cuirass: Support subset with list of package[@version]....* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset of packages: ("name[@version" ...). Jan Nieuwenhuizen
2017-09-27cuirass: Add gnu-system build spec....* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset "hello". * build-aux/cuirass/gnu-system.scm: New file. * doc/guix.texi (Continuous Integration): Update example spec. Jan Nieuwenhuizen
2017-09-08build: Use -Wmacro-use-before-definition....* build-aux/compile-all.scm (warnings): Add 'macro-use-before-definition'. Ludovic Courtès
2017-08-02pull: Fetch source code from Git....* guix/scripts/pull.scm (%snapshot-url, with-environment-variable) (with-PATH): Remove. (ensure-guile-git!): New procedure. (%repository-url): New variable. (%default-options): Add 'repository-url' and 'ref'. (show-help, %options): Add '--commit' and '--url'. (temporary-directory, first-directory, interned-then-deleted) (unpack): Remove. (build-from-source): Rename 'tarball' to 'source'. Remove call to 'unpack'. (build-and-install): Rename 'tarball' to 'source'. (honor-lets-encrypt-certificates!, report-git-error): New procedures. (with-git-error-handling): New macro. (guix-pull)[fetch-tarball]: Remove. Wrap body in 'with-git-error-handling'. Rewrite to use 'latest-repository-commit'. * build-aux/build-self.scm (build): Print an error message and exit when GUILE-GIT is #f. * doc/guix.texi (Invoking guix pull): Mention Git. Document '--commit' and '--branch'. Ludovic Courtès
2017-07-25hydra: Add 'guix.SYSTEM' jobs....* build-aux/hydra/guix.scm (package->alist): Disable grafting. (hydra-jobs): Return 'guix.SYSTEM' jobs in addition to 'tarball'. Ludovic Courtès
2017-07-25hydra: Simplify 'tarball' job....* build-aux/hydra/guix.scm (tarball-package): Remove. (hydra-jobs): Use 'dist-package' instead of 'tarball-package'. Ludovic Courtès
2017-07-03build: Add iso9660 system image generator....* build-aux/hydra/gnu-system.scm (qemu-jobs): Add 'iso9660-image . * gnu/build/vm.scm (make-iso9660-image): New variable. Export it. * gnu/system/vm.scm (iso9660-image): New variable. Use make-iso9660-image. (system-disk-image): Use iso9660-image. Danny Milosavljevic
2017-06-15hydra: Don't build non-substitutable packages....* build-aux/hydra/gnu-system.scm (package->job): Compute PACKAGE's derivation; return #f if 'substitutable-derivation?' returns #f. Ludovic Courtès
2017-06-09pull: Add a dependency to guile-git....* build-aux/build-self.scm (guile-git, guile-bytestructures): New variables. (build): Add guile-git and guile-bytestructures to %load-path and %load-compiled-path. Mathieu Othacehe
2017-05-18maint: Add 'update-NEWS' target....* 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. Ludovic Courtès
2017-05-16hydra: Cross-build Guile 2.2....* build-aux/hydra/gnu-system.scm (%core-packages): Add GUILE-2.2. Ludovic Courtès
2017-05-09pull: Build with the matching Guile major version....Previously, 'guix pull' would always build with Guile 2.0. Now it builds with the Guile that matches (effective-version). * build-aux/build-self.scm (false-if-wrong-guile) (package-for-current-guile): New procedures. (guile-json, guile-ssh): Use it. (guile-for-build): New procedure. (build): Use (effective-version) instead of the hard-coded "/2.0". Add (guix modules) closure to #:modules argument. Pass \#:guile-for-build argument to 'gexp->derivation'. * guix/build/pull.scm (depends-on-guile-ssh?, all-scheme-files): New procedures. (build-guix): Show the output of (version). Use the above procedures. Filter out files that match 'depends-on-guile-ssh?' when (ssh session) is missing. Ludovic Courtès
2017-05-09maint: update-guix-package: Protect the checkout from GC....* build-aux/update-guix-package.scm (main): Define 'root', and call 'add-indirect-root' to protect SOURCE from GC. Ludovic Courtès
2017-05-08maint: Check whether binaries cross-built to "arm-linux-gnueabihf" are availa......* build-aux/check-available-binaries.scm: Add "arm-linux-gnueabihf" as a cross target. Ludovic Courtès
2017-05-08maint: 'check-available-binaries' forces use of the official servers....* build-aux/check-available-binaries.scm: Pass #:substitute-urls to 'set-build-options'. Ludovic Courtès
2017-05-08maint: Use 'G_' in build-aux/ scripts....This is a followup to 69daee23af49aeafcb1d250c90860f9253da719e. * build-aux/check-final-inputs-self-contained.scm (assert-valid-substitute): Use 'G_' instead of '_'. Ludovic Courtès
2017-05-07maint: Add 'time-monotonic' bug workaround in build-aux/hydra/evaluate.scm....* build-aux/hydra/evaluate.scm: Add 'time-monotonic' workaround for Guile 2.2. Ludovic Courtès
2017-05-07maint: Add 'update-guix-package' target....* 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. Ludovic Courtès
2017-05-04build: Use Gnulib's 'git-version-gen'....* 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. Ludovic Courtès
2017-05-03ui: Rename '_' to 'G_'....This avoids collisions with '_' when the latter is used as a 'match' pattern for instance. See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>. * guix/ui.scm: Rename '_' to 'G_'. * po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly. * build-aux/compile-all.scm (warnings): Remove 'format'. * gnu/packages.scm, gnu/services.scm, gnu/services/shepherd.scm, gnu/system.scm, gnu/system/shadow.scm, guix/gnupg.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/elpa.scm, guix/import/pypi.scm, guix/nar.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/container.scm, guix/scripts/container/exec.scm, guix/scripts/copy.scm, guix/scripts/download.scm, guix/scripts/edit.scm, guix/scripts/environment.scm, guix/scripts/gc.scm, guix/scripts/graph.scm, guix/scripts/hash.scm, guix/scripts/import.scm, guix/scripts/import/cpan.scm, guix/scripts/import/cran.scm, guix/scripts/import/crate.scm, guix/scripts/import/elpa.scm, guix/scripts/import/gem.scm, guix/scripts/import/gnu.scm, guix/scripts/import/hackage.scm, guix/scripts/import/nix.scm, guix/scripts/import/pypi.scm, guix/scripts/import/stackage.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/perform-download.scm, guix/scripts/publish.scm, guix/scripts/pull.scm, guix/scripts/refresh.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/scripts/system.scm, guix/ssh.scm, guix/upstream.scm: Use 'G_' instead of '_'. Most of this change was obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`". Ludovic Courtès
2017-04-14build: Download aarch64 bootstrap binaries from alpha.gnu.org....* build-aux/download.scm (file-name->uri): Remove flashner.co.il URL. * gnu/packages/package-management.scm (boot-guile-uri): Likewise. Ludovic Courtès
2017-03-30hydra: Don't build deprecated packages....* build-aux/hydra/gnu-system.scm (hydra-jobs): When iterating over the packages, exclude those that match 'package-superseded'. Ludovic Courtès
2017-03-30Merge branch 'master' into core-updates...Most conflicts are from 6fd52309b8f52c9bb59fccffac53e029ce94b698. Marius Bakke
2017-03-30hydra: Include the localstatedir in the binary tarball....This is a followup to 6b63c43e0661406bf9e8c4c54f517744fc2ffdb3. * build-aux/hydra/gnu-system.scm (tarball-jobs): Pass #:localstatedir? #t to 'self-contained-tarball'. Ludovic Courtès
2017-03-23Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-03-22build: 'test-driver.scm' prints Scheme values with 'write'....Previously it would print them with 'display', which was inconvenient. * build-aux/test-driver.scm (test-display): Use ~S for VALUE. (test-runner-gnu): Use 'format' instead of 'test-display' for the test name, location, and result kind. Ludovic Courtès
2017-03-19Merge branch 'master' into core-updatesMark H Weaver
2017-03-18build: Require Guile >= 2.0.9....* configure.ac: Bump requirement to 2.0.9. * doc/guix.texi (Requirements): Adjust accordingly. * README (Requirements): Likewise. * build-aux/download.scm: Remove workaround for <http://bugs.gnu.org/13095>. * guix/build/download.scm: Likewise. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/http-client.scm: Remove workaround for <http://bugs.gnu.org/13095>. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/serialization.scm (read-latin1-string): Remove mention of 2.0.9. * tests/nar.scm: Use (ice-9 control). (let/ec): Remove. Ludovic Courtès
2017-03-16utils: Move base16 procedures to (guix base16)....* guix/utils.scm (bytevector->base16-string, base16-string->bytevector): Move to... * guix/base16.scm: ... here. New file. * tests/utils.scm ("bytevector->base16-string->bytevector"): Move to... * tests/base16.scm: ... here. New file. * Makefile.am (MODULES): Add guix/base16.scm. (SCM_TESTS): Add tests/base16.scm. * build-aux/download.scm, guix/derivations.scm, guix/docker.scm, guix/import/snix.scm, guix/pk-crypto.scm, guix/scripts/authenticate.scm, guix/scripts/download.scm, guix/scripts/hash.scm, guix/store.scm, tests/hash.scm, tests/pk-crypto.scm: Adjust imports accordingly. Ludovic Courtès
2017-03-15Merge branch 'master' into core-updatesMarius Bakke
2017-03-14build: On 2.2, build package files with almost no optimizations....* build-aux/compile-all.scm (%default-optimizations) (%lightweight-optimizations): New variables. (optimization-options): New procedure. (compile-file*): Use it. Ludovic Courtès
2017-03-13Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner