Commit graph

951 commits

Author SHA1 Message Date
Andreas Enge
b97049b29c
gnu: Remove references to (gnu packages fcitx).
This is a follow-up to commit 04a4f8cc9d .

* etc/teams.scm (localization): Unregister removed file.
* CODEOWNERS: Regenerate file.

Change-Id: Id7196e36aab79ecdb65f9e4a1f18e81e92fb6994
2025-09-25 21:11:39 +02:00
Rutherther
80f24100f6
teams: Add entry for Rutherther.
Add myself to release team.

* etc/teams.scm (Rutherther): New member.

Change-Id: Ied242919f54abe05e429fb8e658bdc9e0ffc0cb1
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-09-25 11:57:49 +03:00
Hilton Chain
92765f33db
etc: Rewrite fish completion.
* etc/completion/fish/guix.fish: Rewrite from scratch to allow generate part
of the completions and achieve full completion coverage.

Change-Id: I9e39432c76c36bd1f2804eb6f295202847505eef
2025-09-24 15:34:29 +08:00
Maxim Cournoyer
d759207ff9
teams: Register Sugosha's Codeberg username.
* etc/teams.scm (members) <Sugosha>: Register Codeberg username.

Change-Id: Iebdedb245242855c1351cb122d9aec7226b35f0d
2025-09-23 22:56:21 +09:00
Martin Schitter
5b218cd2b9
etc: guix-install.sh: Accept riscv64 as supported architecture.
Although the installer script will not find any officially released
binary-tar-packages for riscv64 on the guix ftp mirrors until now
we should at least support the installation of custom packed
binary bundles for this platform.

Changes to be committed:
	modified:   etc/guix-install.sh

Change-Id: I84c82388c7771d793b108b99e03d040bad9f1154
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-23 11:13:22 +02:00
Maxim Cournoyer
10482f731e
Reapply "Update Maxim's email address."
This reverts commit a7db92d9b3, this time with
the more careful command, to avoid a world rebuild:

grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \
  --exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com |
  xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'

Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
2025-09-18 13:44:12 +09:00
Maxim Cournoyer
a7db92d9b3
Revert "Update Maxim's email address."
This reverts commit d0d87a744d. Oops! This
caused a world rebuild.

Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
2025-09-18 12:07:31 +09:00
Maxim Cournoyer
d0d87a744d
Update Maxim's email address.
The change was automated via:

  git grep -l maxim.cournoyer@gmail.com |
    xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'

* .mailmap: New entry.

Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
2025-09-18 08:05:19 +09:00
Cayetano Santos
362f9ee4da
teams: electronics: Adopt flashing-tools.
* etc/teams.scm (electronics)<#:scope>:
Add "gnu/packages/flashing-tools.scm".
* CODEOWNERS: Regenerate file.

Change-Id: Ic3ac4bc0d7a6822231152aef4d4927fbb4ba3479
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-17 16:28:54 +02:00
SameExpert
105e76302d
teams: Add Sughosha to audio team.
* etc/teams.scm ("Sughosha"): Add to audio team.

Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-09-17 12:40:29 +02:00
Hilton Chain
19b98ac19e
teams: Add more Codeberg accounts.
* etc/teams.scm: Add tanguybl and pukkamustard.

Change-Id: I3bf6ca46de4d250b16817123433e9b8103ef1dfd
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-17 11:55:12 +02:00
Cayetano Santos
d970689f80
gnu: Merge fpga in electronics module.
* gnu/local.mk: Drop fpga.scm.
* etc/teams: Drop fpga.scm.
* CODEOWNERS: Drop fpga.scm.
* po/packages/POTFILES.in: Drop fpga.scm.
* gnu/packages/fpga.scm: Remove file.
(abc, abc-yosyshq, apycula, fftgen, gtkwave, iverilog, icestorm, libfst)
(nextpnr, nextpnr-ice40, nvc, openfpgaloader, python-hdlmake)
(python-migen, python-myhdl, python-vunit, systemc, verilator)
(yosys, yosys-clang): Move from here…
* gnu/packages/electronics.scm: … to here.

