Commit graph

80475 commits

Author SHA1 Message Date
Maxim Cournoyer 4f3bdc8f21
pack: Prevent duplicate files in tar archives.
Tar translate duplicate files in the archive into hard links.  These can cause
problems, as not every tool support them; for example dpkg doesn't.

* gnu/system/file-systems.scm (reduce-directories): New procedure.
(file-prefix?): Lift the restriction on file prefix.  The procedure can be
useful for comparing relative file names.  Adjust doc.
(file-name-depth): New procedure, extracted from ...
(btrfs-store-subvolume-file-name): ... here.
* guix/scripts/pack.scm (self-contained-tarball/builder): Use
reduce-directories.
* tests/file-systems.scm ("reduce-directories"): New test.
2021-06-29 14:53:21 -04:00
Maxim Cournoyer 6b0e55cde9
pack: Improve naming of the packs store file names.
Instead of just naming them by their pack type, add information from the
package(s) they contain to make it easier to differentiate them.

* guix/scripts/pack.scm (define-with-source): New macro.
(manifest->friendly-name): Extract procedure from ...
(docker-image): ... here, now defined via the above macro.  Adjust REPOSITORY
argument value accordingly.
(guix-pack): Derive NAME using MANIFEST->FRIENDLY-NAME.
2021-06-29 14:53:21 -04:00
Maxim Cournoyer f72aa3834b
pack: Fix typo.
* guix/scripts/pack.scm (self-contained-tarball/builder): Fix typo.
2021-06-29 14:53:21 -04:00
Maxim Cournoyer 7708c0b5e3
pack: Factorize base tar options.
* guix/docker.scm (%tar-determinism-options): Move to a new module and rename
to `tar-base-options'.  Adjust references accordingly.
* guix/build/pack.scm: New file.
* Makefile.am (MODULES): Register it.
* guix/scripts/pack.scm (self-contained-tarball/builder): Use it.
2021-06-29 14:53:21 -04:00
Maxim Cournoyer 91e8372838
pack: Extract builder code from self-contained-tarball.
This is made to allow reusing it for the debian-archive pack format, added in
a subsequent commit.

* guix/scripts/pack.scm (self-contained-tarball/builder): New procedure,
containing the build code extracted from self-contained-tarball.
(self-contained-tarball): Use the above procedure.
2021-06-29 14:53:20 -04:00
Mathieu Othacehe e2ff126588
installer: Fix crash when deleting a free space partition.
Fixes: <https://issues.guix.gnu.org/49126>.

* gnu/installer/newt/partition.scm (run-disk-page): Fix the return value when
removing a free space partition.
2021-06-29 20:44:23 +02:00
Maxime Devos 5ef96ecaae
weather: Handle zero requested store items gracefully.
This can happen if the weather information of a package
is requested for an unsupported system.  For example,
try "guix weather icecat --system=aarch64-linux".

* guix/scripts/weather.scm
  (report-server-coverage): Do not divide by zero when zero
  store items are requested from a server.

Fixes: <https://issues.guix.gnu.org/49263>
Reported-By: Jack Hill <jackhill@jackhill.us>
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-29 20:11:56 +02:00
luhui fda0959a14
services: kmscon: Add keyboard-layout fields.
* gnu/services/base.scm (<kmscon-configuration>): Add keyboard-layout fields.
* doc/guix.texi (Base Services): Document them.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-06-29 19:01:25 +02:00
Thorsten Wilms 5ed105a8bb
gnu: Update caps-plugins-lv2.
* gnu/packages/audio.scm (caps-plugins-lv2): Update, since pull-request
has been merged, aside of other updates.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:33 +02:00
Xinglu Chen 2ad896751c
services: configuration: Allow specifying prefix for serializer names.
Sometimes two configurations might have the same types for their field values,
but the values might be serialized in two completely different
ways (e.g. because the two programs have different configuration languages).

An example of this would be the ‘serialize-boolean’ procedure in (gnu services
mail) and (gnu services getmail).  They both serialize a boolean value, but
because the Dovecot’s configuration language has a different syntax to the
configuration language for Getmail, two different procedures have to be
defined.

One way to workaround this would be to specify custom serializers for many
fields in order to separate the serialization of the values that have the same
type but serialize in different ways.  This could get very tedious, especially
if there are many configurations in the same module.

Another way would be to move one of the configurations to its own module, like
what was done with (gnu services getmail).  However, this would mean that
there would be multiple modules containing configurations for related
programs, e.g. we have (gnu services mail) and (gnu services getmail), it
doesn’t make much sense to keep the Getmail configuration in its own module.

This patch will allow one to write something like this:

  (define-configuration foo-configuration
    (bar
      (string "bob")
      "Option bar.")
    (prefix bar-))

and the value of the ‘bar’ field would be serialized using a procedure named
‘bar-serialize-string’ instead of just ‘serialize-string’.

* gnu/services/configuration.scm (define-maybe-helper): Accept ‘prefix’
argument for using serializer with custom prefix.
(define-maybe): Pattern match on ‘prefix’ literal.
(define-configuration-helper): Accept ‘prefix’ argument for using serializer
with custom prefix.
(define-configuration): Pattern match on ‘prefix’ literal.
* tests/services/configuration.scm ("serialize-configuration with prefix"):
New test.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:33 +02:00
zimoun 5d47f30e93
gnu: python2-wsgiproxy2: Remove package.
* gnu/packages/python-web.scm (python2-wsgiproxy2): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:33 +02:00
zimoun 1f2ea75aed
gnu: python2-sqlparse: Remove package.
* gnu/packages/databases.scm (python2-sqlparse): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:33 +02:00
zimoun 87b872d5c5
gnu: python2-scripttest: Remove package.
* gnu/packages/check.scm (python2-scripttest): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:32 +02:00
zimoun 24c7e0497d
gnu: python2-plotly: Remove package.
* gnu/packages/graph.scm (python2-plotly): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:32 +02:00
zimoun 846b1056e8
gnu: python2-rpython: Remove package.
* gnu/packages/python-xyz.scm (python2-rpython): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:32 +02:00
zimoun 81fa44f431
gnu: python2-roca-detect: Remove package.
* gnu/packages/python-crypto.scm (python2-roca-detect): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:32 +02:00
zimoun 61e88d28f4
gnu: python2-mapnik: Remove package.
* gnu/packages/geo.scm (python2-mapnik): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:32 +02:00
zimoun d284e35196
gnu: python2-libadalang: Remove package.
* gnu/packages/ada.scm (python2-libadalang): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:31 +02:00
zimoun 3c1e1ec107
gnu: python2-larch: Remove package.
* gnu/packages/python-xyz.scm (python2-larch): Remove variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-06-29 12:37:31 +02:00
Ludovic Courtès 94bae22204
gnu: scotch: Update to 6.1.1.
* gnu/packages/maths.scm (scotch): Update to 6.1.1.
[native-inputs]: Add GFORTRAN.
[arguments]: Set 'FC' in 'Makefile.in'.
(scotch32)[arguments]: Likewise.
(scotch-shared)[arguments]: Likewise.
2021-06-29 12:37:31 +02:00
Ricardo Wurmus 4aa90cb4b3
gnu: Add r-cistopic-next.
* gnu/packages/bioconductor.scm (r-cistopic-next): New variable.
2021-06-29 12:28:44 +02:00
Ricardo Wurmus 05238ae30e
gnu: Add r-text2vec.
* gnu/packages/cran.scm (r-text2vec): New variable.
2021-06-29 12:28:44 +02:00
Ricardo Wurmus 1e9f4a86a7
gnu: Add r-rsparse.
* gnu/packages/cran.scm (r-rsparse): New variable.
2021-06-29 12:28:44 +02:00
Ricardo Wurmus 3ad0ec5fa7
gnu: Add r-float.
* gnu/packages/cran.scm (r-float): New variable.
2021-06-29 12:28:44 +02:00
Ricardo Wurmus ae00ea94aa
gnu: Add r-mlapi.
* gnu/packages/cran.scm (r-mlapi): New variable.
2021-06-29 12:28:44 +02:00
David Dashyan 1be97fa9ce
gnu: Add pcl.
* gnu/packages/c.scm (pcl): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-06-29 10:15:49 +03:00
Giacomo Leidi 08110ecc2f
gnu: hunspell-dictionary: Update to 7.1.4.2.
* gnu/packages/hunspell.scm (hunspell-dict-it-it): Update to 7.1.4.2.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-06-29 09:35:34 +03:00
Tobias Geerinckx-Rice 87e1c2fd7e
Really revert commit a8b705252b.
I give up.
2021-06-29 06:44:12 +02:00
Tobias Geerinckx-Rice 7bd59795f1
gnu: egl-wayland: Update to 1.1.7.
* gnu/packages/graphics.scm (egl-wayland): Update to 1.1.7.
2021-06-29 06:25:56 +02:00
Tobias Geerinckx-Rice ac5dd01c2e
gnu: remind: Update to 3.3.7.
* gnu/packages/calendar.scm (remind): Update to 3.3.7.
2021-06-29 06:25:56 +02:00
Tobias Geerinckx-Rice 5a5e39e69c
gnu: libavif: Update to 0.9.2.
* gnu/packages/image.scm (libavif): Update to 0.9.2.
2021-06-29 06:25:56 +02:00
Tobias Geerinckx-Rice 39492f8cd7
gnu: erofs-utils: Edit description.
* gnu/packages/linux.scm (erofs-utils)[synopsis]: Add missing article.
[description]: Mark up.
2021-06-29 06:25:49 +02:00
Tobias Geerinckx-Rice fa50c9b072
gnu: erofs-utils: Update to 1.3.
* gnu/packages/linux.scm (erofs-utils): Update to 1.3.
2021-06-29 05:18:51 +02:00
Tobias Geerinckx-Rice 16c0380871
gnu: powerstat: Update to 0.02.26.
* gnu/packages/linux.scm (powerstat): Update to 0.02.26.
[arguments]: Remove obsolete 'respect-$prefix phase.
2021-06-29 05:18:51 +02:00
Tobias Geerinckx-Rice 1ef68130a3
gnu: man-pages: Update to 5.12.
* gnu/packages/man.scm (man-pages): Update to 5.12.
[arguments]: Follow switch to standard ‘mandir’ over ‘MANDIR’.  \o/
2021-06-29 05:18:51 +02:00
Tobias Geerinckx-Rice 5b9a769b23
gnu: photoflare: Update to 1.6.9.
* gnu/packages/photo.scm (photoflare): Update to 1.6.9.
2021-06-29 05:18:50 +02:00
Tobias Geerinckx-Rice 13d938bead
gnu: cgal: Remove duplicate licence directory.
* gnu/packages/graphics.scm (cgal)[arguments]: Set CGAL_INSTALL_DOC_DIR
to match Guix's own default in #:configure-flags.
2021-06-29 05:18:50 +02:00
Tobias Geerinckx-Rice 32037d8f34
gnu: cgal: Update to 5.2.2.
* gnu/packages/graphics.scm (cgal): Update to 5.2.2.
2021-06-29 05:18:50 +02:00
Tobias Geerinckx-Rice 7e435f6c23
gnu: gnuradio: Update to 3.9.2.0.
* gnu/packages/radio.scm (gnuradio): Update to 3.9.2.0.
2021-06-29 01:52:39 +02:00
Tobias Geerinckx-Rice 87c09ae73f
gnu: gnuradio: Build from Git sources.
* gnu/packages/radio.scm (gnuradio)[source]: Use GIT-FETCH and
GIT-FILE-NAME.
[arguments]: Add a new 'make-source-writable phase.
2021-06-29 01:52:39 +02:00
Tobias Geerinckx-Rice 54f0468fb5
Revert parts of "gnu: Add i7z."
This reverts parts of commit a8b705252b,
because it's apparently revert things day, and also I'm an idiot
2021-06-29 01:14:31 +02:00
Tobias Geerinckx-Rice 98a85c78af
gnu: libass: Update to 0.15.1.
* gnu/packages/video.scm (libass): Update to 0.15.1.
2021-06-29 01:08:18 +02:00
Tobias Geerinckx-Rice 624d477bc0
gnu: editorconfig-core-c: Update to 0.12.5.
* gnu/packages/text-editors.scm (editorconfig-core-c): Update to 0.12.5.
2021-06-29 01:08:17 +02:00
Tobias Geerinckx-Rice 10b5a201ba
gnu: librem-ec-acpi-linux-module: Fix licence.
* gnu/packages/linux.scm (librem-ec-acpi-linux-module)[license]: Remove plus.
2021-06-29 01:08:17 +02:00
Tobias Geerinckx-Rice a8b705252b
gnu: Add i7z.
* gnu/packages/hardware.scm (i7z): New public variable.
2021-06-29 01:08:17 +02:00
Ludovic Courtès 05528dcd48
Revert "guix build: Autoload (gnu packages)."
This reverts commit fd62b4cf88, which
would lead 'GUIX_PACKAGE_PATH' to be ignored for instance when using
'guix build -f file.scm', as shown by 'tests/guix-build.sh'.
2021-06-29 00:10:54 +02:00
Ludovic Courtès fd62b4cf88
guix build: Autoload (gnu packages).
* guix/scripts/build.scm: Autoload (gnu packages).
2021-06-29 00:00:14 +02:00
Ludovic Courtès f386a993ef
pull: Use SRFI-71 instead of SRFI-11.
* guix/scripts/pull.scm (display-new/upgraded-packages): Use SRFI-71 'let'.
2021-06-29 00:00:14 +02:00
Ludovic Courtès 0ba4f0caa4
pull: Autoload (gnu ...) modules.
This reduces startup time for 'guix pull --help' and similar.

* guix/scripts/pull.scm: Autoload (gnu ...) modules.
2021-06-29 00:00:13 +02:00
Ludovic Courtès ab37731a8d
ui: Have 'guix help' stat less.
This reduces the number of syscalls for:

  env -i $(type -P strace) -c $(type -P guix) help

from 4.3K to 2.2K, thereby reducing startup time.

Reported by Julien Lepiller.

* guix/ui.scm (run-guix-command): Move %FILE-PORT-NAME-CANONICALIZATION
to...
(run-guix): ... here.
2021-06-29 00:00:13 +02:00