Age | Commit message (Expand) | Author |
2020-04-06 | build-self: Avoid call to 'show-what-to-build*' on modern Guix....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.
| Ludovic Courtès |
2020-03-19 | build-self: Import (ice-9 threads) in the compute-guix-derivation script....This is required for CALL-WITH-NEW-THREAD in Guile 3.0.
* build-aux/build-self.scm (build-program): Import (ice-9 threads).
| Marius Bakke |
2020-02-20 | build-self: Show wider backtraces....* build-aux/build-self.scm (build): Add 'setenv' call for "COLUMNS".
| Ludovic Courtès |
2019-07-16 | Use more guix.gnu.org....* 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.
| Tobias Geerinckx-Rice |
2019-05-12 | build-self: Let HOME pass through the execution environment....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.
| Ludovic Courtès |
2019-05-11 | Revert "build-self: Let HOME pass through the execution environment."...This reverts commit 48d498c2c3984784336b27ba5e261319f3ac6a3a.
It breaks ‘guix pull’.
| Tobias Geerinckx-Rice |
2019-05-11 | build-self: Let HOME pass through the execution environment....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.
| Ludovic Courtès |
2019-04-23 | build-self: Explain why we keep using deprecated bindings....* build-aux/build-self.scm (build): Add comment regarding the deprecated
names.
| Ludovic Courtès |
2019-04-23 | Revert "build-self: Avoid deprecated bindings."...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.
| Ludovic Courtès |
2019-04-22 | build-self: Avoid deprecated bindings....* build-aux/build-self.scm (build): Replace references to nix-server-*
with store-connection-*.
| Mark H Weaver |
2019-04-17 | self: Remove unused variable....This variable is unused since commit
45779fa676419de8838cb26b6c7a24678a2be1cd.
* guix/self.scm (%dependency-variables): Remove.
* build-aux/build-self.scm (%dependency-variables): Remove.
| Ludovic Courtès |
2019-03-26 | build-self: Disable position recording....'guix pull -n' goes roughly from 40s to 35s.
* build-aux/build-self.scm (build-program): Add call to 'read-disable'.
| Ludovic Courtès |
2019-02-04 | daemon: Rename 'NIX_STATE_DIR' and 'NIX_DB_DIR' environment variables....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.
| Ludovic Courtès |
2019-01-21 | build-self: Execute trampoline in a clean environment....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'.
| Ludovic Courtès |
2019-01-08 | build-self: Spin only on TTYs....* build-aux/build-self.scm (build-program): Spin only when 'isatty?'
returns true.
| Ludovic Courtès |
2019-01-06 | build-self: Don't clobber the output port....The newline is meant to follow the spinner's traces so it must go to the
error port as well.
* build-aux/build-self.scm (build): Send newline to the error port.
| Ludovic Courtès |
2018-09-13 | Merge branch 'master' into core-updates | Leo Famulari |
2018-09-13 | build-self: Emit a useful message upon error....* build-aux/build-self.scm (build): Raise a '&message' condition instead
of calling 'error'.
| Ludovic Courtès |
2018-09-13 | build-self: Add a dummy (git) module to 'compute-guix-derivation'....Fixes a regression introduced in
aed0a594058a59bc3bb1d2686391dc0e8a181b1f.
* build-aux/build-self.scm (build-program)[fake-git]: New variable.
Use it as an imported module.
| Ludovic Courtès |
2018-09-09 | Merge branch 'master' into core-updates | Marius Bakke |
2018-09-06 | build-self: Accomodate upgrades from May 2016 and earlier....Reported by Paul Garlick <pgarlick@tourbillion-technology.com>.
Fixes a bug whereby "old" Guix instances (before mid-May 2018) would
fail to pull to current master.
Specifically, Paul reported being unable to upgrade from
6f84dc4314cd84550d9fc7e7afa11c495edc45a5 (a commit that predates that
addition of the 'bootstrap' phase on gnu-build-system on 'master' and
that also predates the new 'guix pull'.)
* build-aux/build-self.scm (guile-gcrypt)[arguments]: New field.
| Ludovic Courtès |
2018-09-04 | Switch to Guile-Gcrypt....This removes (guix hash) and (guix pk-crypto), which now live as part of
Guile-Gcrypt (version 0.1.0.)
* guix/gcrypt.scm, guix/hash.scm, guix/pk-crypto.scm,
tests/hash.scm, tests/pk-crypto.scm: Remove.
* configure.ac: Test for Guile-Gcrypt. Remove LIBGCRYPT and
LIBGCRYPT_LIBDIR assignments.
* m4/guix.m4 (GUIX_ASSERT_LIBGCRYPT_USABLE): Remove.
* README: Add Guile-Gcrypt to the dependencies; move libgcrypt as
"required unless --disable-daemon".
* doc/guix.texi (Requirements): Likewise.
* gnu/packages/bash.scm, guix/derivations.scm, guix/docker.scm,
guix/git.scm, guix/http-client.scm, guix/import/cpan.scm,
guix/import/cran.scm, guix/import/crate.scm, guix/import/elpa.scm,
guix/import/gnu.scm, guix/import/hackage.scm,
guix/import/texlive.scm, guix/import/utils.scm, guix/nar.scm,
guix/pki.scm, guix/scripts/archive.scm,
guix/scripts/authenticate.scm, guix/scripts/download.scm,
guix/scripts/hash.scm, guix/scripts/pack.scm,
guix/scripts/publish.scm, guix/scripts/refresh.scm,
guix/scripts/substitute.scm, guix/store.scm,
guix/store/deduplication.scm, guix/tests.scm, tests/base32.scm,
tests/builders.scm, tests/challenge.scm, tests/cpan.scm,
tests/crate.scm, tests/derivations.scm, tests/gem.scm,
tests/nar.scm, tests/opam.scm, tests/pki.scm,
tests/publish.scm, tests/pypi.scm, tests/store-deduplication.scm,
tests/store.scm, tests/substitute.scm: Adjust imports.
* gnu/system/vm.scm: Likewise.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(expression->derivation-in-linux-vm)[config]: Remove.
(iso9660-image)[config]: Remove.
(qemu-image)[config]: Remove.
(system-docker-image)[config]: Remove.
* guix/scripts/pack.scm: Adjust imports.
(guile-sqlite3&co): Rename to...
(gcrypt-sqlite3&co): ... this. Add GUILE-GCRYPT.
(self-contained-tarball)[build]: Call 'make-config.scm' without
#:libgcrypt argument.
(squashfs-image)[libgcrypt]: Remove.
[build]: Call 'make-config.scm' without #:libgcrypt.
(docker-image)[config, json]: Remove.
[build]: Add GUILE-GCRYPT to the extensions Remove (guix config) from
the imported modules.
* guix/self.scm (specification->package): Remove "libgcrypt", add
"guile-gcrypt".
(compiled-guix): Remove #:libgcrypt.
[guile-gcrypt]: New variable.
[dependencies]: Add it.
[*core-modules*]: Remove #:libgcrypt from 'make-config.scm' call.
Add #:extensions.
[*config*]: Remove #:libgcrypt from 'make-config.scm' call.
(%dependency-variables): Remove %libgcrypt.
(make-config.scm): Remove #:libgcrypt.
* build-aux/build-self.scm (guile-gcrypt): New variable.
(make-config.scm): Remove #:libgcrypt.
(build-program)[fake-gcrypt-hash]: New variable.
Add (gcrypt hash) to the imported modules. Adjust load path
assignments.
* gnu/packages/package-management.scm (guix)[propagated-inputs]: Add
GUILE-GCRYPT.
[arguments]: In 'wrap-program' phase, add GUILE-GCRYPT to the search
path.
| Ludovic Courtès |
2018-07-27 | build-self: Default to Guile 2.2 when building a standalone Guix....* build-aux/build-self.scm (build): Change #:guile-version to default to
"2.2" when PULL-VERSION is greater than 0.
| Ludovic Courtès |
2018-07-27 | gnu: guile: Remove version 2.2.2....* gnu/packages/guile.scm (guile-2.2.2): Remove.
* guix/self.scm (guile-for-build): Remove special case for "2.2.2".
(guix-derivation): Likewise.
* build-aux/build-self.scm (build): Likewise.
| Ludovic Courtès |
2018-06-26 | build-self: Inherit the daemon connection from the parent process....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.'
| Ludovic Courtès |
2018-06-21 | build-self: Avoid recompilations of 'compute-guix-derivation'....* 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.
| Ludovic Courtès |
2018-06-18 | self: Define derived '-directory' variables in config.scm....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.
| Ludovic Courtès |
2018-06-18 | build-self: Do not rely on '%store-database-directory'....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'.
| Ludovic Courtès |
2018-06-18 | build: Remove checks for 'nix-instantiate'....* 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.
| Ludovic Courtès |
2018-06-18 | self: Make (guix config) generation really stateless....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.
| Ludovic Courtès |
2018-06-09 | self: Produce a complete package with the 'guix' command....* 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.
| Ludovic Courtès |
2018-04-08 | build-self: Add missing 'close-pipe' call....* build-aux/build-self.scm (build): Call 'close-pipe'.
| Ludovic Courtès |
2018-04-08 | build-self: Use (guix self)....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'.
| Ludovic Courtès |
2018-02-15 | pull: Update the %sbindir variable in (guix config) when building....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>
| Diego Nicola Barbato |
2017-12-13 | pull: 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-07 | pull: 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-21 | Revert "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-21 | Add (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-10-23 | pull: 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-08-02 | pull: 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-06-09 | pull: 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-09 | pull: 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 |
2016-11-27 | pull: Hack to allow compilation with older Guile-SSH packages....Reported by iyzsong@member.fsf.org (宋文武)
at <https://lists.gnu.org/archive/html/guix-devel/2016-11/msg01045.html>.
* build-aux/build-self.scm (build): Set 'LTDL_LIBRARY_PATH' when
GUILE-SSH has a "0.9." version prefix.
| Ludovic Courtès |
2016-11-26 | pull: Add guile-ssh to the dependencies....Fix regression introduced in 9e76eed.
* build-aux/build-self.scm (guile-ssh): New variable.
(build)[builder]: Add 'guile-ssh' to %load-path and %load-compiled-path.
| 宋文武 |
2016-07-20 | pull: Update the version string....Fixes <http://bugs.gnu.org/19278>.
Reported by Tomáš Čech <tcech@suse.cz>.
This allows 'guix --version' to return something that better represents
what version is being used.
* build-aux/build-self.scm (date-version-string): New procedure.
(build): Add #:version.
[builder]: Pass it to 'build-guix' as #:package-version.
| Ludovic Courtès |
2016-07-20 | pull: Install (guix config) module to override the user's one....* build-aux/build-self.scm (zlib, gzip, bzip2, xz): New variables.
(build)[storedir, localstatedir, sysconfdir, sbindir]: New variables.
[builder]: Pass them to 'build-guix'.
* guix/build/pull.scm (build-guix): Add #:system, #:storedir,
#:localstatedir, #:sysconfdir, #:sbindir, #:package-name,
#:package-version, #:bug-report-address, #:home-page-url, #:libgcrypt,
#:zlib, #:gzip, #:bzip2, and #:xz. Remove #:gcrypt.
Instantiate all the substitution variables in (guix config). Remove
code to delete OUT/guix/config.{scm,go}.
* guix/config.scm.in: Add note about (guix script pull).
| Ludovic Courtès |
2014-11-09 | pull: Use the build procedure provided by the newly-downloaded Guix....Fixes <http://bugs.gnu.org/18534>.
* guix/scripts/pull.scm (with-environment-variable, with-PATH): New
macros.
(temporary-directory, first-directory, interned-then-deleted): New
procedures.
(unpack): Rewrite to do the unpacking in the current process rather
than as a separate derivation.
(%self-build-file): New variable.
(build-from-source): New procedure.
(build-and-install): Use it.
* guix/build/pull.scm (build-guix): Rename 'tarball' argument to
'source'. Remove #:tar and #:gzip parameters, as well as 'tar'
invocation. Remove 'scandir' invocation. Wrap body in
'with-directory-excursion'.
* build-aux/build-self.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
| Ludovic Courtès |