From f70d7af2a3f0c5031c111638a27a000c907a5c32 Mon Sep 17 00:00:00 2001 From: Anthoine Bourgeois Date: Wed, 21 Mar 2012 22:21:12 +0100 Subject: +spacenavd-0.5-r3.ebuild: Fix bug #409143 proto_x11.h include should be preprocessed without X. --- app-misc/spacenavd/Manifest | 9 +++ app-misc/spacenavd/files/99-space-navigator.rules | 6 ++ .../files/spacenavd-0.5-custom-flags.patch | 67 ++++++++++++++++++ .../spacenavd/files/spacenavd-0.5-destdir.patch | 16 +++++ .../spacenavd/files/spacenavd-0.5-proto_x11.patch | 13 ++++ app-misc/spacenavd/files/spnavd | 27 ++++++++ app-misc/spacenavd/metadata.xml | 21 ++++++ app-misc/spacenavd/spacenavd-0.5-r3.ebuild | 79 ++++++++++++++++++++++ 8 files changed, 238 insertions(+) create mode 100644 app-misc/spacenavd/Manifest create mode 100644 app-misc/spacenavd/files/99-space-navigator.rules create mode 100644 app-misc/spacenavd/files/spacenavd-0.5-custom-flags.patch create mode 100644 app-misc/spacenavd/files/spacenavd-0.5-destdir.patch create mode 100644 app-misc/spacenavd/files/spacenavd-0.5-proto_x11.patch create mode 100644 app-misc/spacenavd/files/spnavd create mode 100644 app-misc/spacenavd/metadata.xml create mode 100644 app-misc/spacenavd/spacenavd-0.5-r3.ebuild diff --git a/app-misc/spacenavd/Manifest b/app-misc/spacenavd/Manifest new file mode 100644 index 0000000..a5f3a22 --- /dev/null +++ b/app-misc/spacenavd/Manifest @@ -0,0 +1,9 @@ +AUX 99-space-navigator.rules 442 RMD160 549c74ba04736c33ed0f39a6782a49eca44f316d SHA1 91f67b9c885f6675464ab964b9dd8bcdade26ad6 SHA256 648add933b7775f02d8a54d9070a7505098d41b8e5b605bb56b11419cddb099b +AUX spacenavd-0.5-custom-flags.patch 2008 RMD160 c665becac1ff1b31eec94fe3ef70b98f851a2488 SHA1 79909d72d9da7ff0af369685869bb6709edadc90 SHA256 78c8aebbd33f0c135501e6dea132c4f6edd9068bfddf741bfc8fe11d5269f546 +AUX spacenavd-0.5-destdir.patch 649 RMD160 3ffb705f3a0a2a940e4e4a9c3d34c3ede6c95f33 SHA1 8a946d85a1d8d454579e635c2248bc17dc1a399d SHA256 df58f5006d3b1be15a40182ca91ea964d62572a6e0a47b05c037958674db5366 +AUX spacenavd-0.5-proto_x11.patch 420 RMD160 dcff5b1c4b42141089ec0db363e28f18119b2cd3 SHA1 ef38d08e566313ab3f19ea56a51bd64c450aa7d0 SHA256 f765e63780d99b3effd93c0a369d7be43b72babfd30b3b3f002c53110ecf64fd +AUX spnavd 579 RMD160 13e324d36ffb8900eb672492b7d8e10ae6a6c718 SHA1 dbef423d85a95f9fc329cfa379256a7331bdd7ac SHA256 2ad811c9c2de7ffa054e22a3d1a8c597b0a1cdc9fda719a7cc94a4fd8ca7ad42 +DIST spacenavd-0.5.tar.gz 41746 RMD160 7b455d4cd96074707e671103e45cd0a5423cafc3 SHA1 76438d6fce981337b272210311124fe711606235 SHA256 0eecc5b5ad47ee6376d1521f2bc7c8f8fc02904cf3fede3f77e59f4795b592e3 +EBUILD spacenavd-0.5-r3.ebuild 2266 RMD160 aa1104e9b2392610a9fae82af6ab371224078721 SHA1 db2b7444564ae28f058b6377788af962fda3ac5a SHA256 e431b9e67da34519b4f0b7952d0f55a4b549ec20090baefa6ca60cc88e7e239f +MISC ChangeLog 951 RMD160 b0198dadacaf1037f5ceac73540a0250cd4b4c54 SHA1 02994641e840f33f98496d2ddcf11435ff4ca75a SHA256 4d7c4a59c5ca3db012312eea4d6122420ab455d589d0b09a2836da49200f1f8e +MISC metadata.xml 821 RMD160 951f738e0caf95917df60ef10204c46d3a1a17da SHA1 9471ed43b7d6133a77c866bf63a4e9c26795c75f SHA256 5f91f3fad50f9442505f53a8ffa638f6a76622010405214d3071db8360863ba1 diff --git a/app-misc/spacenavd/files/99-space-navigator.rules b/app-misc/spacenavd/files/99-space-navigator.rules new file mode 100644 index 0000000..972b49d --- /dev/null +++ b/app-misc/spacenavd/files/99-space-navigator.rules @@ -0,0 +1,6 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 or later +# $Header: /var/cvsroot/gentoo-x86/app-misc/spacenavd/files/99-space-navigator.rules,v 1.1 2012/02/09 03:46:36 sping Exp $ + +# Start daemon on insertion of a SpaceNavigator device +SUBSYSTEM=="usb", ACTION=="add", ATTRS{manufacturer}=="3Dconnexion", ATTRS{product}=="Space Navigator", RUN+="/etc/init.d/spacenavd --quiet start" diff --git a/app-misc/spacenavd/files/spacenavd-0.5-custom-flags.patch b/app-misc/spacenavd/files/spacenavd-0.5-custom-flags.patch new file mode 100644 index 0000000..3b834a4 --- /dev/null +++ b/app-misc/spacenavd/files/spacenavd-0.5-custom-flags.patch @@ -0,0 +1,67 @@ +diff -Npur spacenavd-0.5.orig/Makefile.in spacenavd-0.5/Makefile.in +--- spacenavd-0.5.orig/Makefile.in 2012-01-31 22:22:20.460368687 +0100 ++++ spacenavd-0.5/Makefile.in 2012-01-31 22:23:18.170367675 +0100 +@@ -6,8 +6,8 @@ ctl = spnavd_ctl + + CC = gcc + INSTALL = install +-CFLAGS = -pedantic -Wall $(dbg) $(opt) -fno-strict-aliasing -I$(srcdir)/src +-LDFLAGS = $(xlib) ++CFLAGS = $(opt) -fno-strict-aliasing -I$(srcdir)/src ++LDFLAGS = $(ldopt) $(xlib) + + $(bin): $(obj) + $(CC) -o $@ $(obj) $(LDFLAGS) +diff -Npur spacenavd-0.5.orig/configure spacenavd-0.5/configure +--- spacenavd-0.5.orig/configure 2012-01-31 22:22:20.460368687 +0100 ++++ spacenavd-0.5/configure 2012-01-31 22:22:49.257368187 +0100 +@@ -28,6 +28,7 @@ test_kver() { + + PREFIX=/usr/local + OPT=yes ++LDOPT=yes + DBG=yes + X11=yes + HOTPLUG=yes +@@ -70,6 +71,11 @@ for arg; do + --disable-opt) + OPT=no;; + ++ --enable-ldopt) ++ LDOPT=yes;; ++ --disable-ldopt) ++ LDOPT=no;; ++ + --enable-debug) + DBG=yes;; + --disable-debug) +@@ -95,6 +101,8 @@ for arg; do + echo ' --disable-hotplug: disable hotplug, fallback to polling for the device' + echo ' --enable-opt: enable speed optimizations (default)' + echo ' --disable-opt: disable speed optimizations' ++ echo ' --enable-ldopt: enable link optimizations (default)' ++ echo ' --disable-ldopt: disable link optimizations' + echo ' --enable-debug: include debugging symbols (default)' + echo ' --disable-debug: do not include debugging symbols' + echo 'all invalid options are silently ignored' +@@ -105,6 +113,7 @@ done + + echo " prefix: $PREFIX" + echo " optimize for speed: $OPT" ++echo " optimize link: $LDOPT" + echo " include debugging symbols: $DBG" + echo " x11 communication method: $X11" + echo " use hotplug: $HOTPLUG" +@@ -128,7 +137,11 @@ if [ "$DBG" = 'yes' ]; then + fi + + if [ "$OPT" = 'yes' ]; then +- echo 'opt = -O3' >>Makefile ++ echo "opt = ${CFLAGS:--O3}" >>Makefile ++fi ++ ++if [ "$LDOPT" = 'yes' ]; then ++ echo "ldopt = ${LDFLAGS}" >>Makefile + fi + + if [ "$X11" = 'yes' ]; then diff --git a/app-misc/spacenavd/files/spacenavd-0.5-destdir.patch b/app-misc/spacenavd/files/spacenavd-0.5-destdir.patch new file mode 100644 index 0000000..5b23722 --- /dev/null +++ b/app-misc/spacenavd/files/spacenavd-0.5-destdir.patch @@ -0,0 +1,16 @@ +diff -Npur spacenavd-0.5.orig/Makefile.in spacenavd-0.5/Makefile.in +--- spacenavd-0.5.orig/Makefile.in 2011-11-16 21:43:53.210859753 +0100 ++++ spacenavd-0.5/Makefile.in 2011-11-16 21:45:36.386857932 +0100 +@@ -24,9 +24,9 @@ clean: + + .PHONY: install + install: $(bin) +- $(INSTALL) -d $(PREFIX)/bin +- $(INSTALL) -m 755 $(bin) $(PREFIX)/bin/$(bin) +- $(INSTALL) -m 755 $(srcdir)/$(ctl) $(PREFIX)/bin/$(ctl) ++ $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin ++ $(INSTALL) -m 755 $(bin) $(DESTDIR)$(PREFIX)/bin/$(bin) ++ $(INSTALL) -m 755 $(srcdir)/$(ctl) $(DESTDIR)$(PREFIX)/bin/$(ctl) + cd $(srcdir) && ./setup_init --no-install + + # [ -d /etc/hal/fdi/policy ] && \ diff --git a/app-misc/spacenavd/files/spacenavd-0.5-proto_x11.patch b/app-misc/spacenavd/files/spacenavd-0.5-proto_x11.patch new file mode 100644 index 0000000..6d93dd6 --- /dev/null +++ b/app-misc/spacenavd/files/spacenavd-0.5-proto_x11.patch @@ -0,0 +1,13 @@ +diff -Npur spacenavd-0.5.old/src/event.c spacenavd-0.5/src/event.c +--- spacenavd-0.5.old/src/event.c 2012-03-21 22:15:37.093401293 +0100 ++++ spacenavd-0.5/src/event.c 2012-03-21 22:14:10.734401301 +0100 +@@ -20,7 +20,9 @@ along with this program. If not, see + #include "event.h" + #include "client.h" ++#ifdef USE_X11 + #include "proto_x11.h" ++#endif + #include "proto_unix.h" + #include "spnavd.h" + diff --git a/app-misc/spacenavd/files/spnavd b/app-misc/spacenavd/files/spnavd new file mode 100644 index 0000000..383a2ad --- /dev/null +++ b/app-misc/spacenavd/files/spnavd @@ -0,0 +1,27 @@ +#!/sbin/runscript +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +depend() { + need localmount + after bootmisc +} + +start() { + ebegin "Starting Spacenav system daemon" + + start-stop-daemon --start --pidfile /var/run/spnavd.pid --exec /usr/bin/spacenavd + eend $? +} + +stop() { + local retval + + ebegin "Stopping Spacenav system daemon" + + start-stop-daemon --stop --pidfile /var/run/spnavd.pid + retval=$? + + eend ${retval} + return ${retval} +} diff --git a/app-misc/spacenavd/metadata.xml b/app-misc/spacenavd/metadata.xml new file mode 100644 index 0000000..1d77621 --- /dev/null +++ b/app-misc/spacenavd/metadata.xml @@ -0,0 +1,21 @@ + + + + + anthoine.bourgeois@gmail.com + Anthoine Bourgeois + + + sping@gentoo.org + Sebastian Pipping + + + The spacenavd daemon can be used directly as a drop-in replacement + to the 3DxWare daemon. It can communicate with the official magellan + SDK, and thus any program compiled with it can work with spacenavd + transparently without any change or need of recompilation. + Also, spacenavd provides an alternative communication protocol, for + programs that use libspnav, that doesn't require an X server, as the + original protocol does. + + diff --git a/app-misc/spacenavd/spacenavd-0.5-r3.ebuild b/app-misc/spacenavd/spacenavd-0.5-r3.ebuild new file mode 100644 index 0000000..2838ba0 --- /dev/null +++ b/app-misc/spacenavd/spacenavd-0.5-r3.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/spacenavd/spacenavd-0.5-r2.ebuild,v 1.2 2012/02/11 23:31:46 sping Exp $ + +EAPI="4" + +inherit eutils linux-info toolchain-funcs + +MY_PN='spacenav' +DESCRIPTION="The spacenavd daemon provides free alternative to the 3dxserv daemon." +HOMEPAGE="http://spacenav.sourceforge.net/" +SRC_URI="mirror://sourceforge/project/${MY_PN}/${MY_PN}%20daemon/${PN}%20${PV}/${P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" + +RDEPEND="X? ( x11-apps/xdpyinfo )" +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_prepare() { + epatch "${FILESDIR}"/${P}-destdir.patch + epatch "${FILESDIR}"/${P}-custom-flags.patch + epatch "${FILESDIR}"/${P}-proto_x11.patch +} + +src_configure() { + econf \ + --enable-opt --enable-ldopt \ + $(use_enable X x11) +} + +src_compile() { + emake CC=$(tc-getCC) +} + +src_install() { + # Config file + insinto /etc + newins "${S}/doc/example-spnavrc" spnavrc.sample || die + + # Init script + newinitd "${FILESDIR}/spnavd" spacenavd || die + + # Install udev rule but leave activiation to the user + # since Xorg may be configured to grab the device already + insinto /etc/udev/rules.d + newins "${FILESDIR}"/99-space-navigator.rules 99-space-navigator.rules.ignored || die + + # Daemon + dobin "${S}/spacenavd" + use X && dobin "${S}/spnavd_ctl" +} + +pkg_postinst() { + 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\`" + 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 99-space-navigator.rules.ignored /etc/udev/rules.d/99-space-navigator.rules\`" + elog + ewarn "You must restart spnavd \`/etc/init.d/spacenavd restart\` to run" + ewarn "the new version of the daemon." +} -- cgit v1.2.3-65-gdbad