diff options
author | jmmv <jmmv@pkgsrc.org> | 2005-09-05 14:42:42 +0000 |
---|---|---|
committer | jmmv <jmmv@pkgsrc.org> | 2005-09-05 14:42:42 +0000 |
commit | 35f75cc2e993496060cbb9652babf21bb2a11590 (patch) | |
tree | 0e754c1e03eb1465f0139ad0394c637f145403c8 /print | |
parent | 994773a956b783affe3c7623f1f348ef3006cbdc (diff) | |
download | pkgsrc-35f75cc2e993496060cbb9652babf21bb2a11590.tar.gz |
Apply patch to fix CAN-2005-2097; taken from the Gentoo package, which in
turn took the patch from Red Hat. Bump PKGREVISION to 1.
Diffstat (limited to 'print')
-rw-r--r-- | print/gpdf/Makefile | 3 | ||||
-rw-r--r-- | print/gpdf/distinfo | 3 | ||||
-rw-r--r-- | print/gpdf/patches/patch-ab | 68 |
3 files changed, 72 insertions, 2 deletions
diff --git a/print/gpdf/Makefile b/print/gpdf/Makefile index 8d6f0cd54a2..e1a32318386 100644 --- a/print/gpdf/Makefile +++ b/print/gpdf/Makefile @@ -1,7 +1,8 @@ -# $NetBSD: Makefile,v 1.28 2005/08/10 20:56:23 jlam Exp $ +# $NetBSD: Makefile,v 1.29 2005/09/05 14:42:42 jmmv Exp $ # DISTNAME= gpdf-2.10.0 +PKGREVISION= 1 CATEGORIES= print MASTER_SITES= ${MASTER_SITE_GNOME:=sources/gpdf/2.10/} EXTRACT_SUFX= .tar.bz2 diff --git a/print/gpdf/distinfo b/print/gpdf/distinfo index 0a941f8ed0b..2bfe02b6d3c 100644 --- a/print/gpdf/distinfo +++ b/print/gpdf/distinfo @@ -1,6 +1,7 @@ -$NetBSD: distinfo,v 1.11 2005/03/22 16:32:56 jmmv Exp $ +$NetBSD: distinfo,v 1.12 2005/09/05 14:42:42 jmmv Exp $ SHA1 (gpdf-2.10.0.tar.bz2) = f9b925ed5b15deb90968e834fd63fc7628688808 RMD160 (gpdf-2.10.0.tar.bz2) = 16cb9413e012c2c5268082d8322d1468e5c30907 Size (gpdf-2.10.0.tar.bz2) = 1079944 bytes SHA1 (patch-aa) = 8985b54bad962a31a6ee315747c0297419b8e291 +SHA1 (patch-ab) = 4601088604b8c5a52546e689bfdccc2aa18ea1e6 diff --git a/print/gpdf/patches/patch-ab b/print/gpdf/patches/patch-ab new file mode 100644 index 00000000000..d74e0404212 --- /dev/null +++ b/print/gpdf/patches/patch-ab @@ -0,0 +1,68 @@ +$NetBSD: patch-ab,v 1.1 2005/09/05 14:42:42 jmmv Exp $ + +Patch to fix CAN-2005-2097. The patch in #163920 doesn't apply to +gpdf, since gpdf uses the gnome print api for rendering. The crux of +that patch is to avoid using the FoFi (font file) classes for fixing +up the embedded truetype font, but instead pass the font to freetype +directly. This patch does the same thing for the gpdf rendering code. + +Kristian Høgsberg <krh@redhat.com> + +--- xpdf/GPOutputDev.cc.krh 2005-08-01 11:44:43.000000000 -0400 ++++ xpdf/GPOutputDev.cc 2005-08-01 11:45:32.000000000 -0400 +@@ -258,9 +258,6 @@ + } + case fontTrueType: { + FoFiTrueType *ff; +- gint fd; +- gchar *temp_name; +- FILE *f; + gushort *code_to_gid; + + ff = FoFiTrueType::make((char *)contents, length); +@@ -269,16 +266,7 @@ + + code_to_gid = ((Gfx8BitFont *)font)->getCodeToGIDMap(ff); // this is g(oo)malloc'd + +- fd = g_file_open_tmp("gpdf-ttf-XXXXXX", &temp_name, NULL); +- f = fdopen(fd, "wb"); +- ff->writeTTF(&fileWrite, f); + delete ff; +- g_free(contents); +- fclose(f); +- +- g_file_get_contents(temp_name, (gchar **)&contents, &length, NULL); +- unlink(temp_name); +- g_free(temp_name); + + gff = gpdf_font_face_download((const guchar *)font_name, + (const guchar *)"", +@@ -324,28 +312,8 @@ + break; + } + case fontCIDType2: { +- FoFiTrueType *ff; +- gint fd; +- gchar *temp_name; +- FILE *f; + gint n_cids; + gushort *code_to_gid; +- +- ff = FoFiTrueType::make((char *)contents, length); +- if (!ff) +- return getFontFaceFallback(font); +- +- fd = g_file_open_tmp("gpdf-ttf-XXXXXX", &temp_name, NULL); +- f = fdopen(fd, "wb"); +- ff->writeTTF(&fileWrite, f); +- delete ff; +- g_free(contents); +- fclose(f); +- +- g_file_get_contents(temp_name, (gchar **)&contents, &length, NULL); +- unlink(temp_name); +- g_free(temp_name); +- + gff = gpdf_font_face_download((const guchar *)font_name, + (const guchar *)"", + GNOME_FONT_REGULAR, FALSE, |