Change-Id: Ia920313a383d21210b217e3bf3f5c60c4682fc43
2025-09-17 11:36:57 +02:00
Maxim Cournoyer
6fcf91be52
teams/qt: Include python-pyqt packages in update manifest.
* etc/teams/qt/common.scm (qt-packages-manifest): Also select packages whose
name start with 'python-pyqt'.

Change-Id: I8caf2b62b1f0cd269d8c123d9e8ffe6344814c55
2025-09-14 22:04:06 +09:00
Anderson Torres
c37ad95418
news: Add 'pt_BR' translation.
* etc/news.scm: Add Brazilian Portuguese translation of 'linux-libre' 6.16
upgrade entry.

Change-Id: I1b345391789fecf0fe2fac70899167bdd3eb3a69
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2025-09-11 11:23:06 +02:00
Florian Pelz
b8c1f85369
news: Add 'de' translation.
* etc/news.scm: Add German translation of 'linux-libre' 6.16 upgrade entry.

Change-Id: Iefc199a8fd6ac32b6c9e6fb6284b5e2d3170b41c
2025-09-09 10:55:59 +02:00
Leo Famulari
13e0038f72
news: Add entry about the linux-libre 6.16 update.
* etc/news.scm: Add entry.

Change-Id: Icbc90e28be00ac1e40bf9758913e526544d1e70b
2025-09-07 20:57:03 -04:00
Ashvith Shetty
c7a8f7cd61
teams: Update entry for Ashvith Shetty.
* etc/teams.scm ("Ashvith Shetty"): Add Codeberg account,
include additional teams.

Change-Id: I4eab70c7b19d056dae89aa81c06df88c5777e45e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-06 22:23:40 +02:00
Saku Laesvuori
cc65d74c10
teams: Add entry for Saku Laesvuori
* etc/teams.scm ("Saku Laesvuori"): New member.

Change-Id: I7127d74b743ba3cedd83b85e77e25e0ee276370b
2025-09-03 23:18:37 -05:00
Noé Lopez
f7f8db1d8c
teams: Add release team members.
* etc/teams.scm ("Efraim Flashner", "Noé Lopez", "Rodion Goritskov"):
Add to release team.

Change-Id: I81a658407f37cbda334c2fc567d7a552dbd2b6ad
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-03 12:34:12 +02:00
Noé Lopez
fab910a12f
teams: Add release team.
* etc/teams.scm (release): New variable.
* CODEOWNERS: Regenerate.

Change-Id: I8cd590cf6f7fb330215687433c4926ee2bcf067f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-09-03 12:34:01 +02:00
Florian Pelz
4bbb6c0c03
news: Add 'de' translation.
* etc/news.scm: Add German translation of linux-libre 6.16 entry.

Change-Id: I08aecdafaa52664572ca0390a4dc190775fd3d5a
2025-09-02 22:36:31 +02:00
Leo Famulari
bf35d9cd09
news: Add entry for linux-libre 6.16.
* etc/news.scm: Add entry.

Change-Id: I80ff646272361ba0f897a94f57b0830f30e608e6
2025-09-01 21:59:20 -04:00
Florian Pelz
8c178ee895
news: Fix 'de' translation.
* etc/news.scm: Fix comma.

Change-Id: I9dee44460887879745e6fc2fb738ed27c9027749
2025-09-02 02:11:51 +02:00
Florian Pelz
ef1768f181
news: Add 'de' translation.
* etc/news.scm: Add German translation of new vulnerability entry.

Change-Id: Ia9e700ca3e297761d0957bfd37123ef7423c4493
2025-09-02 01:54:39 +02:00
Ludovic Courtès
db6361bc2b
news: Add entry for the ‘content-addressed-mirrors’ security fix.
* etc/news.scm: Add entry.

