summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2022-06-08 15:06:35 +0200
committerSebastian Pipping <sping@gentoo.org>2022-06-08 15:07:38 +0200
commit50549e619b80990a968e0226764e0b5a60f7f923 (patch)
tree24223c530b3f4780bad244a49628e8fab776e06c
parentsys-apps/systemd: pull in ntp policy for selinux (diff)
downloadgentoo-50549e619b80990a968e0226764e0b5a60f7f923.tar.gz
gentoo-50549e619b80990a968e0226764e0b5a60f7f923.tar.bz2
gentoo-50549e619b80990a968e0226764e0b5a60f7f923.zip
app-misc/spacenavd: Add udev_reload to pkg_postrm
Bug: https://bugs.gentoo.org/847268 Signed-off-by: Sebastian Pipping <sping@gentoo.org> Package-Manager: Portage-3.0.30, Repoman-3.0.3
-rw-r--r--app-misc/spacenavd/spacenavd-1.0-r2.ebuild88
1 files changed, 88 insertions, 0 deletions
diff --git a/app-misc/spacenavd/spacenavd-1.0-r2.ebuild b/app-misc/spacenavd/spacenavd-1.0-r2.ebuild
new file mode 100644
index 000000000000..b389c8cc7dc5
--- /dev/null
+++ b/app-misc/spacenavd/spacenavd-1.0-r2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info systemd toolchain-funcs udev
+
+MY_PN='spacenav'
+DESCRIPTION="The spacenavd daemon provides free alternative to the 3dxserv daemon"
+HOMEPAGE="http://spacenav.sourceforge.net/"
+SRC_URI="https://github.com/FreeSpacenav/spacenavd/releases/download/v${PV}/${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="X"
+
+RDEPEND="X? (
+ x11-apps/xdpyinfo
+ x11-base/xorg-proto
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXtst
+ )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ CONFIG_CHECK="~INPUT_EVDEV"
+ ERROR_CFG="Your kernel needs INPUT_EVDEV for the spacenavd to work properly"
+ check_extra_config
+}
+
+src_configure() {
+ append-cflags -fcommon # bug 708648
+ econf \
+ --disable-debug \
+ --enable-hotplug \
+ --disable-opt \
+ $(use_enable X x11)
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ # Config file
+ insinto /etc
+ newins "${S}/doc/example-spnavrc" spnavrc.sample
+
+ # Init script
+ newinitd "${FILESDIR}/spnavd" spacenavd
+ systemd_dounit "${FILESDIR}/spacenavd.service"
+
+ # Install udev rule but leave activiation to the user
+ # since Xorg may be configured to grab the device already
+ udev_newrules "${FILESDIR}"/99-space-navigator.rules-r2 99-space-navigator.rules.ignored
+
+ # Daemon
+ dobin "${S}/spacenavd"
+ use X && dobin "${S}/spnavd_ctl"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ elog "To start the Spacenav daemon system-wide by default"
+ elog "you should add it to the default runlevel :"
+ elog "\`rc-update add spacenavd default\` (for openRC)"
+ elog "\`systemctl enable spacenavd\` (for systemd)"
+ elog
+ if use X; then
+ elog "To start generating Spacenav X events by default"
+ elog "you should add this command in your user startup"
+ elog "scripts such as .gnomerc or .xinitrc :"
+ elog "\`spnavd_ctl x11 start\`"
+ elog
+ fi
+ elog "If you want to auto-start the daemon when you plug in"
+ elog "a SpaceNavigator device, activate the related udev rule :"
+ elog "\`sudo ln -s $(get_udevdir)/rules.d/99-space-navigator.rules.ignored /etc/udev/rules.d\`"
+ ewarn "You must restart spnavd \`/etc/init.d/spacenavd restart\` to run"
+ ewarn "the new version of the daemon or \`systemctl restart spacenavd\`"
+ ewarn "if using systemd."
+}
+
+pkg_postrm() {
+ udev_reload
+}