Commit graph

81113 commits

Author SHA1 Message Date
Maxim Cournoyer
11f0698243
pack: Streamline how files are included in tarballs.
Thanks to Guillem Jover <guillem@debian.org> on the OFTC's #debian-dpkg
channel for helping with troubleshooting.

Letting GNU Tar recursively walk the complete files hierarchy side-steps the
risks associated with providing a list of file names:

1. Duplicated files in the archive (recorded as hard links by GNU Tar)
2. Missing parent directories.

The above would cause dpkg to malfunction, for example by aborting early and
skipping triggers when there were missing parent directories.

* guix/scripts/pack.scm (self-contained-tarball/builder): Do not call
POPULATE-SINGLE-PROFILE-DIRECTORY, which creates extraneous files such as
/root.  Instead, call POPULATE-STORE and INSTALL-DATABASE-AND-GC-ROOTS
individually to more precisely generate the file system.  Replace the list of
files by the current directory, "." and streamline the way options are passed.
* gnu/system/file-systems.scm (reduce-directories): Remove procedure.
* tests/file-systems.scm ("reduce-directories"): Remove test.
2021-07-18 02:10:49 -04:00
Maxim Cournoyer
b019496fc3
pack/deb: Add default section and priority fields to the control file.
These fields, while optional per dpkg, are required by other tools such as
reprepro, commonly used to generate apt repositories.

* guix/scripts/pack.scm (debian-archive): Set the control file section field
to 'misc' and the priority field to 'optional'.
2021-07-18 02:02:34 -04:00
Maxim Cournoyer
aeded14b83
pack: Allow embedding custom control files in deb packs.
* guix/scripts/pack.scm (self-contained-tarball/builder)
[extra-options]: New argument.
(self-contained-tarball, squashfs-image, docker-image)
(debian-archive): Likewise.  Remove two TODO comments.  Document
EXTRA-OPTIONS.  Use the custom control files when provided.
(%deb-format-options): New variable.
(show-deb-format-options, show-deb-format-options/detailed): New procedures.
(%options): Register new options.
(show-help): Augment with new usage.
(guix-pack): Validate and propagate new argument values.
* doc/guix.texi (Invoking guix pack)[deb]: Document how to list advanced
options.  Add an example.
* tests/pack.scm (deb archive...): Provide extra-options to the debian-archive
procedure, and validate that the provided files are embedded in the pack.
2021-07-18 02:02:34 -04:00
Maxim Cournoyer
15b4372b60
import: go: Fix indentation.
* guix/import/go.scm: Fix indentation.
2021-07-18 01:57:17 -04:00
Sarah Morgensen
793ba333c6
import: go: Upgrade go.mod parser.
Upgrade the go.mod parser to handle the full go.mod spec, and to gracefully
handle unexpected/malformed syntax.  Restructure parser usage, making the
parse tree available for other uses.

guix/import/go.scm (parse-go.mod): Parse using (ice-9 peg) instead of
regex matching for more robustness.  Return a list of directives.
(go.mod-directives): New procedure.
(go.mod-requirements): Likewise.
(go-module->guix-package): Use it.
(%go.mod-replace-directive-rx): Remove unused variable.
tests/go.scm (testing-parse-mod): Adjust accordingly.
(go.mod-requirements)
(fixture-go-mod-unparseable)
(fixture-go-mod-retract)
(fixture-go-mod-strings): New variables.
("parse-go.mod: simple")
("parse-go.mod: comments and unparseable lines")
("parse-go.mod: retract")
("parse-go.mod: raw strings and quoted strings")
("parse-go.mod: complete"): New tests.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-18 01:57:17 -04:00
Maxim Cournoyer
3217a04b03
tests/go: Remove unused variable.
* tests/go.scm: Delete extraneous newline.
(fixture-latest-for-go-check): Remove variable.
2021-07-17 23:26:58 -04:00
Sarah Morgensen via Guix-patches via
5eba9c0960
import: go: Handle multiple go-import meta tags.
* guix/import/go.scm (fetch-module-meta-data): Parse all go-import meta
tags and return the first 'module-meta' with a matching import prefix.
[go-import->module-meta]: Extract parsing into new procedure.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-17 23:26:52 -04:00
Sarah Morgensen via Guix-patches via
59d20bcfcc
import: go: Fix parsing of pkg.go.dev licenses after site update.
* guix/import/go.scm (go-package-licenses): Find license names in
'h2 // div // *text*' elements rather than 'h2 // *text*' elements.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-17 22:13:39 -04:00
Brice Waegeneire
2aa65869ba
doc: Fix docker-configuration field names.
* doc/guix.texi (Docker): Correct filed names "docker" and "docker-cli".
2021-07-17 22:49:20 +02:00
Brice Waegeneire
425e9aa4f3
gnu: rsnapshot: Remove modifications to tests.
Upstream fixed those tests, no need to tweak them anymore.

