app-misc/spacenavd: Apply upstream patch for musl libc

Closes: https://bugs.gentoo.org/942292
Signed-off-by: Sebastian Pipping <sping@gentoo.org>
This commit is contained in:
Sebastian Pipping
2024-10-26 21:32:22 +02:00
parent 36d111cc81
commit bc8c6d180f
2 changed files with 121 additions and 0 deletions

View File

@@ -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

View File

@@ -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
}