Commit graph

99931 commits

Author SHA1 Message Date
Ludovic Courtès
6db3b34d72
read-print: Add 'case' and 'cond' special forms.
* guix/read-print.scm (%special-forms): Add 'case' and 'cond'.
* tests/read-print.scm: Add tests.
2022-08-08 11:54:25 +02:00
Ludovic Courtès
ff9522fb69
installer: Add comments and vertical space to the generated config.
* gnu/installer/parted.scm (user-partitions->configuration): Introduce
vertical space and a comment.
* gnu/installer/services.scm (G_): New macro.
(%system-services): Add comment for OpenSSH.
(system-services->configuration): Add vertical space and comments.
* gnu/installer/user.scm (users->configuration): Add comment.
* gnu/installer/steps.scm (format-configuration): Add comment.
(configuration->file): Expound leading comment.  Pass #:format-comment
to 'pretty-print-with-comments/splice'.
2022-08-08 11:54:25 +02:00
Ludovic Courtès
cd1a98b928
installer: Render the final configuration with (guix read-print).
* gnu/installer.scm (module-to-import?): Return #t for (guix read-print).
* gnu/installer/steps.scm (configuration->file): Use
'pretty-print-with-comments/splice' instead of 'for-each' and 'pretty-print'.
2022-08-08 11:54:24 +02:00
Ludovic Courtès
445a0d134c
read-print: Support printing multi-line comments.
* guix/read-print.scm (%not-newline): New variable.
(print-multi-line-comment): New procedure.
(pretty-print-with-comments): Use it.
* tests/read-print.scm ("pretty-print-with-comments, multi-line
comment"): New test.
2022-08-08 11:54:24 +02:00
Ludovic Courtès
a109ee9048
news: Add entry for 'guix style -f'.
* etc/news.scm: Add entry.
2022-08-08 11:54:23 +02:00
Ludovic Courtès
a15542d26d
style: Add '--whole-file' option.
* guix/scripts/style.scm (format-whole-file): New procedure.
(%options, show-help): Add '--whole-file'.
(guix-style): Honor it.
* tests/guix-style.sh: New file.
* Makefile.am (SH_TESTS): Add it.
* doc/guix.texi (Invoking guix style): Document it.
2022-08-08 11:53:33 +02:00
Ludovic Courtès
90ef692e9b
read-print: 'canonicalize-comment' leaves top-level comments unchanged.
This lets users use three leading semicolons, for instance, in top-level
comments.

* guix/read-print.scm (canonicalize-comment): Add INDENT parameter and
honor it.
(pretty-print-with-comments): Change default value of #:format-comment.
Call FORMAT-COMMENT with INDENT as the second argument.
* tests/read-print.scm: Adjust test accordingly.
2022-08-08 11:22:32 +02:00
Ludovic Courtès
9b00c97de4
read-print: Add code to read and write sequences of expressions/blanks.
* guix/read-print.scm (read-with-comments): Add #:blank-line? and honor it.
(read-with-comments/sequence, pretty-print-with-comments/splice): New
procedures.
* tests/read-print.scm (test-pretty-print/sequence): New macro.
Add tests using it.
2022-08-08 11:22:32 +02:00
Ludovic Courtès
077324a16f
read-print: Recognize page breaks.
* guix/read-print.scm (<page-break>, page-break?, page-break)
(char-set:whitespace-sans-page-break): New variables.
(space?): New procedure.
(read-vertical-space): Use it.
(read-until-end-of-line): New procedure.
(read-with-comments): Add #\page case.
(pretty-print-with-comments): Add 'page-break?' case.
* tests/read-print.scm ("read-with-comments: top-level page break"): New
test.
Add round-trip test with page break within an sexp.
2022-08-08 11:22:32 +02:00
Ludovic Courtès
f687e27e03
read-print: Read and render vertical space.
* guix/read-print.scm (<vertical-space>, vertical-space?)
(vertical-space, vertical-space-height): New variables.
(combine-vertical-space, canonicalize-vertical-space)
(read-vertical-space): New procedures.
(read-with-comments): Use it in the #\newline case.
(pretty-print-with-comments): Add #:format-vertical-space and honor it.
Add case for 'vertical-space?'.
* guix/scripts/style.scm (format-package-definition): Pass
 #:format-vertical-space to 'object->string*'.
* tests/read-print.scm ("read-with-comments: list with blank line")
("read-with-comments: list with multiple blank lines")
("read-with-comments: top-level blank lines")
("pretty-print-with-comments, canonicalize-vertical-space"): New tests.
Add a couple of additional round-trip tests.
2022-08-08 11:22:32 +02:00
Ludovic Courtès
3eb3901d7f
style: Adjust test to not emit blank lines.
Previously this test would produce a file containing blank lines between
inputs.

* tests/style.scm ("input labels, modify-inputs and margin comment"):
Remove trailing newlines in replacement strings of 'substitute*'
expression.
2022-08-08 11:22:32 +02:00
Ludovic Courtès
5b273e7c77
read-print: Introduce <blank> parent class of <comment>.
* guix/read-print.scm (<blank>, blank?): New record type.
(<comment>): Redefine using the record interface.
(read-with-comments, pretty-print-with-comments): Change some uses of
'comment?' to 'blank?'.
* guix/scripts/style.scm (simplify-inputs)[simplify-expressions]: Use
'blank?' instead of 'comment?'.
2022-08-08 11:22:32 +02:00
Ludovic Courtès
38f1fb843c
read-print: Expose comment constructor.
* guix/read-print.scm (<comment>): Rename constructor to
'string->comment'.
(comment): New procedure.
(read-with-comments, canonicalize-comment): Use 'string->comment'
instead of 'comment'.
2022-08-08 11:22:32 +02:00
Ludovic Courtès
632d4ccc0b
read-print: Add System and Home special forms.
* guix/read-print.scm (%special-forms): Add System and Home forms.
(%newline-forms): Add 'services'.
2022-08-08 11:22:31 +02:00
Ludovic Courtès
5817e222fa
style: Move reader and printer to (guix read-print).
* guix/scripts/style.scm (<comment>, read-with-comments)
(vhashq, %special-forms, %newline-forms, prefix?)
(special-form-lead, newline-form?, escaped-string)
(string-width, canonicalize-comment, pretty-print-with-comments)
(object->string*): Move to...
* guix/read-print.scm: ... here.  New file.
* guix/scripts/import.scm: Adjust accordingly.
* tests/style.scm: Move 'test-pretty-print' and tests to...
* tests/read-print.scm: ... here.  New file.
* Makefile.am (MODULES): Add 'guix/read-print.scm'.
(SCM_TESTS): Add 'tests/read-print.scm'.
2022-08-08 11:22:31 +02:00
Morgan Smith
bc3eaf9d83
gnu: go-gitlab.com-shackra-goimapnotify: Update to 2.3.7.
* gnu/packages/mail.scm (go-gitlab.com-shackra-goimapnotify): Update to 2.3.7.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-08-08 11:22:31 +02:00
Ludovic Courtès
ad8beb6325
lint: Add '-e'.
* guix/scripts/lint.scm (show-help, %options): Add '-e'.
(guix-lint): Call 'specification->package' while traversing OPTS.  Add
case for 'expression pair.  Adjust 'for-each' loop to expect packages.
* doc/guix.texi (Invoking guix lint): Document it.
2022-08-08 11:22:31 +02:00
Mathieu Othacehe
bde902cb78
gnu: guile-newt: Update to 0.0.3.
Fixes: <https://issues.guix.gnu.org/57037>.

* gnu/packages/guile-xyz.scm (guile-newt): Update to 0.0.3.
[native-inputs]: Add guile-3.0 that is required when cross-compiling.
2022-08-08 10:56:23 +02:00
宋文武
19592539e5
gnu: cool-retro-term: Fix build and runtime errors.
This fixes <https://issues.guix.gnu.org/57049>.

* gnu/packages/terminals.scm (cool-retro-term)
[inputs]: Add qtquickcontrols-5.
[arguments]: Fix 'QML2_IMPORT_PATH'.
2022-08-08 16:04:17 +08:00
Marius Bakke
0e320fbfdc
gnu: chatty: Update to 0.6.7.
* gnu/packages/messaging.scm (chatty): Update to 0.6.7.
[source]: Fetch git submodules too.
[arguments]: Add pre-check phase.
[native-inputs]: Add XORG-SERVER-FOR-TESTS.
[inputs]: Add GNOME-DESKTOP.
2022-08-08 09:32:13 +02:00
Marius Bakke
8ad976d49f
gnu: postorius: Update to 1.3.6.
* gnu/packages/mail.scm (postorius): Update to 1.3.6.
[inputs]: Change from PYTHON-DJANGO-2.2 to PYTHON-DJANGO.
2022-08-08 09:32:13 +02:00
Marius Bakke
d6dab262d5
gnu: python-django@3.2: Update to 3.2.15 [fixes CVE-2022-36359].
* gnu/packages/django.scm (python-django-3.2): Update to 3.2.15.
2022-08-08 09:32:13 +02:00
Marius Bakke
bd698fede7
gnu: python-django: Update to 4.0.7 [fixes CVE-2022-36359].
* gnu/packages/django.scm (python-django-4.0): Update to 4.0.7.
2022-08-08 09:32:13 +02:00
宋文武
ee216d16ef
gnu: tiled: Fix build.
Fixes <https://issues.guix.gnu.org/57048>.

* gnu/packages/game-development.scm (tiled)[arguments]:
Use 'search-input-file' to locate 'lrelease'.
2022-08-08 10:34:58 +08:00
Efraim Flashner
eed987855c
gnu: msmtp: Use G-Expressions.
* gnu/packages/mail.scm (msmtp)[arguments]: Rewrite using G-Expressions.
2022-08-07 20:36:19 +03:00
Efraim Flashner
f63ef9ab0d
gnu: msmtp: Don't override defaults when checking for network.
This is no longer needed as the defaults have changed upstream.

* gnu/packages/mail.scm (msmtp)[arguments]: Remove substitution to force
'ping' instead of 'netcat' to check for network access.
2022-08-07 20:31:31 +03:00
Efraim Flashner
eb8ab91284
gnu: msmtp: Update to 1.8.22.
* gnu/packages/mail.scm (msmtp): Update to 1.8.22.
2022-08-07 20:04:53 +03:00
Efraim Flashner
f0ae9da321
gnu: gss: Update to 1.0.4.
* gnu/packages/gsasl.scm (gss): Update to 1.0.4.
2022-08-07 19:54:34 +03:00
Efraim Flashner
92769ab282
gnu: libtirpc: Fix CVE-2021-46828.
* gnu/packages/onc-rpc.scm (libtirpc)[replacement]: New field.
(libtirpc/fixed): New variable.
(libtirpc-hurd)[source]: Add patch.
* gnu/packages/patches/libtirpc-CVE-2021-46828.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2022-08-07 17:35:58 +03:00
Efraim Flashner
6757ee9d2b
gnu: shishi: Use G-expressions.
* gnu/packages/kerberos.scm (shishi)[arguments]: Convert to list of
G-Expressions.
2022-08-07 16:20:38 +03:00
Efraim Flashner
e3e33b5251
gnu: shishi: Build with newer linux-pam.
* gnu/packages/kerberos.scm (shishi)[inputs]: Replace linux-pam-1.2 with
linux-pam.
* gnu/packages/linux.scm (linux-pam-1.2): Remove variable.
2022-08-07 16:17:23 +03:00
Efraim Flashner
544ff0b6c2
gnu: shishi: Update to 1.0.3.
* gnu/packages/kerberos.scm (shishi): Update to 1.0.3.
[source]: Remove patch.
[arguments]: Remove configure flag overriding libgcrypt detection.
* gnu/packages/patches/shishi-fix-libgcrypt-detection.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
2022-08-07 16:16:42 +03:00
Olivier Dion
120d8f8563
gnu: guile-sqlite3: Update to 0.1.3.
* gnu/packages/guile.scm (guile-sqlite3): Update to 0.1.3.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-07 11:45:28 +02:00
Jean-Pierre De Jesus DIAZ
c0e713f6e2
gnu: newt: Fix cross-compilation.
* gnu/packages/slang.scm (newt): Fix-cross compilation.
  [arguments]: Use G-Expressions for `#:configure-flags',
  `#:make-flags' and `#:phases', also set correct path for
  `python-config'.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-07 11:32:44 +02:00
Maxim Cournoyer
bb5afc5b9e
gnu: gnome-system-monitor: Update to 42.0.
* gnu/packages/gnome.scm (gnome-system-monitor): Update to 42.0.
2022-08-06 21:52:46 -04:00
Hilton Chain
515288874f
gnu: Add i3-autotiling.
* gnu/packages/python-xyz.scm (i3-autotiling): New variable.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-08-06 23:14:42 +02:00
Hilton Chain
86da72fb5b
gnu: Add python-i3ipc.
* gnu/packages/python-xyz.scm (python-i3ipc): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-08-06 23:14:42 +02:00
Hilton Chain
80ac0c0a7e
gnu: Add emacs-vundo.
* gnu/packages/emacs-xyz.scm (emacs-vundo): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-08-06 23:14:42 +02:00
Joeke de Graaf
902fea9136
gnu: Add wavbreaker.
* gnu/packages/mp3.scm (wavbreaker): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-08-06 23:14:41 +02:00
Ludovic Courtès
6e5a1e2a62
doc: Add reference to "Writing Manifests".
* doc/guix.texi (Defining Package Variants): Rewrite to "Writing
Manifests" rather than the 'profile-manifest' anchor.
2022-08-06 23:14:41 +02:00
Ludovic Courtès
eab5366e67
disarchive-manifest: Exclude the Chromium tarball.
* etc/disarchive-manifest.scm (disarchive-collection): Exclude
"chromium-" tarballs.
2022-08-06 23:14:41 +02:00
Maxime Devos
ad878a2c5e
xdg-utils: Support cross-compilation.
It has been verified that this does not cause rebuilds when compiling
natively.  The references graph when cross-compiling has also been verified --
glibc-2.33 and the native bash-static-5.1.8 still remains in the graph, but
via the cross-compiled inetutils-2.0, ncurses-6.2.20210619 and via
gcc-cross-TARGET-10.3.0-lib, which is not related with Perl cross-compilation.

* gnu/packages/freedesktop.scm
(xdg-utils)[inputs]{bash-minimal,file}: New inputs when cross-compiling.
(xdg-utils)[arguments]<#:phases>{locate-catalog-files}: Add 'native-inputs'
argument when cross-compiling. Look for docbook-xml and docbook-xsl in
native-inputs when cross-compiling.  While we are at it, eliminate input
labels with search-input-file.
(xdg-utils)[arguments]<#:phases>{patch-hardcoded-patch}: Use
search-input-file + inputs instead of 'which' when cross-compiling.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-06 18:23:06 +02:00
Maxime Devos
b914ccc915
perl-file-mimeinfo: Fix cross-compilation.
* gnu/packages/freedesktop.scm
(perl-file-mimeinfo)[arguments]<#:phases>: Make it a G-exp to avoid messy nested
quasiquotation.
{wrap-programs}: When cross-compiling, don't use the PELRL5LIB environment
variable, instead use 'search-path-as-list'.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-06 18:21:48 +02:00
Maxime Devos
607f9a9af9
gnu: freedesktop: Add 'bash' input for 'wrap-program'
It is required for cross-compilation.
Cherry-picked from <https://issues.guix.gnu.org/49327#6>.

* gnu/packages/freedesktop.scm
(udisks)[inputs]: Add 'bash-minimal' when cross-compiling.
(perl-file-mimeinfo)[inputs]: Likewise.
(udiskie)[inputs]: Likewise.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-06 18:21:14 +02:00
Maxime Devos
74fbbb1661
build-system/perl: Support cross-compilation of some Perl packages.
* guix/build-system/perl.scm: Add info on cross-compilation.
(lower)[private-keywords]: Remove #:target when cross-compiling.
(lower)[target]: Set.
(host-inputs)[perl]: New entry.
(host-inputs)[(standard-packages)]: Move to ...
(build-inputs)[(standard-packages)]: ... here when cross-compiling.
(build-inputs)[standard-cross-packages]: Add when cross-compiling.
(target-inputs): New entry when cross-compiling.
(build): Use perl-cross-build when cross-compiling.
(perl-cross-build): New procedure.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-06 18:21:12 +02:00
Liliana Marie Prikler
ffea1d47cb
gnu: ugrep: Simplify snippet.
* gnu/packages/search.scm (ugrep)[source]: Use nested for-each loop.
Simplify regular expressions.
2022-08-06 09:53:09 +02:00
kiasoc5
6665600e23
gnu: ugrep: Use G-Expressions.
* gnu/packages/search.scm (ugrep)[source]: Convert snippet to G-Expression.
[arguments]: Convert to list of G-Expressions.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-08-06 09:31:35 +02:00
kiasoc5
47989e0a5f
gnu: ugrep: Build with zstd support.
* gnu/packages/search.scm (ugrep)[inputs]: Add zstd lib.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-08-06 09:27:00 +02:00
kiasoc5
d457a5ec09
gnu: yt-dlp: Use new package style.
* gnu/packages/video.scm (yt-dlp)[source](snippet): Rewrite as a G-Expression.
[arguments]: Use G-Expressions.
[inputs]: Drop labels.
[native-inputs]: Likewise.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-08-06 09:13:04 +02:00
kiasoc5
7f9b7ed0ff
gnu: yt-dlp: Update to 2022.07.18.
* gnu/packages/video.scm (yt-dlp): Update to 2022.07.18.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2022-08-06 09:13:00 +02:00