# Copyright 1999-2025 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit unpacker xdg-utils tmpfiles systemd

MY_PV=$(ver_rs 3 '-')

DESCRIPTION="NordVPN native client"
HOMEPAGE="https://nordvpn.com"
SRC_URI="amd64? ( https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/n/nordvpn/nordvpn_${MY_PV}_amd64.deb )
	arm64? ( https://repo.nordvpn.com/deb/nordvpn/debian/pool/main/n/nordvpn/nordvpn_${MY_PV}_arm64.deb )"

LICENSE="NordVPN"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm64"

# Courtesy of Ivan Anishchuk
# RDEPEND verified against the binaries' NEEDED sonames (scanelf) and the .deb's
# Depends. sqlite/libnl/libcap-ng are direct ELF link deps; xsltproc (libxslt)
# renders the ovpn .xslt templates. libidn2, procps, iptables and NetworkManager
# are runtime exec/dlopen deps, so portage's scanelf RDEPEND check lists them as
# "<" (declared but not linked) — that is expected, not missing.
RDEPEND="net-misc/networkmanager
		net-vpn/networkmanager-openvpn
		dev-db/sqlite:3
		dev-libs/libnl:3
		dev-libs/libxslt
		net-dns/libidn2
		app-misc/ca-certificates
		sys-libs/libcap-ng
		sys-process/procps
		net-firewall/iptables
		sys-apps/iproute2
		acct-group/nordvpn"


RESTRICT="strip"
S="${WORKDIR}"

src_unpack() {
	# Unpack Debian package containing application's files
	unpack_deb ${A}
	gzip "${S}"/usr/share/doc/nordvpn/changelog.Debian.gz -d
	gzip "${S}"/usr/share/man/man1/nordvpn.1.gz -d
}

src_install() {
	cd "${S}"

#   doinitd>etc/init.d/nordvpn
	newinitd "${FILESDIR}/nordvpn-r1.initd" ${PN}
#	doinitd etc/init.d/nordvpn
	systemd_dounit usr/lib/systemd/system/nordvpnd.{service,socket}
#	systemd_douserunit usr/lib/nordvpn/nordfileshared.{service,socket}

#   into<-->/etc/logrotate.d
	insinto /etc/logrotate.d/
	newins  "${FILESDIR}/logrotate" ${PN}

#   into<-->/usr
	dobin usr/bin/nordvpn
	dosbin usr/sbin/nordvpnd

	insinto /usr/lib/
	doins -r usr/lib/nordvpn

	fowners root:nordvpn /usr/lib/nordvpn/norduserd
	fperms 0550 /usr/lib/nordvpn/norduserd
	fowners root:nordvpn /usr/lib/nordvpn/nordfileshare
	fperms 0550 /usr/lib/nordvpn/nordfileshare
	fowners root:nordvpn /usr/lib/nordvpn/openvpn
	fperms 0550 /usr/lib/nordvpn/openvpn

	insinto /usr/share/
	doins -r usr/share/applications
	doins -r usr/share/zsh
	doins -r usr/share/bash-completion
	doins -r usr/share/icons

	insinto /var/lib/
	doins -r var/lib/nordvpn

	dodoc usr/share/doc/nordvpn/changelog.Debian
	doman usr/share/man/man1/nordvpn.1

	dotmpfiles usr/lib/tmpfiles.d/nordvpn.conf

	newenvd "${FILESDIR}"/nordvpn.env 99nordvpn
}

pkg_postinst (){
	xdg_desktop_database_update
	xdg_icon_cache_update
	tmpfiles_process nordvpn.conf
}

pkg_postrm (){
	xdg_desktop_database_update
	xdg_icon_cache_update
}