summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* swh: 'swh-download' checks return value of 'vault-fetch'.Ludovic Courtès2019-08-23
| | | | | | | | Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de> in <https://bugs.gnu.org/36931>. * guix/swh.scm (swh-download): Check whether 'vault-fetch' return false before calling 'dump-port'.
* pack: '-R' honors the requested output.Ludovic Courtès2019-08-23
| | | | | | | | | | | | Fixes <https://bugs.gnu.org/36925>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. * guix/scripts/pack.scm (wrapped-package): Add 'output*' parameter. [build]: Define 'input' and 'target'; use them instead of #$package and #$output, respectively. (wrapped-manifest-entry): New procedure. (map-manifest-entries): Call PROC directly. (guix-pack): Pass WRAPPED-MANIFEST-ENTRY to 'map-manifest-entries'.
* Revert "import: utils: Add hash-ref*."Mark H Weaver2019-08-22
| | | | This reverts commit 8a3b11d1eb21e54b4f3a3cbceffed8ce2c11512e.
* Revert "import: cpan: Adapt for the change to guile-json version 3."Mark H Weaver2019-08-22
| | | | This reverts commit 01ce7af25add55514f737af48ea6c127bedfde67.
* import: cpan: Adapt for the change to guile-json version 3.Christopher Baines2019-08-21
| | | | | | | | | | | | | | In guile-json version 3, JSON objects are represented as hash tables, rather than alists. * guix/import/cpan.scm (string->license): Change the match expression to match on lists, rather than vectors. (module->dist-name, cpan-source-url, cpan-version): Change assoc-ref to hash-ref. (cpan-module->sexp): Change assoc-ref to hash-ref, and assoc-ref* to hash-ref*. * tests/cpan.scm ("source-url-http", "source-url-https"): Convert the alist to a hash table.
* import: utils: Add hash-ref*.Christopher Baines2019-08-21
| | | | | | | | With the change to guile-json version 3, JSON objects are represented as hash tables, rather than alists. The cpan importer uses assoc-ref* on a hash table, so add an equivalent function for hash tables. * guix/import/utils.scm (hash-ref*): New procedure.
* upstream: Gracefully handle archive type changes.Ludovic Courtès2019-08-17
| | | | | | | | | Previously, if the currently used archive type (e.g., "bz2") was unavailable for the new version, 'guix refresh -u' would crash instead of updating to the archive with the new type. * guix/upstream.scm (package-update/url-fetch): When URL is #f, pick the first of URLS; likewise for SIGNATURE-URL.
* refresh: Use the standard diagnostic procedures.Ludovic Courtès2019-08-17
| | | | | | * guix/scripts/refresh.scm (warn-no-updater): Use 'warning' instead of 'format'. (update-package): Use 'info' and 'warning' instead of 'format'.
* import: gnome: Update for Guile-JSON 3.x.Ludovic Courtès2019-08-17
| | | | | | | | | This is a followup to 81c3dc32244a17241d74eea9fa265edfcb326f6d. * guix/import/gnome.scm (jsonish->upstream-source): Use 'assoc-ref' instead of 'hash-ref'. (latest-gnome-release): Match a vector containing an alist, not a hash table. Use 'fold' instead of 'hash-fold' over RELEASES.
* derivations: Fix typo in docstring.Ludovic Courtès2019-08-17
| | | | | * guix/derivations.scm (derivation-build-plan): Fix typo in the docstring.
* derivations: Delete duplicate inputs when computing derivation hash.Ludovic Courtès2019-08-16
| | | | | | | | | | Fixes <https://bugs.gnu.org/36777>. Reported by Carl Dong <contact@carldong.me>. * guix/derivations.scm (derivation/masked-inputs): Call 'delete-duplicates' on INPUTS. * tests/derivations.scm ("derivation with duplicate fixed-output inputs"): New test.
* channels: Add 'profile-channels'.Ludovic Courtès2019-08-16
| | | | | | * guix/channels.scm (profile-channels): New procedure. * guix/scripts/describe.scm (display-profile-info)[channels]: Define in terms of 'profile-channels'.
* import: cran: Support experiment and annotation packages.Ricardo Wurmus2019-08-16
| | | | | | | | | | | * guix/import/cran.scm (%bioconductor-packages-list-url): Replace variable... (bioconductor-packages-list-url): ...with this procedure. (bioconductor-packages-list): Accept optional TYPE argument. (latest-bioconductor-package-version): Same. (fetch-description): Determine package type and use it in calls to LATEST-BIOCONDUCTOR-PACKAGE-VERSION and BIOCONDUCTOR-URI. (description->package): Pass package type to URI helper procedure; include package type in annotation or experiment packages from Bioconducter.
* build-system/r: bioconductor-uri: Take optional package type.Ricardo Wurmus2019-08-16
| | | | | * guix/build-system/r.scm (bioconductor-uri): Take optional TYPE argument to return annotation or experiment URLs.
* machine: Use 'become-command'.Jakob L. Kreuze2019-08-16
| | | | | | | | * gnu/machine/ssh.scm (managed-host-remote-eval): Pass an appropriate 'become-command' to 'remote-eval'. * guix/ssh.scm (remote-authorize-signing-key): Add optional 'become-command' argument. All callers changed.
* remote: Resolve missing 'G_'.Jakob L. Kreuze2019-08-16
| | | | * guix/remote.scm: Require (guix i18n).
* remote: Use (%daemon-socket-uri) rather than hard-coded path.Jakob L. Kreuze2019-08-15
| | | | | * guix/remote.scm (remote-eval): Use (%daemon-socket-uri) as the default value of 'socket-name' rather than hard-coded path.
* machine: Automatically authorize the coordinator's signing key.Jakob L. Kreuze2019-08-15
| | | | | | | | | | * guix/ssh.scm (remote-authorize-signing-key): New variable. * gnu/machine/ssh.scm (deploy-managed-host): Authorize coordinator's signing key before any invocations of 'remote-eval'. (deploy-managed-host): Display an error if a signing key does not exist. * doc/guix.texi (Invoking guix deploy): Remove section describing manual signing key authorization. (Invoking guix deploy): Add section describing the 'authorize?' field.
* machine: Implement 'roll-back-machine'.Jakob L. Kreuze2019-08-15
| | | | | | | | | * gnu/machine.scm (roll-back-machine, &deploy-error, deploy-error?) (deploy-error-should-roll-back) (deploy-error-captured-args): New variable. * gnu/machine/ssh.scm (roll-back-managed-host): New variable. * guix/scripts/deploy.scm (guix-deploy): Roll-back systems when a deployment fails.
* machine: Allow non-root users to deploy.Jakob L. Kreuze2019-08-15
| | | | | | | | | | | | | | | | | | * doc/guix.texi (Invoking guix deploy): Add section describing prerequisites for deploying as a non-root user. * guix/remote.scm (remote-pipe-for-gexp): New optional 'become-command' argument. (%remote-eval): New optional 'become-command' argument. (remote-eval): New 'become-command' keyword argument. * guix/ssh.scm (remote-inferior): New optional 'become-command' argument. (inferior-remote-eval): New optional 'become-command' argument. (remote-authorize-signing-key): New optional 'become-command' argument. * gnu/machine/ssh.scm (machine-become-command): New variable. (managed-host-remote-eval): Invoke 'remote-eval' with the '#:become-command' keyword. (deploy-managed-host): Invoke 'remote-authorize-signing-key' with the '#:become-command' keyword.
* remote: Remove '--system' argument.Jakob L. Kreuze2019-08-14
| | | | | | | | * gnu/services.scm (activation-script): Return a <program-file> rather than a <scheme-file>. * gnu/deploy.scm (guix-deploy): Remove handling for '--system'. (show-help): Remove documentation for '--system'. (%default-options): Remove default setting for 'system'.
* remote: Build derivations appropriate for the remote'sJakob L. Kreuze2019-08-14
| | | | | | | | | | | | | | * gnu/machine/ssh.scm (machine-ssh-configuration): Add 'system' field. (managed-host-remote-eval): Pass 'system' field to 'remote-eval'. (machine-check-building-for-appropriate-system): New variable. (check-deployment-sanity): Add call to 'machine-check-building-for-appropriate-system'. * doc/guix.texi (Invoking guix deploy): Describe new 'system' field. * guix/ssh.scm (remote-system): New variable. * guix/remote.scm (remote-eval): Use result of 'remote-system' when lowering the G-Expression. (remote-eval): Add 'system' keyword argument. (trampoline): Return a <program-file> rather than a <scheme-file>.
* Merge branch 'master' into stagingMarius Bakke2019-08-08
|\
| * import: hackage: Update list of ghc-included packages.Robert Vollmert2019-08-07
| | | | | | | | | | | | | | It turns out the list in the release notes is incomplete. This updates the list from /gnu/store/<hash>-ghc-8.4.3/lib/ghc-8.4.3. * guix/import/hackage.scm (ghc-standard-libraries): Update list.
* | Merge branch 'master' into stagingMarius Bakke2019-08-08
|\|
| * Merge remote-tracking branch 'origin/master' into wip-texliveRicardo Wurmus2019-08-07
| |\
| | * deploy: Use all machine modules when loading deploymentJakob L. Kreuze2019-08-07
| | | | | | | | | | | | | | | | | | * guix/scripts/deploy.scm (load-source-file): Enumerate and include all submodules of (gnu machine) when loading the provided deployment specification.
| | * reconfigure: Fix GC root installation.Jakob L. Kreuze2019-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36942>. Reported by ison <ison@airmail.cc>. guix/scripts/system/reconfigure.scm (install-bootloader-program): Switch new symlink to the canonical bootloader configuration file. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| * | Merge remote-tracking branch 'origin/master' into wip-texliveRicardo Wurmus2019-08-06
| |\|
| * | build-system/texlive: Add texlive-origin.Ricardo Wurmus2019-07-23
| | | | | | | | | | | | * guix/build-system/texlive.scm (texlive-origin): New procedure.
| * | guix: Add svn-multi-reference.Ricardo Wurmus2019-07-23
| | | | | | | | | | | | | | | | | | | | | * guix/svn-download.scm (<svn-multi-reference>): New record type. (svn-multi-reference-url, svn-multi-reference-revision, svn-multi-reference-locations, svn-multi-reference-user-name, svn-multi-reference-password, svn-multi-fetch): New procedures.
| * | build: svn-fetch: Use "svn export".Ricardo Wurmus2019-07-23
| | | | | | | | | | | | | | | | | | * guix/build/svn.scm (svn-fetch): Use "svn export" instead of "svn checkout" because it does not include the .svn directory and allows us to fetch single files.
* | | Merge branch 'master' into stagingMarius Bakke2019-08-04
|\ \ \ | | |/ | |/|
| * | build/cargo-build-system: Patch cargo checksums.Efraim Flashner2019-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/cargo-build-system.scm (generate-all-checksums): New procedure. (update-cargo-lock, patch-cargo-checksums): New phases. (%standard-phases): Add 'update=cargo-lock after 'configure and 'patch-cargo-checksums after 'patch-generated-file-shebangs. * doc/guix.texi (Build System)[cargo-build-system]: Mention how Cargo.lock files are handled.
| * | reconfigure: Reload all shepherd files when upgrading services.Jakob L. Kreuze2019-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36878>. Reported by Robert Vollmert <rob@vllmrt.net>. * guix/scripts/system/reconfigure.scm (upgrade-shepherd-services): Load all service files, rather than just those of services to be started. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| * | gnu: Update default Go compiler to Go 1.12.Leo Famulari2019-07-29
| | | | | | | | | | | | | | | * gnu/packages/golang.scm (go): Update to go-1.12. * guix/build/go-build-system.scm (setup-go-environment): Set $GOCACHE.
| * | gexp: 'program-file' honors the current system and cross-compilation target.Ludovic Courtès2019-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36813>. Reported by Jakob L. Kreuze <zerodaysfordays.sdf.org@sdf.org>. * guix/gexp.scm (program-file-compiler): Pass #:system and #:target to 'gexp->script'. (load-path-expression): Add #:system and #:target and honor them. (gexp->script): Likewise. * tests/gexp.scm ("program-file #:system"): New test. * doc/guix.texi (G-Expressions): Adjust accordingly.
| * | gexp: 'compiled-modules' can cross-compile.Ludovic Courtès2019-07-26
| | | | | | | | | | | | * guix/gexp.scm (compiled-modules): Add #:target and honor it.
| * | discovery: 'scheme-files' ignores hidden files.Ludovic Courtès2019-07-26
| | | | | | | | | | | | | | | * guix/discovery.scm (scheme-files)[dot-prefixed?]: New procedure. Use it to exclude any file starting with ".".
| * | guix system: Reimplement 'reconfigure'.Jakob L. Kreuze2019-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/system.scm (switch-to-system) (upgrade-shepherd-services, install-bootloader): Delete variable. (local-eval): New variable. (install): Remove 'bootloader-installer' and 'bootcfg-file' parameters. (install): Add 'bootloader' parameter. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * | guix system: Add 'reconfigure' module.Jakob L. Kreuze2019-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/system/reconfigure.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/system.scm (bootloader-installer-script): Export variable. * gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services) (install-bootloader): Delete variable. * gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure. * gnu/services/herd.scm (live-service): Export variable. * gnu/services/herd.scm (live-service-canonical-name): New variable. * tests/services.scm (live-service): Delete variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * | guix build: '--with-commit' recognizes "v[0-9]" tags.Ludovic Courtès2019-07-26
| | | | | | | | | | | | | | | * guix/scripts/build.scm (transform-package-source-commit)[replace]: Special case COMMIT that starts with "v[0-9]".
| * | git: 'switch-to-ref' resolves tag targets.Ludovic Courtès2019-07-26
| | | | | | | | | | | | | | | | | | * guix/git.scm (switch-to-ref): In the 'tag' case, resolve the target of the tag. * tests/guix-build-branch.sh: Adjust test accordingly.
| * | git: <git-checkout> allows tags in its 'commit' field.Ludovic Courtès2019-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/36371>. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * guix/git.scm (git-checkout-compiler): Pass 'tag-or-commit' to 'latest-repository-commit*'. * doc/guix.texi (Package Transformation Options): Update '--with-commit' documentation accordingly. * tests/guix-build-branch.sh: Add test.
| * | git: 'update-cached-checkout' supports a 'tag-or-commit' type of ref.Ludovic Courtès2019-07-26
| | | | | | | | | | | | | | | | | | * guix/git.scm (switch-to-ref)[obj]: Wrap in 'resolve' lambda. Add 'tag-or-commit' case. (update-cached-checkout): Document it.
* | | guix: ant-build-system: Put dummy project-name into default build.xml.Hartmut Goebel2019-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, ant reported error messages like Target "tests" does not exist in the project "null". Simple using the jar-name is a good compromise. * guix/build/ant-build-system.scm (default-build.xml): Add attribute to sxml expression.
* | | guix: ant-build-system: Use ant-task "jar" instead of executing "jar".Hartmut Goebel2019-07-25
|/ / | | | | | | | | * guix/build/ant-build-system.scm (default-build.xml): Change XML for target "jar" to use ant-task "jar" instead of "exec".
* | maint: Switch to Guile-JSON 3.x.Ludovic Courtès2019-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro. * configure.ac: Use it. * doc/guix.texi (Requirements): Mention the Guile-JSON version. * guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3. * guix/import/cpan.scm (string->license): Expect vectors instead of lists. (module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'. (cpan-fetch): Likewise. * guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list' for DEPS. * guix/import/gem.scm (rubygems-fetch): Likewise. * guix/import/json.scm (json-fetch-alist): Remove. * guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (latest-source-release, latest-wheel-release): Call 'vector->list' on RELEASES. * guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (lts-package-version): Use 'vector->list'. * guix/import/utils.scm (hash-table->alist): Remove. (alist->package): Pass 'vector->list' on the inputs fields, and default to the empty vector. * guix/scripts/import/json.scm (guix-import-json): Remove call to 'hash-table->alist'. * guix/swh.scm (define-json-reader): Expect pair? or null? instead of hash-table?. [extract-field]: Use 'assoc-ref' instead of 'hash-ref'. (json->branches): Use 'map' instead of 'hash-map->list'. (json->checksums): Likewise. (json->directory-entries, origin-visits): Call 'vector->list' on the result of 'json->scm'. * tests/import-utils.scm ("alist->package with dependencies"): New test. * gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3. * gnu/installer.scm (installer-program)[installer-builder]: Likewise. * gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref' instead of 'hash-ref', and pass vectors through 'vector->list'. (iso3166->iso3166-territories): Likewise. * gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3. * guix/docker.scm (manifest, config): Adjust for Guile-JSON 3. * guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3. * guix/import/github.scm (fetch-releases-or-tags): Update docstring. (latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass the result of 'fetch-releases-or-tags' to 'vector->list'. * guix/import/launchpad.scm (latest-released-version): Likewise.
* | deploy: Handle the '--system' command line option.宋文武2019-07-24
| | | | | | | | | | | | * guix/scripts/deploy.scm (show-help): Add help for '--system'. (%options): Add '-s' and '--system'. (guix-deploy): Parameterize %current-system.
* | deploy: Honor '--no-grafts'.宋文武2019-07-24
|/ | | | * guix/scripts/deploy.scm (guix-deploy): Parameterize '%graft?'.