Commit graph

129903 commits

Author SHA1 Message Date
Ricardo Wurmus
97692be948
gnu: Add python-databind-core.
* gnu/packages/python-xyz.scm (python-databind-core): New variable.

Change-Id: I45bf0ec5ef123ea20c50e2ca3caf930bfba45eea
2024-01-15 23:06:15 +01:00
Ricardo Wurmus
6b81503bae
gnu: Add python-typeapi.
* gnu/packages/python-xyz.scm (python-typeapi): New variable.

Change-Id: Id89f3152bcd593d677c4fcb7c98d586cd50e820b
2024-01-15 23:06:15 +01:00
Ricardo Wurmus
7dfe41aa71
gnu: Add python-nr-stream.
* gnu/packages/python-xyz.scm (python-nr-stream): New variable.

Change-Id: I59489156e4675a64a31b1cb7f62b7c845c005ce8
2024-01-15 23:06:15 +01:00
Ricardo Wurmus
aa51d1d25f
gnu: Add python-nr-date.
* gnu/packages/python-xyz.scm (python-nr-date): New variable.

Change-Id: I4251aef073df29ccada70f1398bce38cfb8962ba
2024-01-15 23:06:15 +01:00
Ricardo Wurmus
7a2d128779
gnu: Add python-namex.
* gnu/packages/python-xyz.scm (python-namex): New variable.

Change-Id: I02d4ed5e426f0b432c27086aa90628ae54759ca2
2024-01-15 23:06:15 +01:00
Troy Figiel
19db1551dc
gnu: python-requests-kerberos: Enable tests.
* gnu/packages/python-web.scm (python-requests-kerberos): Enable tests.
[source]: Replace the PyPI release by the Github release.
[build-system]: Swap to pyproject-build-system.
[native-inputs]: Add python-pytest and python-pytest-mock.

Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Change-Id: Iea750cf722293c4054a6c6e43787806f8f2fd5e2
2024-01-15 21:47:27 +00:00
Troy Figiel
da3764b75c
gnu: python-requests-kerberos: Fix build.
* gnu/packages/python-web.scm (python-requests-kerberos)[propagated-inputs]:
Add python-gssapi.

Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Change-Id: I65d1fac0339a119e7a4912d5db150b4adb7586ad
2024-01-15 21:43:20 +00:00
Sharlatan Hellseher
7061f0b1d0
gnu: python-pyspnego: Propagate python-krb5.
* gnu/packages/python-xyz.scm (python-pyspnego)[propagated-inputs]: Add
python-krb5.

Change-Id: I2c8ccbd66394cb90ea047f7327d05ecbfe2ec22d
2024-01-15 21:29:49 +00:00
Troy Figiel
bba2fa646d
gnu: Add python-krb5.
* gnu/packages/python-xyz.scm (python-krb5): New variable.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-01-15 21:15:09 +00:00
Sharlatan Hellseher
1e3f1f9f92
gnu: Remove python-activepapers.
<https://issues.guix.gnu.org/68425>

This package fails to build and has been not maintained since 2017.

* gnu/packages/python-xyz.scm (python-activepapers): Remove variable.

Reported-by: Troy Figiel <troy@troyfigiel.com>
Change-Id: Id1e968cd4e06919a80ad05e5c8d3fb207426fdde
2024-01-15 20:56:22 +00:00
Ludovic Courtès
162d6a2fdd
gnu: hpcguix-web: Add explicit dependency on Guile-GnuTLS.
This is necessary in hpcguix-web 0.4.1 to connect to
https://disarchive.guix.gnu.org.

* gnu/packages/web.scm (hpcguix-web)[arguments]: In ‘wrap-program’ phase,
add guile-gnutls to the wrapper’s search path.
[inputs]: Add GUILE-GNUTLS.

Change-Id: Ic4d6f65adeb763a404fc24c7e1c87fd7d26550c7
2024-01-15 08:57:01 +01:00
Tanguy Le Carrour
f6afaf58b0
gnu: fish-foreign-env: Update to 0.20230823.
* gnu/packages/shells.scm (fish-foreign-env): Update to 0.20230823.
[arguments]: Do no substitute in file that no longer exists.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I04138c1d3e8c174b2197e5ca60aaca4caa5453cc
2024-01-14 23:00:04 +01:00
Ludovic Courtès
68f04aa339
gnu: cuirass: Update to 7bcd3d0.
* gnu/packages/ci.scm (cuirass): Update to 7bcd3d0.

