media-sound/netease-cloud-music-gtk - 2.5.3 (gentoo-zh)

Search

Install

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

Package Information

Description:
netease cloud music player based on Rust & GTK for Linux
Homepage:
https://github.com/gmg137/netease-cloud-music-gtk
License:
GPL-3 Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 Unicode-3.0

Ebuild Details

Version EAPI Keywords Slot
2.5.3 8 ~amd64 0
View Raw Ebuild
# 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
}

Inherited Eclasses

xdg

Dependencies

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

	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

BDEPEND

	sys-devel/gettext

Manifest for 2.5.3

Type File Size Source URLs
DIST netease-cloud-music-api-1.5.2.tar.gz 14821 bytes https://github.com/gmg137/netease-cloud-music-api/archive/refs/tags/1.5.2.tar.gz
DIST netease-cloud-music-gtk-2.5.3-crates.tar.xz 31964948 bytes https://github.com/liuyujielol/gentoo-go-deps/releases/download/netease-cloud-music-gtk-2.5.3/netease-cloud-music-gtk-2.5.3-crates.tar.xz
DIST netease-cloud-music-gtk-2.5.3.tar.gz 1380103 bytes https://github.com/gmg137/netease-cloud-music-gtk/archive/refs/tags/2.5.3.tar.gz