summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-misc/spacenavd/Manifest1
-rw-r--r--app-misc/spacenavd/spacenavd-1.2.ebuild90
2 files changed, 91 insertions, 0 deletions
diff --git a/app-misc/spacenavd/Manifest b/app-misc/spacenavd/Manifest
index a3619fa8ed68..a7da0bf60c28 100644
--- a/app-misc/spacenavd/Manifest
+++ b/app-misc/spacenavd/Manifest
@@ -1,2 +1,3 @@
DIST spacenavd-0.8.tar.gz 47515 BLAKE2B 5ab3432220ae44222b72b3fe18df096322031e0e2643798f494a87287e89607370cd15da919eececc714aacee1b75708a365feac5a182c901d63bdf4fa9f52c1 SHA512 8bb0dd2a95c602d23c84750e55ee649e7999bce43607cd09559f36a782780ceb15769bc0ed8e35b56f7c4b0724574830c2c06d4d8853b6f997ed8bba04441a05
DIST spacenavd-1.1.tar.gz 63642 BLAKE2B 09758883de240e291ffa5784622e79b6ecde46af0f5abcfff8e3692b3428b1aa7e64735a6bc24b84264a4682cc4db623cc38e2f874e346d76d661823b302da37 SHA512 954f6c8d429a2381cbc4ff4387e0e58be444959f1920601e07053e9068b7bdb0c70daefd03fff270560954f4b8c28e6a1b1164106867de969057909372f84168
+DIST spacenavd-1.2.tar.gz 62837 BLAKE2B 3532a2f481c6f5997e30d18939bc22c1287af6aa4ac2dacc8a6c683c497aacf648a8ddde4ca84b1e3340cf5deb922667e92eb3613ac9eaae1baed42281488508 SHA512 26c24afdfda4d8767fc3f94b3ab1da825622249b55666f516aa52251cd756c23f4104f1e22f951dae49d4779dd5b85383d8c0b50b09318eee923f2c707136834
diff --git a/app-misc/spacenavd/spacenavd-1.2.ebuild b/app-misc/spacenavd/spacenavd-1.2.ebuild
new file mode 100644
index 000000000000..c228ea72bd82
--- /dev/null
+++ b/app-misc/spacenavd/spacenavd-1.2.ebuild
@@ -0,0 +1,90 @@
+# 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
+ newins "${S}/doc/spnavrc_smouse_ent" spnavrc-space-mouse-enterprise.sample
+ newins "${S}/doc/spnavrc_spilot" spnavrc-space-pilot.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
+}