diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-12-23 17:51:29 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-12-23 17:51:29 +0000 |
commit | d004ae7a03a7d9e6f8a5d2c272aa58944f684a55 (patch) | |
tree | 4d0f9fc043e4f9f167a37e930e238c54f7b552bb /x11-libs/xft | |
parent | change to use get_number_of_jobs, else there is a possible 1 out of 6 chance ... (diff) | |
download | gentoo-2-d004ae7a03a7d9e6f8a5d2c272aa58944f684a55.tar.gz gentoo-2-d004ae7a03a7d9e6f8a5d2c272aa58944f684a55.tar.bz2 gentoo-2-d004ae7a03a7d9e6f8a5d2c272aa58944f684a55.zip |
update from cvs
Diffstat (limited to 'x11-libs/xft')
-rw-r--r-- | x11-libs/xft/ChangeLog | 8 | ||||
-rw-r--r-- | x11-libs/xft/files/digest-xft-2.0.1-r1 | 1 | ||||
-rw-r--r-- | x11-libs/xft/files/xft-2.0.1-cvs-update-20021221.patch | 235 | ||||
-rw-r--r-- | x11-libs/xft/xft-2.0.1-r1.ebuild | 65 |
4 files changed, 308 insertions, 1 deletions
diff --git a/x11-libs/xft/ChangeLog b/x11-libs/xft/ChangeLog index 318bb9df2d11..cc969ece620d 100644 --- a/x11-libs/xft/ChangeLog +++ b/x11-libs/xft/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-libs/xft # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-libs/xft/ChangeLog,v 1.7 2002/12/11 20:06:04 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-libs/xft/ChangeLog,v 1.8 2002/12/23 17:51:29 azarah Exp $ + +*xft-2.0.1-r1 (23 Dec 2002) + + 23 Dec 2002; Martin Schlemmer <azarah@gentoo.org> xft-2.0.1-r1.ebuild : + Update from XFree86 cvs tree. Only backup the Xft headers if XftFreetype.h + are present. *xft-2.0.1 (11 Dec 2002) diff --git a/x11-libs/xft/files/digest-xft-2.0.1-r1 b/x11-libs/xft/files/digest-xft-2.0.1-r1 new file mode 100644 index 000000000000..1952672e6a0d --- /dev/null +++ b/x11-libs/xft/files/digest-xft-2.0.1-r1 @@ -0,0 +1 @@ +MD5 2f2852c80924a9b5356c3037a471c1a1 fcpackage.2_1.tar.gz 544661 diff --git a/x11-libs/xft/files/xft-2.0.1-cvs-update-20021221.patch b/x11-libs/xft/files/xft-2.0.1-cvs-update-20021221.patch new file mode 100644 index 000000000000..532ca125954a --- /dev/null +++ b/x11-libs/xft/files/xft-2.0.1-cvs-update-20021221.patch @@ -0,0 +1,235 @@ +diff -urN Xft.orig/Xft.h Xft/Xft.h +--- Xft.orig/Xft.h 2002-10-11 19:53:02.000000000 +0200 ++++ Xft/Xft.h 2002-12-16 11:16:28.000000000 +0200 +@@ -1,5 +1,5 @@ + /* +- * $XFree86: xc/lib/Xft/Xft.h,v 1.30 2002/10/11 17:53:02 keithp Exp $ ++ * $XFree86: xc/lib/Xft/Xft.h,v 1.31 2002/12/14 01:59:38 dawes Exp $ + * + * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc. + * +@@ -325,11 +325,12 @@ + XGlyphInfo *extents); + + void +-XftTextExtentsUtf16 (XftFont *pub, ++XftTextExtentsUtf16 (Display *dpy, ++ XftFont *pub, + _Xconst FcChar8 *string, + FcEndian endian, +- int len, +- XGlyphInfo *extents); ++ int len, ++ XGlyphInfo *extents); + + /* xftfont.c */ + FcPattern * +@@ -606,6 +607,20 @@ + _Xconst FcChar8 *string, + int len); + ++void ++XftTextRenderUtf16 (Display *dpy, ++ int op, ++ Picture src, ++ XftFont *pub, ++ Picture dst, ++ int srcx, ++ int srcy, ++ int x, ++ int y, ++ _Xconst FcChar8 *string, ++ FcEndian endian, ++ int len); ++ + /* xftstr.c */ + + /* xftxlfd.c */ +diff -urN Xft.orig/xftextent.c Xft/xftextent.c +--- Xft.orig/xftextent.c 2002-10-11 19:53:02.000000000 +0200 ++++ Xft/xftextent.c 2002-12-16 11:16:28.000000000 +0200 +@@ -1,5 +1,5 @@ + /* +- * $XFree86: xc/lib/Xft/xftextent.c,v 1.9 2002/10/11 17:53:02 keithp Exp $ ++ * $XFree86: xc/lib/Xft/xftextent.c,v 1.10 2002/12/14 01:59:38 dawes Exp $ + * + * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc. + * +@@ -245,3 +245,47 @@ + if (glyphs != glyphs_local) + free (glyphs); + } ++ ++void ++XftTextExtentsUtf16 (Display *dpy, ++ XftFont *pub, ++ _Xconst FcChar8 *string, ++ FcEndian endian, ++ int len, ++ XGlyphInfo *extents) ++{ ++ FT_UInt *glyphs, *glyphs_new, glyphs_local[NUM_LOCAL]; ++ FcChar32 ucs4; ++ int i; ++ int l; ++ int size; ++ ++ i = 0; ++ glyphs = glyphs_local; ++ size = NUM_LOCAL; ++ while (len && (l = FcUtf16ToUcs4 (string, endian, &ucs4, len)) > 0) ++ { ++ if (i == size) ++ { ++ glyphs_new = malloc (size * 2 * sizeof (FT_UInt)); ++ if (!glyphs_new) ++ { ++ if (glyphs != glyphs_local) ++ free (glyphs); ++ memset (extents, '\0', sizeof (XGlyphInfo)); ++ return; ++ } ++ memcpy (glyphs_new, glyphs, size * sizeof (FT_UInt)); ++ size *= 2; ++ if (glyphs != glyphs_local) ++ free (glyphs); ++ glyphs = glyphs_new; ++ } ++ glyphs[i++] = XftCharIndex (dpy, pub, ucs4); ++ string += l; ++ len -= l; ++ } ++ XftGlyphExtents (dpy, pub, glyphs, i, extents); ++ if (glyphs != glyphs_local) ++ free (glyphs); ++} +diff -urN Xft.orig/xftrender.c Xft/xftrender.c +--- Xft.orig/xftrender.c 2002-10-11 19:53:02.000000000 +0200 ++++ Xft/xftrender.c 2002-12-16 11:16:28.000000000 +0200 +@@ -1,5 +1,5 @@ + /* +- * $XFree86: xc/lib/Xft/xftrender.c,v 1.14 2002/10/11 17:53:02 keithp Exp $ ++ * $XFree86: xc/lib/Xft/xftrender.c,v 1.15 2002/12/14 01:59:38 dawes Exp $ + * + * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc. + * +@@ -673,7 +673,7 @@ + } + for (i = 0; i < len; i++) + glyphs[i] = XftCharIndex (dpy, pub, string[i]); +- XftGlyphRender (dpy, PictOpOver, src, pub, dst, ++ XftGlyphRender (dpy, op, src, pub, dst, + srcx, srcy, x, y, glyphs, len); + if (glyphs != glyphs_local) + free (glyphs); +@@ -705,7 +705,7 @@ + } + for (i = 0; i < len; i++) + glyphs[i] = XftCharIndex (dpy, pub, string[i]); +- XftGlyphRender (dpy, PictOpOver, src, pub, dst, ++ XftGlyphRender (dpy, op, src, pub, dst, + srcx, srcy, x, y, glyphs, len); + if (glyphs != glyphs_local) + free (glyphs); +@@ -738,7 +738,7 @@ + for (i = 0; i < len; i++) + glyphs[i] = XftCharIndex (dpy, pub, + (string[i*2]<<8) | string[i*2+1]); +- XftGlyphRender (dpy, PictOpOver, src, pub, dst, ++ XftGlyphRender (dpy, op, src, pub, dst, + srcx, srcy, x, y, glyphs, len); + if (glyphs != glyphs_local) + free (glyphs); +@@ -771,7 +771,7 @@ + for (i = 0; i < len; i++) + glyphs[i] = XftCharIndex (dpy, pub, + string[i*2] | (string[i*2+1]<<8)); +- XftGlyphRender (dpy, PictOpOver, src, pub, dst, ++ XftGlyphRender (dpy, op, src, pub, dst, + srcx, srcy, x, y, glyphs, len); + if (glyphs != glyphs_local) + free (glyphs); +@@ -803,7 +803,7 @@ + } + for (i = 0; i < len; i++) + glyphs[i] = XftCharIndex (dpy, pub, string[i]); +- XftGlyphRender (dpy, PictOpOver, src, pub, dst, ++ XftGlyphRender (dpy, op, src, pub, dst, + srcx, srcy, x, y, glyphs, len); + if (glyphs != glyphs_local) + free (glyphs); +@@ -839,7 +839,7 @@ + (string[i*4+1] << 16) | + (string[i*4+2] << 8) | + (string[i*4+3])); +- XftGlyphRender (dpy, PictOpOver, src, pub, dst, ++ XftGlyphRender (dpy, op, src, pub, dst, + srcx, srcy, x, y, glyphs, len); + if (glyphs != glyphs_local) + free (glyphs); +@@ -875,7 +875,7 @@ + (string[i*4+1] << 8) | + (string[i*4+2] << 16) | + (string[i*4+3] << 24)); +- XftGlyphRender (dpy, PictOpOver, src, pub, dst, ++ XftGlyphRender (dpy, op, src, pub, dst, + srcx, srcy, x, y, glyphs, len); + if (glyphs != glyphs_local) + free (glyphs); +@@ -924,6 +924,56 @@ + string += l; + len -= l; + } ++ XftGlyphRender (dpy, op, src, pub, dst, ++ srcx, srcy, x, y, glyphs, i); ++ if (glyphs != glyphs_local) ++ free (glyphs); ++} ++ ++void ++XftTextRenderUtf16 (Display *dpy, ++ int op, ++ Picture src, ++ XftFont *pub, ++ Picture dst, ++ int srcx, ++ int srcy, ++ int x, ++ int y, ++ _Xconst FcChar8 *string, ++ FcEndian endian, ++ int len) ++{ ++ FT_UInt *glyphs, *glyphs_new, glyphs_local[NUM_LOCAL]; ++ FcChar32 ucs4; ++ int i; ++ int l; ++ int size; ++ ++ i = 0; ++ glyphs = glyphs_local; ++ size = NUM_LOCAL; ++ while (len && (l = FcUtf16ToUcs4 (string, endian, &ucs4, len)) > 0) ++ { ++ if (i == size) ++ { ++ glyphs_new = malloc (size * 2 * sizeof (FT_UInt)); ++ if (!glyphs_new) ++ { ++ if (glyphs != glyphs_local) ++ free (glyphs); ++ return; ++ } ++ memcpy (glyphs_new, glyphs, size * sizeof (FT_UInt)); ++ size *= 2; ++ if (glyphs != glyphs_local) ++ free (glyphs); ++ glyphs = glyphs_new; ++ } ++ glyphs[i++] = XftCharIndex (dpy, pub, ucs4); ++ string += l; ++ len -= l; ++ } + XftGlyphRender (dpy, PictOpOver, src, pub, dst, + srcx, srcy, x, y, glyphs, i); + if (glyphs != glyphs_local) diff --git a/x11-libs/xft/xft-2.0.1-r1.ebuild b/x11-libs/xft/xft-2.0.1-r1.ebuild new file mode 100644 index 000000000000..1f962f8aee38 --- /dev/null +++ b/x11-libs/xft/xft-2.0.1-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/xft/xft-2.0.1-r1.ebuild,v 1.1 2002/12/23 17:51:29 azarah Exp $ + +IUSE="" + +inherit eutils + +S="${WORKDIR}/fcpackage.${PV/\.0\./_}/Xft" +PROVIDE="virtual/xft" +DESCRIPTION="X FreeType library, also known as Xft2.0" +SRC_URI="http://fontconfig.org/release/fcpackage.${PV/\.0\./_}.tar.gz" +HOMEPAGE="http://fontconfig.org/" + +LICENSE="fontconfig" +SLOT="0" +KEYWORDS="~x86 ~ppc" + +RDEPEND="x11-base/xfree + >=media-libs/fontconfig-2.1-r1" + +DEPEND="${RDEPEND} + >=sys-devel/autoconf-2.53a" + +src_unpack() { + unpack ${A} + + cd ${S} + + # Update from XFree86 cvs tree + epatch ${FILESDIR}/${P}-cvs-update-20021221.patch + + einfo "Running autoconf..." + export WANT_AUTOCONF_2_5=1 + autoconf --force +} + +src_compile() { + econf --x-includes=/usr/X11R6/include \ + --x-libraries=/usr/X11R6/lib \ + || die "Xft2 config failed" + emake || die "Xft2 make failed" +} + +src_install() { + einstall confdir=${D}/etc/fonts \ + datadir=${D}/usr/share || die + + dodir /usr/X11R6/lib + dosym ../../lib/libXft.so.2.0 /usr/X11R6/lib/libXft.so +} + +pkg_preinst() { + if [ "${ROOT}" = "/" -a ! -d /root/.Xft -a \ + -f /usr/X11R6/include/X11/Xft/XftFreetype.h ] + then + mv -f /usr/X11R6/include/X11/Xft /root/.Xft + fi +} + +pkg_postinst() { + einfo "Your old Xft1.1 includes have been saved to /root/.Xft," + einfo "if they were present ..." +} + |