Age | Commit message (Collapse) | Author |
|
* guix/download.scm (%mirrors)[kde]: Use https URIs for main KDE mirrors.
* tests/lint.scm ("mirror-url: kde suggestion"): New test.
|
|
* guix/profiles.scm (manual-database): No longer set the MALLOC_PERTURB_
environment variable.
|
|
* guix/packages.scm (<package>): Clarify that what goes in the build-system
package record field is a build-system record instance.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
* guix/packages.scm: Only set #:replace? #true when Guile is >= 2.2.7.
Fixes: <https://issues.guix.gnu.org/53765>
Reported-By: Peter Kois <kangus@gmail.com>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/scripts/home/import.scm (generate-bash-configuration+modules)
[bash-alias->pair]: Return #f on match failure.
[parse-aliases]: Adjust accordingly and use 'match'.
Remove 'filter' call.
|
|
* guix/scripts/home/import.scm (generate-bash-configuration+modules):
Define 'alias-rx'.
[bash-alias->pair]: Use it.
* tests/home-import.scm (match-home-environment-bash-service-with-alias):
New variable.
("manifest->code: Bash service with aliases"): New test.
|
|
This is a followup to 094a2cfbe45c104d0da30ff9d975d052ca0c118c.
* guix/scripts/home.scm (show-help): Add "container".
|
|
* guix/scripts/home.scm (show-help, %options): Add '--network',
'--share', and '--expose'.
(not-config?, user-shell, spawn-home-container): New procedures.
(%default-system-profile): New variable.
(perform-action): Add #:file-system-mappings, #:container-command,
and #:network?; honor them.
(process-action): Adjust accordingly.
(guix-home)[parse-sub-command]: Add "container".
[parse-args]: New procedure.
Use it instead of 'parse-command-line'.
* tests/guix-home.sh: Add tests.
* doc/guix.texi (Declaring the Home Environment): Mention 'guix home
container' as a way to test configuration.
(Invoking guix home): Document it.
|
|
* guix/scripts/system.scm (export-extension-graph)
(export-shepherd-graph): Honor PORT.
|
|
Until now these two actions were silently ignored.
* guix/scripts/home.scm (show-help, %options): Add "--graph-backend".
(%default-options): Add 'graph-backend' key.
(export-extension-graph, export-shepherd-graph): New procedures.
(perform-action): Add #:graph-backend parameter. Add cases for the
'extension-graph' and 'shepherd-graph' actions.
(process-action): Pass #:graph-backend to 'perform-action'.
* guix/scripts/system.scm (service-node-type)
(shepherd-service-node-type): Export
* tests/guix-home.sh: Add tests.
* doc/guix.texi (Invoking guix home): Document it.
|
|
* guix/graph.scm (lookup-backend): New procedure.
* guix/scripts/graph.scm (lookup-backend): Remove.
* guix/scripts/system.scm (lookup-backend): Remove.
* po/guix/POTFILES.in: Add 'guix/graph.scm'.
|
|
* guix/ui.scm (show-what-to-build): Highlight "X MB would be downloaded".
|
|
* guix/colors.scm (highlight/warn): New procedure.
* guix/ui.scm (show-what-to-build): Use 'highlight/warn' when displaying
what would/will be built.
|
|
* guix/utils.scm (ar-for-target, ld-for-target): New procedures.
|
|
Fixes <https://issues.guix.gnu.org/53915>.
Reported by Gordon Quad <gordon@niflheim.info>.
* guix/packages.scm (replace-input): Preserve the outputs of INPUT by
default.
* tests/packages.scm ("modify-inputs, replace, extra output"): New test.
|
|
This reverts commit 0444be868903356a37fc8ffd3cdf820ca038f3e6.
This is no longer necessary after the gcc STARTFILE_PREFIX_SPEC commit.
|
|
* guix/transformations.scm (build-system-with-tuning-compiler): Add
&fix-hint condition when asked for an unsupported micro-architecture.
|
|
Conceptually, "standard packages" (GCC, Coreutils, etc.) are "build
inputs". In the absence of cross-compilation support, this change has
no effect, except for things like '--tune' that expect the compiler to
be among the build inputs.
* guix/build-system/ocaml.scm (lower): Move (standard-packages) from
'host-inputs' to 'build-inputs'.
|
|
This addresses the following backtrace from
"guix lint -c wrapper-inputs hostapd":
Backtrace:ostapd@2.10 [wrapper-inputs]...
[...]
174:9 3 (gexp->approximate-sexp #<gexp (modify-phases %standard?>)
In srfi/srfi-1.scm:
586:17 2 (map1 (#<gexp-output out> #<gexp-input "pkg-config":o?>))
In guix/gexp.scm:
175:16 1 (_ _)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Throw to key `match-error' with args `("match" "no matching pattern" #<gexp-output out>)'.
* guix/gexp.scm (gexp->approximate-sexp): Handle the case where 'reference' is
a <gexp-output>,, by returning (*approximate*).
* tests/gexp.scm ("gexp->approximate-sexp, outputs"): Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
This fixes a false-positive in the linter:
guix lint -c 'wrapper-inputs' libaio
* guix/gexp.scm (gexp->approximate-sexp): Allow the 'thing' in <gexp-input> to
be a sexp, without approximation, by testing if it is a record.
* tests/gexp.scm ("unquoted sexp (not a gexp!)"): Test it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
emacs-build-system sets #:tests? #f by default, so the linter shouldn't warn
if #:tests? #t is set for packages using emacs-build-system. Likewise for
texlive-build-system.
* guix/lint.scm (check-tests-true): Do not warn if the build system
is emacs-build-system or texlive-build-system.
* tests/lint.scm
("tests-true: #:tests? #t acceptable for emacs packages")
("tests-true: #:tests? #t acceptable for texlive packages"): New tests.
Fixes: <https://issues.guix.gnu.org/50299>
Reported-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
|
* guix/import/hackage.scm (read-cabal-and-hash)
(hackage-fetch-and-hash, hackage-fetch)
(hackage->guix-package): Use 'let' and 'let*' instead of 'let-values'
and 'let*-values'.
|
|
* guix/import/hackage.scm (hackage-module->sexp): Unroll pointless calls
to 'compose'.
(hackage->guix-package): Likewise.
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/scripts/import/gem.scm (guix-import-gem): Handle error.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/pypi.scm (cran->guix-package): Return 'values'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/elpa.scm (elpa->guix-package): Return values.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/hackage.scm (hackage->guix-package): Return 'values'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Partly fixes <https://bugs.gnu.org/44115>.
* guix/import/pypi.scm (pypi->guix-package): Return two values when
PROJECT is false.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
|
|
Fixes <https://issues.guix.gnu.org/54259>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/import/pypi.scm (pypi->guix-package): Upon
'missing-source-error?', raise '&fix-hint' only if
'project-info-home-page' returns a non-empty string.
|
|
Fixes <https://issues.guix.gnu.org/54209>.
* guix/derivations.scm (coalesce-duplicate-inputs): Use the output paths
of DRV as a hash table key.
* tests/derivations.scm ("derivation with duplicate fixed-output
inputs"): Expect a single input for FINAL.
("derivation with equivalent fixed-output inputs"): New test.
|
|
* guix/build-system/meson.scm (make-machine-alist): Add riscv64-linux
option for cpu_family. Add riscv64-linux and powerpc-linux options for
endian.
|
|
* guix/import/github.scm (fetch-releases-or-tags): Call
'open-connection-for-uri' and reuse the same connection for the two
'http-fetch' calls.
* .dir-locals.el (scheme-mode): Add 'call-with-port'.
|
|
Previously PORT would be closed unconditionally, which broke redirects
when #:keep-alive? #t is given.
* guix/http-client.scm (http-fetch): Make 'port' a parameter of 'loop'.
Upon 3xx responses, do not close PORT is KEEP-ALIVE? is true, but consume
RESP's body. Add second argument to 'loop'.
|
|
Previously, 'guix refresh' would literally crash when the rate limit was
reached due to the call to 'error'. With this change, the updater
notices when the rate limit is reached and it turns itself into a no-op
until the rate limit has been reset.
When running "guix refresh" (with no arguments), the 'github' updater
gets used until the rate limit has been reached, after which "guix
refresh" automatically picks up the next valid updater, typically
'generic-git'.
* guix/import/github.scm (fetch-releases-or-tags): Use 'http-fetch'
directly instead of 'json-fetch' to let 'http-get-error?' exceptions
through. Handle 403 errors with an 'X-RateLimit-Remaining' header.
(%rate-limit-reset-time): New variable.
(update-rate-limit-reset-time!, request-rate-limit-reached?): New
procedures.
(latest-released-version): Remove calls to 'error'.
|
|
* guix/http-client.scm (&http-get-error)[headers]: New field.
(http-fetch): Initialize the 'headers' field.
|
|
* guix/build/download.scm (make-credendials-with-ca-trust-files): Rename
to...
(make-credentials-with-ca-trust-files): ... this.
|
|
Previously we'd load /etc/ssl/certs/*.pem (or similar) every time
'http-fetch' is called.
* guix/build/download.scm (make-credendials-with-ca-trust-files): Wrap
in 'mlambda'.
|
|
This is a followup to f4cde9ac4aedb516c050a30fd999673da434bfa0.
* guix/build/download.scm (open-connection-for-uri): Remove bit about
'close-connection' from the docstring.
|
|
Fixes <https://issues.guix.gnu.org/53658>.
Reported by Guillaume Le Vaillant <glv@posteo.net>.
Previously we would wrongfully cache things, by adding a
new (profile . _) pair to the option alist, when the user runs:
guix shell -p /path/to/profile -q
* guix/scripts/shell.scm (profile-cached-gc-root): Add ('profile . _) case.
|
|
Fixes <https://issues.guix.gnu.org/38838>.
* guix/man-db.scm (write-mandb-database): Use the abbreviated base name of the
man page as the key, not its full file name.
|
|
* guix/scripts/pull.scm (build-and-install): Remove call to
'display-profile-news' and adjust accordingly.
|
|
* guix/scripts/pull.scm (display-channel-news): Return #t when news were
displayed.
(display-news): Add #:profile-news? parameter and honor it. Print
something there were no news.
(process-query): For 'display-news', call 'display-channel-news'
directly.
* doc/guix.texi (Invoking guix pull): Adjust accordingly.
|
|
* guix/build/julia-build-system.scm (check): Do not run parallel tests when
'--cores=1'.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
|
|
* guix/build-system/julia.scm (link-depot): Accept julia-package-dependencies
keyword and use it for 'julia-create-package-toml' function.
(julia-create-package-toml): Use pattern matching.
(julia-build): Add 'julia-pacakge-dependencies'.
* guix/build/julia-build-system.scm (julia-build): Add
'#:julia-package-dependencies' keyword.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
|
|
Fixes <https://issues.guix.gnu.org/51801>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.
* guix/scripts/build.scm (options->derivations)[warn-if-unsupported]:
New procedure.
[compute-derivation]: Use it.
* tests/guix-build.sh: Add test.
|
|
Previously user-facing commands would happily start building packages
even if they do not support that system. With this change, all the
user-facing commands reject unsupported packages without going further.
* guix/profiles.scm (profile-derivation): Add #:allow-unsupported-packages?.
Define 'check-supported-packages' and honor #:allow-unsupported-packages?.
* tests/guix-pack.sh, tests/guix-package.sh, tests/guix-shell.sh: Ensure
that unsupported packages are rejected.
* tests/guix-system.sh: Pass "--system=armhf-linux" when attempting to
build gnu/system/examples/asus-c201.tmpl.
|
|
'%current-target-system'.
Previously 'package-transitive-supported-systems' would enter an
infinite loop over the cross-compilation tool chain if
%CURRENT-TARGET-SYSTEM was set.
* guix/packages.scm (package-transitive-supported-systems)[supported-systems-procedure]:
Pass explicit SYSTEM and TARGET parameters.
* tests/packages.scm ("supported-package? vs. %current-target-system"):
New test.
|
|
* guix/status.scm (print-build-event): Use 'display' instead of 'format'
for hooks.
|
|
Until now, at -v1, all the "apply N grafts" messages (for instance)
would be displayed in bold. This would typically result in several
subsequent lines all bold, although none of them is particularly
interesting. This improves on that by avoiding bold at -v1 for these
messages.
* guix/status.scm (print-build-event)[emph]: New variable.
Use it for the "View build log", "expected hash", and "offloading build"
messages.
[info]: Default to 'identity' when PRINT-URLS? and PRINT-LOG? are both
false.
|
|
With this change, "guix build vim-full" prints:
applying 15 grafts for vim-full-8.2.4306 ...
instead of showing /gnu/store/…-vim-full-8.2.4306.drv.
* guix/status.scm (print-build-event): In the 'graft' case, print just
the "package name" part of DRV.
|