* gnu/packages/backup.scm (rsnapshot)[arguments]: Remove modifications
  to tests done in 'check' phase.
2021-07-17 22:47:15 +02:00
Tobias Geerinckx-Rice
4b8ac04e2b
gnu: rsnapshot: Fix tests.
* gnu/packages/backup.scm (rsnapshot)[arguments]: Tweak substitution.
2021-07-17 19:48:54 +02:00
Marius Bakke
550eca2a7b
gnu: ungoogled-chromium: Update to 91.0.4472.164-0.a9eb6fd.
* gnu/packages/chromium.scm (%chromium-version): Set to 91.0.4472.164.
(ungoogled-chromium): Update hash.
2021-07-17 19:40:58 +02:00
Marius Bakke
4933641bb1
gnu: python-coveralls: Update to 3.1.0.
* gnu/packages/python-check.scm (python-coveralls): Update to 3.1.0.
[arguments]: Remove trailing #t's.
[native-inputs]: Add PYTHON-RESPONSES.
2021-07-17 19:40:58 +02:00
Marius Bakke
3918d6c4b6
gnu: gdbm: Use HTTPS home page.
* gnu/packages/dbm.scm (gdbm)[home-page]: Use HTTPS.
2021-07-17 19:40:57 +02:00
Pierre Neidhardt
9591f68550
gnu: arx-libertatis: Update to 1.2.
* gnu/packages/games.scm (arx-libertatis): Update to 1.2.
[inputs]: Replace sdl with sdl2 and mesa with libepoxy.
2021-07-17 17:48:26 +02:00
Justin Veilleux
9cb35c0216
gnu: Add transmission-remote-gtk.
* gnu/packages/bittorrent.scm (transmission-remote-gtk): New variable.
* gnu/packages/patches/transmission-remote-gtk-fix-appstream.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Co-authored-by: Leo Famulari <leo@famulari.name>
2021-07-16 23:53:46 -04:00
Hartmut Goebel
3ee0f170c8
ci: Properly construct URLs.
Implement a new function "api-url", which constructs URLs using relative URI
and "resolve-uri-reference" (which implements the algorithm specified in RFC
3986 section 5.2.2) for building the URL, instead of just appending
strings. This avoids issued if the server-url ends with a slash.

Since "api-url" uses URI-objects, it makes sense to also construct the
query-part of the URL here. For this "api-url" accepts optional
key-value-pairs.

New function "json-api-fetch" is a wrapper using "api-url".

