В данной теме (заметке) описана починка mate weather applet (Weather Report) в составе MATE Desktop Environment v1.26.2 на ОС Gentoo Linux.
Несколько дней назад погодный ресурс https://aviationweather.gov, откуда libmateweather (форк libgnomeweather в составе MATE DE) берёт данные, внёс изменения в REST API. В следствие чего сломалась работа апплета.
Разработчики libmateweather оперативно выпустили патчи (https://github.com/mate-desktop/libmateweather/issues/135#issuecomment-330698...). Однако в дистрибутивы они попадут не сразу, кроме того не все хотят/могут установить свежий пакет. А текущую погоду хотелось бы видеть уже сейчас.
В Gentoo Linux есть встроенный функционал для применения пользовательских патчей при сборке пакета, что позволяет избежать необходимости создания собственного оверлея с модифицированным ebuild`ом libmateweather.
Итак определяем установленную версию libmateweather
# eix -I weather
[I] dev-libs/libmateweather
Available versions: 1.26.3 **1.27.1 {debug}
Installed versions: 1.26.3(03:27:16 PM 09/20/2025)(-debug)
Homepage: https://mate-desktop.org
Description: MATE library to access weather information from online services
Согласно описанию с https://wiki.gentoo.org/wiki//etc/portage/patches создаем директорию
mkdir -p /etc/portage/patches/dev-libs/libmateweather-1.26.3/
Для ветки 1.26:
wget -O libmateweather-issue135.patch https://github.com/mate-desktop/libmateweather/commit/7e7baca66d1da49d26fd22c923e8787f85597e76.diff
wget -O libmateweather-issue135.patch https://github.com/mate-desktop/libmateweather/commit/80b5f259864f7fecfb3c936f8f9aeade2d327f56.diff
Переходим в каталог ebuild`а
cd /mnt/portage/dev-libs/libmateweather/
ebuild libmateweather-1.26.3.ebuild clean prepare
В случае успеха пересобираем пакет:
emerge dev-libs/libmateweather --usepkg=n
pkill -e mateweather-app
Тем, кому эта инструкция не походит, но погода за окном всё же важна, можно предложить запрос напрямую через REST API в веб-браузере следующим образом:
Заходим на страницу https://aviationweather.gov/data/api/#cache и скачиваем Stations listing
в XML
https://aviationweather.gov/data/cache/stations.cache.xml.gz
или JSON формате
https://aviationweather.gov/data/cache/stations.cache.json.gz
(там примерно 200-300KB)
Находим в списках ближайший аэропорт и копируем его station_id. Например для Волгограда ID будет URWW, и URL выглдит так:
https://aviationweather.gov/api/data/metar?ids=URWW&format=json
Результат запроса (в веб-браузере) примерно такой:
0
icaoId "URWW"
receiptTime "2025-09-20T14:06:37.088Z"
obsTime 1758376800
reportTime "2025-09-20T14:00:00.000Z"
temp 20
dewp 4
wdir 150
wspd 4
visib "6+"
altim 1015
qcField 0
metarType "METAR"
rawOb "METAR URWW 201400Z 15002MPS 140V210 CAVOK 20/04 Q1015 R23/010070 TEMPO -TSRAGR BKN020CB"
lat 48.788
lon 44.336
elev 131
name "Volgograd Intl, VG, RU"
cover "CAVOK"
clouds []
fltCat "VFR"
Подробности по работе с API - на странице https://aviationweather.gov/data/api/ .