summary refs log tree commit diff
path: root/build-aux
AgeCommit message (Collapse)Author
2018-03-25maint: Adjust 'check-final-inputs-self-contained' for glibc:static.Ludovic Courtès
This change is necessary to cope with 6dff905e51202bbdebbad8811b6509584d12a796. * build-aux/check-final-inputs-self-contained.scm (final-inputs): Change 'match' pattern to match (LABEL PACKAGE OUTPUT).
2018-02-16Merge branch 'master' into core-updatesMark H Weaver
2018-02-15pull: Update the %sbindir variable in (guix config) when building.Diego Nicola Barbato
Fixes <https://bugs.gnu.org/30370>. * build-aux/build-self.scm (guix): New variable. (builder): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-02-01Merge branch 'master' into core-updatesMarius Bakke
2018-01-29hydra: Fix up arm qemu job.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm (qemu-jobs): Fix up arm qemu job. Follow-up to 44b0303762f58badd9b9f8f1145e54b76b9d19d2.
2018-01-29hydra: Only build the "flash image" on arm.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm (qemu-jobs): Only build the "flash image" on arm.
2018-01-29hydra: Work around import problem.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm: qemu-jobs: Work around import problem. Follow-up to 1fe805b290f26db477bcd49be91af54f6c5d061f.
2018-01-29hydra: Add (gnu bootloader) import.Danny Milosavljevic
* build-aux/hydra/gnu-system.scm: Add (gnu bootloader) import. Follow-up to de2bc8d6da0ba4e74ed083af66a22cf96f74e67f.
2018-01-29hydra: Add arm image builder.Danny Milosavljevic
* 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.
2018-01-21hydra: Make the list of target systems a parameter.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (hydra-jobs): Define 'systems' and use it.
2018-01-15cuirass: Properly convert list of <license> objects.Ludovic Courtès
Fixes a bug whereby we would 'write' raw <license> objects when they were in a list. * build-aux/cuirass/gnu-system.scm (entry->sexp-entry): Add recursive case when O is a list.
2017-12-29hydra: Do not cross-build from non-Intel platforms.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](pointless?): Return #t on non-Intel.
2017-12-19Merge branch 'master' into core-updatesMarius Bakke
2017-12-13hydra: Pre-load the compiler.Ludovic Courtès
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'.
2017-12-13hydra: Invalidate derivation caches after each architecture evaluation.Ludovic Courtès
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.
2017-12-13pull: Add (guix profiling) to the build environment.Ludovic Courtès
Reported by Ricardo Wurmus. * build-aux/build-self.scm (build): Add (guix profiling).
2017-12-07Merge branch 'master' into core-updatesMarius Bakke
2017-12-07pull: Build with an ABI-compatible Guile.Ludovic Courtès
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.
2017-12-05Merge branch 'master' into core-updatesMarius Bakke
2017-11-28build: Explicitly flush the "LOAD" and "GUILEC" lines.Ludovic Courtès
* 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.
2017-11-21Revert "Add (guix self) and use it when pulling."Ludovic Courtès
This reverts commit 5f93d97005897c2d859f0be1bdff34c88467ec61. 'guix pull' would fail because (guix self) needs 'scheme-files' from (guix discovery), which was not exported until now.
2017-11-21hydra: Add jobs for the modular Guix.Ludovic Courtès
* build-aux/hydra/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
2017-11-21hydra: 'evaluate' passes an alist to the entry point.Ludovic Courtès
* build-aux/hydra/evaluate.scm (%top-srcdir): New variable. <top level>: Pass it to 'hydra-jobs'.
2017-11-21Add (guix self) and use it when pulling.Ludovic Courtès
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'.
2017-11-19Merge branch 'master' into core-updatesMarius Bakke
2017-11-07hydra: Add jobs for all of '%final-inputs'.Ludovic Courtès
* 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.
2017-11-07hydra: Build hidden packages.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (all-packages): Pass #:select? to 'fold-packages'.
2017-11-07hydra: Factorize package list creation.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (all-packages): New procedure, with body taken from... (hydra-jobs): ... here. Use it.
2017-10-24Merge branch 'master' into core-updatesMarius Bakke
2017-10-23pull: Add (guix build compile) to the mix.Ludovic Courtès
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'.
2017-10-22build: Honor make's '-j' flag.Ludovic Courtès
* build-aux/compile-all.scm (parallel-job-count): New procedure. <top level>: Pass it to 'compile-files' as #:workers.
2017-10-22build: Factorize module compilation in (guix build compile).Ludovic Courtès
* 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.
2017-10-16Merge 'master' into core-updatesThomas Danckaert
2017-10-10build: Set 'NIX_BUILD_HOOK' only if offloading is configured.Eric Bavier
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.
2017-10-01Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-09-28cuirass: Add 'cuirass-jobs.scm' target to compute the Cuirass jobs.Jan Nieuwenhuizen
* build-aux/hydra/evaluate.scm: Support "cuirass" command line option. * Makefile.am (cuirass-jobs.scm): New target.
2017-09-27cuirass: Support subset with list of package[@version].Jan Nieuwenhuizen
* build-aux/hydra/gnu-system.scm (hydra-jobs): Support subset of packages: ("name[@version" ...).
2017-09-27cuirass: Add gnu-system build spec.Jan Nieuwenhuizen
* 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.
2017-09-08build: Use -Wmacro-use-before-definition.Ludovic Courtès
* build-aux/compile-all.scm (warnings): Add 'macro-use-before-definition'.
2017-08-28build: Remove code to download the Guile bootstrap tarball.Ludovic Courtès
* build-aux/download.scm: Remove. * Makefile.am (EXTRA_DIST): Remove it. (check-system): Remove dependency on $(BOOTSTRAP_GUILE_TARBALLS). * gnu/local.mk (nodist_bootstrap_x86_64_linux_DATA) (nodist_bootstrap_i686_linux_DATA, nodist_bootstrap_armhf_linux_DATA) (nodist_bootstrap_aarch64_linux_DATA, nodist_bootstrap_mips64el_linux_DATA) (BOOTSTRAP_GUILE_TARBALLS, DISTCLEANFILES, DOWNLOAD_FILE) (%D%/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz) (%D%/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz) (%D%/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz) (%D%/packages/bootstrap/aarch64-linux/guile-2.0.14.tar.xz) (%D%/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz): Remove. * build-aux/test-env.in: Add "guix download" invocation when gnu/packages/bootstrap/guile* exists.
2017-08-02pull: Fetch source code from Git.Ludovic Courtès
* 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'.
2017-07-25hydra: Add 'guix.SYSTEM' jobs.Ludovic Courtès
* build-aux/hydra/guix.scm (package->alist): Disable grafting. (hydra-jobs): Return 'guix.SYSTEM' jobs in addition to 'tarball'.
2017-07-25hydra: Simplify 'tarball' job.Ludovic Courtès
* build-aux/hydra/guix.scm (tarball-package): Remove. (hydra-jobs): Use 'dist-package' instead of 'tarball-package'.
2017-07-03build: Add iso9660 system image generator.Danny Milosavljevic
* 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.
2017-06-15hydra: Don't build non-substitutable packages.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (package->job): Compute PACKAGE's derivation; return #f if 'substitutable-derivation?' returns #f.
2017-06-09pull: Add a dependency to guile-git.Mathieu Othacehe
* 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.
2017-05-18maint: Add 'update-NEWS' target.Ludovic Courtès
* 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.
2017-05-16hydra: Cross-build Guile 2.2.Ludovic Courtès
* build-aux/hydra/gnu-system.scm (%core-packages): Add GUILE-2.2.
2017-05-09pull: Build with the matching Guile major version.Ludovic Courtès
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.
2017-05-09maint: update-guix-package: Protect the checkout from GC.Ludovic Courtès
* build-aux/update-guix-package.scm (main): Define 'root', and call 'add-indirect-root' to protect SOURCE from GC.