# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# Autogenerated by pycargoebuild 0.17.2

EAPI=8

RUST_MIN_VER="1.98.0"
declare -A GIT_CRATES=(
	[html2gtk]="https://gitlab.com/news-flash/html2gtk;281cb2354bf893e9bfb9f64d2265227c385a0a58;html2gtk-%commit%"
)

inherit cargo gnome2-utils meson xdg

DESCRIPTION="RSS reader that complements web-based feed services"
HOMEPAGE="
	https://apps.gnome.org/NewsFlash/
	https://gitlab.com/news-flash/news_flash_gtk
"
SRC_URI="https://gitlab.com/api/v4/projects/8320003/packages/generic/${PN}/${PV}/${P}.tar.xz
	${CARGO_CRATE_URIS}"

LICENSE="GPL-3"
# Dependent crate licenses
LICENSE+="
	Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD
	CDLA-Permissive-2.0 GPL-3+ IJG ISC MIT MPL-2.0 UoI-NCSA Unicode-3.0
	Unlicense ZLIB
	|| ( 0BSD CC0-1.0 )
"
SLOT="0"
KEYWORDS="~amd64 ~arm64"

DEPEND="
	dev-db/sqlite:3
	>=dev-libs/glib-2.88:2
	dev-libs/openssl:=
	>=gui-libs/gtk-4.22:4[wayland]
	gui-libs/gtksourceview:5
	>=gui-libs/libadwaita-1.9:1
	media-libs/fontconfig:1.0
	media-libs/graphene
	media-libs/gst-plugins-base:1.0
	media-libs/gstreamer:1.0
	media-libs/lcms:2
	>=media-video/clapper-0.10.0[gtk]
	>=net-libs/webkit-gtk-2.42.0:6
	virtual/libintl
	x11-libs/cairo
	kernel_linux? ( sys-libs/libseccomp )
"
RDEPEND="
	${DEPEND}
	media-libs/gst-plugins-good:1.0
	media-plugins/clapper-enhancers
	media-plugins/gst-plugins-adaptivedemux2
	media-plugins/gst-plugins-libav:1.0
	media-plugins/gst-plugins-soup:1.0
	net-libs/glib-networking
"
BDEPEND="
	dev-libs/appstream
	dev-libs/glib:2
	dev-util/blueprint-compiler
	sys-devel/gettext
	virtual/pkgconfig
"

# Rust-binaries: LDFLAGS aren't always respected
QA_FLAGS_IGNORED="usr/bin/io.gitlab.news_flash.NewsFlash"

pkg_setup() {
	rust_pkg_setup
}

src_unpack() {
	cargo_src_unpack
	rm -r "${ECARGO_VENDOR}" || die
	mv "${S}"/vendor "${ECARGO_VENDOR}" || die
}

src_prepare() {
	default
	sed "/'--jobs'/d; /cargo_env/d" -i src/meson.build || die
}

src_configure() {
	local emesonargs=(
		-Dlibc=$(usex elibc_glibc true false)
	)
	export CARGO_NET_OFFLINE=true
	export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
	meson_src_configure
}

src_install() {
	meson_src_install
	dosym ./io.gitlab.news_flash.NewsFlash /usr/bin/newsflash
}

pkg_postinst() {
	xdg_pkg_postinst
	gnome2_schemas_update
}

pkg_postrm() {
	xdg_pkg_postrm
	gnome2_schemas_update
}