aboutsummaryrefslogtreecommitdiff
path: root/build-aux
Commit message (Collapse)AuthorAge
* build-self: Import (ice-9 threads) in the compute-guix-derivation script.Marius Bakke2020-03-19
| | | | | | This is required for CALL-WITH-NEW-THREAD in Guile 3.0. * build-aux/build-self.scm (build-program): Import (ice-9 threads).
* maint: Add 'etc/release-manifest.scm'.Ludovic Courtès2020-03-13
| | | | | | | | | * etc/release-manifest.scm: New file. * gnu/ci.scm (%cross-targets): Export. * build-aux/check-available-binaries.scm: Remove. * Makefile.am (EXTRA_DIST): Add 'etc/release-manifest.scm' and remove 'build-aux/check-available-binaries.scm'. (assert-binaries-available): Rewrite using 'guix weather -m'.
* git-authenticate: Add roelj's new key.Ludovic Courtès2020-03-09
| | | | | | This is a followup to cc51c03ff867d4633505354819c6d88af88bf919. * build-aux/git-authenticate.scm (%committers): Add roelj's new key.
* hydra: Remove uses of _IOLBF.Ludovic Courtès2020-03-05
| | | | | | | _IOLBF & co. were deprecated in Guile 2.2 and removed in 3.0. * build-aux/hydra/gnu-system.scm: Pass 'line instead of _IOLBF to 'setvbuf'. * build-aux/hydra/guix-modular.scm: Likewise.
* tests: Add a manifest for system tests.Ludovic Courtès2020-03-05
| | | | | | | | | | | | | The manifest can be passed to 'guix build -m', 'guix weather -m', and so on. It can also be passed to an installed 'guix' (without ./pre-inst-env), with the exception so far of installation tests. * build-aux/run-system-tests.scm: Remove. Move interesting bits move to... * etc/system-tests.scm: ... here. New file. * Makefile.am (EXTRA_DIST): Remove 'build-aux/run-system-tests.scm' and add 'etc/system-tests.scm'. (check-system): Rewrite to run 'guix build -m etc/system-tests.scm'.
* tests: "make check-system" includes the current commit ID, if any.Ludovic Courtès2020-03-05
| | | | | | | | * build-aux/run-system-tests.scm (source-commit): New procedure. (tests-for-current-guix): Add 'commit' parameter and pass it to 'channel-source->package'. (run-system-tests): Call 'source-commit' and pass the result to 'tests-for-current-guix'.
* tests: "make check-system" no longer interns source upfront.Ludovic Courtès2020-03-05
| | | | | | | | | | | * gnu/ci.scm (channel-build-system)[build, lower]: Honor #:source. (channel-source->package): New procedure. (system-test-jobs): Remove 'instance' and call to 'checkout->channel-instance'. Use 'channel-source->package'. * build-aux/run-system-tests.scm (tests-for-channel-instance): Rename to... (tests-for-current-guix): ... this. Change 'instance' to 'source'. (run-system-tests): Use 'local-file' instead of 'interned-file' for SOURCE.
* git-authenticate: Remove duplicate entry.Ludovic Courtès2020-02-26
| | | | * build-aux/git-authenticate.scm (%committers): Remove duplicate of snape.
* git-authenticate: Add sub-key for thomasd.Ludovic Courtès2020-02-26
| | | | | | | | This is a followup to commit 7dc0f1d5a8c248addfcaadf76e45bf601bc51411, signed with sub-key "3D2C DA58 819C 08C2 A649 D43D 5C3B 064C 724A 5726". * build-aux/git-authenticate.scm (%committers): Provide fingerprint of subkey for thomasd.
* git-authenticate: Store the sub-key fingerprint of mab.Ludovic Courtès2020-02-22
| | | | | | | | This is a followup to 76a8dc3ee289ac4f4b984a3d9d2dcb9d89c01eda, signed with this sub-key. * build-aux/git-authenticate.scm (%committers): Store the sub-key fingerprint of mab.
* build-self: Show wider backtraces.Ludovic Courtès2020-02-20
| | | | * build-aux/build-self.scm (build): Add 'setenv' call for "COLUMNS".
* git-authenticate: Add niedzejkob to the list of committers.Ludovic Courtès2020-02-13
| | | | * build-aux/git-authenticate.scm (%committers): Add niedzejkob.
* git-authenticate: Add mab to the list of committers.Ludovic Courtès2020-02-11
| | | | * build-aux/git-authenticate.scm (%committers): Add mab.
* git-authenticate: Add roptat's new key.Ludovic Courtès2020-01-27
| | | | | | This is a followup to 2cbede5935eb6a40173bbdf30a9ad22bf7574c22. * build-aux/git-authenticate.scm (%committers): Add roptat's new key.
* git-authenticate: Adjust atheia's key info.Ludovic Courtès2020-01-17
| | | | | | | This is a followup to 05f8a143e437c0e55f118a0b2a191675a4b76ef1. * build-aux/git-authenticate.scm (%committers): Adjust atheia's key info.
* git-authenticate: Add new key for atheia.Ludovic Courtès2020-01-17
| | | | | * build-aux/git-authenticate.scm (%committers): Add atheia's 2nd key, as seen in commit df18ea6f275abaa160a8593accb29fd273d8fc13.
* git-authenticate: Add daviwil to the list of committers.Ludovic Courtès2020-01-08
| | | | | | | This is a followup to a587bb23b79eae5dd3fa3acb06d0b533c93fd562, first commit signed by daviwil. * build-aux/git-authenticate.scm (%committers): Add "daviwil".
* git-authenticate: Add glv to the list of committers.Ludovic Courtès2019-12-29
| | | | | | | This is a followup to 92fcf9856face3822ce827d7732c4b152f715f62, first commit signed by glv. * build-aux/git-authenticate.scm (%committers): Add glv.
* git-authenticate: Keep a local cache of previously-authenticated commits.Ludovic Courtès2019-12-27
| | | | | | | | | | | | | | A list of already-authenticated commits is kept in ~/.cache/guix/authentication. This speeds up subsequent "make authenticate" invocations. * build-aux/git-authenticate.scm (authenticated-commit-cache-file) (previously-authenticated-commits, cache-authenticated-commit): New procedures. (git-authenticate): Define 'authenticated-commits' and pass it as a third argument to 'commit-difference'. Add call to 'cache-authenticated-commit'. Don't display signing stats when STATS is null.
* Add 'build-aux/git-authenticate.scm'.Ludovic Courtès2019-12-27
| | | | | | | * build-aux/git-authenticate.scm: New file. * Makefile.am (EXTRA_DIST): Add it. (commit_v1_0_1): New variable. (authenticate): New target.
* ci: Make sure the Guix checkout is the one providing Cuirass proc.Clément Lassieur2019-12-01
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36378>. Reported by Reza Alizadeh Majd <r.majd@pantherx.org>. * build-aux/hydra/gnu-system.scm (find-current-checkout): New procedure. (hydra-jobs): Use FIND-CURRENT-CHECKOUT to define CHECKOUT. Pass it to the inferior Guix as an extra argument whose key is 'superior-guix-checkout'. * gnu/ci.scm (find-current-checkout): New procedure. (hydra-jobs): Use FIND-CURRENT-CHECKOUT to define CHECKOUT. This will return '#f' if the current Guix is an inferior. In that case, use the 'superior-guix-checkout' argument provided by the superior Guix.
* tests: "make check-system" uses Guix built with (guix self).Ludovic Courtès2019-11-13
| | | | | | | | | | | | This is a followup to 7e6d8d366a61f951936ed83371877ce006f679f6. It means that "make check-system" can run tests from (gnu tests install) much faster because it does not need to build a full 'guix' package. * gnu/ci.scm (channel-instance->package): Export. * build-aux/run-system-tests.scm (tests-for-channel-instance): New procedure, with code formerly in 'run-system-tests'. (run-system-tests): Call 'interned-file' for SOURCE, and add call to 'tests-for-channel-instance'.
* build: Remove references to 'NIX_LOCALSTATE_DIR'.Ludovic Courtès2019-10-16
| | | | * build-aux/test-env.in: Remove references to 'NIX_LOCALSTATE_DIR'.
* daemon: Remove traces of 'NIX_ROOT_FINDER'.Ludovic Courtès2019-10-16
| | | | | | | | This is a followup to 2e3e5d21988fc2cafb2a9eaf4b00976ea425629d. * build-aux/test-env.in: Remove mentions of 'NIX_ROOT_FINDER'. * nix/libstore/gc.cc (LocalStore::collectGarbage): Adjust comment accordingly.
* daemon: Remove 'NIX_LIBEXEC_DIR'.Ludovic Courtès2019-09-08
| | | | | | | | * nix/libstore/globals.hh (Settings)[nixLibexecDir]: Remove. * nix/libstore/globals.cc (Settings::processEnvironment): Remove reference to 'nixLibexecDir'. * nix/local.mk (libstore_a_CPPFLAGS): Remove -DNIX_LIBEXEC_DIR flag. * build-aux/pre-inst-env.in: Remove references to 'NIX_LIBEXEC_DIR'.
* daemon: Run 'guix offload' directly.Ludovic Courtès2019-09-08
| | | | | | | | | | | | | | | * nix/scripts/offload.in: Remove. * nix/local.mk (nodist_pkglibexec_SCRIPTS) [BUILD_DAEMON_OFFLOAD]: Remove 'scripts/offload'. * config-daemon.ac: Don't output 'nix/scripts/offload'. * build-aux/pre-inst-env.in: Don't set 'NIX_BUILD_HOOK'. * nix/libstore/build.cc (HookInstance::HookInstance): Run 'guix offload'. (DerivationGoal::tryBuildHook): Remove reference to 'NIX_BUILD_HOOK'. * nix/nix-daemon/guix-daemon.cc (main) [HAVE_DAEMON_OFFLOAD_HOOK]: Don't set 'NIX_BUILD_HOOK'. * nix/nix-daemon/nix-daemon.cc (performOp) [!HAVE_DAEMON_OFFLOAD_HOOK]: Leave 'settings.useBuildHook' unchanged.
* daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'.Ludovic Courtès2019-09-08
| | | | | | | | | | | | | | | | | | | | | | | * nix/scripts/list-runtime-roots.in: Remove. * guix/store/roots.scm (%proc-directory): New variable. (proc-file-roots, proc-exe-roots, proc-cwd-roots) (proc-fd-roots, proc-maps-roots, proc-environ-roots) (referenced-files, canonicalize-store-item, busy-store-items): New procedures, taken from 'list-runtime-roots.in'. * nix/libstore/globals.hh (Settings)[guixProgram]: New field. * nix/libstore/globals.cc (Settings::processEnvironment): Initialize 'guixProgram'. * nix/libstore/gc.cc (addAdditionalRoots): Drop code related to 'NIX_ROOT_FINDER'. Run "guix gc --list-busy". * nix/local.mk (nodist_pkglibexec_SCRIPTS): Remove 'scripts/list-runtime-roots'. * config-daemon.ac: Don't output nix/scripts/list-runtime-roots. * build-aux/pre-inst-env.in: Don't set 'NIX_ROOT_FINDER'. Set 'GUIX'. * doc/guix.texi (Invoking guix gc): Document '--list-busy'. * guix/scripts/gc.scm (show-help, %options): Add "--list-busy". (guix-gc)[list-busy]: New procedure. Handle the 'list-busy' action.
* Use more guix.gnu.org.Tobias Geerinckx-Rice2019-07-16
| | | | | | * build-aux/build-self.scm (make-config.scm): Replace gnu.org/s/guix with guix.gnu.org. * guix/scripts/publish.scm (render-home-page): Likewise. * guix/self.scm (make-config.scm): Likewise.
* build: Report build errors via 'report-load-error'.Ludovic Courtès2019-06-25
| | | | | | * build-aux/compile-all.scm: Wrap 'compile-files' call in 'catch'. Attempt to resort to 'report-load-error' in (guix ui) to print the error.
* maint: update-NEWS: Track "gcc-toolchain", not "gcc".Ludovic Courtès2019-05-20
| | | | | | | This is a followup to d78010b81ee6ef4fd8803082e2f401b9e55b44db. * build-aux/update-NEWS.scm (write-packages-updates)[important]: Replace "gcc" by "gcc-toolchain".
* maint: 'check-available-binaries' checks for more packages.Ludovic Courtès2019-05-16
| | | | | | | | Fixes <https://bugs.gnu.org/35539>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. * build-aux/check-available-binaries.scm (packages-for-system): New procedure. <top level>: Use it.
* build-self: Let HOME pass through the execution environment.Ludovic Courtès2019-05-12
| | | | | | | | | | | This is a followup to 48d498c2c3984784336b27ba5e261319f3ac6a3a, which introduced a typo (missing '->' in 'mlet'.) Fixes <https://bugs.gnu.org/35623>. Reported by Karrick McDermott <kmcdermott@linkedin.com>. * build-aux/build-self.scm (build): Add 'getenv' and 'setenv' calls for HOME.
* Revert "build-self: Let HOME pass through the execution environment."Tobias Geerinckx-Rice2019-05-11
| | | | | This reverts commit 48d498c2c3984784336b27ba5e261319f3ac6a3a. It breaks ‘guix pull’.
* build-self: Let HOME pass through the execution environment.Ludovic Courtès2019-05-11
| | | | | | | | Fixes <https://bugs.gnu.org/35623>. Reported by Karrick McDermott <kmcdermott@linkedin.com>. * build-aux/build-self.scm (build): Add 'getenv' and 'setenv' calls for HOME.
* build-self: Explain why we keep using deprecated bindings.Ludovic Courtès2019-04-23
| | | | | * build-aux/build-self.scm (build): Add comment regarding the deprecated names.
* Revert "build-self: Avoid deprecated bindings."Ludovic Courtès2019-04-23
| | | | | | | | | This reverts commit fa9e6e8b676ca920a894cf3b48bfcb670077144f. By using the new bindings, we would prevent users of Guix prior to de9fbe9cdcf5f8deb08becfc54b523084fd67bda, such as version 0.16.0, to upgrade to current master. Thus, we will keep using the old names for a while.
* build-self: Avoid deprecated bindings.Mark H Weaver2019-04-22
| | | | | * build-aux/build-self.scm (build): Replace references to nix-server-* with store-connection-*.
* build: Show completion percentage while building.Ludovic Courtès2019-04-19
| | | | | * build-aux/compile-all.scm (%): New procedure. (command-line): Use it to report completion.
* self: Remove unused variable.Ludovic Courtès2019-04-17
| | | | | | | | This variable is unused since commit 45779fa676419de8838cb26b6c7a24678a2be1cd. * guix/self.scm (%dependency-variables): Remove. * build-aux/build-self.scm (%dependency-variables): Remove.
* build-self: Disable position recording.Ludovic Courtès2019-03-26
| | | | | | 'guix pull -n' goes roughly from 40s to 35s. * build-aux/build-self.scm (build-program): Add call to 'read-disable'.
* Avoid name clash with 'build' from (guix store) and (guix status).Ludovic Courtès2019-02-11
| | | | | | | | | | | | | | | | Since commit 976ef2d97887d16eab8d4eb9dad811786b04d690, (guix status) exports 'build', which clashes with 'build' from (guix store). * build-aux/run-system-tests.scm: Select 'with-status-verbosity' from (guix status). * guix/scripts/archive.scm: Likewise. * guix/scripts/build.scm: Likewise. * guix/scripts/copy.scm: Likewise. * guix/scripts/environment.scm: Likewise. * guix/scripts/pack.scm: Likewise. * guix/scripts/package.scm: Likewise. * guix/scripts/pull.scm: Likewise. * guix/scripts/system.scm: Likewise.
* daemon: Add "/guix" to default 'nixLibexecDir'.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | This makes it easier to run the uninstalled daemon. * nix/local.mk (libstore_a_CPPFLAGS): Append "/guix" to NIX_LIBEXEC_DIR. * build-aux/pre-inst-env.in (NIX_LIBEXEC_DIR): Adjust comment. * nix/libstore/builtins.cc (builtinDownload): Remove SUBDIR and its use. * nix/libstore/local-store.cc (runAuthenticationProgram): Ditto. * nix/libstore/gc.cc (addAdditionalRoots): Remove "/guix" prefix. * nix/nix-daemon/guix-daemon.cc (main): Ditto.
* daemon: Remove the 'NIX_SUBSTITUTERS' environment variable.Ludovic Courtès2019-02-04
| | | | | | | | * nix/libstore/globals.cc (Settings:update): Remove changes to 'substituters'. * nix/nix-daemon/guix-daemon.cc (main): Set 'settings.substituters' directly instead of changing the 'NIX_SUBSTITUTERS' environment variable. * build-aux/pre-inst-env.in: Remove reference to 'NIX_SUBSTITUTERS'.
* daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables.Ludovic Courtès2019-02-04
| | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/22459>. Reported by Jeff Mickey <j@codemac.net>. * guix/config.scm.in (%state-directory): Change NIX_STATE_DIR to GUIX_STATE_DIRECTORY. (%store-database-directory): Change NIX_DB_DIR to GUIX_DATABASE_DIRECTORY. * nix/libstore/globals.cc (Settings::processEnvironment): Likewise. * guix/self.scm (make-config.scm): Likewise. * build-aux/build-self.scm (make-config.scm): Likewise. * build-aux/test-env.in: Likewise. * tests/derivations.scm ("derivation #:leaked-env-vars"): Likewise. * tests/guix-build.sh (GUIX_DAEMON_SOCKET): Likewise. * tests/guix-daemon.sh (socket): Likewise.
* store: Rename '&nix-error' to '&store-error'.Ludovic Courtès2019-01-21
| | | | | | | | | | | | | | | | | | | * guix/store.scm (&nix-error): Rename to... (&store-error): ... this, and adjust users. (&nix-connection-error): Rename to... (&store-connection-error): ... this, and adjust users. (&nix-protocol-error): Rename to... (&store-protocol-error): ... this, adjust users. (&nix-error, &nix-connection-error, &nix-protocol-error): Define these condition types and their getters as deprecrated aliases. * build-aux/run-system-tests.scm, guix/derivations.scm, guix/grafts.scm, guix/scripts/challenge.scm, guix/scripts/graph.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/serialization.scm, guix/ssh.scm, guix/tests.scm, guix/ui.scm, tests/derivations.scm, tests/gexp.scm, tests/guix-daemon.sh, tests/packages.scm, tests/store.scm, doc/guix.texi: Adjust to use the new names.
* build-self: Execute trampoline in a clean environment.Ludovic Courtès2019-01-21
| | | | | | | | | | | Previously execution of the trampoline would be somewhat sensitive to GUILE_LOAD_PATH & co., for example. * build-aux/build-self.scm (build-program): Remove 'unsetenv' call and %LOAD-COMPILED-PATH hack. (call-with-clean-environment): New procedure. (with-clean-environment): New macro. (build): Wrap 'open-pipe*' call in 'with-clean-environment'.
* status: Add 'with-status-verbosity'.Ludovic Courtès2019-01-11
| | | | | | | | | | | | | * guix/status.scm (logger-for-level, call-with-status-verbosity): New procedures. (with-status-verbosity): New macro. * guix/scripts/environment.scm (guix-environment): Use 'with-status-verbosity' instead of 'with-status-report'. * guix/scripts/pack.scm (guix-pack): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/pull.scm (guix-pull): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * build-aux/run-system-tests.scm (run-system-tests): Likewise.
* build-self: Spin only on TTYs.Ludovic Courtès2019-01-08
| | | | | * build-aux/build-self.scm (build-program): Spin only when 'isatty?' returns true.
* hydra: Compute jobs in an inferior.Ludovic Courtès2019-01-06
| | | | | | | | | | | | | | Previously we would rely on auto-compilation of all the Guix modules. The complete evaluation would take ~15mn on berlin.guixsd.org and require lots of RAM. This approach should be faster since potentially only part of the modules are rebuilt. Furthermore, as a side-effect, it builds the derivations that 'guix pull' uses. * build-aux/hydra/gnu-system.scm: Remove 'eval-when' form. (hydra-jobs): New procedure. * gnu/ci.scm (package->alist, qemu-jobs, system-test-jobs) (tarball-jobs): Return strings for the 'license' field. * guix/self.scm (compiled-guix)[*cli-modules*]: Add (gnu ci).
* hydra: evaluate: Add the checkout to the store.Ludovic Courtès2019-01-06
| | | | | | * build-aux/hydra/evaluate.scm <top level>: Add call to 'add-to-store'. Use that as the 'file-name' attribute. Call 'primitive-load' in a directory excursion to SOURCE.