Change-Id: Ia96a6f80d6ec557e222f2b5ee17e7c79c0eb3cbf
2025-09-01 17:30:39 +02:00
Ingar
d2c71bfd72
etc: guix-daemon.service.in: Mitigate mount race condition
This mitigates a race condition described in #576. The 'Type=exec'
option ensures that systemd only starts follow-up units after the
guix-daemon binary has started. By then, the mount points are collected
in a private namespace and will not be affected. Without this option,
'gnu-store.mount' could win the race and remount everything read-only
before guix-daemon has acquired a read-write view.

Fixes #2270

* etc/guix-daemon.service.in: Mitigate mount race condition

Change-Id: I5d28ebc38b0c10e6d2aa8e65353757ef13d5bad3
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-08-29 17:43:35 +02:00
Sharlatan Hellseher
2bae0402b2
teams: sysadmin: Adopt more files.
- rdesktop :: Remote Desktop management, more likely used in sysadmin
              tasks.
- vnc      :: Virtual Network Computing is a graphical desktop-sharing
              system, more like used in sysadmin tasks.

* etc/teams.scm (sysadmin)<#:scope>: Add "gnu/packages/rdesktop.scm",
and "gnu/packages/vnc.scm".
* CODEOWNERS: Regenerate file.

Change-Id: I2e1df892147367932452c9b99e37703c46b2957a
2025-08-22 22:51:22 +01:00
Hilton Chain
4c43dde9bf
news: Add entry for rust-team merge.
* etc/news.scm: New entry.

Change-Id: I4a6d5fae6c7b6216fde492dac01694222aacf604
Co-authored-by: Florian Pelz <pelzflorian@pelzflorian.de>
2025-08-21 19:10:48 +08:00
Efraim Flashner
0617edfd7f
teams: rust: Add more packages to rusty-packages manifest.
* etc/teams/rust/rusty-packages.scm: Don't skip packages with 'rust-' as
their prefix.

Change-Id: I1f993a87f87a45c1a2a7356b5dbe9ebf04f26d3f
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-08-21 19:09:03 +08:00
Hilton Chain
dfc7112319
gnu: c2rust: Move to (gnu packages rust-apps).
As all these crates are only used by c2rust itself, they can be safely
removed.

* gnu/packages/patches/c2rust-ast-exporter-local-search.patch: Delete file.
* gnu/packages/c2rust.scm: Delete file.
(rust-c2rust-ast-builder-0.18, rust-c2rust-ast-exporter-0.18)
(rust-c2rust-ast-printer-0.18, rust-c2rust-bitfields-0.18)
(rust-c2rust-bitfields-derive-0.18, rust-c2rust-build-paths-0.18)
(rust-c2rust-transpile-0.18): Delete variables.
(%tinycbor-source, c2rust): Move to ...
* gnu/packages/rust-apps.scm (%tinycbor-source, c2rust): ...here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Unregisiter c2rust module.
(dist_patch_DATA): Unregisiter patch.
* etc/teams.scm (rust): Remove the file from scope.
* CODEOWNERS: Likewise.

