summaryrefslogtreecommitdiff
path: root/guix/scripts/pull.scm
Commit message (Collapse)AuthorAge
* utils: Add 'switch-symlinks', moved from (guix ui).Ludovic Courtès2015-10-27
| | | | | | * guix/ui.scm (switch-symlinks): Move to... * guix/utils.scm: ... here. New procedure. * guix/scripts/pull.scm: Use it.
* Add (guix scripts).Alex Kost2015-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/ui.scm: Add missing copyright lines. (args-fold*, environment-build-options, %default-argument-handler, parse-command-line): Move to ... * guix/scripts.scm: ...here. New file. * guix/scripts/archive.scm: Use it. * guix/scripts/build.scm: Likewise. * guix/scripts/download.scm: Likewise. * guix/scripts/edit.scm: Likewise. * guix/scripts/environment.scm: Likewise. * guix/scripts/gc.scm: Likewise. * guix/scripts/graph.scm: Likewise. * guix/scripts/hash.scm: Likewise. * guix/scripts/import/cpan.scm: Likewise. * guix/scripts/import/cran.scm: Likewise. * guix/scripts/import/elpa.scm: Likewise. * guix/scripts/import/gem.scm: Likewise. * guix/scripts/import/gnu.scm: Likewise. * guix/scripts/import/hackage.scm: Likewise. * guix/scripts/import/nix.scm: Likewise. * guix/scripts/import/pypi.scm: Likewise. * guix/scripts/lint.scm: Likewise. * guix/scripts/package.scm: Likewise. * guix/scripts/publish.scm: Likewise. * guix/scripts/pull.scm: Likewise. * guix/scripts/refresh.scm: Likewise. * guix/scripts/size.scm: Likewise. * guix/scripts/system.scm: Likewise. * tests/ui.scm (with-environment-variable, "parse-command-line", "parse-command-line and --no options"): Move to ... * tests/scripts.scm: ...here. New file. * Makefile.am (MODULES): Add guix/scripts.scm. (SCM_TESTS): Add tests/scripts.scm. * po/guix/POTFILES.in: Add guix/scripts.scm.
* pull: Update to the new cgit snapshot URL.Ludovic Courtès2015-09-10
| | | | * guix/scripts/pull.scm (%snapshot-url): Update to the new URL.
* pull: Always install the ~/.config/guix/latest symlink.Ludovic Courtès2015-02-06
| | | | | | | | | | Before that, if two users on the same machine ran 'guix pull', the second one would have the "Guix already up to date" message and their ~/.config/guix/latest link would be left unchanged---effectively preventing them from updating. * guix/scripts/pull.scm (build-and-install): Install the 'latest' symlink regardless of whether TO-DO? is true or false.
* pull: Use the build procedure provided by the newly-downloaded Guix.Ludovic Courtès2014-11-09
| | | | | | | | | | | | | | | | | | | | 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.
* pull: Add dependency on Guile-JSON.Ludovic Courtès2014-09-30
| | | | | | | Reported by Alex Sassmannshausen <alex.sassmannshausen@gmail.com>. * guix/scripts/pull.scm (unpack): Add Guile-JSON to %load-path and %load-compiled-path.
* pull: Rewrite using gexps.Ludovic Courtès2014-09-18
| | | | | | | | * guix/scripts/pull.scm (unpack): Remove 'store' parameter. Rewrite using 'gexp->derivation'. (what-to-build, indirect-root-added, build-and-install): New procedures. (guix-pull): Use it.
* pull: Add a compilation progress report.Ludovic Courtès2014-09-05
| | | | | | | | | | | | | | * guix/build/pull.scm (report-build-progress): New procedure. (p-for-each): Add #:progress parameter. [loop]: Keep track of the number of completed processes. Tail-call PROGRESS at each loop iteration. (build-guix): Add #:debug-port parameter. Use it for verbose messages. Change 'tar' flags to 'xf'. Around 'compile-file' call, bind CURRENT-WARNING-PORT to DEBUG-PORT. * guix/scripts/pull.scm (unpack): Add #:verbose? parameter. [builder]: Pass #:debug-port to 'build-guix'. (guix-pull): Leave CURRENT-BUILD-OUTPUT-PORT unchanged. Pass #:verbose? to 'unpack'.
* gnu: Split (gnu packages base), adding (gnu packages commencement).Ludovic Courtès2014-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0, findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet, binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0, texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash, cross-gcc-wrapper, static-bash-for-glibc, glibc-final, gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++, gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs, guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final, %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain, gcc-toolchain-4.8, gcc-toolchain-4.9): Move to... * gnu/packages/commencement.scm: ... here. New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * build-aux/check-final-inputs-self-contained.scm: Adjust accordingly. * gnu/packages/cross-base.scm: Likewise. * gnu/packages/make-bootstrap.scm: Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/gnu.scm (standard-packages, gnu-build, gnu-cross-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * guix/download.scm (url-fetch): Likewise. * guix/gexp.scm (default-guile): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/monads.scm (run-with-store): Likewise. * guix/packages.scm (default-guile): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/refresh.scm: Likewise. * guix/svn-download.scm (svn-fetch): Likewise. * tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Likewise. * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/guix-package.sh: Likewise. * gnu/services/base.scm: Use 'canonical-package' instead of xxx-final. * gnu/services/xorg.scm: Likewise. * gnu/system/vm.scm: Likewise. * guix/scripts/pull.scm (guix-pull): Likewise.
* pull: Move build code to (guix build pull).Ludovic Courtès2013-12-16
| | | | | | * guix/build/pull.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/pull.scm (unpack): Use it.
* pull: Compile guix/ files before gnu/ files.Ludovic Courtès2013-12-14
| | | | | * guix/scripts/pull.scm (unpack)[builder]: Build files under guix/ before files under gnu/.
* pull: Compile files in parallel.Ludovic Courtès2013-12-14
| | | | | | * guix/scripts/pull.scm (unpack)[builder](compile-file*): Remove. (call-with-process, p-for-each): New procedures. Use them to compile files in parallel.
* pull: Limit memory usage when compiling.Ludovic Courtès2013-12-14
| | | | | | | | Reported by Arne Babenhauserheide <arne.babenhauserheide@kit.edu>. * guix/scripts/pull.scm (unpack)[builder](compile-file*): Change to run 'compile-file' in a child process. This limits memory usage; before that memory usage was proportional to the number of files to compile.
* derivations: Use more keyword parameters for 'build-expression->derivation'.Ludovic Courtès2013-12-04
| | | | | | | | | | | | | | | | | * guix/derivations.scm (build-expression->derivation): Turn 'system' and 'inputs' into keyword parameters. Adjust callers accordingly. * gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm, guix/build-system/gnu.scm, guix/build-system/perl.scm, guix/build-system/python.scm, guix/build-system/trivial.scm, guix/download.scm, guix/packages.scm, guix/profiles.scm, guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh, tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of 'build-expression->derivation' and 'derivation-expression' accordingly. * doc/guix.texi (Derivations): Adjust 'build-expression->derivation' documentation accordingly. (The Store Monad): Likewise for 'derivation-expression'.
* pull: Compile modules correctly regardless of the compilation order.Ludovic Courtès2013-10-13
| | | | | * guix/scripts/pull.scm (unpack)[builder]: Work around <http://bugs.gnu.org/15602>.
* pull: Simplify the builder.Ludovic Courtès2013-10-13
| | | | | * guix/scripts/pull.scm (unpack)[builder]: Use 'copy-recursively' and 'copy-file' instead of 'file-system-fold'.
* pull: Add '--url' option.Ludovic Courtès2013-10-12
| | | | | | * guix/scripts/pull.scm (%default-options): Add 'tarball-url' pair. (%options, show-help): Add '--url'. (guix-pull): Honor it.
* Merge branch 'master' into core-updatesLudovic Courtès2013-09-23
|\
| * pull: Adjust to 'derivation' API change.Ludovic Courtès2013-09-21
| | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/15428>. Reported by Cyrill Schenkel <cyrill.schenkel@gmail.com>. * guix/scripts/pull.scm (guix-pull): 'unpack' returns a single value.
* | utils: 'find-files' returns a sorted list.Ludovic Courtès2013-09-15
|/ | | | | * guix/build/utils.scm (find-files): Sort the result lexicographically. * guix/scripts/pull.scm (unpack): Don't sort the result of 'find-files'.
* pull: Compile files in the lexicographic order.Ludovic Courtès2013-09-03
| | | | | * guix/scripts/pull.scm (unpack): Print the name of the file being compiled. Sort the names of files to compile.
* ui: Add `args-fold*' and use it.Ludovic Courtès2013-04-27
| | | | | | | | * guix/ui.scm (args-fold*): New procedure. * guix/scripts/build.scm, guix/scripts/download.scm, guix/scripts/gc.scm, guix/scripts/hash.scm, guix/scripts/import.scm, guix/scripts/package.scm, guix/scripts/pull.scm, guix/scripts/refresh.scm: Use `args-fold*' instead of `args-fold'.
* pull: Use `download-to-store'.Ludovic Courtès2013-04-27
| | | | | * guix/scripts/pull.scm (download-and-store): Remove. (unpack): Use `download-to-store' instead.
* pull: Switch to the cgit URL.Ludovic Courtès2013-03-31
| | | | | * guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given that the Hydra one is not currently available.
* ui: Gracefully report failures to connect to the daemon.Ludovic Courtès2013-03-07
| | | | | | | | | | | | * guix/store.scm (&nix-connection-error): New condition type. (open-connection): Translate `system-error' during the `connect' call into `&nix-connection-error'. * guix/ui.scm (call-with-error-handling): Add case for `nix-connection-error?'. * guix/scripts/package.scm (guix-package): Move `open-connection' call within `with-error-handling'. * guix/scripts/pull.scm (guix-pull): Likewise. * guix/scripts/download.scm (guix-download): Move body within `with-error-handling'.
* pull: Distinguish "already up to date" from "updated".Ludovic Courtès2013-02-22
| | | | | | * guix/ui.scm (show-what-to-build): Return (length req*). * guix/scripts/pull.scm (guix-pull): Print an "already up to date" message when there's nothing to build.
* pull: Build (guix build download) first, because of the (gnutls) autoload.Ludovic Courtès2013-02-22
| | | | | | * guix/scripts/pull.scm (unpack): Build (guix build download) first, as done in 855a8ad71def2ebc594ed32c57bda0ca4e13d91c. Reported by Andreas Enge <andreas@enge.fr>.
* Add "guix pull".Ludovic Courtès2013-02-20
* guix/scripts/pull.scm: New file. * Makefile.am (MODULES): Add it. * doc/guix.texi (Invoking guix pull): New node. (Invoking guix package): Add cross-ref to it. * guix/ui.scm (config-directory): New procedure. * scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add $XDG_CONFIG_HOME/guix/latest to the search path. * po/POTFILES.in: Add guix/scripts/pull.scm.