diff options
author | Mike Gilbert <floppym@gentoo.org> | 2011-10-09 03:46:00 +0000 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2011-10-09 03:46:00 +0000 |
commit | 9bd7e6861d33597b3b4e78275f251099706a8f61 (patch) | |
tree | 50d9900ce9eb41c59cff6dec71c96121620c197d /dev-libs | |
parent | Drop maintainership. (diff) | |
download | gentoo-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.ebuild | 48 | ||||
-rw-r--r-- | dev-libs/9libs/ChangeLog | 11 | ||||
-rw-r--r-- | dev-libs/9libs/files/9libs-va_list.patch | 115 |
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 |