offload: Drop 'remote-pipe'. * guix/scripts/offload.scm (remote-pipe): Remove. (machine-load): Use 'open-remote-pipe*' instead of 'remote-pipe'.
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.
offload: Remove 'with-nar-error-handling' macro. * guix/scripts/offload.scm (with-nar-error-handling): Remove. (guix-offload): Use 'with-error-handling' instead.
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.
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'.
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.
gnu: guile-ssh: Update to 0.10.2. * gnu/packages/ssh.scm (guile-ssh): Update to 0.10.2. [home-page]: Update. [source]: Use the 'url-fetch' method and a GitHub generated tarball. [arguments] <autoreconf>: Remove now unneeded 'chmod' call.
gnu: hydrogen: Update to 0.9.7. * gnu/packages/music.scm (hydrogen): Update to 0.9.7.
gnu: btrfs-progs: Update to 4.8.4. * gnu/packages/linux.scm (btrfs-progs): Update to 4.8.4.
gnu: lz4: Update to 1.7.4.2. * gnu/packages/compression.scm (lz4): Update to 1.7.4.2.
gnu: hplip: Update to 3.16.11. * gnu/packages/cups.scm (hplip): Update to 3.16.11.
gnu: qtractor: Update to 0.8.0. * gnu/packages/music.scm (qtractor): Update to 0.8.0.
gnu: qemu: Install all required info files. * gnu/packages/qemu.scm (qemu)[arguments]: Adjust 'install-info' phase to find all info files (including "*.info-N").
gnu: Add kicad-library. * gnu/packages/engineering.scm (kicad-library): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: Add kicad. * gnu/packages/engineering.scm (kicad): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: Add python2-wxpython. * gnu/packages/wxwidgets.scm (python2-wxpython): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: Add wxwidgets-gtk2. * gnu/packages/wxwidgets.scm (wxwidgets-gtk2): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: nginx: Update to 1.11.6. * gnu/packages/web.scm (nginx): Update to 1.11.6. [arguments]: Remove the obsolete option --with-ipv6 from #:configure-flags.
gnu: miniupnpc: Improve synopsis and description. * gnu/packages/upnp.scm (miniupnp)[synopsis, description]: Edit, fix typos, add some relevant (search) terms from the home page, and expand acronyms.
gnu: miniupnpc: Use the correct ‘upnpc’ in ‘external-ip’. * gnu/packages/upnp.scm (miniupnpc)[arguments]: Add ‘qualify-paths’ phase.