summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbjs <bjs@pkgsrc.org>2008-01-29 04:18:44 +0000
committerbjs <bjs@pkgsrc.org>2008-01-29 04:18:44 +0000
commit69d4aab5cbef9685370634269274e3ce18e2374a (patch)
tree4a3179cbae674a791ec80a24177102ef8f652624
parent418c01a3e744fbaa0254be5188647465b8fcab74 (diff)
downloadpkgsrc-69d4aab5cbef9685370634269274e3ce18e2374a.tar.gz
Fix three bugs:
- XftFontOpenInfo: Use of uninitialised value of size 8 (bug 11200) - libXft was using XFT_MAX_GLYPH_MEMORY without first registering with fontconfig. - Include <ftsynth.h> if FT_GlyphSlot_Embolden() shall be called. First two from GIT, last one by me. Bump rev.
-rw-r--r--x11/libXft/Makefile3
-rw-r--r--x11/libXft/distinfo5
-rw-r--r--x11/libXft/patches/patch-ac30
-rw-r--r--x11/libXft/patches/patch-ad17
-rw-r--r--x11/libXft/patches/patch-ae21
5 files changed, 74 insertions, 2 deletions
diff --git a/x11/libXft/Makefile b/x11/libXft/Makefile
index 90842ab08e5..503e07c9f60 100644
--- a/x11/libXft/Makefile
+++ b/x11/libXft/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.4 2007/01/23 15:20:08 joerg Exp $
+# $NetBSD: Makefile,v 1.5 2008/01/29 04:18:44 bjs Exp $
DISTNAME= libXft-2.1.12
+PKGREVISION= 1
CATEGORIES= fonts x11
MASTER_SITES= http://xorg.freedesktop.org/releases/individual/lib/
EXTRACT_SUFX= .tar.bz2
diff --git a/x11/libXft/distinfo b/x11/libXft/distinfo
index 5b0e232cdc3..f1da110f62a 100644
--- a/x11/libXft/distinfo
+++ b/x11/libXft/distinfo
@@ -1,7 +1,10 @@
-$NetBSD: distinfo,v 1.2 2007/01/23 15:20:08 joerg Exp $
+$NetBSD: distinfo,v 1.3 2008/01/29 04:18:44 bjs Exp $
SHA1 (libXft-2.1.12.tar.bz2) = c55fb1b79e6e8459a343e4986f0607a438eff340
RMD160 (libXft-2.1.12.tar.bz2) = 98ee482a0bdb9d41bbea667ea84d00421e51424b
Size (libXft-2.1.12.tar.bz2) = 260437 bytes
SHA1 (patch-aa) = aa6f081596084e97e3767ce2b1d4648cf7917a6c
SHA1 (patch-ab) = e275990e6469819724d76b393d8a451cca778f9a
+SHA1 (patch-ac) = d00925dcc3ad35933036c6708626d9b745712119
+SHA1 (patch-ad) = 6257e56f6347a898fd6208d131a41581d900d6cb
+SHA1 (patch-ae) = 09d00a1cda14b6a7a2e6a38597b538948889179a
diff --git a/x11/libXft/patches/patch-ac b/x11/libXft/patches/patch-ac
new file mode 100644
index 00000000000..1f041ced869
--- /dev/null
+++ b/x11/libXft/patches/patch-ac
@@ -0,0 +1,30 @@
+$NetBSD: patch-ac,v 1.1 2008/01/29 04:18:44 bjs Exp $
+
+XftFontOpenInfo: Use of uninitialised value of size 8 (bug 11200)
+(from freedesktop.org GIT)
+
+--- src/xftfreetype.c.orig 2006-12-07 05:17:19.000000000 -0500
++++ src/xftfreetype.c
+@@ -392,6 +392,13 @@ XftFontInfoFill (Display *dpy, _Xconst F
+ return FcFalse;
+
+ /*
++ * Initialize the whole XftFontInfo so that padding doesn't interfere with
++ * hash or XftFontInfoEqual().
++ */
++
++ memset (fi, '\0', sizeof(*fi));
++
++ /*
+ * Find the associated file
+ */
+ switch (FcPatternGetString (pattern, FC_FILE, 0, &filename)) {
+@@ -419,8 +426,6 @@ XftFontInfoFill (Display *dpy, _Xconst F
+ else if (FcPatternGetFTFace (pattern, FC_FT_FACE, 0, &face) == FcResultMatch
+ && face)
+ fi->file = _XftGetFaceFile (face);
+- else
+- fi->file = 0;
+ if (!fi->file)
+ goto bail0;
+
diff --git a/x11/libXft/patches/patch-ad b/x11/libXft/patches/patch-ad
new file mode 100644
index 00000000000..ca82d9ac895
--- /dev/null
+++ b/x11/libXft/patches/patch-ad
@@ -0,0 +1,17 @@
+$NetBSD: patch-ad,v 1.1 2008/01/29 04:18:45 bjs Exp $
+
+Register objects used by libXft. (patch from freedesktop.org GIT)
+
+libXft was using XFT_MAX_GLYPH_MEMORY without first registering
+with fontconfig.
+
+--- src/xftname.c.orig 2006-12-07 05:17:45.000000000 -0500
++++ src/xftname.c
+@@ -28,6 +28,7 @@ static const FcObjectType _XftObjectType
+ { XFT_CORE, FcTypeBool, },
+ { XFT_XLFD, FcTypeString, },
+ { XFT_RENDER, FcTypeBool, },
++ { XFT_MAX_GLYPH_MEMORY, FcTypeInteger, },
+ };
+
+ #define NUM_OBJECT_TYPES (sizeof _XftObjectTypes / sizeof _XftObjectTypes[0])
diff --git a/x11/libXft/patches/patch-ae b/x11/libXft/patches/patch-ae
new file mode 100644
index 00000000000..9124d119563
--- /dev/null
+++ b/x11/libXft/patches/patch-ae
@@ -0,0 +1,21 @@
+$NetBSD: patch-ae,v 1.1 2008/01/29 04:18:45 bjs Exp $
+
+If HAVE_FT_GLYPHSLOT_EMBOLDEN is defined in config.h, then
+FT_GlyphSlot_Embolden() is called. This function's prototype
+is in <freetype/ftsynth.h>, so conditionally include it.
+
+Implicit declaration bad. Prototypes good. Fixes warning.
+
+--- src/xftglyphs.c.orig 2006-12-07 05:17:19.000000000 -0500
++++ src/xftglyphs.c
+@@ -25,6 +25,10 @@
+ #include "xftint.h"
+ #include <freetype/ftoutln.h>
+
++#if HAVE_FT_GLYPHSLOT_EMBOLDEN
++#include <freetype/ftsynth.h>
++#endif
++
+ static const int filters[3][3] = {
+ /* red */
+ #if 0