# Copyright 2023-2024 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.85.0" NCM_API_TAG='1.5.1' NCM_API_COMMIT='63e439734d9d08f28f2752ce858f040822eb97d9' 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 gnome2-utils meson optfeature xdg flag-o-matic 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://codeberg.org/G-two/vendor/raw/branch/main/${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 sys-libs/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 filter-lto local emesonargs=( -Dlocaledir=share/locale -Ddatadir=share ) use debug || EMESON_BUILDTYPE=release meson_src_configure } 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 }