Age | Commit message (Expand) | Author |
2020-01-17 | import: opam: Avoid uses of '@@' in tests....* 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.
| Ludovic Courtès |
2020-01-17 | lint: vulnerabilities: Avoid 'mock' in test....* guix/lint.scm (check-vulnerabilities): Add 'package-vulnerabilities'
optional parameter.
* tests/lint.scm ("cve: one vulnerability"): Use it instead of 'mock'.
| Ludovic Courtès |
2020-01-17 | lint: derivation: Adjust exception handling for Guile 3....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.
| Ludovic Courtès |
2020-01-16 | import: elpa: Rewrite test to use an HTTP server instead of mocking....* 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.
| Ludovic Courtès |
2020-01-16 | import: cran: Avoid uses of '@@' in the tests....* 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.
| Ludovic Courtès |
2020-01-16 | import: crate: Export 'string->license'....* guix/import/crate.scm (string->license): Export.
* tests/crate.scm (string->license): Remove.
| Ludovic Courtès |
2020-01-16 | lzlib: Define 'dictionary-size+match-length-limit'....* 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'.
| Ludovic Courtès |
2020-01-16 | records: Improve reporting of "invalid field specifier" errors....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.
| Ludovic Courtès |
2020-01-16 | guix package: Export 'transaction-upgrade-entry'....* 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.
| Ludovic Courtès |
2020-01-16 | publish: Export 'signed-string'....* guix/scripts/publish.scm (signed-string): Export and improve docstring.
* tests/publish.scm ("/*.narinfo")
("/*.narinfo with properly encoded '+' sign"): Adjust accordingly.
| Ludovic Courtès |
2020-01-16 | repl: Fix '--help' message....* guix/scripts/repl.scm: (show-help): Add '--listen' option message.
| zimoun |
2020-01-16 | repl: Add '--load-path' option....* guix/scripts/repl.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
| zimoun |
2020-01-16 | edit: Add '--load-path' option....* guix/scripts/edit.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
| zimoun |
2020-01-16 | refresh: Add '--load-path' option....* guix/scripts/refresh.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
| zimoun |
2020-01-16 | size: Add '--load-path' option....* guix/scripts/size.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
| zimoun |
2020-01-16 | graph: Add '--load-path' option....* guix/scripts/graph.scm (%option): Add '--load-path' option.
* doc/guix.texi: Document it.
* tests/guix-graph.sh: Test it.
| Pierre Neidhardt |
2020-01-15 | clojure-utils: Avoid use of '@@'....* guix/build/clojure-utils.scm (%doc-regex): Avoid @@, which doesn't
work on Guile 3.
(file-sans-extension): Likewise.
| Ludovic Courtès |
2020-01-15 | serialize: Export 'dump-port*'....* guix/serialization.scm (dump): Export as 'dump-port*'.
* guix/scripts/challenge.scm (dump-port*): Remove.
| Ludovic Courtès |
2020-01-15 | import: cpan: Rewrite tests to use an HTTP server instead of mocking....* guix/import/cpan.scm (%metacpan-base-url): New variable.
(module->dist-name, cpan-fetch): Refer to it instead of the hard-coded URL.
* tests/cpan.scm ("cpan->guix-package"): Use 'with-http-server' instead
of 'mock'.
| Ludovic Courtès |
2020-01-15 | import: cpan: Rewrite to use 'define-json-mapping'....* guix/import/cpan.scm (<cpan-dependency>, <cpan-release>): New
JSON-mapped record types.
(metacpan-url->mirror-url): New procedure.
(cpan-source-url): Rewrite in terms of it.
(cpan-version): Remove.
(cpan-module->sexp): Rewrite to take a <cpan-release> instead of an
alist, and rename 'meta' to 'release'.
[convert-inputs]: Rewrite to use 'cpan-release-dependencies'.
Update calls to 'convert-inputs' to pass a list of symbols.
Replace 'assoc-ref' calls with the appropriate field accessors.
(cpan->guix-package): Rename 'module-meta' to 'release'.
(latest-release): Likewise, and use the appropriate accessors.
* tests/cpan.scm (test-json): Remove "prereqs" record; add "dependency"
list.
("source-url-http", "source-url-https"): Remove.
("metacpan-url->mirror-url, http")
("metacpan-url->mirror-url, https"): New tests.
| Ludovic Courtès |
2020-01-15 | More module autoload adjustments....This is a followup to 7a0836cffdfe3ab9ee899602f218277646959144.
* guix/scripts/package.scm: Adjust binding list of the (guix store roots)
autoload.
* guix/inferior.scm: Adjust binding list of the (guix cache) autoload.
| Ludovic Courtès |
2020-01-15 | Avoid warnings for the 'delete' binding of (guix build utils)....On Guile 3, importing (guix build utils) leads to warnings such as:
WARNING: (gnu packages embedded): imported module (guix build utils) overrides core binding `delete'
* gnu/packages/embedded.scm: Select 'alist-replace' from (guix build utils).
* guix/ui.scm: Hide 'delete' from (guix build utils).
| Ludovic Courtès |
2020-01-15 | substitute: 'http-multiple-get' processes each request only once....Fixes <https://bugs.gnu.org/39090>.
Reported by Gábor Boskovits <boskovits@gmail.com>.
Fixes a regression introduced in 9e3f9ac3c00906f5bc647ea8398e4ed5a370614e.
* guix/scripts/substitute.scm (http-multiple-get): In the "Connection: close"
case, pass (drop requests (+ 1 processed)) to 'loop' as the remaining
REQUESTS value.
Previously, we would pass a list containing duplicates, and thus the
final result would also contain duplicates. When sent to the daemon,
that list would lead to a daemon error:
got unexpected path `/gnu/store/…' from substituter
| Ludovic Courtès |
2020-01-12 | lint: Check for more packages which should be native....* guix/lint.scm (check-inputs-should-be-native): Add gtk-doc.
| Danny Milosavljevic |
2020-01-12 | build: asdf-build-system: Improve reproducibility....* guix/build/asdf-build-system.scm (copy-files-to-output): Reset timestamps of
source files before compiling.
| Guillaume Le Vaillant |
2020-01-12 | deprecation: Add a two-element form for simple aliases....* guix/deprecation.scm (define-deprecated): Add a two-element form for
simple aliases: (define-deprecated old new).
| Ludovic Courtès |
2020-01-09 | channels: Provide a hint when the 'guix' channel is lacking....Fixes <https://bugs.gnu.org/39043>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.
* guix/channels.scm (channel-instance-derivations): Raise '&fix-hint'
condition in addition to the '&message' condition.
| Ludovic Courtès |
2020-01-09 | lint: Check for more packages which should be native....* guix/lint.scm (check-inputs-should-be-native): Add autoconf, automake,
bison, dejagnu, desktop-file-utils, doxygen, flex, gettext,
gobject-introspection, googletest-source, groff, help2man, libtool, swig,
qmake, qttools, texinfo, xorg-server-for-tests, yelp-tools.
| Danny Milosavljevic |
2020-01-08 | build-system/clojure: Provide only the right modules in scope....Previously, we used to have a whole bunch of (guix build *-build-system)
modules in scope, which, for example, meant that '%standard-phases' was
clashing. This change clarifies it.
* guix/build-system/clojure.scm (%default-modules): New variable.
(clojure-build): Change the default value of #:modules and that of
#:phases.
| Ludovic Courtès |
2020-01-08 | build: asdf-build-system: Make sbcl-* Lisp packages reproducible....The '*.fasl' files produced by SBCL contain the mtime of the source file (see
commit 72843d7ce32bd615f64a0326cf891658b5724ead of SBCL's code repository).
As asdf-build-system makes a copy of the source files before compiling them,
we must set the mtime of these copies to the same date as the originals for
the build to be reproducible.
* guix/build/asdf-build-system.scm (copy-files-to-output): Keep the
modification time of the original source files.
| Guillaume Le Vaillant |
2020-01-07 | download, git: Refer to the right module in 'module-use!' call....This fixes a regression introduced in
6a7c4636d4dec47eefa03c95da5a1315bd0e0413.
* guix/build/download.scm (load-gnutls): Call 'resolve-module' instead
of 'current-module'.
* guix/git.scm (load-git-submodules): Likewise.
| Ludovic Courtès |
2020-01-07 | More module autoload changes....This is a followup to 6a7c4636d4dec47eefa03c95da5a1315bd0e0413.
* guix/scripts/build.scm: Adjust #:autoload clauses.
* guix/scripts/gc.scm: Likewise.
| Ludovic Courtès |
2020-01-06 | Adjust module autoloads....In Guile < 2.9.7, autoloading a module would give you access to all its
bindings. In future versions, autoloading a module gives access only to
the listed bindings, as per #:select (see <https://bugs.gnu.org/38895>).
This commit adjusts autoloads to the new semantics, allowing Guix to be
built with Guile 2.9.7/2.9.8.
* guix/build/download.scm <top level>: Remove call to 'module-autoload!'.
(load-gnutls): New procedure.
(tls-wrap): Call it.
* guix/git.scm <top level>: Remove call to 'module-autoload!'.
(load-git-submodules): New procedure.
(update-submodules): Call it instead of 'resolve-interface'.
* gnu/bootloader/grub.scm: Replace #:autoload with #:use-module.
* gnu/packages.scm: Likewise.
* gnu/packages/ssh.scm: Likewise.
* gnu/packages/tex.scm: Likewise.
* gnu/services/cuirass.scm: Likewise.
* gnu/services/mcron.scm: Likewise.
* guix/lint.scm: Augment list of bindings in #:autoload.
* guix/scripts/build.scm: Likewise.
* guix/scripts/gc.scm: Likewise.
* guix/scripts/pack.scm: Likewise.
* guix/scripts/publish.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/utils.scm: Remove unnecessary #:autoload clauses; replace one
of them with #:use-module.
| Ludovic Courtès |
2020-01-04 | gexp: Add 'raw-derivation-file'....* guix/gexp.scm (<raw-derivation-file>): New record type.
(raw-derivation-file-compiler): New gexp compiler.
* tests/gexp.scm ("lower-gexp, raw-derivation-file")
("raw-derivation-file"): New tests.
| Ludovic Courtès |
2020-01-04 | build-system/guile: Add #:implicit-inputs?....* guix/build-system/guile.scm (lower): Add implicit-inputs? keyword
parameter.
[private-keywords]: Add it.
Honor it.
| Jan Nieuwenhuizen |
2020-01-03 | import: cran: Fix file descriptor leak....Fixes <https://bugs.gnu.org/38836>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/import/cran.scm (bioconductor-packages-list): Close the port
returned by 'http-fetch/cached'.
(fetch-description): Likewise.
| Ludovic Courtès |
2020-01-03 | download: Do not leak file descriptors on TLS ports....Fixes <https://bugs.gnu.org/20145>.
* guix/build/download.scm (%tls-ports, register-tls-record-port): Remove.
(tls-wrap): Remove call to 'register-tls-record-port'. Return a custom
binary input/output port instead. This is a backport of what Guile
2.2's (web client) module has been doing.
(close-connection): Define as an alias for 'close-port'.
* guix/http-client.scm (http-fetch): Remove #:keep-alive? parameter,
which was ignored and unused.
Pass #:keep-alive? #f to 'http-get'.
* guix/lint.scm (probe-uri): Use 'close-port' instead of 'close-connection'.
* guix/scripts/substitute.scm (http-multiple-get): Likewise.
| Ludovic Courtès |
2020-01-03 | gexp: 'gexp->script' marks its result as non-offloadable and non-substitutable....* guix/gexp.scm (gexp->script): Pass #:local-build? and #:substitutable?
to 'gexp->derivation'.
| Ludovic Courtès |
2020-01-03 | gnu: uglify-js: Move back next to sbcl-cl-uglify-js definition....This fixes the bug which prevented uglify-js from being defined properly, and
cascaded back to all Common Lisp packages.
* gnu/packages/bioinformatics.scm: Replace javascript module with lisp-xyz.
* gnu/packages/cran.scm: Use lisp-xyz module.
* gnu/packages/javascript.scm (uglify-js): Move from here...
* gnu/packages/lisp-xyz.scm: ... To here.
* gnu/packages/web.scm: Replace javascript module with lisp-xyz.
* guix/build-system/minify.scm: Find uglify-js in the lisp-xyz module.
| Pierre Neidhardt |
2020-01-02 | ui: It's 2020 now!...* guix/ui.scm (show-version-and-exit): Change year to 2020.
| Ludovic Courtès |
2019-12-30 | import: crate: Honor crate version for recursive imports....Fixes <https://bugs.gnu.org/38709>.
Reported by Valentin Ignatev <valentignatev@gmail.com>.
* guix/import/crate.scm (crate-recursive-import): Add optional 'version'
parameter and honor it.
* guix/scripts/import/crate.scm (guix-import-crate): Pass VERSION as 2nd
argument to 'crate-recursive-import'.
| Ludovic Courtès |
2019-12-29 | profiles: Fix profile-derivation cross-compilation....* guix/store.scm (current-target-system): New exported monadic procedure.
* guix/profiles.scm (profile-derivation): Set target at bind time using the
above procedure.
| Mathieu Othacehe |
2019-12-29 | inferior: Add 'inferior-package-provenance'....* guix/inferior.scm (inferior-package-provenance): New procedure.
| Ludovic Courtès |
2019-12-29 | pack: Save provenance information when using '--manifest'....* guix/scripts/pack.scm (guix-pack)[manifest-from-args]: Remove
'provenance', and add 'with-provenance' procedure. Wrap 'cond' form in
'with-provenance'.
| Ludovic Courtès |
2019-12-29 | guix package: Save provenance information when using '--manifest'....Fixes <https://bugs.gnu.org/38673>.
Reported by zimoun <zimon.toutoune@gmail.com>.
* guix/describe.scm (manifest-entry-with-provenance): New procedure.
* guix/scripts/package.scm (process-actions): Use it when FILES is
non-empty.
| Ludovic Courtès |
2019-12-29 | profiles: Add 'map-manifest-entries'....* guix/scripts/pack.scm (map-manifest-entries): Move to...
* guix/profiles.scm (map-manifest-entries): ... here.
| Ludovic Courtès |
2019-12-27 | guix: emacs-utils: Add emacs-batch-disable-compilation....* guix/build/emacs-utils.scm (emacs-batch-disable-compilation):
New procedure.
Signed-off-by: Brett Gilio <brettg@gnu.org>
| Leo Prikler |
2019-12-27 | git: 'commit-difference' takes a list of excluded commits....* guix/git.scm (commit-closure): Add 'visited' optional parameter.
(commit-difference): Add 'excluded' optional parameter; pass second
argument to 'commit-closure'.
* tests/git.scm ("commit-difference, excluded commits"): New test.
| Ludovic Courtès |
2019-12-26 | download: Enable TLS 1.3....This reverts commit e4ee84202633636b4c8cef4a332f0c74912a3b23.
* guix/build/download.scm (tls-wrap): Dot not disable TLS 1.3.
| Marius Bakke |
2019-12-26 | gnu: Remove squashfs-tools-next....* gnu/packages/compression.scm (squashfs-tools-next): Remove variable.
* guix/scripts/pack.scm (squashfs-image, guix-pack): Use squashfs-tools.
* tests/pack.scm: Use squashfs-tools.
| Ricardo Wurmus |