summaryrefslogtreecommitdiff
path: root/build-aux
AgeCommit message (Collapse)Author
2020-04-06build-self: Avoid call to 'show-what-to-build*' on modern Guix.Ludovic Courtès
This avoids repeated "will be downloaded" messages for 'compute-guix-derivation' and its dependencies. * build-aux/build-self.scm (build): Don't call 'show-what-to-build*' when 'with-build-handler' is defined.
2020-03-28Update email address and Savannah handle for Amin Bandali.Amin Bandali
* .mailmap, gnu/local.mk, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm, gnu/packages/fonts.scm, gnu/packages/fpga.scm, gnu/packages/lean.scm, gnu/packages/maths.scm, gnu/packages/pulseaudio.scm: Update my email address. * build-aux/git-authenticate.scm: Update my Savannah handle.
2020-03-22Remove workaround for 'time-monotonic' in Guile 2.2.2.Ludovic Courtès
This is a followup to e688c2df3924423b67892cc9939ca099c729d1cb. * build-aux/hydra/evaluate.scm <top level>: Remove 'time-monotonic' definition. * guix/cache.scm: Likewise. * guix/progress.scm: Likewise. * guix/scripts/substitute.scm: Likewise. * guix/scripts/weather.scm: Likewise. * tests/cache.scm: Likewise.
2020-03-22hydra: evaluate: Use 'with-build-handler'.Ludovic Courtès
* build-aux/hydra/evaluate.scm (command-line): Remove 'set!' for 'build-things'. Use 'with-build-handler' instead. * build-aux/hydra/gnu-system.scm (hydra-jobs): Add comment about removing 'show-what-to-build' call.
2020-03-19build-self: Import (ice-9 threads) in the compute-guix-derivation script.Marius Bakke
This is required for CALL-WITH-NEW-THREAD in Guile 3.0. * build-aux/build-self.scm (build-program): Import (ice-9 threads).
2020-03-13maint: Add 'etc/release-manifest.scm'.Ludovic Courtès
* 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'.
2020-03-09git-authenticate: Add roelj's new key.Ludovic Courtès
This is a followup to cc51c03ff867d4633505354819c6d88af88bf919. * build-aux/git-authenticate.scm (%committers): Add roelj's new key.
2020-03-05hydra: Remove uses of _IOLBF.Ludovic Courtès
_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.
2020-03-05tests: Add a manifest for system tests.Ludovic Courtès
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'.
2020-03-05tests: "make check-system" includes the current commit ID, if any.Ludovic Courtès
* 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'.
2020-03-05tests: "make check-system" no longer interns source upfront.Ludovic Courtès
* 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.
2020-02-26git-authenticate: Remove duplicate entry.Ludovic Courtès
* build-aux/git-authenticate.scm (%committers): Remove duplicate of snape.
2020-02-26git-authenticate: Add sub-key for thomasd.Ludovic Courtès
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.
2020-02-22git-authenticate: Store the sub-key fingerprint of mab.Ludovic Courtès
This is a followup to 76a8dc3ee289ac4f4b984a3d9d2dcb9d89c01eda, signed with this sub-key. * build-aux/git-authenticate.scm (%committers): Store the sub-key fingerprint of mab.
2020-02-20build-self: Show wider backtraces.Ludovic Courtès
* build-aux/build-self.scm (build): Add 'setenv' call for "COLUMNS".
2020-02-13git-authenticate: Add niedzejkob to the list of committers.Ludovic Courtès
* build-aux/git-authenticate.scm (%committers): Add niedzejkob.
2020-02-11git-authenticate: Add mab to the list of committers.Ludovic Courtès
* build-aux/git-authenticate.scm (%committers): Add mab.
2020-01-27git-authenticate: Add roptat's new key.Ludovic Courtès
This is a followup to 2cbede5935eb6a40173bbdf30a9ad22bf7574c22. * build-aux/git-authenticate.scm (%committers): Add roptat's new key.
2020-01-17git-authenticate: Adjust atheia's key info.Ludovic Courtès
This is a followup to 05f8a143e437c0e55f118a0b2a191675a4b76ef1. * build-aux/git-authenticate.scm (%committers): Adjust atheia's key info.
2020-01-17git-authenticate: Add new key for atheia.Ludovic Courtès
* build-aux/git-authenticate.scm (%committers): Add atheia's 2nd key, as seen in commit df18ea6f275abaa160a8593accb29fd273d8fc13.
2020-01-08git-authenticate: Add daviwil to the list of committers.Ludovic Courtès
This is a followup to a587bb23b79eae5dd3fa3acb06d0b533c93fd562, first commit signed by daviwil. * build-aux/git-authenticate.scm (%committers): Add "daviwil".
2019-12-29git-authenticate: Add glv to the list of committers.Ludovic Courtès
This is a followup to 92fcf9856face3822ce827d7732c4b152f715f62, first commit signed by glv. * build-aux/git-authenticate.scm (%committers): Add glv.
2019-12-27git-authenticate: Keep a local cache of previously-authenticated commits.Ludovic Courtès
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.
2019-12-27Add 'build-aux/git-authenticate.scm'.Ludovic Courtès
* build-aux/git-authenticate.scm: New file. * Makefile.am (EXTRA_DIST): Add it. (commit_v1_0_1): New variable. (authenticate): New target.
2019-12-01ci: Make sure the Guix checkout is the one providing Cuirass proc.Clément Lassieur
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.
2019-11-13tests: "make check-system" uses Guix built with (guix self).Ludovic Courtès
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'.
2019-10-16build: Remove references to 'NIX_LOCALSTATE_DIR'.Ludovic Courtès
* build-aux/test-env.in: Remove references to 'NIX_LOCALSTATE_DIR'.
2019-10-16daemon: Remove traces of 'NIX_ROOT_FINDER'.Ludovic Courtès
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.
2019-09-08daemon: Remove 'NIX_LIBEXEC_DIR'.Ludovic Courtès
* 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'.
2019-09-08daemon: Run 'guix offload' directly.Ludovic Courtès
* 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.
2019-09-08daemon: Invoke 'guix gc --list-busy' instead of 'list-runtime-roots'.Ludovic Courtès
* 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.
2019-07-16Use more guix.gnu.org.Tobias Geerinckx-Rice
* 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.
2019-06-25build: Report build errors via 'report-load-error'.Ludovic Courtès
* 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.
2019-05-20maint: update-NEWS: Track "gcc-toolchain", not "gcc".Ludovic Courtès
This is a followup to d78010b81ee6ef4fd8803082e2f401b9e55b44db. * build-aux/update-NEWS.scm (write-packages-updates)[important]: Replace "gcc" by "gcc-toolchain".
2019-05-16maint: 'check-available-binaries' checks for more packages.Ludovic Courtès
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.
2019-05-12build-self: Let HOME pass through the execution environment.Ludovic Courtès
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.
2019-05-11Revert "build-self: Let HOME pass through the execution environment."Tobias Geerinckx-Rice
This reverts commit 48d498c2c3984784336b27ba5e261319f3ac6a3a. It breaks ‘guix pull’.
2019-05-11build-self: Let HOME pass through the execution environment.Ludovic Courtès
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.
2019-04-23build-self: Explain why we keep using deprecated bindings.Ludovic Courtès
* build-aux/build-self.scm (build): Add comment regarding the deprecated names.
2019-04-23Revert "build-self: Avoid deprecated bindings."Ludovic Courtès
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.
2019-04-22build-self: Avoid deprecated bindings.Mark H Weaver
* build-aux/build-self.scm (build): Replace references to nix-server-* with store-connection-*.
2019-04-19build: Show completion percentage while building.Ludovic Courtès
* build-aux/compile-all.scm (%): New procedure. (command-line): Use it to report completion.
2019-04-17self: Remove unused variable.Ludovic Courtès
This variable is unused since commit 45779fa676419de8838cb26b6c7a24678a2be1cd. * guix/self.scm (%dependency-variables): Remove. * build-aux/build-self.scm (%dependency-variables): Remove.
2019-03-26build-self: Disable position recording.Ludovic Courtès
'guix pull -n' goes roughly from 40s to 35s. * build-aux/build-self.scm (build-program): Add call to 'read-disable'.
2019-02-11Avoid name clash with 'build' from (guix store) and (guix status).Ludovic Courtès
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.
2019-02-04daemon: Add "/guix" to default 'nixLibexecDir'.Ludovic Courtès
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.
2019-02-04daemon: Remove the 'NIX_SUBSTITUTERS' environment variable.Ludovic Courtès
* 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'.
2019-02-04daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables.Ludovic Courtès
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.
2019-01-21store: Rename '&nix-error' to '&store-error'.Ludovic Courtès
* 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.
2019-01-21build-self: Execute trampoline in a clean environment.Ludovic Courtès
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'.