summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* Generate font catalogues for the X serverIvan Kozlov2020-02-14
| | | | | | | | Actually, I am sending this as a patch. This should produce a "share/fontpath.d" directory in the profile which is a font catalogue as described in Xserver(1). Then the X server font path can be set to include this catalogue and it will find the installed fonts. This concerns all legacy X11 applications using the core fonts system, and most importantly xterm. The hook ‘fonts-dir-file’ was originally added for this purpose as the comments can tell; you would include e. g. "share/fonts/X11/misc" from the profile in the font path, which is a union directory with symbolic links to fonts that want to install there and a fonts.dir file describing all of them. This has not been working for ages, since the X.org server stopped following symbolic links to font files for security reasons. It should be removed.
* guix build: Add '--manifest' option.Marius Bakke2020-02-14
| | | | | | | | | * 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.
* build: go-build-system: Disable Go module support.Jack Hill2020-02-11
| | | | | | | | | | 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>
* ui: Fix typo in comment.Ludovic Courtès2020-02-11
| | | | | | Reported by Vincent Legoll <vincent.legoll@gmail.com>. * guix/ui.scm (call-with-error-handling): Remove "come" in comment.
* describe: Remove dependency on (guix scripts pull).Ludovic Courtès2020-02-11
| | | | | | | | | | | 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).
* swh: Remove 'id' field from <origin>.Ludovic Courtès2020-02-11
| | | | | | | | 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.
* git: Add missing exports for <git-checkout>.Ludovic Courtès2020-02-10
| | | | | * guix/git.scm (<git-checkout>): Export 'git-checkout-commit' and 'git-checkout-recursive?'.
* Merge branch 'staging'Marius Bakke2020-02-10
|\
| * Merge branch 'master' into stagingMarius Bakke2020-02-05
| |\
| * \ Merge branch 'master' into stagingMarius Bakke2020-01-29
| |\ \
| * | | guix: qt-build-system: Add phase `check-setup`.Hartmut Goebel2020-01-28
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | Update e-mail address for Jakob L. Kreuze.Tobias Geerinckx-Rice2020-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | git: Remove leftover pk call.Mathieu Othacehe2020-02-06
| | | | | | | | | | | | | | | | * guix/git.scm (update-cached-checkout): Remove leftover pk call.
* | | | git: Add ssh authentication support.Mathieu Othacehe2020-02-06
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 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.
* | | import: pypi: Support exporting packages with .zip source.Jakub Kądziołka2020-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | | import: gem: Deal with unavailable licensing info.Ludovic Courtès2020-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | import: gem: Rewrite to use a JSON mapping to records.Ludovic Courtès2020-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | licenses: Add Unicode license.Leo Prikler2020-02-03
| |/ |/| | | | | | | | | * guix/licenses.scm (unicode): New variable. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
* | Use HTTPS for liballeg.org.Tobias Geerinckx-Rice2020-01-28
| | | | | | | | | | | | * gnu/packages/game-development.scm (allegro-4, allegro)[home-page]: Use HTTPS. * guix/licenses.scm (giftware): Likewise.
* | build: cargo-build-system: Add pkg-config environment variables.Efraim Flashner2020-01-27
| | | | | | | | | | | | | | | | | | * 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.
* | build: cargo-build-system: Allow patched crates.Efraim Flashner2020-01-27
| | | | | | | | | | * guix/build/cargo-build-system.scm (crate-src?): Don't check for a gzipped tarball, just make sure it's not a directory.
* | guix: ocaml: Also replace dune when relevant in package-with-explicit-ocaml.Julien Lepiller2020-01-27
|/ | | | | * guix/build-system/ocaml.scm (package-with-explicit-ocaml): Take a dune argument and add it to transformed packages when relevant.
* serialization: 'read-byte-string' makes a single read(2) call.Ludovic Courtès2020-01-24
| | | | | | | | | 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'.
* guix build, archive, graph: Disable absolute file port name canonicalization.Ludovic Courtès2020-01-24
| | | | | | | | | | | | | | | 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.
* ui: Do not display error messages with bare format strings.Ludovic Courtès2020-01-24
| | | | | | | | | | 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.
* self: Build with Guile 3.0.Ludovic Courtès2020-01-23
| | | | | | | * guix/self.scm (specification->package): Return the "guile3.0-" variants. (guix-derivation): Change 'guile' to (specification->package "guile"). Pass "3.0" as #:guile-version.
* derivations: Inline 'find' in 'coalesce-duplicate-inputs'.Ludovic Courtès2020-01-23
| | | | | | | | | 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.
* compile: Remove incorrect exports.Ludovic Courtès2020-01-23
| | | | | | | | 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.
* guix: ocaml: Reuse package-with-ocaml4.01 with ocaml-4.07.Julien Lepiller2020-01-22
| | | | | | | * 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.
* guix package: Create profiles/per-user/$USER upfront.Ludovic Courtès2020-01-19
| | | | | | | | | 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.
* syscalls: Pass the right 'throw' arguments in 'call-with-file-lock/no-wait'.Ludovic Courtès2020-01-19
| | | | | | | | 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.
* repl: Avoid dependency on high-level package modules.Ludovic Courtès2020-01-19
| | | | | | * guix/scripts/repl.scm: Remove imports of (guix scripts build), (gnu packages), (guix utils), and (guix packages). (%options): Define "--load-path" option right here.
* repl: Adjust "--listen" help message.Ludovic Courtès2020-01-19
| | | | * guix/scripts/repl.scm (show-help): Adjust "--listen" string.
* repl: Add "-q".Ludovic Courtès2020-01-19
| | | | | * guix/scripts/repl.scm (%options, show-help): Add "-q". (guix-repl): Add 'user-config' and use it. Honor 'ignore-dot-guile?'.
* refresh: Fix internal variable name.zimoun2020-01-18
| | | | * guix/scripts/refresh.scm (%option): Fix internal variable name.
* ui: Ignore 'raise-exception' frames when reporting exceptions.Ludovic Courtès2020-01-17
| | | | | * guix/ui.scm (last-frame-with-source): Check whether FRAME corresponds to 'raise-exception' and skip it if it does.
* import: texlive: Avoid uses of '@@' in tests.Ludovic Courtès2020-01-17
| | | | | | | | * 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 '@@'.
* import: opam: Avoid uses of '@@' in tests.Ludovic Courtès2020-01-17
| | | | | | | | | | | | | * 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.
* lint: vulnerabilities: Avoid 'mock' in test.Ludovic Courtès2020-01-17
| | | | | | * guix/lint.scm (check-vulnerabilities): Add 'package-vulnerabilities' optional parameter. * tests/lint.scm ("cve: one vulnerability"): Use it instead of 'mock'.
* lint: derivation: Adjust exception handling for Guile 3.Ludovic Courtès2020-01-17
| | | | | | | | | 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.
* import: elpa: Rewrite test to use an HTTP server instead of mocking.Ludovic Courtès2020-01-16
| | | | | | | | | | | * 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.
* import: cran: Avoid uses of '@@' in the tests.Ludovic Courtès2020-01-16
| | | | | | | * 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.
* import: crate: Export 'string->license'.Ludovic Courtès2020-01-16
| | | | | * guix/import/crate.scm (string->license): Export. * tests/crate.scm (string->license): Remove.
* lzlib: Define 'dictionary-size+match-length-limit'.Ludovic Courtès2020-01-16
| | | | | | | | * 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'.
* records: Improve reporting of "invalid field specifier" errors.Ludovic Courtès2020-01-16
| | | | | | | | | | | | | | | | | | | 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.
* guix package: Export 'transaction-upgrade-entry'.Ludovic Courtès2020-01-16
| | | | | | | | * 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.
* publish: Export 'signed-string'.Ludovic Courtès2020-01-16
| | | | | | * guix/scripts/publish.scm (signed-string): Export and improve docstring. * tests/publish.scm ("/*.narinfo") ("/*.narinfo with properly encoded '+' sign"): Adjust accordingly.
* repl: Fix '--help' message.zimoun2020-01-16
| | | | * guix/scripts/repl.scm: (show-help): Add '--listen' option message.
* repl: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/repl.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* edit: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/edit.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.