summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* git-download: Use a single download script for all derivations.Ludovic Courtès2016-12-31
| | | | | | | | | | | That way, we have only one /gnu/store/…-git-download instead of one /gnu/store/…-PACKAGE-checkout-builder for each package. This is a followup to ced200328ca6337ac446e4557c645629e7d7a997. * guix/git-download.scm (git-fetch)[build]: Get the URL, commit, and recursive parameter using 'getenv'. Pass #:script-name and #:env-vars arguments to 'gexp->derivation'.
* Add (guix ssh) module.Ludovic Courtès2016-12-31
| | | | | | | | | | | | | | | | | * guix/scripts/offload.scm (connect-to-remote-daemon) (store-import-channel, store-export-channel, send-files) (retrieve-files): Move to (guix ssh). (nonce): Add optional 'name' parameter and use it. (retrieve-files*): New procedure. (transfer-and-offload): Use it instead of 'retrieve-files', and add first parameter to 'send-files'. (assert-node-can-import): Likewise. (assert-node-can-export): Use 'retrieve-files' instead of 'store-export-channel'. * guix/ssh.scm: New file. * configure.ac: Use 'GUIX_CHECK_GUILE_SSH' and define 'HAVE_GUILE_SSH' Automake conditional. * Makefile.am (MODULES) [HAVE_GUILE_SSH]: Add guix/ssh.scm.
* import: elpa: Import dependencies as propagated-inputsCarlo Zancanaro2016-12-29
| | | | | | | * guix/import/elpa.scm (elpa-package->sexp): Import dependencies as propagated-inputs. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* import: elpa: Fix call-with-downloaded-fileCarlo Zancanaro2016-12-29
| | | | | | | * guix/import/elpa.scm (call-with-downloaded-file): Make function behaviour match documentation string. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix build: '--with-source' overrides the 'replacement' of a package.Ludovic Courtès2016-12-21
| | | | | | * guix/scripts/build.scm (package-with-source): Set 'replacement' to #f. * tests/scripts-build.scm ("options->transformation, with-source, replacement"): New test.
* import: github: Use 'json-fetch'.Ludovic Courtès2016-12-20
| | | | | * guix/import/github.scm (json-fetch*): Remove. (latest-released-version): Adjust accordingly.
* environment: Add '--root' option.Ludovic Courtès2016-12-20
| | | | | | | | | * guix/scripts/environment.scm (show-help, %options): Add --root. (register-gc-root): New procedure. (guix-environment): Call 'register-gc-root' when OPTS has a 'gc-root' option. * doc/guix.texi (Invoking guix environment): Document it. * tests/guix-environment.sh: Add tests.
* import: pypi: Match new 'pypi-uri' domain in updater.Marius Bakke2016-12-20
| | | | * guix/import/pypi.scm (pypi-package?): Match pypi.io domain.
* gexp: Slightly simplify 'gexp-inputs'.Ludovic Courtès2016-12-19
| | | | | * guix/gexp.scm (gexp-inputs)[add-reference-inputs]: Remove unneeded 'if' in the non-native nested gexp case.
* gexp: Native inputs of nested gexps are properly accounted for.Ludovic Courtès2016-12-19
| | | | | | | | | | | | | | | | | | | Previously, 'gexp-native-inputs' would not return the native inputs of nested gexps. For example, this: (gexp-native-inputs #~(foo #$#~(bar #+coreutils))) would return '(). * guix/gexp.scm (gexp-inputs)[add-reference-inputs]: In the non-recursive cases, check whether N? and NATIVE? are the same, and act accordingly. [native-input?]: Remove. Fold over all of (gexp-references exp). * tests/gexp.scm ("ungexp + ungexp-native, nested, special mixture"): New test. * tests/gexp.scm ("input list splicing + ungexp-native-splicing"): Pass #:native? #t to 'gexp-input'.
* import cran: Handle HTTP errors.Ricardo Wurmus2016-12-17
| | | | | | | Fixes <http://bugs.gnu.org/23479>. * guix/import/cran.scm (fetch-description): Return #f in case of HTTP errors.
* guix import: Print list of expressions.Ricardo Wurmus2016-12-17
| | | | * guix/scripts/import.scm (guix-import): Print list of expressions.
* import cran: Add "recursive" option.Ricardo Wurmus2016-12-17
| | | | | | * guix/scripts/import/cran.scm: (%options): Add "recursive" option. (guix-import-cran): Handle "recursive" option. * doc/guix.texi (Invoking guix import): Document it.
* import cran: Add recursive importer.Ricardo Wurmus2016-12-17
| | | | | * guix/import/cran.scm (recursive-import): New variable. (cran->guix-package): Memoize the procedure.
* import cran: Ignore default R packages.Ricardo Wurmus2016-12-17
| | | | | * guix/import/cran.scm (default-r-packages): New variable. (description->package): Drop default R packages from list of inputs.
* import cran: description->package: Also return package dependencies.Ricardo Wurmus2016-12-17
| | | | | * guix/import/cran.scm (description->package): Return package dependencies in addition to generated package expression.
* import cran: Move guix-name to top-level.Ricardo Wurmus2016-12-17
| | | | * guix/import/cran.scm (guix-name): Move to top-level.
* import cran: Remove more invalid characters from package names.Ricardo Wurmus2016-12-17
| | | | | * guix/import/cran.scm (guix-name): Replace period and underscore with dash; always prepend package names with "r-".
* import cran: Handle BSD licenses with LICENSE file.Ricardo Wurmus2016-12-17
| | | | | * guix/import/cran.scm (string->license): Add cases for BSD licenses with LICENSE file.
* import cran: Translate MIT to the Expat license.Ricardo Wurmus2016-12-17
| | | | | * guix/import/cran.scm (string->license): Translate "MIT" license to Expat license.
* import cran: Do not use "or later" licenses by default.Ricardo Wurmus2016-12-17
| | | | * guix/import/cran.scm (string->license): Use exact license versions.
* profiles: Remove dependency on 'glibc-utf8-locales' for tests.Ludovic Courtès2016-12-17
| | | | | | | | | | | | | | | | | | Commit 1af0860e8be81c01ad405c1226d6bc4516e62863 added a mandatory dependency on 'glibc-utf8-locales', which entails long rebuilds for tests. * guix/profiles.scm (profile-derivation): Add #:locales? parameter. Add 'set-utf8-locale' variable. Use it when LOCALES? is true. (link-to-empty-profile): Pass #:locales? #f. * guix/scripts/environment.scm (inputs->profile-derivation): Pass #:locales?. * guix/scripts/package.scm (build-and-use-profile): Likewise. * tests/packages.scm ("--search-paths with pattern"): Pass #:locales? #f. * tests/profiles.scm ("profile-derivation") ("profile-derivation, inputs", "profile-manifest, search-paths") ("etc/profile", "etc/profile when etc/ already exists"): ("etc/profile when etc/ is a symlink"): Likewise.
* profiles: Build profiles in a UTF-8 locale.Ludovic Courtès2016-12-16
| | | | | | | | | Fixes <http://bugs.gnu.org/25213>. Reported by Christopher Baines <mail@cbaines.net>. * guix/profiles.scm (profile-derivation)[glibc-utf8-locales]: New variable. [builder]: Use it to set 'LOCPATH'.
* download: Protect against dangling symlinks in $SSL_CERT_DIR.Ludovic Courtès2016-12-16
| | | | | | | | | Reported by Christopher Baines <mail@cbaines.net> in <https://bugs.gnu.org/25213>. * guix/build/download.scm (make-credendials-with-ca-trust-files): Check whether FILE exists before calling 'set-certificate-credentials-x509-trust-file!'.
* refresh: Make dependency on (guix import crates) weak.Ludovic Courtès2016-12-16
| | | | | | Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * guix/scripts/refresh.scm: Do not explicitly import (guix import crates).
* upstream: Determine archive type correctly.David Craven2016-12-15
| | | | | * guix/upstream.scm (package-update): Take the basename of the uri before trying to determine the extension.
* graph: Add d3js backend.Ricardo Wurmus2016-12-14
| | | | | | | | | * 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.
* graph: Add "list-backend" and "backend" options.Ricardo Wurmus2016-12-14
| | | | | | | | | | | * 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.
* graph: Backend must have name and description.Ricardo Wurmus2016-12-14
| | | | | | | | | * 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.
* import: Add updater for rust crates.David Craven2016-12-14
| | | | | | | * 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.
* import: Add importer for rust crates.David Craven2016-12-14
| | | | | | | | | * 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.
* import: utils: Add some utilities.David Craven2016-12-14
| | | | | * guix/import/utils.scm (maybe-inputs, maybe-native-inputs, package->definition): New variables.
* build-system: Add cargo build system.David Craven2016-12-14
| | | | | | * guix/build-system/cargo.scm: New file. * guix/build/cargo-build-system.scm: New file. * Makefile.am (MODULES): Add files.
* upstream: Use first url when it lacks an extension.Ludovic Courtès2016-12-14
| | | | | * guix/upstream.scm (package-update): Use a url from the list when it lacks an extension.
* import: cpan: Add updater.Eric Bavier2016-12-12
| | | | | | | | | | | | * 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.
* import: cpan: Move core-module? to top-level.Eric Bavier2016-12-12
| | | | | | * guix/import/cpan.scm (cpan-module->sexp): Move local core-module? procedure to ... (core-module?): ... here.
* import: json: Silence json-fetch output.Eric Bavier2016-12-12
| | | | | | | | * 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.
* Merge branch 'master' into stagingMark H Weaver2016-12-10
|\
| * offload: Allow testing machines that match a regexp.Ludovic Courtès2016-12-09
| | | | | | | | | | | | | | * 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'.
| * offload: Test each machine only once.Ludovic Courtès2016-12-09
| | | | | | | | | | | | * guix/scripts/offload.scm (check-machine-availability)[build-machine=?]: New procedure. Add call to 'delete-duplicates'.
| * offload: Do not read ~/.ssh/known_hosts.Ludovic Courtès2016-12-09
| | | | | | | | | | * guix/scripts/offload.scm (open-ssh-session): Pass #:knownhosts to 'make-session'.
* | Merge remote-tracking branch 'origin/master' into stagingLudovic Courtès2016-12-09
|\|
| * store: 'open-connection' no longer raises '&nar-error' for protocol errors.Ludovic Courtès2016-12-08
| | | | | | | | | | | | * 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.
| * gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd ↵Manolis Ragkousis2016-12-07
| | | | | | | | | | | | | | | | | | | | 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.
| * gnu: cross-base: Add i686-w64-mingw32 target.Jan Nieuwenhuizen2016-12-07
| | | | | | | | | | | | | | | | | | | | * 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.
| * offload: Increase the connection timeout.Ludovic Courtès2016-12-06
| | | | | | | | * guix/scripts/offload.scm (open-ssh-session): Set #:timeout to 10.
| * offload: Send the build log to the right file descriptor.Ludovic Courtès2016-12-06
| | | | | | | | | | | | | | | | | | | | 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.
| * offload: Fix plural of some messages.Ludovic Courtès2016-12-05
| | | | | | | | | | | | * guix/scripts/offload.scm (send-files): Use 'N_' for possibly plural message. Write "store item" instead of "store file". (retrieve-files): Likewise.
| * offload: Make the compression methods configurable.Ludovic Courtès2016-12-05
| | | | | | | | | | | | | | * guix/scripts/offload.scm (<build-machine>)[compression] [compression-level]: New fields. (open-ssh-session): Honor them. * doc/guix.texi (Daemon Offload Setup): Document them.
| * guix system: If the new system generation already exists, overwrite it.Chris Marusich2016-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>