summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Harmon <russ@eatnumber1.com>2009-12-31 11:58:04 -0500
committerRussell Harmon <russ@eatnumber1.com>2009-12-31 12:12:13 -0500
commitc5d8ae3959af231fe2d308cbd328c1cb0a33dac7 (patch)
treeb449eeb7b8e11b77bf74747b43277cbe02552e8a /x11-misc
parentAdd xdotool-20091231.01 ebuild. (diff)
downloadeatnumber1-c5d8ae3959af231fe2d308cbd328c1cb0a33dac7.tar.gz
eatnumber1-c5d8ae3959af231fe2d308cbd328c1cb0a33dac7.tar.bz2
eatnumber1-c5d8ae3959af231fe2d308cbd328c1cb0a33dac7.zip
Add keynav-20091231.01 ebuild.
Diffstat (limited to 'x11-misc')
-rw-r--r--x11-misc/keynav/Manifest5
-rw-r--r--x11-misc/keynav/files/keynav-20091231.01_etc-config.patch70
-rw-r--r--x11-misc/keynav/files/keynav-20091231.01_fix-makefile.patch55
-rw-r--r--x11-misc/keynav/files/keynav-20091231.01_fix-memleaks.patch32
-rw-r--r--x11-misc/keynav/keynav-20091231.01.ebuild40
5 files changed, 202 insertions, 0 deletions
diff --git a/x11-misc/keynav/Manifest b/x11-misc/keynav/Manifest
new file mode 100644
index 0000000..3e7d084
--- /dev/null
+++ b/x11-misc/keynav/Manifest
@@ -0,0 +1,5 @@
+AUX keynav-20091231.01_etc-config.patch 1684 RMD160 c9329ca5c8bf063cc8cdbed9713bcfaee097031c SHA1 df6818fb894b2252b0435249b1cea3df541e1612 SHA256 757146ab8dc6f23ee552d30470d481d4ef7c524cb3d28d651501b532f157ec5d
+AUX keynav-20091231.01_fix-makefile.patch 1600 RMD160 56329b1bf1dc5565bf6a36f3c66db60818deb3d7 SHA1 f08a267e5daff0ffbdc3238fa0959adc0a0174f7 SHA256 98d54ec1f7b35f10d25bd84d7518ee6bfa6672ab99a1712b75d011d4e60bc2a8
+AUX keynav-20091231.01_fix-memleaks.patch 707 RMD160 2064784df6f232fe0dc43cc773e76282aa03735c SHA1 fdbd10c281093ace59bdfb2a21a8033da74e4450 SHA256 6c613718ac520f9b5a7fa302237ee528420a58461fdf29942024eb17d3615e7b
+EBUILD keynav-20091231.01.ebuild 992 RMD160 f69720948c3b491e9184b007439bc18c772a8302 SHA1 c36dc205286ecec940d92a5f973689a0838c3511 SHA256 1c2101c455614267b17d6a76cd20ed585bc83eef3fe8243958bea153f08798cb
+DIST keynav-20091231.01.tar.gz 37277 RMD160 ff84ea62a3e8d6bfea19bb191b4a5430ed2e1416 SHA1 ae11cadee8d4ea932f4bd1bb3fc165751c115ea8 SHA256 cdb3865fb844d22abd8cb14110c134e2ae82bba57799b64636229fe9e2987006
diff --git a/x11-misc/keynav/files/keynav-20091231.01_etc-config.patch b/x11-misc/keynav/files/keynav-20091231.01_etc-config.patch
new file mode 100644
index 0000000..00a32eb
--- /dev/null
+++ b/x11-misc/keynav/files/keynav-20091231.01_etc-config.patch
@@ -0,0 +1,70 @@
+From 50fb30000ecd172e1748fab9bad7762df4ea2cf0 Mon Sep 17 00:00:00 2001
+From: Russell Harmon <russ@eatnumber1.com>
+Date: Thu, 31 Dec 2009 11:44:16 -0500
+Subject: [PATCH 1/3] Support using a config file located in /etc
+
+---
+ keynav.c | 33 ++++++++++++++++++---------------
+ 1 files changed, 18 insertions(+), 15 deletions(-)
+
+diff --git a/keynav.c b/keynav.c
+index d872805..76fd307 100644
+--- a/keynav.c
++++ b/keynav.c
+@@ -306,6 +306,22 @@ void addbinding(int keycode, int mods, char *commands) {
+ }
+ }
+
++void parse_config_file(const char* file) {
++ FILE *fp = NULL;
++#define LINEBUF_SIZE 512
++ char line[LINEBUF_SIZE];
++ fp = fopen(file, "r");
++ if (fp != NULL) {
++ /* fopen succeeded */
++ while (fgets(line, LINEBUF_SIZE, fp) != NULL) {
++ /* Kill the newline */
++ *(line + strlen(line) - 1) = '\0';
++ parse_config_line(line);
++ }
++ fclose(fp);
++ }
++}
++
+ void parse_config() {
+ char *homedir;
+
+@@ -313,28 +329,15 @@ void parse_config() {
+
+ defaults();
+
++ parse_config_file("/etc/keynavrc");
+ homedir = getenv("HOME");
+
+ if (homedir != NULL) {
+ char *rcfile = NULL;
+- FILE *fp = NULL;
+-#define LINEBUF_SIZE 512
+- char line[LINEBUF_SIZE];
+ asprintf(&rcfile, "%s/.keynavrc", homedir);
+- fp = fopen(rcfile, "r");
+- if (fp != NULL) {
+- /* fopen succeeded */
+- while (fgets(line, LINEBUF_SIZE, fp) != NULL) {
+- /* Kill the newline */
+- *(line + strlen(line) - 1) = '\0';
+- parse_config_line(line);
+- }
+- free(rcfile);
+- return;
+- }
++ parse_config_file(rcfile);
+ free(rcfile);
+ }
+- fprintf(stderr, "No ~/.keynavrc found.\n");
+ }
+
+ void defaults() {
+--
+1.6.4.4
+
diff --git a/x11-misc/keynav/files/keynav-20091231.01_fix-makefile.patch b/x11-misc/keynav/files/keynav-20091231.01_fix-makefile.patch
new file mode 100644
index 0000000..ea83cd2
--- /dev/null
+++ b/x11-misc/keynav/files/keynav-20091231.01_fix-makefile.patch
@@ -0,0 +1,55 @@
+From ba0b36967da328b84f3d29b5d660d30bfd37df37 Mon Sep 17 00:00:00 2001
+From: Russell Harmon <russ@eatnumber1.com>
+Date: Thu, 31 Dec 2009 11:51:33 -0500
+Subject: [PATCH 2/3] Fix the makefile
+
+---
+ Makefile | 13 ++++++++-----
+ 1 files changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cf83800..f168e82 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,6 @@
+-CFLAGS=`pkg-config --cflags xext xinerama x11 xtst 2> /dev/null || echo -I/usr/X11R6/include -I/usr/local/include`
+-LDFLAGS=`pkg-config --libs xext xinerama x11 xtst 2> /dev/null || echo -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama -lXext`
++CFLAGS+= $(shell pkg-config --cflags xext xinerama x11 xtst 2> /dev/null || echo -I/usr/X11R6/include -I/usr/local/include)
++LDFLAGS+= $(shell pkg-config --libs xext xinerama x11 xtst 2> /dev/null || echo -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama -lXext)
++
+
+ #CFLAGS+=-g
+ OTHERFILES=README CHANGELIST COPYRIGHT \
+@@ -7,11 +8,13 @@ OTHERFILES=README CHANGELIST COPYRIGHT \
+
+ MICROVERSION?=00
+
++.PHONY: all
++
+ all: keynav
+
+ clean:
+ rm *.o || true;
+- make -C xdotool clean || true
++ $(MAKE) -C xdotool clean || true
+
+ # We'll try to detect 'libxdo' and use it if we find it.
+ # otherwise, build monolithic.
+@@ -20,12 +23,12 @@ keynav: keynav.o
+ if $(LD) -lxdo > /dev/null 2>&1 ; then \
+ $(CC) $(LDFLAGS) -lxdo keynav.o -o $@; \
+ else \
+- make xdo.o; \
++ $(MAKE) xdo.o; \
+ $(CC) $(LDFLAGS) xdo.o keynav.o -o $@; \
+ fi
+
+ xdo.o:
+- make -C xdotool xdo.o
++ $(MAKE) -C xdotool xdo.o
+ cp xdotool/xdo.o .
+
+ package: clean
+--
+1.6.4.4
+
diff --git a/x11-misc/keynav/files/keynav-20091231.01_fix-memleaks.patch b/x11-misc/keynav/files/keynav-20091231.01_fix-memleaks.patch
new file mode 100644
index 0000000..4c1593a
--- /dev/null
+++ b/x11-misc/keynav/files/keynav-20091231.01_fix-memleaks.patch
@@ -0,0 +1,32 @@
+From 83b84889b59cb0469c2b246a32a98c1d24ce755c Mon Sep 17 00:00:00 2001
+From: Russell Harmon <russ@eatnumber1.com>
+Date: Thu, 31 Dec 2009 11:52:50 -0500
+Subject: [PATCH 3/3] Fix several memory leaks
+
+---
+ keynav.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/keynav.c b/keynav.c
+index 76fd307..bb6a186 100644
+--- a/keynav.c
++++ b/keynav.c
+@@ -267,6 +267,7 @@ int parse_mods(char *keyseq) {
+ }
+
+ free(dup);
++ free(mods);
+ return modmask;
+ }
+
+@@ -1138,6 +1139,7 @@ void query_screen_xinerama() {
+ viewports[i].screen = ScreenOfDisplay(dpy, 0);
+ viewports[i].root = DefaultRootWindow(dpy);
+ }
++ XFree(screeninfo);
+ }
+
+ void query_screen_normal() {
+--
+1.6.4.4
+
diff --git a/x11-misc/keynav/keynav-20091231.01.ebuild b/x11-misc/keynav/keynav-20091231.01.ebuild
new file mode 100644
index 0000000..add6911
--- /dev/null
+++ b/x11-misc/keynav/keynav-20091231.01.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Make pointer-driven interfaces easier and faster for users to operate"
+HOMEPAGE="http://www.semicomplete.com/projects/keynav/"
+SRC_URI="http://semicomplete.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXinerama
+ x11-libs/libXext
+ x11-libs/libXtst"
+DEPEND="x11-proto/xproto
+ ${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}_etc-config.patch" \
+ "${FILESDIR}/${P}_fix-makefile.patch" \
+ "${FILESDIR}/${P}_fix-memleaks.patch"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" LD="$(tc-getLD)" || die "Unable to build sources"
+}
+
+src_install() {
+ dodoc README CHANGELIST || die "Unable to install documentation"
+ dobin keynav || die "Unable to install keynav binary"
+ insinto /etc
+ doins keynavrc || die "Unable to install keynavrc"
+}