Change-Id: Iefc460df509a2c006f3a49d6050ef08940ed2850
2024-01-14 23:00:04 +01:00
Jack Hill
ef270f9d73
gnu: openssh: Fix build on ppc64le.
* gnu/packages/ssh.scm (openssh)[source]:
Use 'openssh-gcc-13-ppc64le-fzero-call-used-regs.patch'.
* gnu/packages/patches/openssh-gcc-13-ppc64le-fzero-call-used-regs.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Reported-by: Marcel van der Boom <marcel@van-der-boom.nl>.

Change-Id: I41b1350b2cdd1487a8fd69b13b64f63c0dc166c9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:04 +01:00
Artyom V. Poptsov
80bec14a9e
gnu: guile-ssh: Update to 0.16.4.
* gnu/packages/ssh.scm (guile-ssh): Update to 0.16.4.
  [arguments]: Improve the style.

Change-Id: Ib7d741e7f4fc7a1fc167cfa4f7953f84d9f4d390
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:04 +01:00
Ludovic Courtès
fe736803da
gnu: hpcguix-web: Update to 0.4.1.
* gnu/packages/web.scm (hpcguix-web): Update to 0.4.1.

Change-Id: I8bd642735b3cbdf03b07cdd184295b6e32a4e6f7
2024-01-14 23:00:03 +01:00
Tomas Volf
0aec4e7b70
tests: install: Fix encrypted-home-os, encrypted-home-os-key-file tests.
The installation no longer fits into the 1.6G, leading to a warning while
running the test:

    guix system: warning: at least 1526.8 MB needed but only 1408.4 MB available in /mnt

