summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pipping <sping@gentoo.org>2024-10-26 21:32:22 +0200
committerSebastian Pipping <sping@gentoo.org>2024-10-26 21:32:22 +0200
commitbc8c6d180f898686f92d03a2f6ba41ea4346d890 (patch)
tree3a189793c983515970c724c6e6275558da94ecf7 /app-misc/spacenavd
parentdev-python/black: Use pytest-forked to workaround fd leaks (diff)
downloadgentoo-bc8c6d180f898686f92d03a2f6ba41ea4346d890.tar.gz
gentoo-bc8c6d180f898686f92d03a2f6ba41ea4346d890.tar.bz2
gentoo-bc8c6d180f898686f92d03a2f6ba41ea4346d890.zip
app-misc/spacenavd: Apply upstream patch for musl libc
Closes: https://bugs.gentoo.org/942292 Signed-off-by: Sebastian Pipping <sping@gentoo.org>
Diffstat (limited to 'app-misc/spacenavd')
-rw-r--r--app-misc/spacenavd/files/spacenavd-1.3-musl.patch27
-rw-r--r--app-misc/spacenavd/spacenavd-1.3-r1.ebuild94
2 files changed, 121 insertions, 0 deletions
diff --git a/app-misc/spacenavd/files/spacenavd-1.3-musl.patch b/app-misc/spacenavd/files/spacenavd-1.3-musl.patch
new file mode 100644
index 000000000000..0b6a521cf68e
--- /dev/null
+++ b/app-misc/spacenavd/files/spacenavd-1.3-musl.patch
@@ -0,0 +1,27 @@
+From c6f8a6bf4aa5024c0317f4bb215f828e4219d61f Mon Sep 17 00:00:00 2001
+From: John Tsiombikas <nuclear@member.fsf.org>
+Date: Sun, 16 Jun 2024 20:10:26 +0300
+Subject: [PATCH] fix typo in conditional include stopping stdint.h from being
+ included
+
+fixes gitub issue #105
+---
+ src/proto.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/proto.h b/src/proto.h
+index a852f7f..8c983ab 100644
+--- a/src/proto.h
++++ b/src/proto.h
+@@ -3,9 +3,9 @@
+
+ #include "config.h"
+
+-#ifdef HAVE_STDINT_H_
++#ifdef HAVE_STDINT_H
+ #include <stdint.h>
+-#elif defined(HAVE_INTTYPES_H_)
++#elif defined(HAVE_INTTYPES_H)
+ #include <inttypes.h>
+ #endif
+
diff --git a/app-misc/spacenavd/spacenavd-1.3-r1.ebuild b/app-misc/spacenavd/spacenavd-1.3-r1.ebuild
new file mode 100644
index 000000000000..b9aac3ac6fa1
--- /dev/null
+++ b/app-misc/spacenavd/spacenavd-1.3-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 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}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-musl.patch
+)
+
+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
+}