Update yandex-music ebuild by shamelessly stealing it from guru with minimal changes
yandex-music / check-and-update (push) Successful in 2m21s

This commit is contained in:
2026-10-30 19:14:22 +03:00
parent a8c79ef006
commit fac94c8124
2 changed files with 248 additions and 29 deletions
@@ -3,19 +3,30 @@
EAPI=8
inherit xdg desktop unpacker
CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB en-US es-419 es et fa fi fil fr gu he hi hr hu id it ja kn ko \
lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW"
inherit chromium-2 pax-utils wrapper unpacker xdg
DESCRIPTION="Personal recommendations, mixes for any occasion and the latest musical releases"
HOMEPAGE="https://music.yandex.ru/download/"
SRC_URI="https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_amd64_${PV}.deb -> ${P}.deb"
MY_PN="${PN/-/}"
DESCRIPTION="Yandex Music streaming service"
HOMEPAGE="https://music.yandex.ru/"
SRC_URI="
amd64? ( https://music-desktop-application.s3.yandex.net/stable/Yandex_Music_amd64_${PV}.deb -> ${P}.deb )
"
S="${WORKDIR}"
LICENSE="Yandex-Music-EULA"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="-* ~amd64"
DEPEND="
>=dev-util/patchelf-0.9
"
RESTRICT="bindist mirror strip"
RDEPEND="
x11-libs/gtk+:3
x11-libs/libnotify
dev-libs/nss
@@ -26,36 +37,64 @@ DEPEND="
sys-apps/util-linux
app-crypt/libsecret
"
RDEPEND="${DEPEND}"
QA_PRESTRIPPED="
/opt/Яндекс\\ Музыка/libEGL.so
/opt/Яндекс\\ Музыка/chrome-sandbox
/opt/Яндекс\\ Музыка/chrome_crashpad_handler
/opt/Яндекс\\ Музыка/libffmpeg.so
/opt/Яндекс\\ Музыка/libvulkan.so.1
/opt/Яндекс\\ Музыка/libGLESv2.so
/opt/Яндекс\\ Музыка/libvk_swiftshader.so
/opt/Яндекс\\ Музыка/yandexmusic
"
QA_PREBUILT="*"
QA_DESKTOP_FILE="usr/share/applications/yandex-music.*\\.desktop"
YANDEX_HOME="opt/${PN}"
pkg_setup() {
chromium_suid_sandbox_check_kernel_config
}
src_unpack() {
unpack_deb ${A}
mv -T "${S}/opt/Яндекс Музыка" "${S}/${YANDEX_HOME}" || die
mv -T "${S}/usr/share/doc/${MY_PN}" "${S}/usr/share/doc/${PF}" || die
}
src_prepare() {
default
sed -i -e "s|/opt/Яндекс Музыка/${MY_PN}|/opt/bin/${PN}|" \
-i -e "s/Audio;/AudioVideo;/" \
"${S}/usr/share/applications/${MY_PN}.desktop" || die
sed -i -e "s|/opt/Яндекс Музыка|/${YANDEX_HOME}|" \
"${S}/${YANDEX_HOME}"/resources/apparmor-profile || die
gunzip "usr/share/doc/${PF}/changelog.gz" || die "Failed to decompress docs"
# TODO: we want this to be around as it says to update but we need to fix
# it to avoid the sudo request on exit
#rm "${S}/${YANDEX_HOME}"/resources/app-update.yml || die
pushd "${YANDEX_HOME}/locales" > /dev/null || die
chromium_remove_language_paks
popd > /dev/null || die
patchelf --remove-rpath "${S}/${YANDEX_HOME}/chrome-sandbox" \
|| die "Failed to fix library rpath (chrome-sandbox)"
patchelf --remove-rpath "${S}/${YANDEX_HOME}/${MY_PN}" \
|| die "Failed to fix library rpath (yandexmusic)"
}
src_install() {
gzip -d usr/share/doc/yandexmusic/changelog.gz
mv usr/share/doc/yandexmusic usr/share/doc/${P}
insinto /opt
doins -r opt/*
insinto /usr
doins -r usr/*
insinto /
doins -r opt
doins -r usr
exeinto "/opt/Яндекс Музыка"
doexe "opt/Яндекс Музыка/yandexmusic"
doexe "opt/Яндекс Музыка/chrome-sandbox"
doexe "opt/Яндекс Музыка/chrome_crashpad_handler"
make_wrapper ${PN} "/${YANDEX_HOME}/${MY_PN}" "" "/${YANDEX_HOME}" "/opt/bin/"
dosym "../../opt/Яндекс Музыка/yandexmusic" /usr/bin/yandexmusic
sed -i 's/Categories=Audio;/Categories=Audio;AudioVideo/' usr/share/applications/yandexmusic.desktop
domenu usr/share/applications/yandexmusic.desktop
fowners root:root "/${YANDEX_HOME}/${MY_PN}"
fperms 4711 "/${YANDEX_HOME}/chrome-sandbox"
pax-mark m "${ED}${YANDEX_HOME}/chrome-sandbox"
fperms 755 "/${YANDEX_HOME}/${MY_PN}"
}
pkg_postinst() {