summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/libspnav/Manifest5
-rw-r--r--dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch75
-rw-r--r--dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch27
-rw-r--r--dev-libs/libspnav/libspnav-0.2.2.ebuild48
-rw-r--r--dev-libs/libspnav/metadata.xml22
5 files changed, 177 insertions, 0 deletions
diff --git a/dev-libs/libspnav/Manifest b/dev-libs/libspnav/Manifest
new file mode 100644
index 0000000..e67c697
--- /dev/null
+++ b/dev-libs/libspnav/Manifest
@@ -0,0 +1,5 @@
+AUX libspnav-0.2.2-custom-flags.patch 2151 RMD160 26eccbf34e404defe392333db30f433737220bc6 SHA1 e14d386825db1728261cfb9fbef2e5fd4c480383 SHA256 f3dcc7b4023e67a87a0554cdd277a836696c948b0ec01035ec6fe5dd2e4c587b
+AUX libspnav-0.2.2-makefile.patch 926 RMD160 7bee7c9d4af64bdafa3178c1565a41f062a96359 SHA1 9c20ac0d0d5c2bb8f60270b0d630bb37594a0596 SHA256 ec3abb5c566b3b4bb3f18e58ff83802845ea9156cba42ed417f4da35733746e7
+DIST libspnav-0.2.2.tar.gz 11615 RMD160 d49a1c9b5e556fd8ff8e7545d0983c1b205fe9f2 SHA1 c9291ed4acb38da3be4f81e6e3b43f853ce55eca SHA256 fb72388770d7dcd85b56ac2a83948983f1afd7dbe271e18d507b975ac4bea14f
+EBUILD libspnav-0.2.2.ebuild 1137 RMD160 2eb6836d930dbf9914917397378f09b14f1b921a SHA1 e60621dc9b1c668b9f9ac44d0b544e050ba59e83 SHA256 53cda83930da437ad35816c5d871d5ccdda68ff1977fde830e38d6098fdeb3ec
+MISC metadata.xml 850 RMD160 ac6b9735dafead0ee2569e89dfad1e2724d69be4 SHA1 b2d86473d5a5f83a72769f9305bf23fbd494eaff SHA256 18379cae8775245952a6107dc6f447b9ab511e58b87a1299d72ada53f1498bf6
diff --git a/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch b/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch
new file mode 100644
index 0000000..cc96655
--- /dev/null
+++ b/dev-libs/libspnav/files/libspnav-0.2.2-custom-flags.patch
@@ -0,0 +1,75 @@
+diff -Npur libspnav-0.2.2.orig/Makefile.in libspnav-0.2.2/Makefile.in
+--- libspnav-0.2.2.orig/Makefile.in 2012-01-31 22:34:01.448356249 +0100
++++ libspnav-0.2.2/Makefile.in 2012-01-31 22:39:20.229350669 +0100
+@@ -7,7 +7,8 @@ lib_so = $(soname).1
+
+ CC = gcc
+ AR = ar
+-CFLAGS = $(opt) $(dbg) -std=c89 -fpic -pedantic -Wall -fno-strict-aliasing -I.
++CFLAGS = $(opt) -fpic -I.
++LDFLAGS = $(ldopt) -shared -Wl,-soname,$(soname)
+
+ .PHONY: all
+ all: $(lib_a) $(lib_so)
+@@ -16,7 +17,7 @@ $(lib_a): $(obj)
+ $(AR) rcs $@ $(obj)
+
+ $(lib_so): $(obj)
+- $(CC) -shared -Wl,-soname,$(soname) -o $@ $(obj)
++ $(CC) $(LDFLAGS) -o $@ $(obj)
+
+ %.o: $(srcdir)/%.c
+ $(CC) $(CFLAGS) -c $< -o $@
+diff -Npur libspnav-0.2.2.orig/configure libspnav-0.2.2/configure
+--- libspnav-0.2.2.orig/configure 2012-01-31 22:34:01.448356249 +0100
++++ libspnav-0.2.2/configure 2012-01-31 22:34:39.703355615 +0100
+@@ -4,6 +4,7 @@ echo 'configuring spacenav library...'
+
+ PREFIX=/usr/local
+ OPT=yes
++LDOPT=yes
+ DBG=yes
+ X11=yes
+
+@@ -26,6 +27,11 @@ for arg; do
+ --disable-opt)
+ OPT=no;;
+
++ --enable-ldopt)
++ LDOPT=yes;;
++ --disable-ldopt)
++ LDOPT=no;;
++
+ --enable-debug)
+ DBG=yes;;
+ --disable-debug)
+@@ -44,6 +50,8 @@ for arg; do
+ echo ' --disable-x11: disable X11 communication mode'
+ 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'
+@@ -54,6 +62,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 ""
+@@ -74,7 +83,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/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch b/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch
new file mode 100644
index 0000000..f65300c
--- /dev/null
+++ b/dev-libs/libspnav/files/libspnav-0.2.2-makefile.patch
@@ -0,0 +1,27 @@
+diff -Npur libspnav-0.2.2.orig/Makefile.in libspnav-0.2.2/Makefile.in
+--- libspnav-0.2.2.orig/Makefile.in 2012-01-31 22:40:36.619349333 +0100
++++ libspnav-0.2.2/Makefile.in 2012-01-31 22:41:52.554347975 +0100
+@@ -11,7 +11,7 @@ CFLAGS = $(opt) -I.
+ LDFLAGS = $(ldopt) -shared -Wl,-soname,$(soname)
+
+ .PHONY: all
+-all: $(lib_a) $(lib_so)
++all: $(lib_so)
+
+ $(lib_a): $(obj)
+ $(AR) rcs $@ $(obj)
+@@ -31,10 +31,10 @@ distclean:
+ rm -f $(obj) $(lib_a) $(lib_so) Makefile
+
+ .PHONY: install
+-install: $(lib_a) $(lib_so)
+- cp $(lib_a) $(PREFIX)/$(libdir)/$(lib_a)
+- cp $(lib_so) $(PREFIX)/$(libdir)/$(lib_so)
+- for h in $(hdr); do cp -p $(srcdir)/$$h $(PREFIX)/include/; done
++install: $(lib_so)
++ mkdir -p $(DESTDIR)$(PREFIX)/$(libdir) $(DESTDIR)$(PREFIX)/include
++ cp $(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so)
++ for h in $(hdr); do cp -p $(srcdir)/$$h $(DESTDIR)$(PREFIX)/include/; done
+
+ .PHONY: uninstall
+ uninstall:
diff --git a/dev-libs/libspnav/libspnav-0.2.2.ebuild b/dev-libs/libspnav/libspnav-0.2.2.ebuild
new file mode 100644
index 0000000..10b7c97
--- /dev/null
+++ b/dev-libs/libspnav/libspnav-0.2.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+
+inherit multilib eutils toolchain-funcs
+
+MY_PN='spacenav'
+DESCRIPTION="The libspnav provides a replacement of the magellan library with cleaner and more orthogonal API."
+HOMEPAGE="http://spacenav.sourceforge.net/"
+SRC_URI="mirror://sourceforge/project/${MY_PN}/${MY_PN}%20library%20%28SDK%29/${PN}%20${PV}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X"
+
+RDEPEND="X? ( app-misc/spacenavd[X?] )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile.patch
+ epatch "${FILESDIR}"/${P}-custom-flags.patch
+}
+
+src_configure() {
+ econf \
+ --enable-opt --enable-ldopt \
+ $(use_enable X x11)
+}
+
+src_compile() {
+ emake CC=$(tc-getCC)
+}
+
+src_install() {
+ default
+
+ # Use proper libdir
+ if [[ $(get_libdir) != lib ]]; then
+ mv "${D}"/usr/{lib,$(get_libdir)} || die
+ fi
+
+ # Create missing symlinks
+ local target=$(basename "${D}"/usr/$(get_libdir)/libspnav.so.*)
+ dosym ${target} /usr/$(get_libdir)/libspnav.so.0 || die
+ dosym ${target} /usr/$(get_libdir)/libspnav.so || die
+}
diff --git a/dev-libs/libspnav/metadata.xml b/dev-libs/libspnav/metadata.xml
new file mode 100644
index 0000000..6de51ea
--- /dev/null
+++ b/dev-libs/libspnav/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>no-herd</herd>
+ <maintainer>
+ <email>anthoine.bourgeois@gmail.com</email>
+ <name>Anthoine Bourgeois</name>
+ </maintainer>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <longdescription>
+ The libspnav library is provided as a replacement of the magellan
+ library. It provides a cleaner, and more orthogonal interface. libspnav
+ supports both the original X11 protocol for communicating with the
+ driver, and the new alternative non-X protocol. Programs that choose to
+ use the X11 protocol, are automatically compatible with either the free
+ spacenavd driver or the official 3dxserv, as if they were using the
+ magellan SDK.
+ </longdescription>
+</pkgmetadata>