Change-Id: I06dd323c5d209b92f7cc13f7fbcbe79fe868a8ff
2025-08-21 19:08:27 +08:00
Hilton Chain
f27fb840c2
import: crate: Add Cargo.lock parser.
* guix/import/crate/cargo-lock.scm: New file.
* Makefile.am (MODULES): Regisiter it.
* etc/teams.scm (rust)[#:scope]: Add it.
* CODEOWNERS: Add it.
* guix/import/crate.scm (cargo-lock->expressions): New procedure.
* tests/crate.scm (temp-file): New variable.
("crate-lockfile-import"): New test.

Co-authored-by: Murilo <murilo@disroot.org>
Co-authored-by: Luis Guilherme Coelho <lgcoelho@disroot.org>
Change-Id: I95421e9e2ba11a671b4bc4e1323c6d31a1b012c5
2025-08-21 19:08:21 +08:00
Hilton Chain
b1440e1f37
build-system: cargo: Add ‘cargo-inputs’.
* gnu/packages/rust-crates.scm: New file.
* gnu/packages/rust-sources.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Regisiter them.
* guix/build-system/cargo.scm (define-cargo-inputs): New macro.
(crate-source, cargo-inputs): New procedures.
* guix/import/crate.scm: Hide ‘crate-source’ from (guix build-system cargo).
* etc/teams/rust/audit-rust-crates: New file.
* etc/teams/rust/cleanup-crates.sh: New file.
* etc/teams/rust/rust-crates.tmpl: New file.
* etc/teams/rust/unpack-new-crates.sh: New file.

Change-Id: I2f2d705a3e376ed3c646f31b824052a2278d4fb3
2025-08-21 19:08:20 +08:00
Andreas Enge
ef6b7bf4f0
etc: teams: Order alphabetically.
This is a follow-up to commit e8cc7e3c16

* etc/teams.scm (ai): Move the variable up.
* CODEOWNERS: Regenerate.

Change-Id: I4cc4fcf228783392bdf8dfbe2374c19aa5a9e30d
2025-08-18 11:30:22 +02:00
Cayetano Santos
a300e6feb1
etc: teams: Add hpc team.
* etc/teams.scm (hpc): New team.
[Cayetano Santos]: Add to new team.
* CODEOWNERS: Rebuild.

Change-Id: I5b08aed33ea89acaa770dd2ac5dd8b991d43989a
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-08-17 10:48:14 +02:00
Cayetano Santos
e8cc7e3c16
etc: teams: Add ai team.
* etc/teams.scm (ai): New team.
[Cayetano Santos]: Add to new team.

Change-Id: I6be002cf562ceb139d3a6e5d68a989a35d727f06
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-08-17 10:44:47 +02:00
Vagrant Cascadian
70a3479438
teams: debian: Add team.
* etc/teams.scm (debian): Add team.
[Vagrant Cascadian]: Add to debian team.
* CODEOWNERS: Rebuild.

Change-Id: Iab42f6d6ba94fece017e137bd6a9ee280a849b19
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-08-17 10:39:41 +02:00
Giacomo Leidi
108c40791b
teams: Add entry for fishinthecalculator.
* etc/teams.scm ("fishinthecalculator"): New member.

Change-Id: I88c1803455c0cd2126d15d31d45a32572cdee5c2
2025-08-03 12:13:16 +02:00
Giacomo Leidi
bc4652f665
gnu: Add FluidPlug plugins.
* gnu/packages/fluidplug.scm: New file;
(fluidplug-lv2): New variable;
(fluidplug-plugin->package): New procedure;
(fluidplug-airfont320-lv2, fluidplug-avl-drumkits-perc-lv2,
fluidplug-black-pearl-4a-lv2, fluidplug-black-pearl-4b-lv2,
fluidplug-black-pearl-5-lv2, fluidplug-red-zeppelin-4-lv2,
fluidplug-red-zeppelin-5-lv2, fluidplug-fluidgm-lv2,
fluidplug-fluidbass-lv2, fluidplug-fluidbrass-lv2,
fluidplug-fluidchromperc-lv2, fluidplug-fluiddrums-lv2,
fluidplug-fluidensemble-lv2, fluidplug-fluidethnic-lv2,
fluidplug-fluidguitars-lv2, fluidplug-fluidorgans-lv2,
fluidplug-fluidpercussion-lv2, fluidplug-fluidpianos-lv2,
fluidplug-fluidpipes-lv2, fluidplug-fluidreeds-lv2,
fluidplug-fluidsoundfx-lv2, fluidplug-fluidstrings-lv2,
fluidplug-fluidsynthfx-lv2, fluidplug-fluidsynthleads-lv2,
fluidplug-fluidsynthpads-lv2): New variables.
* gnu/local.mk: Add it.
* CODEOWNERS: Add it to audio team's scope.
* etc/teams.scm: Add it to audio team's scope.

Change-Id: I3692e2ed462bf71abe56d07712b8846a4228ad90
2025-08-03 12:13:15 +02:00
Maxim Cournoyer
958bc01404
gitconfig: Relax useAutoBase.
It can be useful to produce patches from older commits, for example to share
commits from the keyring branch between the main Guix repository and
guix-maintenance. The previous 'true' value prevented that with a fatal error
message.

* etc/git/gitconfig [format] <useAutoBase>: Set to whenAble.

Change-Id: Ib32407dd3695dcadcb16855b1b87147fabc2aca7
2025-07-31 12:53:42 +09:00
Maxim Cournoyer
8a82b6b9c1
etc: pre-push: Skip checks when pushing to the keyring branch.
Attempting to push new commits to the branch would previously fail like:

  error: commit X is not a descendant of introductory commit
  1m9edb3f66fd807b096b48283debdcddccfea34bad

* etc/git/pre-push (main): Skip checks when pushing to refs/heads/keyring.

Change-Id: I3ea20a10b6c8cc6b6c6f948f80bed902850214c5
2025-07-20 12:00:53 +09:00
Maxim Cournoyer
52bc919f4b
etc/copyright.el: Resolve a warning in latest Emacs 30.1.
* etc/copyright.el: Set lexical-binding to t.

Change-Id: Ia57b4e9b0dec73a92953a484ffd4879f1dffabb5
2025-07-20 12:00:07 +09:00
Liliana Marie Prikler
e45a6c3302
teams: games: Add manifest for luanti.
* etc/teams/games/luanti-manifest.scm: New file.
2025-07-13 13:54:02 +02:00
Liliana Marie Prikler
abbdfbb775
gnu: Rename minetest to luanti.
* gnu/packages/luanti.scm: New file.
(luanti, luanti-server, luanti-topic, luanti-moreores, luanti-sound-api-core)
(luanti-basic-materials, luanti-coloredwood, luanti-ethereal)
(luanti-homedecor-modpack, luanti-mesecons, luanti-mineclone, luanti-mobs)
(luanti-mobs-animal, luanti-mobs-monster, luanti-pipeworks, luanti-technic)
(luanti-throwing, luanti-throwing-arrows, luanti-worldedit)
(luanti-unifieddyes, luanti-unified-inventory, luanti-advtrains)
(luanti-basic-trains, luanti-oneblock, luanti-wielded-light): New variables.
* gnu/packages/minetest.scm:
(minetest, minetest-server, minetest-topic, minetest-moreores)
(minetest-sound-api-core, minetest-basic-materials, minetest-coloredwood)
(minetest-ethereal, minetest-homedecor-modpack, minetest-mesecons)
(minetest-mineclone, minetest-mobs, minetest-mobs-animal)
(minetest-mobs-monster, minetest-pipeworks, minetest-technic)
(minetest-throwing, minetest-throwing-arrows, minetest-worldedit)
(minetest-unifieddyes, minetest-unified-inventory, minetest-advtrains)
(minetest-basic-trains, minetest-oneblock, minetest-wielded-light): Deprecate
in favor of the above.
(minetest-game): Move to…
* gnu/packages/luanti.scm (minetest-game): … here.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register luanti.scm.
* guix/build-system/luanti.scm: New file.
(luanti-mod-build-system): New public variable.
* guix/build-system/minetest.scm (minetest-mod-build-system): Deprecate in
favor of luanti-mod-build-system.
* guix/build/luanti-build-system.scm: New file, renamed from…
* guix/build/minetest-build-system.scm: … this. Deprecate in favor of
luanti-build-system.
* guix/import/luanti.scm: New file, renamed from guix/import/minetest.scm.
(%contentdb-api): Switch to “https://content.luanti.org/api/”.
(luanti-package?, latest-luanti-release, luanti->guix-package)
(luanti-recursive-import, %luanti-updater): New public variables.
* guix/import/minetest.scm (minetest-package?, latest-minetest-release)
(minetest->guix-package, minetest-recursive-import, %minetest-updater):
Deprecate in favor of the luanti variants above.
* guix/scripts/import/luanti.scm: New file, renamed from
guix/scripts/import/minetest.scm.
(guix-import-luanti): New public variable.
* guix/scripts/import/minetest.scm (guix-import-minetest): Deprecate in favor
of guix-import-luanti.
* tests/minetest.scm: Rename to…
* tests/luanti.scm: … this.
* Makefile.am (MODULES, SCM_TESTS): Adjust accordingly.
* etc/teams.scm (games): Adjust accordingly.
* CODEOWNERS: Adjust accordingly.
2025-07-13 13:54:01 +02:00
Sharlatan Hellseher
26996ec2c4
teams: science: Adopt more files.
- fortran(-.+|) :: programming language, more likely used in scientific
                   research
- graph         :: any packages related to Graph theory solving problems
- lean          :: proof assistant and a functional programming language
- medical       :: any software related to medical science or equipment
- sagemath      :: system for Algebra and Geometry Experimentation
- statistics    :: any packages (more likely R or Python) for any sort of
                   Statistical analysis

* etc/teams.scm (science)<#:scope>: Add
"^gnu/packages/fortran(-.+|)\\.scm$", "gnu/packages/graph.scm",
"gnu/packages/lean.scm", "gnu/packages/medical.scm",
"gnu/packages/sagemath.scm", and "gnu/packages/statistics.scm".
* CODEOWNERS: Regenerate file.

Change-Id: Id7e599071ccfd438e8eb797c4accda9d35d76720
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-07-11 13:01:34 +02:00
Sharlatan Hellseher
e04a2ecb84
teams: Adjust membership for Sharlatan Hellseher.
* etc/teams.scm (Sharlatan Hellseher): Remove from the lisp team; add to
the julia team.

Change-Id: I13c898e01c2d84c9f2d96f6e76957ef4259617e5
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-07-11 13:01:22 +02:00
Florian Pelz
77d5a5cd4f
news: Add entry for Weblate translation platform migration.
* etc/news.scm: Add entry.

Change-Id: Ic6f62128146b20992cfa36108f2bf1dd52969567
2025-07-09 19:47:01 +02:00
Ivan Popovych
5db599f41a
etc: guix-daemon.service.in: Disable host filesystem mount propagation.
This fixes issue for rootless guix daemon where store being remounted
read-only by gnu-store.mount is propagated to the guix daemon making
guix daemon not able to modify it.

* etc/guix-daemon.service.in: Disable host filesystem mount propagation.

Change-Id: Ib1abc387ee15d2b04d6f70c121244943cd0ad8c6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-07-01 22:34:40 +02:00
jgart
0ce67cc96f
etc: snippets: Add clasp to addcl snippet.
* etc/snippets/tempel/text-mode.eld (addcl): Add clasp.

Change-Id: If70f5c66854938475ad1f461c58b6ac91554aee2
2025-07-01 11:16:28 -05:00
Yelninei
395d68bd93
teams: Add entry for Yelninei.
* etc/teams.scm ("Yelninei"): New member.

Change-Id: I06c842de0ff8370d15595f0e5d4d14b91739c904
Signed-off-by: jgart <jgart@dismail.de>
2025-07-01 10:39:19 -05:00
Efraim Flashner
214aa26e5c
gnu: installer: Remove enlightenment desktop option.
* gnu/installer/services.scm (%system-services): Remove
enlightenment-desktop-service-type.
* gnu/tests/install.scm (installation-target-desktop-os-for-gui-tests):
Remove enlightenment-desktop-service-type.
* etc/manifests/cross-compile.scm (%system-packages): Remove
enlightenment.
* etc/manifests/release.scm (%system-packages): Remove enlightenment.

Change-Id: I79cd8fc13ea0fda5eef72aee783b26edc77dcb5e
2025-06-30 11:41:56 +03:00