Age | Commit message (Expand) | Author |
2022-04-20 | git-download: Set locale to deal with Unicode in git metadata....Without this the git-fetch GEXP is run in an environment that uses ASCII
character encoding when strings are crossing the Guile - C boundary. It means
that e.g. tag names that have Unicode chars in them will cause problems,
e.g. when walking and deleting the .git directory.
An example in the wild: https://github.com/klauspost/pgzip/tags
Fixes <https://issues.guix.gnu.org/54893>.
* guix/git-download.scm (git-fetch): Call 'setenv' and 'setlocale' to
set it to en_US.utf8.
* gnu/packages/commencement.scm (glibc-utf8-locales-final): Make public.
Add 'properties' field.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Attila Lendvai |
2022-04-19 | ui: Highlight package and service search results....* guix/ui.scm (package->recutils): Add #:highlighting parameter and use it.
(display-search-results): Add #:regexps parameter; call
'colorize-full-matches' and pass #:highlighting.
* guix/scripts/package.scm (process-query): Pass #:regexps to
'display-search-results'.
* guix/scripts/home.scm (search): Likewise.
* guix/scripts/system/search.scm (service-type->recutils): Add #:highlighting
parameter and use it.
| Ludovic Courtès |
2022-04-19 | colors: Add 'colorize-full-matches'....* guix/colors.scm (colorize-full-matches): New procedure.
| Ludovic Courtès |
2022-04-19 | ui: Highlight important bits in recutils output....* guix/scripts/system/search.scm (service-type->recutils): Highlight the
value of the 'name' field.
* guix/ui.scm (package->recutils): Likewise for 'name' and 'version'.
| Ludovic Courtès |
2022-04-14 | publish: Support systemd-style socket activation....* guix/scripts/publish.scm (systemd-socket): New procedure.
(guix-publish): Add 'style' variable. Adjust startup message depending
on whether STYLE is 'systemd.
* doc/guix.texi (Invoking guix publish): Mention socket activation.
| Ludovic Courtès |
2022-04-14 | publish: Use SRFI-71 instead of SRFI-11....* guix/scripts/publish.scm (make-request-handler): Use 'let' instead of
'let-values'.
| Ludovic Courtès |
2022-04-14 | style: Correctly read dots in pairs and improper lists....Until now dots were read as symbols.
* guix/scripts/style.scm (read-with-comments)[dot]: New variable.
[dot?, reverse/dot]: New procedures.
Use 'reverse/dot' instead of 'reverse' when reading lists.
* tests/style.scm ("read-with-comments: dot notation")
("((a . 1) (b . 2))", "(a b c . boom)"): New tests.
| Ludovic Courtès |
2022-04-12 | guix: Add define-deprecated/public-alias....* guix/deprecation.scm (define-deprecated/public-alias): New variable.
| Liliana Marie Prikler |
2022-04-11 | http-client: Fix redirection....* guix/http-client.scm (http-fetch): Use the right uri variable in case of
redirection.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Attila Lendvai |
2022-04-11 | import: opam: Factor out source import....This also ensures a package can be imported even when it does not
specify a URL.
* guix/import/opam.scm (opam->guix-source): New procedure.
(opam->guix-package): Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Julien Lepiller |
2022-04-11 | import: opam: Accept tabulations....* guix/import/opam.scm (SP, SP2): Accept tabulation as whitespace.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Julien Lepiller |
2022-04-11 | reconfigure: Fix typo on 'live-service-transient?'....Fix typo introduced in e25eca35ff04e4234d0376fbb9a8e146869772c8.
* guix/scripts/system/reconfigure.scm (running-services): Add question
mark to 'live-service-transient?.
| Ludovic Courtès |
2022-04-10 | services: herd: Adjust to <live-service> changes....This is a followup to a2c759c8304c461d096ab763568e7f71546ff4e8.
* guix/scripts/system/reconfigure.scm (running-services): Fill in the
'transient?' field of <live-service>.
* tests/services.scm ("shepherd-service-upgrade: one unchanged, one upgraded, one new")
("shepherd-service-upgrade: service depended on is not unloaded")
("shepherd-service-upgrade: obsolete services that depend on each
other"): Adjust calls to 'live-service'.
| Ludovic Courtès |
2022-04-09 | guix describe: Add missing import....Fixes a regression introduced in
d4e858763c4303764729133c547b0a6dfe2354f9.
* guix/scripts/describe.scm: Add missing autoload.
| Ludovic Courtès |
2022-04-08 | diagnostics: Turn diagnostic locations into hyperlinks....* guix/diagnostics.scm (print-diagnostic-prefix): Use
'location->hyperlink' when 'supports-hyperlinks?' returns true.
| Ludovic Courtès |
2022-04-08 | ui: Move 'location->hyperlink' to (guix diagnostics)....* guix/ui.scm (location->hyperlink): Move to...
* guix/diagnostics.scm: ... here.
* guix/scripts/system/search.scm: Adjust imports accordingly.
| Ludovic Courtès |
2022-04-08 | ui: Move hyperlink facilities to (guix colors)....* guix/ui.scm (supports-hyperlinks?, file-hyperlink, hyperlink): Move to...
* guix/colors.scm: ... here.
* guix/scripts/home.scm, guix/scripts/system.scm,
guix/scripts/system/search.scm: Adjust imports accordingly.
| Ludovic Courtès |
2022-04-04 | shell: Add '--export-manifest'....* guix/scripts/shell.scm (show-help, %options): Add '--export-manifest'.
(manifest-entry-version-prefix, manifest->code*)
(export-manifest): New procedures.
(guix-shell): Honor '--export-manifest'.
* tests/guix-shell-export-manifest.sh: New file.
* Makefile.am (SH_TESTS): Add it.
* doc/guix.texi (Invoking guix shell): Document '--export-manifest'.
(Invoking guix environment): Link to it.
(Invoking guix pack): Likewise.
| Ludovic Courtès |
2022-04-04 | environment: Export 'load-manifest'....* guix/scripts/environment.scm (load-manifest): New procedure.
(options/resolve-packages): Use it.
| Ludovic Courtès |
2022-04-04 | packages: Add 'package-unique-version-prefix'....* gnu/packages.scm (package-unique-version-prefix): New procedure.
* guix/scripts/package.scm (manifest-entry-version-prefix): Use it.
* tests/packages.scm ("package-unique-version-prefix, gcc@8")
("package-unique-version-prefix, grep"): New tests.
| Ludovic Courtès |
2022-04-04 | build: emacs-utils: Add a (as-display) subform to `emacs-substitute-variables'....* guix/build/emacs-utils.scm (as-display): New variable.
(replacement-helper): New syntax helper.
(emacs-substitute-sexps): Use it and update doc.
(emacs-substitute-variables): Add an optional 'modifier' datum to the
replacement specification, and document it.
| Maxim Cournoyer |
2022-04-04 | import: pypi: Use new style for the conditional unzip input....* guix/import/pypi.scm (make-pypi-sexp)<unzip>: Use new style.
| Maxim Cournoyer |
2022-04-01 | weather: Colorize the output....* guix/colors.scm (coloring-procedure): Export.
* guix/scripts/weather.scm (report-server-coverage): Highlight the
server name and colorize the availability ratio.
| Ludovic Courtès |
2022-03-29 | download: Use https for main KDE source....* guix/download.scm (%mirrors)[kde]: Use https URIs for main KDE mirrors.
* tests/lint.scm ("mirror-url: kde suggestion"): New test.
| Efraim Flashner |
2022-03-22 | profiles: manual-database: Remove GDBM workaround....* guix/profiles.scm (manual-database): No longer set the MALLOC_PERTURB_
environment variable.
| Maxim Cournoyer |
2022-03-22 | packages: Clarify comment about build-system package record field....* 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>
| jgart |
2022-03-21 | packages: Fix time-travel from Guix 1.1.0 / Guile < 2.2.7....* 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>
| Maxime Devos |
2022-03-20 | home: import: Clarify alias parsing code....* 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.
| Ludovic Courtès |
2022-03-20 | home: import: Properly parse aliases that contain quotes....* 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.
| Ludovic Courtès |
2022-03-19 | guix home: Show "container" in '--help' output....This is a followup to 094a2cfbe45c104d0da30ff9d975d052ca0c118c.
* guix/scripts/home.scm (show-help): Add "container".
| Ludovic Courtès |
2022-03-19 | guix home: Add 'container' command....* 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.
| Ludovic Courtès |
2022-03-18 | guix system: Call 'export-graph' with the right port argument....* guix/scripts/system.scm (export-extension-graph)
(export-shepherd-graph): Honor PORT.
| Ludovic Courtès |
2022-03-18 | guix home: Implement the 'extension-graph' and 'shepherd-graph' actions....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.
| Ludovic Courtès |
2022-03-18 | graph: Factorize 'lookup-backend'....* 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'.
| Ludovic Courtès |
2022-03-18 | ui: 'show-what-to-build' highlights "would be downloaded" headings....* guix/ui.scm (show-what-to-build): Highlight "X MB would be downloaded".
| Ludovic Courtès |
2022-03-18 | ui: 'show-what-to-build' highlights "The following [...] will be built"....* guix/colors.scm (highlight/warn): New procedure.
* guix/ui.scm (show-what-to-build): Use 'highlight/warn' when displaying
what would/will be built.
| Ludovic Courtès |
2022-03-18 | utils: Add ar-for-target and ld-for-target procedures....* guix/utils.scm (ar-for-target, ld-for-target): New procedures.
| Maxim Cournoyer |
2022-03-16 | packages: 'modify-inputs' preserves outputs in 'replace' clauses....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.
| Ludovic Courtès |
2022-03-16 | Revert "gnu: Add %final-inputs-riscv64."...This reverts commit 0444be868903356a37fc8ffd3cdf820ca038f3e6.
This is no longer necessary after the gcc STARTFILE_PREFIX_SPEC commit.
| Efraim Flashner |
2022-03-14 | transformations: '--tune' prints supported micro-architectures upon error....* guix/transformations.scm (build-system-with-tuning-compiler): Add
&fix-hint condition when asked for an unsupported micro-architecture.
| Ludovic Courtès |
2022-03-14 | build-system/ocaml: Use standard packages as "build inputs"....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'.
| Ludovic Courtès |
2022-03-13 | gexp: Correctly handle #$output in 'gexp->approximate-sexp'....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>
| Maxime Devos |
2022-03-13 | gexp: Correctly handle unquoting S-exp objects....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>
| Maxime Devos |
2022-03-11 | lint: check-tests-true: Allow #:tests? #t for some build systems....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>
| Maxime Devos |
2022-03-07 | import: hackage: Use SRFI-71 instead of SRFI-11....* 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'.
| Ludovic Courtès |
2022-03-07 | import: hackage: Avoid pointless use of 'compose'....* guix/import/hackage.scm (hackage-module->sexp): Unroll pointless calls
to 'compose'.
(hackage->guix-package): Likewise.
| Ludovic Courtès |
2022-03-07 | scripts: import: gem: Fix recursive error handling....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>
| zimoun |
2022-03-07 | import: cran: Return multiple values for unknown packages....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>
| zimoun |
2022-03-07 | import: elpa: Return multiple values for unknown packages....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>
| zimoun |
2022-03-07 | import: hackage: Return multiple values for unknown packages....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>
| zimoun |