aboutsummaryrefslogtreecommitdiff
path: root/build-aux
Commit message (Collapse)AuthorAge
* build-self: Inherit the daemon connection from the parent process.Ludovic Courtès2018-06-26
| | | | | | | | | | Fixes <https://bugs.gnu.org/31892>. Reported by Vagrant Cascadian <vagrant@debian.org>. * build-aux/build-self.scm (build): Define 'port' and wrap 'open-pipe*' call in 'with-input-from-port'. (build-program): Use 'port->connection' or 'open-connection' instead of 'with-store.'
* build-self: Avoid recompilations of 'compute-guix-derivation'.Ludovic Courtès2018-06-21
| | | | | | | * build-aux/build-self.scm (build-program)["compute-guix-derivation"]: Honor the SOURCE command-line argument. Add a VERSION command-line argument and honor it. (build): Pass VERSION to BUILD.
* self: Define derived '-directory' variables in config.scm.Ludovic Courtès2018-06-18
| | | | | | | | | | This is a followup to d6b5aa0b031f0e7091f7424ac616d1c4d10fed5b. * guix/self.scm (%config-variables): Remove %CONFIG-DIRECTORY, %STATE-DIRECTORY, %STORE-DATABASE-DIRECTORY, and %STORE-DIRECTORY. (make-config.scm): Define them here. * build-aux/build-self.scm (%config-variables, make-config.scm): Likewise.
* build-self: Do not rely on '%store-database-directory'.Ludovic Courtès2018-06-18
| | | | | | | | Guix'es older than one week don't have this variable so requiring it would break things for them. * build-aux/build-self.scm (%config-variables): Remove '%store-database-directory'.
* build: Remove checks for 'nix-instantiate'.Ludovic Courtès2018-06-18
| | | | | | | | | | | * guix/import/snix.scm (open-nixpkgs): Use "nix-instantiate" unconditionally. * configure.ac: Remove check for 'nix-instantiate'. * guix/config.scm.in (%nix-instantiate): Remove. * guix/self.scm (%dependency-variables): Remove '%nix-instantiate'. (make-config.scm): Remove it from the generated "config.scm". * build-aux/build-self.scm (%dependency-variables, make-config.scm): Likewise.
* self: Make (guix config) generation really stateless.Ludovic Courtès2018-06-18
| | | | | | | | | | | | | | Previously the %CONFIG-VARIABLES list would be generated based on what the current (guix config) contains. Thus, it would include '%guix-register-program', which we recently removed, because existing (guix config) most likely contained that variable. Since its value could differ from machine to machine, the build farm could be building a different config.scm, thereby preventing people from getting substitutes. * guix/self.scm (%config-variables): Turn into a white list instead of taking all the remaining variables from the current (guix config). * build-aux/build-self.scm (%config-variables): Likewise.
* hydra: Make sure we add an absolute file name to the load path.Ludovic Courtès2018-06-15
| | | | | | | | | | | | | | | | | | Previously, under Cuirass, we'd add "build-aux/cuirass/../hydra/../..". But then, commit c45477d2a1a651485feede20fe0f3d15aec48b39 added this in (gnu system vm): (local-file (search-path %load-path "guix/store/schema.sql")) Since 'search-path' would not return an absolute file name, 'local-file' would try to resolve that relative to "gnu/system", leading to: ERROR: In procedure force: In procedure canonicalize-path: No such file or directory: "/gnu/store/…-guix-ce573b1/gnu/system/build-aux/cuirass/../hydra/../../guix/store/schema.sql * build-aux/hydra/gnu-system.scm <top level>: Canonicalize DIR before adding it to %LOAD-PATH.
* Remove 'guix-register' and its traces.Ludovic Courtès2018-06-14
| | | | | | | | | | | | | | | | | | | * Makefile.am (SH_TESTS): Remove tests/guix-register.sh. * build-aux/pre-inst-env.in (GUIX_REGISTER): Remove. * gnu/build/install.scm (directives): Remove outdated comment. * gnu/build/vm.scm (root-partition-initializer): Update comment. * gnu/packages/package-management.scm (guix-register): Remove. * guix/config.scm.in (%sbindir, %guix-register-program): Remove. * guix/scripts/system.scm (install): Adjust docstring. * guix/self.scm (make-config.scm): Remove #:guix. Do not generate %sbindir and %guix-register-program. (specification->package): Remove "guix". * nix/guix-register/guix-register.cc: Remove. * nix/libstore/store-api.cc (decodeValidPathInfo): Remove. * nix/libstore/store-api.hh (decodeValidPathInfo): Remove declaration. * nix/local.mk (sbin_PROGRAMS, guix_register_SOURCES) (guix_register_CPPFLAGS, guix_register_LDFLAGS): Remove. * tests/guix-register.sh: Remove.
* hydra: guix-modular: Build the full Guix.Ludovic Courtès2018-06-10
| | | | | * build-aux/hydra/guix-modular.scm (build-job): Pass #:pull-version to BUILD.
* pull: Install the new Guix in a profile.Ludovic Courtès2018-06-09
| | | | | | | | | | | | | | | | | | * guix/scripts/pull.scm (%pull-version): New variable. (build-from-source): Pass #:pull-version to BUILD. (whole-package-for-legacy, derivation->manifest-entry): New procedure. (build-and-install): Rewrite in terms of 'build-and-use-profile'. * guix/scripts/system.scm (maybe-suggest-running-guix-pull)[latest]: Switch to "/current". * scripts/guix.in (augment-load-paths!): Remove use of ~/.config/guix/latest. * build-aux/compile-as-derivation.scm: Replace "/guix/latest/" with "/current/share/guile/site/X.Y" * guix/scripts.scm (warn-about-old-distro)[age]: Check "/current" instead of "/latest". * doc/guix.texi (Invoking guix pull): Document it. * doc/contributing.texi (Running Guix Before It Is Installed): Remove footnote about abusing ~/.config/guix/latest.
* self: Produce a complete package with the 'guix' command.Ludovic Courtès2018-06-09
| | | | | | | | | | | | * guix/self.scm (guix-command): New procedure. (compiled-guix): Add #:pull-version parameter. [command, package]: New variables. Honor PULL-VERSION. (guix-derivation): Add #:pull-version and pass it to 'compiled-guix'. * build-aux/build-self.scm (build-program): Add #:pull-version parameter. Pass it to 'guix-derivation'. (build): Add #:pull-version and pass it to 'build-program'. * build-aux/compile-as-derivation.scm: Pass #:pull-version to BUILD.
* build: 'test-env' does not 'guix download' non-existent files.Ludovic Courtès2018-05-13
| | | | | | | Reported by uniq10. * build-aux/test-env.in: Check whether FILE exists before invoking 'guix download'.
* hydra: Switch back to "-" instead of "@" in package job names.Ludovic Courtès2018-05-12
| | | | | | | | Fixes a regression introduced in ede121de426f9c56820852888a0b370f0ccbce49. Reported by Mark H Weaver <mhw@netris.org>. * build-aux/hydra/gnu-system.scm (job-name): Pass "-" as the second argument to 'package-full-name'.
* build: Fix possible race condition in 'test-env'.Ludovic Courtès2018-04-22
| | | | | | | Reported by Mark H Weaver <mhw@netris.org>. * build-aux/test-env.in: Add 'guile' invocation before 'guix download' invocation to make sure 'guix-daemon' is listening.
* hydra: Fix uses of 'eval-when'.Ludovic Courtès2018-04-09
| | | | | | | * build-aux/hydra/gnu-system.scm: Use (expand load eval) in 'eval-when' clause so as to not poison a cat and to ensure %load-compiled-path is properly set when the 'use-modules' clauses are expanded. * build-aux/hydra/guix.scm: Likewise.
* hydra: guix-modular: Honor the 'systems' argument.Ludovic Courtès2018-04-08
| | | | | | * build-aux/hydra/guix-modular.scm (hydra-jobs)[systems]: Define as in gnu-system.scm. Honor SYSTEMS.
* build-self: Add missing 'close-pipe' call.Ludovic Courtès2018-04-08
| | | | * build-aux/build-self.scm (build): Call 'close-pipe'.
* hydra: guix-modular: Explicitly build for the latest 2.2.Ludovic Courtès2018-04-08
| | | | | * build-aux/hydra/guix-modular.scm (build-job): Pass #:guile-version to 'build'.
* hydra: Clear '%load-compiled-path' for gnu-system.scm.Ludovic Courtès2018-04-08
| | | | | | | | | On hydra.gnu.org GUILE_LOAD_COMPILED_PATH happened to be empty so we were fine. However on GuixSD with Cuirass, we could have a conflicting non-empty path and .go files for some of the (guix …) and (gnu …) modules would be taken from there. * build-aux/hydra/gnu-system.scm: Set %load-compiled-path.
* hydra: 'guix-modular' jobs use the new 'build-self'.Ludovic Courtès2018-04-08
| | | | | | | | | * build-aux/hydra/guix-modular.scm: Remove 'eval-when' form that fiddled with '%load-path'. (build-job): Load 'build-aux/build-self.scm' and call the procedure it returns. * build-aux/hydra/evaluate.scm: The 'build-things' replacement no longer calls 'exit'.
* cuirass: Add job specs for the modular Guix.Ludovic Courtès2018-04-08
| | | | | * build-aux/cuirass/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
* cuirass: Factorize hydra-to-cuirass CI job translation.Ludovic Courtès2018-04-08
| | | | | | | * build-aux/cuirass/gnu-system.scm: Move code to... * build-aux/cuirass/hydra-to-cuirass.scm: ... here, and include it. * Makefile.am (EXTRA_DIST): Add 'build-aux/cuirass/hydra-to-cuirass.scm' and 'build-aux/cuirass/gnu-system.scm'.
* build: Add 'as-derivation' target.Ludovic Courtès2018-04-08
| | | | | | * build-aux/compile-as-derivation.scm: New file. * Makefile.am (as-derivation): New target. (EXTRA_DIST): Add compile-as-derivation.scm.
* build-self: Use (guix self).Ludovic Courtès2018-04-08
| | | | | | | | | | | | | This mitigates <https://bugs.gnu.org/27284>. * 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, matching-guile-2.2): Remove. (%dependency-variables, %persona-variables, %config-variables): New variables. (make-config.scm, load-path-expression, gexp->script) (build-program): New procedures. (build): Rewrite to simply delegate to 'guix-derivation'.
* maint: Adjust 'check-final-inputs-self-contained' for glibc:static.Ludovic Courtès2018-03-25
| | | | | | | | 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).
* Merge branch 'master' into core-updatesMark H Weaver2018-02-16
|\
| * pull: Update the %sbindir variable in (guix config) when building.Diego Nicola Barbato2018-02-15
| | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'master' into core-updatesMarius Bakke2018-02-01
|\|
| * hydra: Fix up arm qemu job.Danny Milosavljevic2018-01-29
| | | | | | | | | | | | * build-aux/hydra/gnu-system.scm (qemu-jobs): Fix up arm qemu job. Follow-up to 44b0303762f58badd9b9f8f1145e54b76b9d19d2.
| * hydra: Only build the "flash image" on arm.Danny Milosavljevic2018-01-29
| | | | | | | | | | * build-aux/hydra/gnu-system.scm (qemu-jobs): Only build the "flash image" on arm.
| * hydra: Work around import problem.Danny Milosavljevic2018-01-29
| | | | | | | | | | | | * build-aux/hydra/gnu-system.scm: qemu-jobs: Work around import problem. Follow-up to 1fe805b290f26db477bcd49be91af54f6c5d061f.
| * hydra: Add (gnu bootloader) import.Danny Milosavljevic2018-01-29
| | | | | | | | | | | | * build-aux/hydra/gnu-system.scm: Add (gnu bootloader) import. Follow-up to de2bc8d6da0ba4e74ed083af66a22cf96f74e67f.
| * hydra: Add arm image builder.Danny Milosavljevic2018-01-29
| | | | | | | | | | | | | | * 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.
* | hydra: Make the list of target systems a parameter.Ludovic Courtès2018-01-21
| | | | | | | | | | * build-aux/hydra/gnu-system.scm (hydra-jobs): Define 'systems' and use it.
* | cuirass: Properly convert list of <license> objects.Ludovic Courtès2018-01-15
| | | | | | | | | | | | | | | | 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.
* | hydra: Do not cross-build from non-Intel platforms.Ludovic Courtès2017-12-29
| | | | | | | | | | * build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs](pointless?): Return #t on non-Intel.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-19
|\|
| * hydra: Pre-load the compiler.Ludovic Courtès2017-12-13
| | | | | | | | | | | | | | | | 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'.
| * hydra: Invalidate derivation caches after each architecture evaluation.Ludovic Courtès2017-12-13
| | | | | | | | | | | | | | | | 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.
| * pull: Add (guix profiling) to the build environment.Ludovic Courtès2017-12-13
| | | | | | | | | | | | Reported by Ricardo Wurmus. * build-aux/build-self.scm (build): Add (guix profiling).
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-07
|\|
| * pull: Build with an ABI-compatible Guile.Ludovic Courtès2017-12-07
| | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-05
|\|
| * build: Explicitly flush the "LOAD" and "GUILEC" lines.Ludovic Courtès2017-11-28
| | | | | | | | | | | | | | | | * 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.
| * Revert "Add (guix self) and use it when pulling."Ludovic Courtès2017-11-21
| | | | | | | | | | | | | | 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.Ludovic Courtès2017-11-21
| | | | | | | | | | * build-aux/hydra/guix-modular.scm: New file. * Makefile.am (EXTRA_DIST): Add it.
| * hydra: 'evaluate' passes an alist to the entry point.Ludovic Courtès2017-11-21
| | | | | | | | | | * build-aux/hydra/evaluate.scm (%top-srcdir): New variable. <top level>: Pass it to 'hydra-jobs'.
| * Add (guix self) and use it when pulling.Ludovic Courtès2017-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* | Merge branch 'master' into core-updatesMarius Bakke2017-11-19
|\|
| * hydra: Add jobs for all of '%final-inputs'.Ludovic Courtès2017-11-07
| | | | | | | | | | | | | | * 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.