aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Expand)AuthorAge
* Merge branch 'master' into stagingMark H Weaver2016-12-10
|\
| * offload: Allow testing machines that match a regexp.•••* guix/scripts/offload.scm (check-machine-availability): Add 'pred' parameter and honor it. (guix-offload): for the "test" sub-command, accept an extra 'regexp' parameter. Pass a second argument to 'check-machine-availability'. Ludovic Courtès2016-12-09
| * offload: Test each machine only once.•••* guix/scripts/offload.scm (check-machine-availability)[build-machine=?]: New procedure. Add call to 'delete-duplicates'. Ludovic Courtès2016-12-09
| * offload: Do not read ~/.ssh/known_hosts.•••* guix/scripts/offload.scm (open-ssh-session): Pass #:knownhosts to 'make-session'. Ludovic Courtès2016-12-09
* | Merge remote-tracking branch 'origin/master' into stagingLudovic Courtès2016-12-09
|\|
| * store: 'open-connection' no longer raises '&nar-error' for protocol errors.•••* guix/store.scm (open-connection): Guard body against 'nar-error?' and re-raise as '&nix-connection-error'. * tests/store.scm ("connection handshake error"): New test. Ludovic Courtès2016-12-08
| * gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd sy...•••* gnu/packages/make-bootstrap.scm (%glibc-bootstrap-tarball): Make it a procedure. (%glibc-stripped): Make it a procedure and move the kernel specific part from here to ... * guix/build/make-bootstrap.scm (make-stripped-libc): ... here. New file. * Makefile.am (MODULES): Add it. Manolis Ragkousis2016-12-07
| * gnu: cross-base: Add i686-w64-mingw32 target.•••* guix/utils.scm (mingw-target?): New function. * gnu/packages/cross-base.scm (cross-gcc-snippet): New procedure (cross-gcc): Use it. (cross-gcc-arguments, cross-gcc-patches, cross-gcc): Support MinGW. (native-libc, cross-newlib?): New functions. (cross-libc): Use cross-newlib? to support MinGW. (%gcc-include-paths, %gcc-cross-include-paths): New variables. Jan Nieuwenhuizen2016-12-07
| * offload: Increase the connection timeout.•••* guix/scripts/offload.scm (open-ssh-session): Set #:timeout to 10. Ludovic Courtès2016-12-06
| * offload: Send the build log to the right file descriptor.•••This fixes a regression introduced in 21531add3205e400707c8fbfd841845f9a71863a whereby the build log would no longer be sent to FD 4, thereby leading the daemon to not see the build log. * guix/scripts/offload.scm (transfer-and-offload): Parameterize CURRENT-BUILD-OUTPUT-PORT. Ludovic Courtès2016-12-06
| * offload: Fix plural of some messages.•••* guix/scripts/offload.scm (send-files): Use 'N_' for possibly plural message. Write "store item" instead of "store file". (retrieve-files): Likewise. Ludovic Courtès2016-12-05
| * offload: Make the compression methods configurable.•••* guix/scripts/offload.scm (<build-machine>)[compression] [compression-level]: New fields. (open-ssh-session): Honor them. * doc/guix.texi (Daemon Offload Setup): Document them. Ludovic Courtès2016-12-05
| * guix system: If the new system generation already exists, overwrite it.•••Fixes <http://bugs.gnu.org/25100>. Before that, 'guix system reconfigure' would fail if the next generation already existed. * guix/scripts/system.scm (switch-to-system): Use 'switch-symlink' instead of 'symlink'. * doc/guix.texi (Using the Configuration System, Invoking guix system): Document the behavior. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Chris Marusich2016-12-05
| * refresh: Indicate that PACKAGE... is optional.•••* guix/scripts/refresh.scm (show-help): Add brackets around PACKAGE. Tobias Geerinckx-Rice2016-12-05
| * offload: Add "test" sub-command.•••* guix/scripts/offload.scm (assert-node-repl, assert-node-has-guix) (nonce, assert-node-can-import, assert-node-can-export) (check-machine-availability): New procedures. (%random-state): New variable. (guix-offload): Add case for "test". * doc/guix.texi (Daemon Offload Setup): Document it. Remove obsolete bit about remote invocation of 'guix build'. Ludovic Courtès2016-12-05
| * publish: Factorize 'content-length' addition.•••* guix/scripts/publish.scm (with-content-length): New procedure. (http-write) <application/octet-stream>: Use it. Ludovic Courtès2016-12-04
* | Merge branch 'master' into stagingMarius Bakke2016-12-04
|\|
| * offload: Do not abort when a machine is unreachable.•••* guix/scripts/offload.scm (machine-load): Wrap 'open-ssh-session' call in 'false-if-exception'; return +inf.0 if it returns #f. Ludovic Courtès2016-12-01
| * offload: Gracefully report connection failures.•••* guix/scripts/offload.scm (open-ssh-session): Check the return value of 'connect!'. Call 'leave' when it's not 'ok. Ludovic Courtès2016-12-01
| * store: Increase buffering for the '%stderr-write' upcall.•••* guix/store.scm (process-stderr) <%stderr-write>: Pass #:buffer-size to 'dump-port'. Ludovic Courtès2016-12-01
| * offload: Warn about the lack of zlib support.•••* guix/scripts/offload.scm (guix-offload): Print a warning when 'zlib-support?' returns false. Ludovic Courtès2016-12-01
| * offload: Remove redundant call to 'topologically-sorted' in 'send-file'.•••* guix/scripts/offload.scm (send-files): Remove call to 'topologically-sorted'. Ludovic Courtès2016-12-01
* | Merge branch 'master' into stagingMarius Bakke2016-11-30
|\|
| * refresh: '--list-updaters' shows updater coverage.•••* guix/scripts/refresh.scm (list-updaters-and-exit): Compute the coverage ratio of each updater and print it. Print the coverage ratio for all the updaters. * doc/guix.texi (Invoking guix refresh): Document it. Ludovic Courtès2016-11-30
| * gnu-maintenance: Add kernel.org updater.•••* guix/gnu-maintenance.scm (latest-kernel.org-release): New procedure. (%kernel.org-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add it. Ludovic Courtès2016-11-30
| * upstream: Properly verify signatures of uncompressed tarballs.•••* guix/upstream.scm (uncompressed-tarball): New procedure. (download-tarball): Use it when the basename of SIGNATURE-URL doesn't contain the basename of URL. Ludovic Courtès2016-11-30
| * refresh: Honor the selected updaters when '-u' isn't given.•••Fixes a regression introduced in e9c72306fdfd6a60158918850cb25d0ff3837d16. * guix/scripts/refresh.scm (check-for-package-update): Add 'updaters' parameter and honor it. (guix-refresh): Pass UPDATERS to 'check-for-package-update'. Ludovic Courtès2016-11-30
| * gnu-maintenance: Factorize URL prefix predicates.•••* guix/gnu-maintenance.scm (url-prefix-predicate): New procedure. (gnome-package?): Rewrite in terms of 'url-prefix-predicate'. (kde-package?, xorg-package?): Remove. (%kde-updater, %xorg-updater): Use 'url-prefix-predicate'. Ludovic Courtès2016-11-30
| * Merge branch 'master' into python-build-systemHartmut Goebel2016-11-29
| |\
| | * gnu-maintenance: 'latest-kde-release' honors 'upstream-name' properties.•••* guix/gnu-maintenance.scm (latest-kde-release): Honor the 'upstream-name' property of PACKAGE. Ludovic Courtès2016-11-29
| | * refresh: Warn about packages that lack an updater.•••* guix/upstream.scm (package-update-path): Rename to... (package-latest-release): ... this. Remove 'version>?' check. (package-latest-release*): New procedure. (package-update): Use it. * guix/scripts/refresh.scm (lookup-updater): Rename to... (lookup-updater-by-name): ... this. (warn-no-updater): New procedure. (update-package): Add #:warn? parameter and honor it. (check-for-package-update): New procedure. (guix-refresh)[warn?]: New variable. Replace inline code when UPDATE? is false with a call to 'check-for-package-update'. Pass WARN? to 'check-for-package-update' and 'update-package'. * doc/guix.texi (Invoking guix refresh): Document it. Fix a couple of typos. Ludovic Courtès2016-11-29
| | * pull: Set '%nix-instantiate' to a sensible value.•••Reported by ng0 <ng0@libertad.pw>. Fixes <http://bugs.gnu.org/25053>. * guix/build/pull.scm (build-guix): Replace "@NIX_INSTANTIATE@" in guix/config.scm with "nix-instantiate". Ludovic Courtès2016-11-28
| | * offload: Call 'machine-load' only once per machine.•••This fixes a longstanding issue where 'choose-build-machine' would make on average O(N log(N)) calls to 'machine-load', plus an extra call for the selected machine, instead of N calls. * guix/scripts/offload.scm (machine-load): Add comment. (machine-power-factor, machine-less-loaded-or-faster?): Remove. (choose-build-machine)[machines+slots]: Rename to... [machines+slots+loads]: ... this. [undecorate]: Adjust accordingly. [machine-less-loaded-or-faster?]: New procedure. Remove extra 'machine-load' call in body. Ludovic Courtès2016-11-26
| | * offload: Drop 'remote-pipe'.•••* guix/scripts/offload.scm (remote-pipe): Remove. (machine-load): Use 'open-remote-pipe*' instead of 'remote-pipe'. Ludovic Courtès2016-11-25
| | * offload: Rewrite to make direct RPCs to the remote daemon.•••* guix/scripts/offload.scm (<build-machine>)[daemon-socket]: New field. (connect-to-remote-daemon): New procedure. (%gc-root-file, register-gc-root, remove-gc-roots, offload): Remove. (transfer-and-offload): Rewrite using 'connect-to-remote-daemon' and RPCs over SSH. (store-import-channel, store-export-channel): New procedures. (send-files, retrieve-files): Rewrite using these. Ludovic Courtès2016-11-25
| | * offload: Remove 'with-nar-error-handling' macro.•••* guix/scripts/offload.scm (with-nar-error-handling): Remove. (guix-offload): Use 'with-error-handling' instead. Ludovic Courtès2016-11-25
| | * store: 'open-connection' can taken an open port.•••* guix/store.scm (open-unix-domain-socket): New procedure. (open-connection): Add #:port parameter and honor it. Ludovic Courtès2016-11-25
| | * offload: Reuse SSH session during 'transfer-and-offload'.•••* guix/scripts/offload.scm (remote-pipe): Replace 'machine' parameter with 'session'. Remove 'open-ssh-session' call. (register-gc-root): Replace 'machine' with 'session'. Use ' session-get' instead of 'build-machine-name'. (remove-gc-roots, offload, send-files, retrieve-files): Likewise. (transfer-and-offload): Add 'open-ssh-session' call. Handle 'offload' errors here. (machine-load): Add call to 'open-ssh-session'. Ludovic Courtès2016-11-25
| | * offload: Use Guile-SSH instead of GNU lsh.•••* guix/scripts/offload.scm (<build-machine>)[ssh-options]: Remove. [host-key, host-key-type]: New fields. (%lsh-command, %lshg-command, user-lsh-private-key): Remove. (user-openssh-private-key, private-key-from-file*): New procedures. (host-key->type+key, open-ssh-session): New procedures. (remote-pipe): Remove 'mode' parameter. Rewrite in terms of 'open-ssh-session' etc. Update users. (send-files)[missing-files]: Rewrite using the bidirectional channel port. Remove call to 'call-with-compressed-output-port'. (retrieve-files): Remove call to 'call-with-decompressed-port'. (machine-load): Remove exit status logic. * doc/guix.texi (Requirements): Mention Guile-SSH. (Daemon Offload Setup): Document 'host-key' and 'private-key'. Show the default value on each @item line. * m4/guix.m4 (GUIX_CHECK_GUILE_SSH): New macro. * config-daemon.ac: Use 'GUIX_CHECK_GUILE_SSH'. Set 'HAVE_DAEMON_OFFLOAD_HOOK' as a function of that. Ludovic Courtès2016-11-25
| * | Merge branch 'master' into python-build-systemLeo Famulari2016-11-25
| |\|
| * | lint: more packages to probably be a native input.•••* guix/scripts/lint.scm (check-inputs-should-be-native package): Add python packages which are typically used for testing or for building the documentation. Hartmut Goebel2016-11-15
| * | guix: Add lint-checker for packages which should be no inputs at all.•••Also refactor some common code into a new function. Examples for these pacakges are python(2)-setuptools and python(2)-pip, which are installed together with python itself. * guix/scripts/lint.scm (warn-if-package-has-input): New procedure. (check-inputs-should-be-native package): Use it; rename and clean-up variables. (check-inputs-should-not-be-an-input-at-all): New procedure. (%checkers) Add it. * doc/guix.texi (Python Modules): Document it. * tests/lint.scm: ("inputs: python-setuptools should not be an input at all (input)", "inputs: python-setuptools should not be an input at all (native-input)" "inputs: python-setuptools should not be an input at all (propagated-input)"): Add tests. Hartmut Goebel2016-11-15
| * | guix: python-build-system: Add background about Python installation methods.Hartmut Goebel2016-11-15
| * | guix: python-build-system: Delete .egg-info file created in phase check.•••* guix/build/python-build-system.scm (check): Delete .egg-info dirs which did not exist prior to calling setup.py but afterwards. Hartmut Goebel2016-11-15
| * | guix: python-build-system: Add helpers for getting and setting PYTHONPATH.•••* guix/build/python-build-system.scm (add-installed-pythonpath, site-packages): New exported procedures. Hartmut Goebel2016-11-15
| * | guix: python-build-system: Add option "#:use-setuptools?" (default true).•••* guix/build-system/python.scm (python-build): New keyword argument "#:use-setuptools?", defaulting to #t. * guix/build/python-build-system.scm (call-setup-py): New positional parameter "use-setuptools?". If false, do not use the shim-wrapper for addin setuptools. (build, check): accept keyword- parameter, and pass to call-setuppy. (install): same; if "use-setuptools?" is false, do not use options "--root" and "--single-version-externally-managed" for setup.py. * doc/guix.texi (Build Systems): Document it. Hartmut Goebel2016-11-15
| * | guix: python-build-system: Import setuptools before calling `setup.py'.•••This is needed for packages using "distutils" instead of "setuptools" since the former does not understand the "--single-version-externally-managed" flag. Also export __file__ since it will be unset when setup.py is called from python "exec". * guix/build/python-build-system.scm (call-setuppy): extend "python setup.py" call to import setuptools, export __file__, and call setup.py from setuptools python environment. Co-Authored-By: Hartmut Goebel <h.goebel@crazy-compilers.com> Marius Bakke2016-11-15
| * | guix: build all Python packages with --single-version-externally-managed.•••This requires setuptools to be installed together with python, which is the case for Python 3 anyway and which we do for our build of Python 2 (see last commit). * guix/build/python-build-system.scm (install): Add "--single-version-externally-managed" and "--root=/" to params to be passed to call-setuppy. Remove thus needless manipulation of PYTHONPATH. Remove now unused argument "inputs". Hartmut Goebel2016-11-15
| * | guix: python-build-system: Fix an outdated comment.Hartmut Goebel2016-11-15
* | | Merge branch 'master' into stagingLeo Famulari2016-11-23
|\ \ \ | | |/ | |/|