guix-devel/guix
Ludovic Courtès 5f93d97005
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'.
2017-11-21 23:09:16 +01:00
..
build union: Parametrize the symlink procedure . 2017-11-21 23:09:16 +01:00
build-system build-system/go: Don't let Go executables refer to the Go compiler. 2017-11-17 18:25:20 -05:00
import guix: Add archive support for bioconductor-uri. 2017-11-07 08:14:09 +01:00
scripts Add (guix self) and use it when pulling. 2017-11-21 23:09:16 +01:00
store store: Support 'ssh://' URIs in 'GUIX_DAEMON_SOCKET'. 2017-04-21 19:17:36 +02:00
tests tests: Support multiple HTTP server instances. 2017-10-12 23:47:48 +02:00
base16.scm utils: Move base16 procedures to (guix base16). 2017-03-16 22:50:14 +01:00
base32.scm base32: Export the base32 charsets. 2017-07-21 17:03:24 +02:00
base64.scm base64: Turn into a regular Guile module. 2017-05-25 14:25:17 +02:00
build-system.scm build-system: Bags record their system and target. 2014-10-05 21:58:42 +02:00
cache.scm cache: Work around 'time-monotonic' bug in Guile 2.2.2. 2017-04-22 14:42:15 +02:00
combinators.scm Add (guix memoization). 2017-01-28 18:55:20 +01:00
config.scm.in pull: Install (guix config) module to override the user's one. 2016-07-20 22:53:02 +02:00
cpio.scm linux-initrd: Produce cpio archives with zeroed timestamps, etc. 2015-06-24 18:05:03 +02:00
cve.scm cve: Use 'http-fetch/cached' instead of having custom caching. 2017-11-16 08:45:15 +01:00
cvs-download.scm download: Download a nar when a VCS checkout fails. 2017-10-19 23:21:49 +02:00
derivations.scm derivations: Introduce 'read-derivation-from-file'. 2017-06-12 17:53:51 +02:00
discovery.scm Add (guix self) and use it when pulling. 2017-11-21 23:09:16 +01:00
docker.scm pack: Add '--target'. 2017-03-18 00:38:41 +01:00
download.scm download: Use HTTPS for the first ImageMagick mirror. 2017-11-12 17:50:01 -05:00
elf.scm elf: Add missing argument in 'elf-segment'. 2015-03-30 15:21:11 +02:00
ftp-client.scm download: Pass the timeout to 'ftp-retr'. 2017-11-14 23:46:53 +01:00
gcrypt.scm Add (guix gcrypt). 2015-01-26 21:58:12 +01:00
gexp.scm gexp: 'directory-union' has a #:quiet? parameter. 2017-11-21 23:09:16 +01:00
git-download.scm download: Download a nar when a VCS checkout fails. 2017-10-19 23:21:49 +02:00
git.scm git: Do not add '.git' to the store. 2017-11-21 23:09:16 +01:00
gnu-maintenance.scm upstream: Add new GNOME updater. 2017-09-26 00:35:06 +02:00
gnupg.scm ui: Rename '_' to 'G_'. 2017-05-03 16:16:17 +02:00
grafts.scm derivations: Introduce 'read-derivation-from-file'. 2017-06-12 17:53:51 +02:00
graph.scm Revert "graph: Provide access to the package record in the emit functions." 2017-08-24 23:55:51 +02:00
hash.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
hg-download.scm download: Download a nar when a VCS checkout fails. 2017-10-19 23:21:49 +02:00
http-client.scm cve: Use 'http-fetch/cached' instead of having custom caching. 2017-11-16 08:45:15 +01:00
i18n.scm ui: Introduce (guix i18n). 2017-11-08 22:31:58 +01:00
licenses.scm licenses: Add cddl1.1. 2017-11-18 11:29:36 +01:00
memoization.scm memoization: (mlambda () ...) allows for inner 'define'. 2017-09-03 23:36:17 +02:00
modules.scm discovery: Move 'file-name->module-name' to (guix modules). 2017-10-22 22:09:00 -07:00
monad-repl.scm monad-repl: Close connection when leaving the monad REPL. 2016-01-13 17:43:21 +01:00
monads.scm monads: Add a template and specialization mechanism for monadic procedures. 2017-05-02 23:41:13 +02:00
nar.scm ui: Rename '_' to 'G_'. 2017-05-03 16:16:17 +02:00
packages.scm packages: Use Guile 2.0 for grafting. 2017-08-24 00:41:44 +02:00
pk-crypto.scm publish: The public and private keys are now SRFI-39 parameters. 2017-03-22 14:05:59 +01:00
pki.scm Use (ice-9 binary-ports) instead of (rnrs io ports). 2016-10-19 15:54:10 +02:00
profiles.scm profiles: Only check file contents if the file exists. 2017-08-09 14:46:48 +02:00
progress.scm Add (guix progress). 2017-10-19 23:21:49 +02:00
records.scm guix: records: Add match-record. 2017-11-05 15:21:53 +01:00
scripts.scm scripts: Factorize option parsing sans 'GUIX_BUILD_OPTIONS'. 2017-10-28 09:45:53 +02:00
search-paths.scm search-paths: Allow specs with #f as their separator. 2017-01-23 22:23:41 +01:00
self.scm Add (guix self) and use it when pulling. 2017-11-21 23:09:16 +01:00
serialization.scm serialization: Remove Guile < 2.0.9 workaround. 2017-04-17 23:31:28 +02:00
sets.scm Add (guix sets). 2015-01-11 23:50:01 +01:00
ssh.scm ssh: Use (guix i18n). 2017-11-19 23:09:01 +01:00
store.scm store: Add missing import. 2017-10-07 17:08:32 +02:00
svn-download.scm guix: Add download-svn-to-store. 2017-06-15 17:03:14 +02:00
tests.scm store: 'GUIX_DAEMON_SOCKET' can now be a URI. 2017-04-21 17:23:37 +02:00
ui.scm ui: Add source file name to the package search metrics. 2017-11-16 08:45:15 +01:00
upstream.scm guix: lint: Add checker for new upstream versions. 2017-10-09 14:05:17 +03:00
utils.scm ui: Define and honor '&error-location' and '&fix-hint' conditions. 2017-11-08 22:31:58 +01:00
workers.scm workers: Display backtrace in pre-unwind handler. 2017-11-17 10:47:56 +01:00
zlib.scm zlib: Fix race condition when closing gzip ports. 2017-11-19 23:09:01 +01:00