Install this version:
emerge -a =media-sound/netease-cloud-music-gtk-2.5.3
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =media-sound/netease-cloud-music-gtk-2.5.3
Or alternatively:
emerge --autounmask-write -a =media-sound/netease-cloud-music-gtk-2.5.3
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 2.5.3 | 8 | ~amd64 | 0 |
# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.13.4
EAPI=8
RUST_MIN_VER="1.92.0"
NCM_API_TAG='1.5.2'
NCM_API_COMMIT='d570248b325ee4558afbaa30ba282d11dff37cd3'
declare -A GIT_CRATES=(
[netease-cloud-music-api]="https://github.com/gmg137/netease-cloud-music-api;${NCM_API_TAG};netease-cloud-music-api-%commit%"
)
inherit cargo dot-a gnome2-utils meson optfeature xdg
DESCRIPTION="netease cloud music player based on Rust & GTK for Linux"
HOMEPAGE="https://github.com/gmg137/netease-cloud-music-gtk"
SRC_URI="
https://github.com/gmg137/netease-cloud-music-gtk/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/liuyujielol/gentoo-go-deps/releases/download/${P}/${P}-crates.tar.xz
https://github.com/gmg137/netease-cloud-music-api/archive/refs/tags/${NCM_API_TAG}.tar.gz ->
netease-cloud-music-api-${NCM_API_TAG}.tar.gz
"
LICENSE="GPL-3"
# Dependent crate licenses
LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0
Unicode-3.0
"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
dev-libs/glib:2
dev-libs/openssl:*
media-libs/gst-plugins-bad:1.0
media-libs/gst-plugins-base:1.0
media-libs/gst-plugins-good
media-libs/gst-plugins-ugly
media-libs/gstreamer:1.0
media-plugins/gst-plugins-libav
media-plugins/gst-plugins-soup
sys-apps/dbus
virtual/zlib
x11-libs/cairo
x11-libs/gdk-pixbuf:2
gui-libs/gtk:4
gui-libs/libadwaita:1
x11-libs/pango
"
RDEPEND="${DEPEND}"
BDEPEND="
sys-devel/gettext
"
src_unpack() {
cargo_src_unpack
}
src_prepare() {
# cargo will try to update crates online despite
# cargo_gen_config set [patch] table in cargo config
# modify Cargo.toml with unpacked git crate (ncm-api)
#local ncm_api_git="git = \"https://github.com/gmg137/netease-cloud-music-api.git\", tag = \"${NCM_API_TAG}\""
local ncm_api_git="git = \"https://gitee.com/gmg137/netease-cloud-music-api.git\", tag = \"${NCM_API_TAG}\""
local ncm_api_path="path = \"${WORKDIR}/netease-cloud-music-api-${NCM_API_TAG}\""
sed -i -E "s#${ncm_api_git}#${ncm_api_path}#g" "${S}/Cargo.toml" || die "ncm-api workaround failed"
pushd "${WORKDIR}/netease-cloud-music-api-${NCM_API_TAG}" > /dev/null || die
eapply "${FILESDIR}/isahc-disable-static-curl.patch"
popd > /dev/null || die
default
}
src_configure() {
export GETTEXT_SYSTEM=1 # gettext-sys crate
export OPENSSL_NO_VENDOR=1 # openssl-sys crate
lto-guarantee-fat
local emesonargs=(
-Dlocaledir=share/locale
-Ddatadir=share
)
use debug || EMESON_BUILDTYPE=release
meson_src_configure
}
src_install() {
meson_src_install
strip-lto-bytecode
}
pkg_postinst() {
optfeature "osdlyrics integration" media-plugins/osdlyrics
xdg_pkg_postinst
gnome2_schemas_update
gnome2_gdk_pixbuf_update
gnome2_giomodule_cache_update
}
pkg_postrm() {
xdg_pkg_postrm
gnome2_schemas_update
gnome2_giomodule_cache_update
}
dev-libs/glib:2 dev-libs/openssl:* media-libs/gst-plugins-bad:1.0 media-libs/gst-plugins-base:1.0 media-libs/gst-plugins-good media-libs/gst-plugins-ugly media-libs/gstreamer:1.0 media-plugins/gst-plugins-libav media-plugins/gst-plugins-soup sys-apps/dbus virtual/zlib x11-libs/cairo x11-libs/gdk-pixbuf:2 gui-libs/gtk:4 gui-libs/libadwaita:1 x11-libs/pango
dev-libs/glib:2 dev-libs/openssl:* media-libs/gst-plugins-bad:1.0 media-libs/gst-plugins-base:1.0 media-libs/gst-plugins-good media-libs/gst-plugins-ugly media-libs/gstreamer:1.0 media-plugins/gst-plugins-libav media-plugins/gst-plugins-soup sys-apps/dbus virtual/zlib x11-libs/cairo x11-libs/gdk-pixbuf:2 gui-libs/gtk:4 gui-libs/libadwaita:1 x11-libs/pango
sys-devel/gettext