* guix/ci.scm (api-url): New function. (build): Use it.
  (json-api-fetch): New function. (queued-builds, latest-builds,
  evaluation, latest-evaluations, evaluation-jobs: Use it.
2021-07-16 19:48:24 +02:00
Hartmut Goebel
ccdf7b8006
substitutes: Properly construct URLs.
Use relative URIs and "resolve-uri-reference" (which implements the algorithm
specified in RFC 3986 section 5.2.2) for building the URL, instead of just
appending strings. This avoids issued if the cache-url ends with a slash.

* guix/substitutes.scm (narinfo-request): Use resolve-uri-reference for
  constructing the url.
2021-07-16 19:36:11 +02:00
Hartmut Goebel
f3b20baa4d
substitute: Fix handling of short option "-h".
The short option was listed in the help-text, but not recognized.
2021-07-16 19:36:11 +02:00
Ivan Gankevich
68ce40cad7
gnu: Add blitz.
* gnu/packages/maths.scm (blitz): New variable.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2021-07-16 10:02:08 +05:30
Maxim Cournoyer
556f027daa
gnu: kde-utils.scm: Fix copyright line.
This is a follow up commit to 4094d12df1.

* gnu/packages/kde-utils.scm: Fix copyright line for Zheng Junjie.
2021-07-16 00:20:53 -04:00
Z572
4094d12df1
gnu: Add ark.
* gnu/packages/kde-utils.scm (ark): New variable.
* gnu/packages/patches/ark-skip-xar-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-16 00:06:05 -04:00
Maxime Devos
dd98685356
gnu: libolm: Unbundle unused blob.
* gnu/package/crypto.scm: (libolm)[source][snippet]: Delete
"gradle-wrapper.jar".  It is a bundled compiled (!) version of gradle.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 21:43:52 -04:00
Maxim Cournoyer
01d7e8c278
doc: Use Awk in one of the examples.
The output of the listing of available packages now contains a mix of tab and
space characters, so that its output is more pleasing to read.  This preserves
most simple uses of 'cut', but the added extra space padding can cause a
change in behavior in some scenarios.

* doc/guix.texi (Invoking guix build): Replace 'cut' by 'awk' in one of the
examples.
2021-07-15 16:12:04 -04:00
Steve Sprang
423f5f867c
ui: Improve output appearance when listing generations.
* guix/ui.scm (display-profile-content-diff): Use pretty-print-table to format
output.
(display-profile-content): Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 16:11:47 -04:00
Steve Sprang
481d660527
package: Improve output appearance when listing packages.
* guix/scripts/package.scm (process-query): Use pretty-print-table when
listing installed and available packages.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 16:09:53 -04:00
Steve Sprang
b73b9aae0d
utils: Add a procedure for pretty printing tabular data.
* guix/utils.scm (pretty-print-table): New procedure.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 16:09:53 -04:00
terramorpha
a49c5488bd
gnu: Add putty.
* gnu/packages/networking.scm (putty): New variable.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-07-15 20:55:42 +02:00
Leo Famulari
7e0da2f180
gnu: btrfs-progs: Update to 5.13.
* gnu/packages/linux.scm (btrfs-progs): Update to 5.13.
2021-07-15 11:12:32 -04:00
Vinicius Monego
9cf74d8f23
gnu: Add rust-mdns-0.3.
* gnu/packages/crates-io.scm (rust-mdns-0.3): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 15:56:00 +03:00
Vinicius Monego
ef84c9eaea
gnu: Add rust-dns-parser-0.8.
* gnu/packages/crates-io.scm (rust-dns-parser-0.8): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 15:56:00 +03:00
Vinicius Monego
ef46ab3cf8
gnu: Add rust-get-if-addrs-0.5.
* gnu/packages/crates-io.scm (rust-get-if-addrs-0.5): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 15:55:59 +03:00
Vinicius Monego
d7bcdd61c5
gnu: Add rust-unwrap-1.
* gnu/packages/crates-io.scm (rust-unwrap-1): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 15:55:59 +03:00
Vinicius Monego
a8090020fe
gnu: Add rust-get-if-addrs-sys-0.1.
* gnu/packages/crates-io.scm (rust-get-if-addrs-sys-0.1): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 15:55:59 +03:00
Vinicius Monego
1605b444f3
gnu: Add rust-c-linked-list-1.
* gnu/packages/crates-io.scm (rust-c-linked-list-1): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 15:55:56 +03:00
Leo Prikler
a0c4465e7c
gnu: evince: Build with libkpathsea.
* gnu/packages/gnome.scm (evince)[inputs]: Add libkpathsea.
2021-07-15 13:14:25 +02:00
Leo Prikler
e89036e2f1
gnu: Add texlive-libkpathsea.
* gnu/packages/tex.scm (texlive-libkpathsea): New variable.
2021-07-15 13:14:25 +02:00
Leo Prikler
313d5e6286
gnu: Add python-pygame-sdl2.
* gnu/packages/game-development.scm (python-pygame-sdl2): New variable.
Reuse package definition from previous python2-pygame-sdl2, with the
following additions:
[source]: Also drop “gen3” in snippet.
[arguments]: Drop #:python.
[native-inputs]: Use ‘python-cython’ instead of ‘python2-cython’.
(python2-pygame-sdl2): Define in terms of python-pygame-sdl2.
2021-07-15 13:13:40 +02:00
Leo Prikler
769f7d2ccf
gnu: renpy: Correct inputs.
* gnu/packages/game-development.scm (renpy)[#:modules]: Add SRFI-1.
[#:imported-modules]: Likewise.
[#:phases]<fix-commands>: Search for ‘python2’ and ‘xdg-open’ in inputs.
<start-xserver>: Search for ‘xorg-server’ in native-inputs.
<install>: Search for ‘python2’ in inputs.
<wrap>: Search for python dependencies in inputs.
[inputs]: Add python2, drop python2-pygame (already propagated by
python2-renpy). Move xorg-server from here…
[native-inputs]: … to here.
[propagated-inputs]: Empty.
2021-07-15 13:13:40 +02:00
Leo Prikler
3d7dea0906
gnu: python2-renpy: Correct inputs.
* gnu/packages/game-development.scm (python2-renpy)[#:phases]<fix-commands>:
Search for ‘xdg-open’ in inputs.
<set-build-vars>: Search for ‘cython’ in native-inputs.
[native-inputs]: Move ‘xdg-utils’ from here…
[inputs]: … to here.
2021-07-15 13:13:40 +02:00
Leo Prikler
a613e6268d
gnu: python2-renpy: Update description.
* gnu/packages/game-development.scm (python2-renpy)[description]: Mention,
that it's only used for bootstrapping renpy.
2021-07-15 13:13:40 +02:00
Leo Prikler
d4bef961b5
gnu: python2-renpy: Drop unused Ren'py sources.
These sources are written in Ren'py (the language) and thus not particularly
useful before renpy itself is built.  In particular, they serve no purpose
when installed without prior compilation.

* gnu/packages/game-development.scm (python2-renpy)[#:phases]<install>:
Drop installed "common" folder.
(renpy)[#:phases]<install>: Adjust comment accordingly.
2021-07-15 13:13:39 +02:00
Vinicius Monego
17c8fedc25
gnu: Add rust-mpris-player-0.6.
* gnu/packages/crates-io.scm (rust-mpris-player-0.6): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 10:32:28 +03:00
Vinicius Monego
a0a6fb15e5
gnu: rust-system-deps-1: Fix version requirements.
* gnu/packages/crates-io.scm (rust-system-deps-1)[source]: Add snippet to fix
rust-version-compare version.
[arguments]<#:phases>: Remove 'fix-version-requirements phase.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 10:30:19 +03:00
Vinicius Monego
bfefe256a3
gnu: Add rust-dbus-0.6.
* gnu/packages/crates-io.scm (rust-dbus-0.6): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 10:27:44 +03:00
Vinicius Monego
e3ff4a5bff
gnu: Add rust-libdbus-sys-0.2.
* gnu/packages/crates-io.scm (rust-libdbus-sys-0.2): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-07-15 10:25:48 +03:00
Jack Hill
7db8fd6e72
gnu: ffmpeg: Enable vaapi.
* gnu/packages/video.scm (ffmpeg)[arguments]: Add --enable-vaapi to
configure-flags.

Signed-off-by: Leo Famulari <leo@famulari.name>
2021-07-15 01:54:30 -04:00
Leo Famulari
c45df57313
gnu: linux-libre 5.4: Update to 5.4.132.
* gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.132.
(linux-libre-5.4-pristine-source): Update hash.
2021-07-15 01:54:30 -04:00
Leo Famulari
bd367123a3
gnu: linux-libre 5.10: Update to 5.10.50.
* gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.50.
(linux-libre-5.10-pristine-source, deblob-scripts-5.10): Update hashes.
2021-07-15 01:54:30 -04:00
Leo Famulari
6798274c84
gnu: linux-libre 5.12: Update to 5.12.17.
* gnu/packages/linux.scm (linux-libre-5.12-version): Update to 5.12.17.
(linux-libre-5.12-pristine-source, deblob-scripts-5.12): Update hashes.
2021-07-15 01:54:30 -04:00