summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2011-10-09 03:46:00 +0000
committerMike Gilbert <floppym@gentoo.org>2011-10-09 03:46:00 +0000
commit9bd7e6861d33597b3b4e78275f251099706a8f61 (patch)
tree50d9900ce9eb41c59cff6dec71c96121620c197d /dev-libs
parentDrop maintainership. (diff)
downloadgentoo-2-9bd7e6861d33597b3b4e78275f251099706a8f61.tar.gz
gentoo-2-9bd7e6861d33597b3b4e78275f251099706a8f61.tar.bz2
gentoo-2-9bd7e6861d33597b3b4e78275f251099706a8f61.zip
Fix build failure on amd64. Thanks to Claudio Calvelli for the patch. Bug 385387.
(Portage version: 2.2.0_alpha64/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/9libs/9libs-1.0-r2.ebuild48
-rw-r--r--dev-libs/9libs/ChangeLog11
-rw-r--r--dev-libs/9libs/files/9libs-va_list.patch115
3 files changed, 172 insertions, 2 deletions
diff --git a/dev-libs/9libs/9libs-1.0-r2.ebuild b/dev-libs/9libs/9libs-1.0-r2.ebuild
new file mode 100644
index 000000000000..8efffb514a05
--- /dev/null
+++ b/dev-libs/9libs/9libs-1.0-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/9libs/9libs-1.0-r2.ebuild,v 1.1 2011/10/09 03:46:00 floppym Exp $
+
+EAPI=4
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A package of Plan 9 compatibility libraries"
+HOMEPAGE="http://www.netlib.org/research/9libs/9libs-1.0.README"
+SRC_URI="ftp://www.netlib.org/research/9libs/${P}.tar.bz2"
+
+LICENSE="PLAN9"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=x11-proto/xproto-7.0.4
+ >=x11-libs/libX11-1.0.0
+ >=x11-libs/libXt-1.0.0"
+
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # Bug 385387
+ epatch "${FILESDIR}/${PN}-va_list.patch"
+}
+
+src_configure() {
+ econf \
+ --includedir=/usr/include/9libs \
+ --enable-shared
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ make install DESTDIR="${D}"
+ dodoc README
+
+ # rename some man pages to avoid collisions with dev-libs/libevent
+ local f
+ for f in add balloc bitblt cachechars event frame graphics rgbpix; do
+ mv "${D}"/usr/share/man/man3/${f}.{3,3g} || die
+ done
+}
diff --git a/dev-libs/9libs/ChangeLog b/dev-libs/9libs/ChangeLog
index f7bae21db6b3..a2b4911b8113 100644
--- a/dev-libs/9libs/ChangeLog
+++ b/dev-libs/9libs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-libs/9libs
-# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/9libs/ChangeLog,v 1.17 2010/09/23 19:07:29 ulm Exp $
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/9libs/ChangeLog,v 1.18 2011/10/09 03:46:00 floppym Exp $
+
+*9libs-1.0-r2 (09 Oct 2011)
+
+ 09 Oct 2011; Mike Gilbert <floppym@gentoo.org> +9libs-1.0-r2.ebuild,
+ +files/9libs-va_list.patch:
+ Fix build failure on amd64. Thanks to Claudio Calvelli for the patch. Bug
+ 385387.
23 Sep 2010; Ulrich Mueller <ulm@gentoo.org> -9libs-1.0.ebuild,
9libs-1.0-r1.ebuild:
diff --git a/dev-libs/9libs/files/9libs-va_list.patch b/dev-libs/9libs/files/9libs-va_list.patch
new file mode 100644
index 000000000000..eb8da368de3a
--- /dev/null
+++ b/dev-libs/9libs/files/9libs-va_list.patch
@@ -0,0 +1,115 @@
+diff -ru 9libs-1.0/include/libc.h 9libs-1.0-fixed/include/libc.h
+--- 9libs-1.0/include/libc.h 1998-11-10 22:35:27.000000000 +0000
++++ 9libs-1.0-fixed/include/libc.h 2011-10-02 13:27:38.000000000 +0100
+@@ -57,14 +57,14 @@
+ extern int fprint(int, char *, ...);
+ extern int sprint(char *, char *, ...);
+ extern int snprint(char *, int, char *, ...);
+-extern int fmtinstall(int, int (*)(void *, Fconv *));
++extern int fmtinstall(int, int (*)(va_list, Fconv *));
+ extern void strconv(char *, Fconv *);
+ #if defined(PRINT_RUNES)
+ extern void Strconv(Rune *, Fconv *);
+ #endif
+-extern int numbconv(void *, Fconv *);
++extern int numbconv(va_list, Fconv *);
+ extern int fltconv(double, Fconv *);
+-extern char * doprint(char *, char *, char *, void *);
++extern char * doprint(char *, char *, char *, va_list);
+
+ /*
+ * argument parsing - lifted from tcs
+diff -ru 9libs-1.0/libplan9c/doprint.c 9libs-1.0-fixed/libplan9c/doprint.c
+--- 9libs-1.0/libplan9c/doprint.c 1998-11-10 22:35:28.000000000 +0000
++++ 9libs-1.0-fixed/libplan9c/doprint.c 2011-10-02 13:30:25.000000000 +0100
+@@ -73,12 +73,12 @@
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+-static int (*fmtfns[16])(void *, Fconv *) = {
++static int (*fmtfns[16])(va_list, Fconv *) = {
+ numbconv,
+ };
+
+ int
+-fmtinstall(int c, int (*f)(void *, Fconv *))
++fmtinstall(int c, int (*f)(va_list, Fconv *))
+ {
+ int i;
+
+@@ -95,9 +95,8 @@
+ }
+
+ char *
+-doprint(char *s, char *es, char *format, void *argp)
++doprint(char *s, char *es, char *format, va_list ap)
+ {
+- va_list ap = argp;
+ int c;
+ int percent = 0;
+ int dot = 0;
+@@ -218,7 +217,6 @@
+ if (r < 0)
+ f.f3 |= ~r;
+ else {
+- ap += r;
+ s = f.out;
+ percent = 0;
+ }
+@@ -287,13 +285,12 @@
+ #endif
+
+ int
+-numbconv(void *o, Fconv *fp)
++numbconv(va_list ap, Fconv *fp)
+ {
+ static char digits[16] = "0123456789abcdef";
+ char buf[80]; /* arbitrary limit. enough digits, but no limit on f2 */
+ char *s = buf+sizeof(buf)-1;
+ char sign = 0;
+- va_list ap = o;
+ int uc = 0;
+ unsigned long u;
+
+@@ -362,5 +359,5 @@
+ break;
+ }
+ strconv(s, fp);
+- return ap-(va_list)o;
++ return 0;
+ }
+diff -ru 9libs-1.0/libplan9c/tdp.c 9libs-1.0-fixed/libplan9c/tdp.c
+--- 9libs-1.0/libplan9c/tdp.c 1998-11-10 22:35:28.000000000 +0000
++++ 9libs-1.0-fixed/libplan9c/tdp.c 2011-10-02 13:31:58.000000000 +0100
+@@ -122,27 +122,25 @@
+ } Rectangle;
+
+ int
+-Pconv(void *v, Fconv *fp)
++Pconv(va_list ap, Fconv *fp)
+ {
+ char str[50];
+- va_list ap = v;
+ Point *p = va_arg(ap, Point *);
+
+ sprint(str, "(%d,%d)", p->x, p->y);
+ strconv(str, fp);
+- return ap-(va_list)v;
++ return 0;
+ }
+
+ int
+-Rconv(void *v, Fconv *fp)
++Rconv(va_list ap, Fconv *fp)
+ {
+ char str[50];
+- va_list ap = v;
+ Rectangle *r = va_arg(ap, Rectangle *);
+
+ sprint(str, "(%P,%P)", &r->min, &r->max);
+ strconv(str, fp);
+- return ap-(va_list)v;
++ return 0;
+ }
+
+ int