summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2020-01-16size: Add '--load-path' option....* guix/scripts/size.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. zimoun
2020-01-16graph: 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-15clojure-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-15serialize: Export 'dump-port*'....* guix/serialization.scm (dump): Export as 'dump-port*'. * guix/scripts/challenge.scm (dump-port*): Remove. Ludovic Courtès
2020-01-15import: 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-15import: 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-15More 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-15Avoid 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-15substitute: '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-12lint: Check for more packages which should be native....* guix/lint.scm (check-inputs-should-be-native): Add gtk-doc. Danny Milosavljevic
2020-01-12build: 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-12deprecation: 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-09channels: 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-09lint: 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-08build-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-08build: 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-07download, 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-07More 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-06Adjust 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-04gexp: 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-04build-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-03import: 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-03download: 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-03gexp: '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-03gnu: 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-02ui: It's 2020 now!...* guix/ui.scm (show-version-and-exit): Change year to 2020. Ludovic Courtès
2019-12-30import: 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-29profiles: 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-29inferior: Add 'inferior-package-provenance'....* guix/inferior.scm (inferior-package-provenance): New procedure. Ludovic Courtès
2019-12-29pack: 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-29guix 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-29profiles: 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-27guix: 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-27git: '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-26download: Enable TLS 1.3....This reverts commit e4ee84202633636b4c8cef4a332f0c74912a3b23. * guix/build/download.scm (tls-wrap): Dot not disable TLS 1.3. Marius Bakke
2019-12-26gnu: 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
2019-12-26build-system: linux-module: Add substitutable keyword....* guix/build-system/linux-module.scm (linux-module-build) Add substitutable keyword. Efraim Flashner
2019-12-26guix: swh: Fix again example URI in comment for <origin>....This is a follow up to 6afea7489b76c8db58d4f389fdbedc7c2b8992bd * guix/swh.scm(<origin>): Write 'https' instead of 'ttps' for the URL. Björn Höfling
2019-12-23build-system: qt: Adjust indentation....* guix/build-system/qt.scm (qt-build, qt-cross-build): Adjust indentation. Hartmut Goebel
2019-12-23build-system: qt: Actually use qt-build-system, not cmake-build-system....When the qt-build-system was created, based on the cmake-build-system, some references to cmake have been missed to be changed. * guix/build-system/qt.scm (qt-build, qt-cross-build)[modules]: Use qt-build-system, not cmake-build-system. [builder]: Call qt-build, not cmake-build. Coauthored-by: Ludovic Courtès <ludo@gnu.org> Hartmut Goebel
2019-12-22gexp: Add system and target support to gexp->file....* guix/gexp.scm (gexp->file): Add system and target arguments and pass them to gexp->derivation and load-path-expression calls, (scheme-file-compiler): adapt accordingly to pass system and target arguments. Mathieu Othacehe
2019-12-21guix system: Honor the build options in 'delete-generations'....Until now, 'guix system delete-generations' would ignore OPTS; for example, it would not enable #:print-extended-build-trace? & co., leading to suboptimal output. * guix/scripts/system.scm (process-command)[with-store*]: New macro. Use it for 'delete-generations', 'switch-generation', and 'roll-back'. Ludovic Courtès
2019-12-20gnupg: 'gnupg-verify*' returns a status symbol....This allows callers to distinguish between signature verification failure and missing key. * guix/gnupg.scm (gnupg-receive-keys): Return true on success. (gnupg-verify*): Check return value of 'gnupg-receive-keys'. Return two values, the first one being a symbol. * guix/upstream.scm (download-tarball): Get the two return values of 'gnupg-verify*', and match on the first one. * gnu/packages/bash.scm (download-patches): Check the first return value of 'gnupg-verify*'. Ludovic Courtès
2019-12-19gnupg: Compile regexps only once....This halves the run time on a large number of subsequent 'gnupg-verify' calls. * guix/gnupg.scm (sigid-rx, goodsig-rx, validsig-rx, expkeysig-rx) (errsig-rx): New variables, lifted from... (gnupg-verify)[status-line->sexp]: ... here. Ludovic Courtès
2019-12-19guix: Fix %hurd-systems list....* guix/packages.scm (%hurd-systems): Replace i585-gnu with i586-gnu. Efraim Flashner
2019-12-18download: Remove ramses.wh2.tu-dresden.de kernel mirror....* guix/download.scm (%mirrors): Remove ramses.wh2.tu-dresden.de, which seems to no longer work. Mark H Weaver
2019-12-18gnupg: 'gnupg-status-missing-key?' returns a fingerprint when possible....Until then, 'gnupg-status-missing-key?' would return a key id. Its user, 'gnupg-verify*', would then fetch a key with that ID from key servers, thus possibly the wrong key (due to key ID collisions). If it did fetch the wrong key, the effect would be a signature verification failure down the path--e.g., in "guix refresh -u". * guix/gnupg.scm (gnupg-verify)[maybe-fingerprint]: New procedure. [status-line->sexp](errsig-rx): Add parenthetical expression at the end. Fetch it and add it to the 'signature-error' sexp. (gnupg-status-missing-key?): Match the whole 'signature-error' sexp and return preferably the fingerprint rather than KEY-ID. (gnupg-receive-keys): Rename 'key-id' parameter to 'fingerprint/key-id'. Ludovic Courtès
2019-12-18gnupg: 'gnupg-status-good-signature?' no longer returns a key ID....Returning a key ID was inconsequential because the only user of 'gnupg-status-good-signature?', (guix upstream) (via 'gnupg-verify*'), would not check the return value as long as it's true. * guix/gnupg.scm (gnupg-status-good-signature?): Return a fingerprint/user pair instead of key-id/user. (gnupg-verify*): Mention it in docstring. Ludovic Courtès
2019-12-18guix: swh: Fix example URI in comment for <origin>....This is a one-character follow-up to 356a79becc4061d158c68718ad169abac1ab672f Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * guix/swh.scm(<origin>): Remove a slash from example URI witin a comment. Björn Höfling
2019-12-18gexp: Allow character literals in GEXP->SEXP....Fixes <https://bugs.gnu.org/38628>. * tests/gexp.scm ("lower-gexp, character literal"): New test. * guix/gexp.scm (gexp->sexp)[self-quoting?]: Add CHAR? to the tested types. * guix/repl.scm (self-quoting?): Likewise. * gnu/tests.scm (marionette-shepherd-service)[self-quoting?]: Likewise. Marius Bakke