diff options
Diffstat (limited to 'dev-libs/9libs')
-rw-r--r-- | dev-libs/9libs/9libs-1.0-r2.ebuild | 48 | ||||
-rw-r--r-- | dev-libs/9libs/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/9libs/files/9libs-va_list.patch | 115 | ||||
-rw-r--r-- | dev-libs/9libs/metadata.xml | 7 |
4 files changed, 171 insertions, 0 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..2649caebac2f --- /dev/null +++ b/dev-libs/9libs/9libs-1.0-r2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 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/Manifest b/dev-libs/9libs/Manifest new file mode 100644 index 000000000000..094a09f2dee3 --- /dev/null +++ b/dev-libs/9libs/Manifest @@ -0,0 +1 @@ +DIST 9libs-1.0.tar.bz2 163744 SHA256 1d14f945782c8c5b0f97d5026181a105041f8c3e374d7f80bd53a87315ea54f6 SHA512 35fdd874dbf9aca07e681d7c3f707d22a45cc8cadb2c273a1fbc5f8303886a6b512eb16fc1b81d64d7f665b16a3b19a8d678a540cd4ad453de853b90905d98d2 WHIRLPOOL d3dac0f7302eb477a7a6160fc2e711084151f54dcb6e94c203ffac62a7a47617c8e644917f49be92028c7730253b95475de5c2312979f5704721bf0466d68f6e 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 diff --git a/dev-libs/9libs/metadata.xml b/dev-libs/9libs/metadata.xml new file mode 100644 index 000000000000..d9cd2cad66c2 --- /dev/null +++ b/dev-libs/9libs/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> +<email>maintainer-needed@gentoo.org</email> +</maintainer> +</pkgmetadata> |