# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit toolchain-funcs linux-info udev MY_PV="${PV/_p/-}" MY_P="${PN}-${MY_PV}" if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://github.com/Whonix/kloak.git" inherit git-r3 else SRC_URI="https://github.com/Whonix/kloak/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" KEYWORDS="~amd64" S="${WORKDIR}/${MY_P}" fi DESCRIPTION="A privacy tool that makes keystroke biometrics less effective" HOMEPAGE="https://github.com/Whonix/kloak" LICENSE="BSD" SLOT="0" IUSE="systemd apparmor" DEPEND=" dev-libs/libevdev dev-libs/libsodium " RDEPEND="${DEPEND}" BDEPEND="app-text/ronn-ng" PATCHES=( "${FILESDIR}/${P}-A-slightly-more-sophisticated-Makefile.patch" ) pkg_pretend() { local CONFIG_CHECK="~UINPUT" [[ ${MERGE_TYPE} != buildonly ]] && check_extra_config } src_prepare() { default # force manpages to be regenerated rm auto-generated-man-pages/* || die # respect our prefix in scripts [[ -z "$EPREFIX" ]] || sed -i -e "s!/usr/sbin/!${EPREFIX}/usr/sbin/!" \ etc/apparmor.d/usr.sbin.kloak \ usr/lib/systemd/system/kloak.service || die } src_configure() { tc-export CC PKG_CONFIG } src_install() { local my_makeopts=( prefix="${EPREFIX}/usr" ) use systemd || my_makeopts+=( udev_rules_dir=deleteme systemd_dir=deleteme ) use apparmor || my_makeopts+=( apparmor_dir=deleteme ) emake DESTDIR="${D}" "${my_makeopts[@]}" install if [[ -d "${D}/deleteme" ]]; then rm -r "${D}/deleteme" || die fi } pkg_postinst() { if use systemd; then elog "systemd kloak service is installed; kloak will automatically restart" elog "to handle newly attached each newly attached input device." else elog "kloak is installed without any service support. You will have" elog "to manually launch and stop it, see kloak's documentation:" elog " https://github.com/vmonaco/kloak" fi use systemd && udev_reload } pkg_postrm() { use systemd && udev_reload }