summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2020-02-21build-system: Add copy-build-system.Pierre Neidhardt
* guix/build-system/copy.scm: New file. * guix/build/copy-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'copy-build-system'.
2020-02-20ssh: Add Kerberos-support to ssh:// daemon URLsLars-Dominik Braun
* guix/ssh.scm (open-ssh-session): Fall back to GSSAPI if public key authentication does not work Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-02-18scripts: system: Do not validate network file systems.Maxim Cournoyer
Fixes <https://bugs.gnu.org/39551>. * guix/scripts/system.scm (check-file-system-availability): Ignore file systems of the NFS type.
2020-02-14guix build: Add '--manifest' option.Marius Bakke
* guix/scripts/build.scm (show-help): Document --manifest argument. (options->things-to-build): When given a manifest, evaluate all the entries. * tests/guix-build.sh: Add test for --manifest. * doc/guix.texi (Additional Build Options): Mention --manifest. * etc/completion/bash/guix: Complete file name if 'guix build' argument is -m.
2020-02-11build: go-build-system: Disable Go module support.Jack Hill
This allows for upgrading the Go compiler without overhauling go-build-system first. * guix/build/go-build-system.scm (setup-go-environment): Set GO111MODULE to off. Signed-off-by: Alex Griffin <a@ajgrf.com>
2020-02-11ui: Fix typo in comment.Ludovic Courtès
Reported by Vincent Legoll <vincent.legoll@gmail.com>. * guix/ui.scm (call-with-error-handling): Remove "come" in comment.
2020-02-11describe: Remove dependency on (guix scripts pull).Ludovic Courtès
Until now, 'guix describe' would perform ~3K stat calls and ~1K openat calls because it was pulling (guix scripts pull), which in turn pulls in many (gnu packages …) modules. * guix/scripts/pull.scm (display-profile-content, %vcs-web-views) (channel-commit-hyperlink): Move to... * guix/scripts/describe.scm: ... here. Remove import of (guix scripts pull).
2020-02-11swh: Remove 'id' field from <origin>.Ludovic Courtès
The "id" field has been removed upstream: https://sympa.inria.fr/sympa/arc/swh-devel/2020-02/msg00005.html * guix/swh.scm (<origin>)[id]: Remove.
2020-02-10git: Add missing exports for <git-checkout>.Ludovic Courtès
* guix/git.scm (<git-checkout>): Export 'git-checkout-commit' and 'git-checkout-recursive?'.
2020-02-10Merge branch 'staging'Marius Bakke
2020-02-09Update e-mail address for Jakob L. Kreuze.Tobias Geerinckx-Rice
As requested here: <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>. * .mailmap: Add an entry for Jakob. * gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm, gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm, gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm, guix/scripts/system/reconfigure.scm: Update their e-mail address.
2020-02-06git: Remove leftover pk call.Mathieu Othacehe
* guix/git.scm (update-cached-checkout): Remove leftover pk call.
2020-02-06git: Add ssh authentication support.Mathieu Othacehe
If Guile-Git revision is >= 0.3.0, use SSH agent authentication method for both clone and fetch calls. * guix/git.scm (auth-supported?): New variable, (clone*): set auth-method to ssh-agent if the variable above is true, (update-cached-checkout): ditto.
2020-02-05Merge branch 'master' into stagingMarius Bakke
2020-02-05import: pypi: Support exporting packages with .zip source.Jakub Kądziołka
* guix/import/pypi.scm (make-pypi-sexp): Rename test-inputs to native-inputs. Restructure the way pypi-uri parameters are generated. Use pypi-uri's extension parameter when required. Add "unzip" to native inputs when the package source is a zip file. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
2020-02-05import: gem: Deal with unavailable licensing info.Ludovic Courtès
Fixes <https://bugs.gnu.org/39404>. Reported by Seth <lee.seth@tuta.io>. * guix/import/gem.scm (<gem>)[licenses]: Adjust for non-vector licenses. * tests/gem.scm (test-bar-json): Change "licenses" to 'null'. ("gem-recursive-import"): Adjust accordingly.
2020-02-05import: gem: Rewrite to use a JSON mapping to records.Ludovic Courtès
* guix/import/gem.scm (<gem>, <gem-dependencies>, <gem-dependency>): New record types with JSON mapping. (json->gem-dependencies): New procedures. (rubygems-fetch): Use it. (hex-string->bytevector): Remove. (make-gem-sexp): Expect HASH to be a bytevector. (gem->guix-package): Adjust to use the new <gem> data type instead of an alist. (latest-release): Likewise.
2020-02-03licenses: Add Unicode license.Leo Prikler
* guix/licenses.scm (unicode): New variable. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2020-01-29Merge branch 'master' into stagingMarius Bakke
2020-01-28Use HTTPS for liballeg.org.Tobias Geerinckx-Rice
* gnu/packages/game-development.scm (allegro-4, allegro)[home-page]: Use HTTPS. * guix/licenses.scm (giftware): Likewise.
2020-01-28guix: qt-build-system: Add phase `check-setup`.Hartmut Goebel
* guix/build/qt-build-system.scm (check-setup): New function. (%standard-phases): Add as new phase `check-setup before `check. * doc/guix.texi (Build System)[qt-build-system]: Describe the new phase.
2020-01-27build: cargo-build-system: Add pkg-config environment variables.Efraim Flashner
* guix/build/cargo-build-system.scm (configure): Add environment variables to use system libgit2 and libssh2. * gnu/packages/crates-io.scm (rust-libgit2-sys-0.10, rust-libssh2-sys-0.2)[arguments]: Remove LIBGIT2 and LIBSSH2 environment variable settings. * gnu/packages/rust-apps.scm (tokei)[arguments]: Same.
2020-01-27build: cargo-build-system: Allow patched crates.Efraim Flashner
* guix/build/cargo-build-system.scm (crate-src?): Don't check for a gzipped tarball, just make sure it's not a directory.
2020-01-27guix: ocaml: Also replace dune when relevant in package-with-explicit-ocaml.Julien Lepiller
* guix/build-system/ocaml.scm (package-with-explicit-ocaml): Take a dune argument and add it to transformed packages when relevant.
2020-01-24serialization: 'read-byte-string' makes a single read(2) call.Ludovic Courtès
On "guix build libreoffice -nd", this reduces the number of read(2) system calls from 10,434 to 8092. * guix/serialization.scm (sub-bytevector): New procedure. (read-byte-string): Make a single 'get-bytevector-n*' call and use 'sub-bytevector'.
2020-01-24guix build, archive, graph: Disable absolute file port name canonicalization.Ludovic Courtès
This avoids an 'lstat' storm. Specifically: ./pre-inst-env strace -c guix build -nd libreoffice goes from 1,711 to 214 'lstat' calls. * guix/scripts/build.scm (options->things-to-build): When SPEC matches 'derivation-path?', call 'canonicalize-path'. (guix-build): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION. * guix/scripts/archive.scm (guix-archive): Remove 'with-fluids' for %FILE-PORT-NAME-CANONICALIZATION. * guix/scripts/graph.scm (guix-graph): Likewise.
2020-01-24ui: Do not display error messages with bare format strings.Ludovic Courtès
On Guile 3, with, say, an error in ~/.guile, we'd get: $ guix repl guix repl: error: Unbound variable: ~S * guix/ui.scm (call-with-error-handling): Add '&exception-with-kind-and-args' case.
2020-01-23self: Build with Guile 3.0.Ludovic Courtès
* guix/self.scm (specification->package): Return the "guile3.0-" variants. (guix-derivation): Change 'guile' to (specification->package "guile"). Pass "3.0" as #:guile-version.
2020-01-23derivations: Inline 'find' in 'coalesce-duplicate-inputs'.Ludovic Courtès
Previously the first argument to 'find' would show up high in profiles of 'package-derivation'. This speeds things up a big, especially on Guile 3. * guix/derivations.scm (coalesce-duplicate-inputs)[find]: New procedure.
2020-01-23compile: Remove incorrect exports.Ludovic Courtès
This is a followup to fed36328129def5f10b1d1f3e4ea8886916fd22a. * guix/build/compile.scm: Remove exports of '%lightweight-optimizations' and '%default-optimizations'. * guix/self.scm: Remove unused (guix build compile) module.
2020-01-22guix: ocaml: Reuse package-with-ocaml4.01 with ocaml-4.07.Julien Lepiller
* guix/build-system/guix.scm (package-with-ocaml4.01) (strip-ocaml4.01-variant): Rename to... (package-with-ocaml4.07, strip-ocaml4.07-variant): ... this and rename internal implementation.
2020-01-19guix package: Create profiles/per-user/$USER upfront.Ludovic Courtès
Fixes <https://bugs.gnu.org/39194>. Reported by Matt Wette <matt.wette@gmail.com>. * guix/scripts/package.scm (build-and-use-profile): Move 'ensure-default-profile' call to... (process-actions): ... here.
2020-01-19syscalls: Pass the right 'throw' arguments in 'call-with-file-lock/no-wait'.Ludovic Courtès
Reported by Matt Wette <matt.wette@gmail.com> in <https://bugs.gnu.org/39194>. * guix/build/syscalls.scm (call-with-file-lock/no-wait): When re-throwing, pass KEY in addition to ARGS.
2020-01-19repl: Avoid dependency on high-level package modules.Ludovic Courtès
* guix/scripts/repl.scm: Remove imports of (guix scripts build), (gnu packages), (guix utils), and (guix packages). (%options): Define "--load-path" option right here.
2020-01-19repl: Adjust "--listen" help message.Ludovic Courtès
* guix/scripts/repl.scm (show-help): Adjust "--listen" string.
2020-01-19repl: Add "-q".Ludovic Courtès
* guix/scripts/repl.scm (%options, show-help): Add "-q". (guix-repl): Add 'user-config' and use it. Honor 'ignore-dot-guile?'.
2020-01-18refresh: Fix internal variable name.zimoun
* guix/scripts/refresh.scm (%option): Fix internal variable name.
2020-01-17ui: Ignore 'raise-exception' frames when reporting exceptions.Ludovic Courtès
* guix/ui.scm (last-frame-with-source): Check whether FRAME corresponds to 'raise-exception' and skip it if it does.
2020-01-17import: texlive: Avoid uses of '@@' in tests.Ludovic Courtès
* guix/import/texlive.scm (fetch-sxml, sxml->package): Export. * tests/texlive.scm <top level>: Call '%http-server-port'. ("fetch-sxml: returns SXML for valid XML"): Use 'with-http-server' and set 'current-http-proxy' instead of using 'mock'. ("sxml->package"): Remove use of '@@'.
2020-01-17import: opam: Avoid uses of '@@' in tests.Ludovic Courtès
* guix/import/opam.scm (string-pat, multiline-string, list-pat) (dict, condition): Export. (opam-fetch): Add optional 'repository' parameter. (opam->guix-package): Add #:repository parameter and pass it to 'opam-fetch'. * tests/opam.scm ("opam->guix-package"): Remove use of 'mock' and pass TEST-REPO to 'opam->guix-package' instead. ("parse-strings", "parse-multiline-strings") ("parse-lists", "parse-dicts", "parse-conditions"): Remove uses of '@@', which are no longer needed.
2020-01-17lint: vulnerabilities: Avoid 'mock' in test.Ludovic Courtès
* guix/lint.scm (check-vulnerabilities): Add 'package-vulnerabilities' optional parameter. * tests/lint.scm ("cve: one vulnerability"): Use it instead of 'mock'.
2020-01-17lint: derivation: Adjust exception handling for Guile 3.Ludovic Courtès
This makes sure the "derivation: invalid arguments" test passes on Guile 3.0.0. Without this change, the lint warning would only include the format string instead of the key and arguments. * guix/lint.scm (exception-with-kind-and-args?): New procedure. (check-derivation): Use it.
2020-01-16import: elpa: Rewrite test to use an HTTP server instead of mocking.Ludovic Courtès
* guix/import/elpa.scm (elpa-url): Add 'gnu/http'. (elpa->guix-package): Handle it. * tests/elpa.scm (elpa-package-info-mock, auctex-readme-mock) (elpa-version->string, package-source-url, ensure-list) (package-home-page, make-elpa-package): Remove. <top level>: Call '%http-server-port'. (eval-test-with-elpa): Remove uses of 'mock'. Use 'with-http-server' and parameterize 'current-http-proxy' instead.
2020-01-16import: cran: Avoid uses of '@@' in the tests.Ludovic Courtès
* guix/import/cran.scm (description->alist, description->package): Export. <top level>: Set! 'listify'. * tests/cran.scm (description-alist, "description->package"): Remove use of '@@' to access the relevant bindings.
2020-01-16import: crate: Export 'string->license'.Ludovic Courtès
* guix/import/crate.scm (string->license): Export. * tests/crate.scm (string->license): Remove.
2020-01-16lzlib: Define 'dictionary-size+match-length-limit'.Ludovic Courtès
* guix/lzlib.scm (%compression-levels): Splice the rest of each element. (dictionary-size+match-length-limit): New procedure. (make-lzip-output-port, make-lzip-input-port/compressed): Use it. * tests/lzlib.scm ("Bytevector of size relative to Lzip internal buffers (2 * dictionary)"): Use 'dictionary-size+match-length-limit' instead of 'assoc-ref'.
2020-01-16records: Improve reporting of "invalid field specifier" errors.Ludovic Courtès
Previously users would just see: error: invalid field specifier without source location or hints. * guix/records.scm (expand): Add optional 'parent-form' parameter and pass it to 'syntax-violation' when it is true. (make-syntactic-constructor): Pass S as a third argument to 'report-invalid-field-specifier'. * guix/ui.scm (report-load-error): For 'syntax-error', show SUBFORM or FORM in the message. * tests/records.scm ("define-record-type* & wrong field specifier"): Add a 'subform' parameter and adjust test accordingly. ("define-record-type* & wrong field specifier, identifier"): New test. * tests/guix-system.sh: Add test.
2020-01-16guix package: Export 'transaction-upgrade-entry'.Ludovic Courtès
* guix/scripts/package.scm (transaction-upgrade-entry): Add 'store' parameter and use it instead of (%store). Export. * tests/packages.scm ("transaction-upgrade-entry, zero upgrades") ("transaction-upgrade-entry, one upgrade") ("transaction-upgrade-entry, superseded package"): Adjust accordingly.
2020-01-16publish: Export 'signed-string'.Ludovic Courtès
* guix/scripts/publish.scm (signed-string): Export and improve docstring. * tests/publish.scm ("/*.narinfo") ("/*.narinfo with properly encoded '+' sign"): Adjust accordingly.
2020-01-16repl: Fix '--help' message.zimoun
* guix/scripts/repl.scm: (show-help): Add '--listen' option message.