summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* deprecation: Add a two-element form for simple aliases.Ludovic Courtès2020-01-12
| | | | | * guix/deprecation.scm (define-deprecated): Add a two-element form for simple aliases: (define-deprecated old new).
* channels: Provide a hint when the 'guix' channel is lacking.Ludovic Courtès2020-01-09
| | | | | | | | 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.
* lint: Check for more packages which should be native.Danny Milosavljevic2020-01-09
| | | | | | | * 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.
* build-system/clojure: Provide only the right modules in scope.Ludovic Courtès2020-01-08
| | | | | | | | | | 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.
* build: asdf-build-system: Make sbcl-* Lisp packages reproducible.Guillaume Le Vaillant2020-01-08
| | | | | | | | | | | 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.
* download, git: Refer to the right module in 'module-use!' call.Ludovic Courtès2020-01-07
| | | | | | | | | 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.
* More module autoload changes.Ludovic Courtès2020-01-07
| | | | | | | This is a followup to 6a7c4636d4dec47eefa03c95da5a1315bd0e0413. * guix/scripts/build.scm: Adjust #:autoload clauses. * guix/scripts/gc.scm: Likewise.
* Adjust module autoloads.Ludovic Courtès2020-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gexp: Add 'raw-derivation-file'.Ludovic Courtès2020-01-04
| | | | | | | * 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.
* build-system/guile: Add #:implicit-inputs?.Jan Nieuwenhuizen2020-01-04
| | | | | | | * guix/build-system/guile.scm (lower): Add implicit-inputs? keyword parameter. [private-keywords]: Add it. Honor it.
* import: cran: Fix file descriptor leak.Ludovic Courtès2020-01-03
| | | | | | | | | 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.
* download: Do not leak file descriptors on TLS ports.Ludovic Courtès2020-01-03
| | | | | | | | | | | | | | | 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.
* gexp: 'gexp->script' marks its result as non-offloadable and non-substitutable.Ludovic Courtès2020-01-03
| | | | | * guix/gexp.scm (gexp->script): Pass #:local-build? and #:substitutable? to 'gexp->derivation'.
* gnu: uglify-js: Move back next to sbcl-cl-uglify-js definition.Pierre Neidhardt2020-01-03
| | | | | | | | | | | | 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.
* ui: It's 2020 now!Ludovic Courtès2020-01-02
| | | | * guix/ui.scm (show-version-and-exit): Change year to 2020.
* import: crate: Honor crate version for recursive imports.Ludovic Courtès2019-12-30
| | | | | | | | | | 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'.
* profiles: Fix profile-derivation cross-compilation.Mathieu Othacehe2019-12-29
| | | | | | * guix/store.scm (current-target-system): New exported monadic procedure. * guix/profiles.scm (profile-derivation): Set target at bind time using the above procedure.
* inferior: Add 'inferior-package-provenance'.Ludovic Courtès2019-12-29
| | | | * guix/inferior.scm (inferior-package-provenance): New procedure.
* pack: Save provenance information when using '--manifest'.Ludovic Courtès2019-12-29
| | | | | | * guix/scripts/pack.scm (guix-pack)[manifest-from-args]: Remove 'provenance', and add 'with-provenance' procedure. Wrap 'cond' form in 'with-provenance'.
* guix package: Save provenance information when using '--manifest'.Ludovic Courtès2019-12-29
| | | | | | | | | 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.
* profiles: Add 'map-manifest-entries'.Ludovic Courtès2019-12-29
| | | | | * guix/scripts/pack.scm (map-manifest-entries): Move to... * guix/profiles.scm (map-manifest-entries): ... here.
* guix: emacs-utils: Add emacs-batch-disable-compilation.Leo Prikler2019-12-27
| | | | | | | * guix/build/emacs-utils.scm (emacs-batch-disable-compilation): New procedure. Signed-off-by: Brett Gilio <brettg@gnu.org>
* git: 'commit-difference' takes a list of excluded commits.Ludovic Courtès2019-12-27
| | | | | | | * 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.
* download: Enable TLS 1.3.Marius Bakke2019-12-26
| | | | | | This reverts commit e4ee84202633636b4c8cef4a332f0c74912a3b23. * guix/build/download.scm (tls-wrap): Dot not disable TLS 1.3.
* gnu: Remove squashfs-tools-next.Ricardo Wurmus2019-12-26
| | | | | | * 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.
* build-system: linux-module: Add substitutable keyword.Efraim Flashner2019-12-26
| | | | | * guix/build-system/linux-module.scm (linux-module-build) Add substitutable keyword.
* guix: swh: Fix again example URI in comment for <origin>.Björn Höfling2019-12-26
| | | | | | | This is a follow up to 6afea7489b76c8db58d4f389fdbedc7c2b8992bd * guix/swh.scm(<origin>): Write 'https' instead of 'ttps' for the URL.
* build-system: qt: Adjust indentation.Hartmut Goebel2019-12-23
| | | | * guix/build-system/qt.scm (qt-build, qt-cross-build): Adjust indentation.
* build-system: qt: Actually use qt-build-system, not cmake-build-system.Hartmut Goebel2019-12-23
| | | | | | | | | | | 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>
* gexp: Add system and target support to gexp->file.Mathieu Othacehe2019-12-22
| | | | | | * 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.
* guix system: Honor the build options in 'delete-generations'.Ludovic Courtès2019-12-21
| | | | | | | | | 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'.
* gnupg: 'gnupg-verify*' returns a status symbol.Ludovic Courtès2019-12-20
| | | | | | | | | | | | | 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*'.
* gnupg: Compile regexps only once.Ludovic Courtès2019-12-19
| | | | | | | | | 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.
* guix: Fix %hurd-systems list.Efraim Flashner2019-12-19
| | | | * guix/packages.scm (%hurd-systems): Replace i585-gnu with i586-gnu.
* download: Remove ramses.wh2.tu-dresden.de kernel mirror.Mark H Weaver2019-12-18
| | | | | * guix/download.scm (%mirrors): Remove ramses.wh2.tu-dresden.de, which seems to no longer work.
* gnupg: 'gnupg-status-missing-key?' returns a fingerprint when possible.Ludovic Courtès2019-12-18
| | | | | | | | | | | | | | | 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'.
* gnupg: 'gnupg-status-good-signature?' no longer returns a key ID.Ludovic Courtès2019-12-18
| | | | | | | | | | 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.
* guix: swh: Fix example URI in comment for <origin>.Björn Höfling2019-12-18
| | | | | | | | | 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.
* gexp: Allow character literals in GEXP->SEXP.Marius Bakke2019-12-18
| | | | | | | | | 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.
* swh: Fix API call for getting origin.Björn Höfling2019-12-17
| | | | | | | | | When using the archival linter, git origins already in the archive where not recognized due to an API change and where repeatedly asked for archival. This is fixed here. * guix/swh.scm (lookup-origin): Fix API URI for getting origin. (<origin>): Fix comment with API URI example.
* guix: Upgrade to Bioconductor 3.10.Ricardo Wurmus2019-12-15
| | | | | * guix/build-system/r.scm (bioconductor-uri): Switch to version 3.10. * guix/import/cran.scm (%bioconductor-version): Same.
* base64: Do not use (rnrs).Ludovic Courtès2019-12-15
| | | | | | | | * guix/base64.scm: Remove #:use-module clauses for (rnrs) and (srfi srfi-13). Add other #:use-module clauses. (fxbit-field): Define as an alias for 'bit-field. (fx=?, fx+, mod): New aliases. (assert): New macro.
* challenge: Fix type mismatch when comparing to a local hash.Ludovic Courtès2019-12-15
| | | | | | * guix/scripts/challenge.scm (call-with-mismatches)[narinfo1]: When LOCAL-HASH is true, call 'narinfo-hash->sha256' and use 'bytevector=?' instead of 'string=?'.
* import: cran: Recognize LGPL 2.1+.Ricardo Wurmus2019-12-14
| | | | * guix/import/cran.scm (string->license): Add case for lgpl2.1+.
* import: utils: Update docstring of 'recursive-import'.Ludovic Courtès2019-12-13
| | | | | | This is a followup to 70a8e13277d4a44b89dd9ee2290b98105f0235f1. * guix/import/utils.scm (recursive-import): Update docstring.
* emacs-build-system: Ensure the core libraries appear last in the load path.Maxim Cournoyer2019-12-13
| | | | | | | | | Fixes bug #38568 (see: https://bugs.gnu.org/38568). * guix/build/emacs-build-system.scm (add-source-to-load-path): Ensure the core libraries appear last in the load path. Reported-by: Jelle Licht <jlicht@fsfe.org>
* challenge: Support "--diff=diffoscope".Ludovic Courtès2019-12-12
| | | | | | | | | | | | | * guix/scripts/challenge.scm (call-with-nar): New procedure. (narinfo-contents): Express in terms of 'call-with-nar'. (call-with-mismatches, report-differing-files/external): New procedures. (%diffoscope-command): New variable. (%options): Support "diffoscope" and a string starting with "/". * tests/challenge.scm (call-mismatch-test): New procedure. ("differing-files"): Rewrite in terms of 'call-mismatch-test'. ("call-with-mismatches"): New test. * doc/guix.texi (Invoking guix challenge): Document it.
* challenge: Add "--diff".Ludovic Courtès2019-12-12
| | | | | | | | | | | | | | | | * guix/scripts/challenge.scm (dump-port*): New variable. (archive-contents, store-item-contents, narinfo-contents) (differing-files, report-differing-files): New procedures. (summarize-report): Add #:report-differences and call it. (show-help, %options): Add "--diff". (%default-options): Add 'difference-report' key. (report-differing-files): Parameterize CURRENT-TERMINAL-COLUMNS and pass #:report-differences to 'summarize-report'. * guix/tests/http.scm (%local-url): Add optional argument. (call-with-http-server): Fix docstring typo. * tests/challenge.scm (query-path-size, make-narinfo): New procedures. ("differing-files"): New test. * doc/guix.texi (Invoking guix challenge): Document "--diff".
* progress: Add 'progress-report-port'.Ludovic Courtès2019-12-12
| | | | | * guix/scripts/substitute.scm (progress-report-port): Move to... * guix/progress.scm (progress-report-port): ... here. New procedure.
* serialization: Remove unused procedure.Ludovic Courtès2019-12-12
| | | | * guix/serialization.scm (write-contents): Remove.