diff options
author | Russell Harmon <russ@eatnumber1.com> | 2009-12-31 11:58:04 -0500 |
---|---|---|
committer | Russell Harmon <russ@eatnumber1.com> | 2009-12-31 12:12:13 -0500 |
commit | c5d8ae3959af231fe2d308cbd328c1cb0a33dac7 (patch) | |
tree | b449eeb7b8e11b77bf74747b43277cbe02552e8a /x11-misc | |
parent | Add xdotool-20091231.01 ebuild. (diff) | |
download | eatnumber1-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/Manifest | 5 | ||||
-rw-r--r-- | x11-misc/keynav/files/keynav-20091231.01_etc-config.patch | 70 | ||||
-rw-r--r-- | x11-misc/keynav/files/keynav-20091231.01_fix-makefile.patch | 55 | ||||
-rw-r--r-- | x11-misc/keynav/files/keynav-20091231.01_fix-memleaks.patch | 32 | ||||
-rw-r--r-- | x11-misc/keynav/keynav-20091231.01.ebuild | 40 |
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" +} |