summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2002-12-23 17:51:29 +0000
committerMartin Schlemmer <azarah@gentoo.org>2002-12-23 17:51:29 +0000
commitd004ae7a03a7d9e6f8a5d2c272aa58944f684a55 (patch)
tree4d0f9fc043e4f9f167a37e930e238c54f7b552bb /x11-libs/xft
parentchange to use get_number_of_jobs, else there is a possible 1 out of 6 chance ... (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--x11-libs/xft/files/digest-xft-2.0.1-r11
-rw-r--r--x11-libs/xft/files/xft-2.0.1-cvs-update-20021221.patch235
-rw-r--r--x11-libs/xft/xft-2.0.1-r1.ebuild65
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 ..."
+}
+