summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* edit: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/edit.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* refresh: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/refresh.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* size: Add '--load-path' option.zimoun2020-01-16
| | | | | * guix/scripts/size.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it.
* graph: Add '--load-path' option.Pierre Neidhardt2020-01-16
| | | | | | * guix/scripts/graph.scm (%option): Add '--load-path' option. * doc/guix.texi: Document it. * tests/guix-graph.sh: Test it.
* clojure-utils: Avoid use of '@@'.Ludovic Courtès2020-01-15
| | | | | | * guix/build/clojure-utils.scm (%doc-regex): Avoid @@, which doesn't work on Guile 3. (file-sans-extension): Likewise.
* serialize: Export 'dump-port*'.Ludovic Courtès2020-01-15
| | | | | * guix/serialization.scm (dump): Export as 'dump-port*'. * guix/scripts/challenge.scm (dump-port*): Remove.
* import: cpan: Rewrite tests to use an HTTP server instead of mocking.Ludovic Courtès2020-01-15
| | | | | | | * 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'.
* import: cpan: Rewrite to use 'define-json-mapping'.Ludovic Courtès2020-01-15
| | | | | | | | | | | | | | | | | | | | * 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.
* More module autoload adjustments.Ludovic Courtès2020-01-15
| | | | | | | | 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.
* Avoid warnings for the 'delete' binding of (guix build utils).Ludovic Courtès2020-01-15
| | | | | | | | | 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).
* substitute: 'http-multiple-get' processes each request only once.Ludovic Courtès2020-01-15
| | | | | | | | | | | | | | | | 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
* lint: Check for more packages which should be native.Danny Milosavljevic2020-01-12
| | | | * guix/lint.scm (check-inputs-should-be-native): Add gtk-doc.
* build: asdf-build-system: Improve reproducibility.Guillaume Le Vaillant2020-01-12
| | | | | * guix/build/asdf-build-system.scm (copy-files-to-output): Reset timestamps of source files before compiling.
* 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.