Followed by a failure:

     93% [####################################################################     ]note: build failure may have been caused by lack of free disk space
    builder for `/gnu/store/8wl8q8nc1za0vlyv21jpzwgml45njgk2-module-import-compiled.drv' failed with exit code 1

This commit increases the root partition to 2G, making the test pass again.

* gnu/tests/install.scm (%encrypted-root-installation-script): Increase the
root partition to 2G.
(%test-encrypted-home-os), (%test-encrypted-home-os-key-file): Increase the
target size to 3G to accommodate for the larger root partition.

Change-Id: I0f7092f7b7fc9992d3f895a1eaecf1f2065b7360
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf
2bfff0da33
tests: install: Fix encrypted-root-os test.
The installation no longer fits into the 1.6G, leading to a warning while
running the test:

    guix system: warning: at least 1526.8 MB needed but only 1408.4 MB available in /mnt

Followed by a failure:

     93% [####################################################################     ]note: build failure may have been caused by lack of free disk space
    builder for `/gnu/store/8wl8q8nc1za0vlyv21jpzwgml45njgk2-module-import-compiled.drv' failed with exit code 1

This commit increases the root partition to 2G, making the test pass again.

* gnu/tests/install.scm (%encrypted-root-installation-script): Increase the
root partition to 2G.

Change-Id: I4cc5c78cfbd93ab2ae92ec77603ce6fee0289843
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf
a355131ba8
tests: install: Use the smallest possible iteration time for LUKS.
For testing that installation works, there is no need to spent 2000ms (the
default) iterating while generating the encryption key.  This commit therefore
sets the iteration time to the lowest possible value, 1(ms).

* gnu/tests/install.scm (%encrypted-root-installation-script):
(%encrypted-home-installation-script):
(%encrypted-root-not-boot-installation-script): Pass -i 1 to luksFormat
invocation.

Change-Id: Iab79459b48bebe4d293b18290a236c6414fb27fc
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf
10ea0dba00
tests: Add `encrypted-home-os-key-file' installation test.
Based on encrypted-home-os, this test verifies unlocking via a key file.

* gnu/tests/install.scm (%encrypted-home-os-key-file),
(%encrypted-home-os-key-file-source): New variables.
(%test-encrypted-home-os-key-file): New exported variables.
(%encrypted-home-installation-script): Generate initrd with a key file for
unlocking the LUKS.

Change-Id: I04460155284bdef7e18da645f2b4b26bd8e86636
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Tomas Volf
086850e5b2
bootloader: grub: Add support for loading an additional initrd.
In order to be able to provide decryption keys for the LUKS device, they need
to be available in the initial ram disk.  However they cannot be stored inside
the usual initrd, since it is stored in the store and being a
world-readable (as files in the store are) is not a desired property for a
initrd containing decryption keys.  This commit adds an option to load
additional initrd during the boot, one that is not stored inside the store and
therefore can contain secrets.

Since only grub supports encrypted /boot, only grub is modified to use the
extra-initrd.  There is no use case for the other bootloaders.

* doc/guix.texi (Bootloader Configuration): Describe the new extra-initrd
field.
* gnu/bootloader.scm (<bootloader-configuration>): Add extra-initrd field.
* gnu/bootloader/grub.scm (make-grub-configuration): Use the extra-initrd
field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I995989bb623bb594ccdafbf4a1a6de941bd4189f
2024-01-14 23:00:03 +01:00
Tomas Volf
d082312ef7
mapped-devices: Allow unlocking by a key file.
Requiring the user to input their password in order to unlock a device is not
always reasonable, so having an option to unlock the device using a key file
is a nice quality of life change.

* gnu/system/mapped-devices.scm (open-luks-device): Add #:key-file argument.
(luks-device-mapping-with-options): New procedure.
* doc/guix.texi (Mapped Devices): Describe the new procedure.

Change-Id: I1de4e045f8c2c11f9a94f1656e839c785b0c11c4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-14 23:00:03 +01:00
Ludovic Courtès
db43edaa0a
gnu: Make intermediate packages public but hidden.
This makes those packages visible to (gnu ci), giving them first class
in the eyes of Cuirass and similar tools, in turn ensuring substitutes
are available (this was discovered by running ‘guix weather -c 10’).

* gnu/packages/rust.scm (rust-bootstrap, rust-1.55)
(rust-1.56, rust-1.57, rust-1.58, rust-1.59, rust-1.60)
(rust-1.61, rust-1.62, rust-1.63, rust-1.64, rust-1.65)
(rust-1.66, rust-1.67, rust-1.68, rust-1.69, rust-1.70)
(rust-1.71, rust-1.72, rust-1.73): Make variable public and add
‘hidden?’ property.
(rust): Remove ‘hidden?’ property.
* gnu/packages/java.scm (java-hamcrest-parent-pom)
(java-org-ow2-parent-pom-1.3, java-asm-bootstrap): Make variable public
and add ‘hidden?’ property.
* gnu/packages/ocaml.scm (dune-bootstrap)
(ocaml4.09-dune-bootstrap, ocaml5.0-dune-bootstrap): Likewise.

Change-Id: I32b0ea639a4f1c39466875acdbc9cbadf75c7668
2024-01-14 23:00:02 +01:00
Herman Rimm
3f301ddc4f
gnu: qutebrowser: Update to 3.1.0.
* gnu/packages/web-browsers (qutebrowser): Update to 3.1.0.
[inputs]: Use PyQt6, placed before PyQtWebengine.
[arguments]: Replace qt5 path with qt6 path and wrap program with
QTWEBENGINE_RESOURCES_PATH.
[description]: Replace PyQt5 with PyQt6.

Signed-off-by: Clément Lassieur <clement@lassieur.org>
2024-01-14 22:19:18 +01:00
Tristan Cottam
bcc9cd1aae
gnu: Add minetest-server.
* gnu/packages/minetest.scm (minetest-server): New variable.

Change-Id: I1125888b2944acc4063a19db4c602d33286a7e14
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-01-14 12:59:28 +01:00
Vivien Kraus
da14567354
teams: Add Vivien Kraus.
* etc/teams.scm.in ("Vivien Kraus"): New member.

Change-Id: Iab2c9300f3e1e604fb2ee539a7eb05e7a3f54776
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-01-14 11:47:52 +01:00
Simon South
3351c5e59d
gnu: unknown-horizons: Fix build and runtime errors.
Apply two upstream commits that allow building with Python 3.9 or newer and
running with Python 3.10.

* gnu/packages/patches/unknown-horizons-python-3.9.patch: New file.
* gnu/packages/patches/unknown-horizons-python-3.10.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add them.
* gnu/packages/games.scm (unknown-horizons)[source]: Apply them.

Change-Id: Icbc8b698b913be01465b09ab26afb29e5fd62a87
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Fixes: Unknown Horizons fails to start <https://bugs.gnu.org/54815>
2024-01-14 10:02:07 +01:00
Simon South
e7823dbe8c
gnu: fifengine: Fix runtime error when using Python 3.9 or newer.
* gnu/packages/patches/fifengine-python-3.9-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/games.scm (fifengine)[source]: Apply it.

Change-Id: I61001d6b87db00c71f1e2e6ca3bac8581e941451
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-01-14 10:01:59 +01:00
John Kehayias
18393fcddd
gnu: check2: Fix tests on i686-linux.
Reported upstream to <https://github.com/catchorg/Catch2/issues/2796>.  It is
expected that SSE2 is enabled for i686 builds or tests fail.

* gnu/packages/check.scm (check2)[arguments]: Enable SSE2 for x86_64-linux and
i686-linux in configure-flags.

Co-authored-by: Richard Sent <richard@freakingpenguin.com>
Co-authored-by: Jo Gay <@jane.lx.gay>
Change-Id: I99205f92b66ab3d10affbfb58918f37069ba82ec
2024-01-13 17:29:46 -05:00
Tomas Volf
31e736dac2
scripts: pack: Set correct default value for entry-point-argument.
The default value of #f led to ("..." . #f) being passed further down as an
entry point.  That is not an issue for command line invocation, since in that
code path '() was already used as a default value, but it broke docker system
test with the following error:

    building /gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv...
    tar: Removing leading `/' from member names
    Backtrace:
               6 (primitive-load "/gnu/store/g8hqzccfvn4mkm41jqs65c27gs7?")
    In ./guix/docker.scm:
        268:6  5 (build-docker-image "/gnu/store/zi2f5dfdrhviinm6jxp3cj?" ?)
    In ice-9/ports.scm:
       433:17  4 (call-with-output-file _ _ #:binary _ #:encoding _)
        476:4  3 (_ _)
    In ./guix/docker.scm:
       270:21  2 (_)
       123:40  1 (config "1996ead589ab366473d935c4d5bd0c38b998f3b299847?" ?)
    In unknown file:
               0 (list->vector ("/gnu/store/1pvqd30qi1aigjdf7s7l8v7?" . #))

    ERROR: In procedure list->vector:
    In procedure vector: Wrong type argument in position 1: ("/gnu/store/1pvqd30qi1aigjdf7s7l8v7wpvrrhfkj-profile/bin/guile" . #f)
    note: keeping build directory `/tmp/guix-build-docker-pack.tar.gz.drv-16'
    builder for `/gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv' failed with exit code 1
    build of /gnu/store/dll8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv failed
    View build log at '/var/log/guix/drvs/dl/l8jj6h5pfgf6ya9skk1g1546smwbib-docker-pack.tar.gz.drv.gz'.
    cannot build derivation `/gnu/store/dq9qk1ba0f07572m8ck3xws28x1b3rif-docker-test.drv': 1 dependencies couldn't be built
    guix build: error: build of `/gnu/store/dq9qk1ba0f07572m8ck3xws28x1b3rif-docker-test.drv' failed
    make: *** [Makefile:7044: check-system] Error 1

Breakage was introduced in 7d5168a2af.

* guix/scripts/pack.scm (docker-image)[entry-point-argument]: Default to '().

Change-Id: If5fc1f8bcb0981df11409636e71f2ca91b05612f
2024-01-13 15:39:09 +01:00
Tomas Volf
2282c16533
gnu: Add guile-srfi-197.
* gnu/packages/guile-xyz.scm (guile-srfi-197): New variable.

Change-Id: Ifcdc264e6a03e88e7614d79792fbe6ca9c8e519c
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-01-13 15:39:09 +01:00
Guillaume Le Vaillant
5e9af6ad5c
gnu: sdrangel: Update to 7.17.3.
* gnu/packages/radio.scm (sdrangel): Update to 7.17.3.

Change-Id: Ib64a1cded8b7682eab97667036fbcdf38590ded2
2024-01-13 13:56:20 +01:00
Guillaume Le Vaillant
4415497257
gnu: dsdcc: Update to 1.9.5.
* gnu/packages/radio.scm (dsdcc): Update to 1.9.5.

Change-Id: I47d787850932f5648aec267591e3102be86275ca
2024-01-13 13:50:23 +01:00
Guillaume Le Vaillant
7b5a3c0127
gnu: rtl-433: Update to 23.11.
* gnu/packages/radio.scm (rtl-433): Update to 23.11.

Change-Id: I06c5bdf4cffab5e27bbaa0621cb835c93656e6c2
2024-01-13 13:43:12 +01:00
Charles Jackson
f7f608d3b4
gnu: Add cl-command-line-args.
* gnu/packages/lisp-xyz.scm (cl-command-line-args, ecl-command-line-args,
  sbcl-command-line-args): New variables.

Change-Id: I6a829e6934b93c58a9c2a3673bb553d1e2132007
Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2024-01-13 13:43:12 +01:00
Hilton Chain
551d013a56
gnu: iwd: Patch resolvconf path.
* gnu/packages/networking.scm (iwd)[inputs]: Add openresolv.
[arguments]<#:phases>: Add 'patch-resolvconf-path.

Change-Id: Ica59a76dd6318e06979314e4b49c5371f4c98e4d
2024-01-13 17:07:17 +08:00
Hilton Chain
17a942d643
gnu: iwd: Use gexps.
* gnu/packages/networking.scm (iwd): Use gexps.

Change-Id: Ie4a6394c9c7977291f56990eb1a535ba673d04ee
2024-01-13 17:07:12 +08:00
Hilton Chain
34aa35bd7b
gnu: iwd: Update to 2.12.
* gnu/packages/networking.scm (iwd): Update to 2.12.
[home-page]: Update homepage.

Change-Id: Icfaee7fdbe7ce9bb4648d8ad841d74caaea84b4f
2024-01-13 17:07:07 +08:00
Hilton Chain
cb0807587a
gnu: ell: Update to 0.61.
* gnu/packages/linux.scm (ell): Update to 0.61.

Change-Id: I221dc36bacfd9ebb1f4a6cafa30fdc8bb53ec7d6
2024-01-13 17:07:02 +08:00
Christian Miller
0869b0e6a3
gnu: docker: Update to 20.10.27.
Fixes <https://issues.guix.gnu.org/68053>.

* gnu/packages/docker.scm (%docker-version): Update to 20.10.27.
(docker-libnetwork): Update to 20.10-3.3797618.
(docker)[native-inputs]: Replace go-1.19 with go-1.20.

Change-Id: Ie4cc54f62c89f3a6c83969d1e7e425189c370482
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-01-13 13:57:10 +08:00
Florian Pelz
c0b303aaa3
news: Fix 'de' translation.
* etc/news.scm: Fix typo.

Change-Id: I943fed38a444d1403cc5f979a7d6b9f52bedf5dd
2024-01-13 01:37:40 +01:00
Josselin Poiret
3619dd7d05
gnu: swaylock: Fix home-page.
* gnu/packages/wm.scm (swaylock): Fix home-page.

Change-Id: I0e8c08bfb5d8b32a24659d15e796c8a30a718a56
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-01-12 22:56:30 +00:00
Artyom V. Poptsov
0edf8a2eab
gnu: Add go-github-com-peterbourgon-diskv.
* gnu/packages/golang.scm (go-github-com-peterbourgon-diskv): New variable.

Change-Id: I0292404c636c42389c11c0ed552bacbf02178f7c
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-01-12 22:13:22 +00:00
Artyom V. Poptsov
f847b47be0
gnu: Add go-github-com-google-btree.
* gnu/packages/golang.scm (go-github-com-google-btree): New variable.

Change-Id: Ibe7ce2c457153e40539bb26e0fcaf0bec79ed253
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-01-12 22:12:19 +00:00
Sharlatan Hellseher
bfdcf6b365
gnu: python-regions: Use G-expressions.
* gnu/packages/astronomy.scm (python-regions): Use G-expressions.
[build-system]: Swap to pyproject-build-system.
[arguments]<#:phases>: Remove 'delete-doctest phase. Merge all
(add-before 'check ...) phases into 'prepare-test-environment.

Change-Id: I31dc6a195a6f6f818303d5c0e32799770cd448c8
2024-01-12 21:42:07 +00:00
Sharlatan Hellseher
1ef2e0bdf3
gnu: wcslib: Update to 8.2.2.
* gnu/packages/astronomy.scm (wcslib): Update to 8.2.2.

Change-Id: Id5ae03974956fe90b4970c1e879fd670c7b537dd
2024-01-12 21:42:07 +00:00
Sharlatan Hellseher
d327eb2e9e
gnu: splash: Update to 3.10.1.
* gnu/packages/astronomy.scm (splash): Update to 3.10.1.

Change-Id: I68a3eb0c1033a1e2726c6c2c4b6768d87d3fb4be
2024-01-12 21:42:07 +00:00
Sharlatan Hellseher
0223f6a6e1
gnu: python-tweakwcs: Update to 0.8.5.
* gnu/packages/astronomy.scm (python-tweakwcs): Update to 0.8.5.

Change-Id: I137077392d102c65489705d30a1820fc7923aac3
2024-01-12 21:42:07 +00:00
Sharlatan Hellseher
816e342bed
gnu: python-synphot: Adjust package style.
* gnu/packages/astronomy.scm (python-synphot): Adjust package style.
[propagated-inputs]: Add annotation for optional, not packed yet
packages. Columnise inputs.
[native-inputs]: Columnise inputs.

Change-Id: I789fc143191c68d5acc248bf6c67e52a93e2744f
2024-01-12 21:42:07 +00:00
Sharlatan Hellseher
a066939a5a
gnu: python-synphot: Update to 1.3.0.
* gnu/packages/astronomy.scm (python-synphot): Update to 1.3.0.

Change-Id: I5d2c5bf00563780738f1f36af5920d6ae55b28c2
2024-01-12 21:42:07 +00:00