summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2016-12-15upstream: Determine archive type correctly.David Craven
* guix/upstream.scm (package-update): Take the basename of the uri before trying to determine the extension.
2016-12-14graph: Add d3js backend.Ricardo Wurmus
* d3.v3.js, graph.js: New files. * Makefile.am (EXTRA_DIST): List them. * guix/graph.scm (%d3js-backend): New variable. (emit-d3js-prologue, emit-d3js-epilogue, emit-d3js-node, emit-d3js-edge): New procedures. (%graph-backends): Add %d3js-backend.
2016-12-14graph: Add "list-backend" and "backend" options.Ricardo Wurmus
* guix/graph.scm (%graph-backends): New variable. * guix/scripts/graph.scm (lookup-backend, list-backends): New procedures. (%options): Add options for "backend" and "list-backends". (show-help): Add help texts for "backend" and "list-backend" options. (%default-options): Add "backend" default. (guix-graph): Pass backend argument to "export-graph". * doc/guix.texi (Invoking guix graph): Document the new options.
2016-12-14graph: Backend must have name and description.Ricardo Wurmus
* guix/graph.scm (<graph-backend>): Add fields "name" and "description". (%graphviz-backend): Provide values for name and description. (export-graph): Ignore name and description when matching backends. (graph-backend-name, graph-backend-description): New procedures. * tests/graph.scm (make-recording-backend): Initialize name and description fields of test graph-backend.
2016-12-14import: Add updater for rust crates.David Craven
* guix/import/crate.scm (crate-package?, latest-release, %crate-updater): New variables. * guix/scripts/refresh.scm (%updaters): Add crate updater. * doc/guix.texi: Add crate updater to table.
2016-12-14import: Add importer for rust crates.David Craven
* guix/import/crate.scm: New file. * guix/scripts/import/crate.scm: New file. * guix/scripts/import.scm (importers): Add crate importer. * tests/crate.scm: New file. * doc/guix.texi: Add crate importer to table. * Makefile.am (MODULES, SCM_TESTS): Add files.
2016-12-14import: utils: Add some utilities.David Craven
* guix/import/utils.scm (maybe-inputs, maybe-native-inputs, package->definition): New variables.
2016-12-14build-system: Add cargo build system.David Craven
* guix/build-system/cargo.scm: New file. * guix/build/cargo-build-system.scm: New file. * Makefile.am (MODULES): Add files.
2016-12-14upstream: Use first url when it lacks an extension.Ludovic Courtès
* guix/upstream.scm (package-update): Use a url from the list when it lacks an extension.
2016-12-12import: cpan: Add updater.Eric Bavier
* guix/import/cpan.scm (module->dist-name): Fetch the field of interest. (cpan-fetch): Accept release name rather than module name. (fix-source-url): Rename to ... (cpan-source-url): ... this. Take metadata as parameter. (package->upstream-name, cpan-version, cpan-package?, latest-release): New procedures. (cpan-module->sexp): Use cpan-version and cpan-source-url. (%cpan-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add %CPAN-UPDATER.
2016-12-12import: cpan: Move core-module? to top-level.Eric Bavier
* guix/import/cpan.scm (cpan-module->sexp): Move local core-module? procedure to ... (core-module?): ... here.
2016-12-12import: json: Silence json-fetch output.Eric Bavier
* guix/import/json.scm (json-fetch): Use http-fetch instead of url-fetch to avoid writing to stdout and a temporary file for each invocation. * guix/import/gem.scm (rubygems-fetch): Do not redirect json-fetch output to /dev/null. * guix/import/pypi.scm (pypi-fetch): Likewise.
2016-12-10Merge branch 'master' into stagingMark H Weaver
2016-12-09offload: Allow testing machines that match a regexp.Ludovic Courtès
* 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'.
2016-12-09offload: Test each machine only once.Ludovic Courtès
* guix/scripts/offload.scm (check-machine-availability)[build-machine=?]: New procedure. Add call to 'delete-duplicates'.
2016-12-09offload: Do not read ~/.ssh/known_hosts.Ludovic Courtès
* guix/scripts/offload.scm (open-ssh-session): Pass #:knownhosts to 'make-session'.
2016-12-09Merge remote-tracking branch 'origin/master' into stagingLudovic Courtès
2016-12-08store: 'open-connection' no longer raises '&nar-error' for protocol errors.Ludovic Courtès
* 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.
2016-12-07gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd ↵Manolis Ragkousis
systems. * 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.
2016-12-07gnu: cross-base: Add i686-w64-mingw32 target.Jan Nieuwenhuizen
* 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.
2016-12-06offload: Increase the connection timeout.Ludovic Courtès
* guix/scripts/offload.scm (open-ssh-session): Set #:timeout to 10.
2016-12-06offload: Send the build log to the right file descriptor.Ludovic Courtès
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.
2016-12-05offload: Fix plural of some messages.Ludovic Courtès
* guix/scripts/offload.scm (send-files): Use 'N_' for possibly plural message. Write "store item" instead of "store file". (retrieve-files): Likewise.
2016-12-05offload: Make the compression methods configurable.Ludovic Courtès
* guix/scripts/offload.scm (<build-machine>)[compression] [compression-level]: New fields. (open-ssh-session): Honor them. * doc/guix.texi (Daemon Offload Setup): Document them.
2016-12-05guix system: If the new system generation already exists, overwrite it.Chris Marusich
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>
2016-12-05refresh: Indicate that PACKAGE... is optional.Tobias Geerinckx-Rice
* guix/scripts/refresh.scm (show-help): Add brackets around PACKAGE.
2016-12-05offload: Add "test" sub-command.Ludovic Courtès
* 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'.
2016-12-04publish: Factorize 'content-length' addition.Ludovic Courtès
* guix/scripts/publish.scm (with-content-length): New procedure. (http-write) <application/octet-stream>: Use it.
2016-12-04Merge branch 'master' into stagingMarius Bakke
2016-12-01offload: Do not abort when a machine is unreachable.Ludovic Courtès
* guix/scripts/offload.scm (machine-load): Wrap 'open-ssh-session' call in 'false-if-exception'; return +inf.0 if it returns #f.
2016-12-01offload: Gracefully report connection failures.Ludovic Courtès
* guix/scripts/offload.scm (open-ssh-session): Check the return value of 'connect!'. Call 'leave' when it's not 'ok.
2016-12-01store: Increase buffering for the '%stderr-write' upcall.Ludovic Courtès
* guix/store.scm (process-stderr) <%stderr-write>: Pass #:buffer-size to 'dump-port'.
2016-12-01offload: Warn about the lack of zlib support.Ludovic Courtès
* guix/scripts/offload.scm (guix-offload): Print a warning when 'zlib-support?' returns false.
2016-12-01offload: Remove redundant call to 'topologically-sorted' in 'send-file'.Ludovic Courtès
* guix/scripts/offload.scm (send-files): Remove call to 'topologically-sorted'.
2016-11-30Merge branch 'master' into stagingMarius Bakke
2016-11-30refresh: '--list-updaters' shows updater coverage.Ludovic Courtès
* 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.
2016-11-30gnu-maintenance: Add kernel.org updater.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-kernel.org-release): New procedure. (%kernel.org-updater): New variable. * guix/scripts/refresh.scm (%updaters): Add it.
2016-11-30upstream: Properly verify signatures of uncompressed tarballs.Ludovic Courtès
* guix/upstream.scm (uncompressed-tarball): New procedure. (download-tarball): Use it when the basename of SIGNATURE-URL doesn't contain the basename of URL.
2016-11-30refresh: Honor the selected updaters when '-u' isn't given.Ludovic Courtès
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'.
2016-11-30gnu-maintenance: Factorize URL prefix predicates.Ludovic Courtès
* 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'.
2016-11-29Merge branch 'master' into python-build-systemHartmut Goebel
2016-11-29gnu-maintenance: 'latest-kde-release' honors 'upstream-name' properties.Ludovic Courtès
* guix/gnu-maintenance.scm (latest-kde-release): Honor the 'upstream-name' property of PACKAGE.
2016-11-29refresh: Warn about packages that lack an updater.Ludovic Courtès
* 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.
2016-11-28pull: Set '%nix-instantiate' to a sensible value.Ludovic Courtès
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".
2016-11-26offload: Call 'machine-load' only once per machine.Ludovic Courtès
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.
2016-11-25offload: Drop 'remote-pipe'.Ludovic Courtès
* guix/scripts/offload.scm (remote-pipe): Remove. (machine-load): Use 'open-remote-pipe*' instead of 'remote-pipe'.
2016-11-25offload: Rewrite to make direct RPCs to the remote daemon.Ludovic Courtès
* 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.
2016-11-25offload: Remove 'with-nar-error-handling' macro.Ludovic Courtès
* guix/scripts/offload.scm (with-nar-error-handling): Remove. (guix-offload): Use 'with-error-handling' instead.
2016-11-25store: 'open-connection' can taken an open port.Ludovic Courtès
* guix/store.scm (open-unix-domain-socket): New procedure. (open-connection): Add #:port parameter and honor it.
2016-11-25offload: Reuse SSH session during 'transfer-and-offload'.Ludovic Courtès
* 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'.