Revision bump to fix bug #170512 and bug #170532.
authorRyan Hill <rhill@gentoo.org>
Sun, 25 Mar 2007 15:10:04 +0000 (15:10 +0000)
committerRyan Hill <rhill@gentoo.org>
Sun, 25 Mar 2007 15:10:04 +0000 (15:10 +0000)
Package-Manager: portage-2.1.2.2

media-libs/freetype/ChangeLog
media-libs/freetype/Manifest
media-libs/freetype/files/digest-freetype-2.3.2-r1 [new file with mode: 0644]
media-libs/freetype/files/freetype-2.3.2-truetype-regression.patch [new file with mode: 0644]
media-libs/freetype/freetype-2.3.2-r1.ebuild [new file with mode: 0644]

index 6d5777dae2795f6599601e3d70cc48914d4d3842..6c4b2d5aecd2fa1f29df7df33920f36a24260162 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for media-libs/freetype
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/ChangeLog,v 1.107 2007/03/09 23:46:42 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/ChangeLog,v 1.108 2007/03/25 15:10:04 dirtyepic Exp $
+
+*freetype-2.3.2-r1 (25 Mar 2007)
+
+  25 Mar 2007; Ryan Hill <dirtyepic@gentoo.org>
+  +files/freetype-2.3.2-truetype-regression.patch,
+  +freetype-2.3.2-r1.ebuild:
+  Revision bump to fix bug #170512 and bug #170532.
 
 *freetype-2.3.2 (09 Mar 2007)
 
index e844dda2790664d306d55ed127ee06b3ef8c4d4e..6d7560c5d7dad3d8ca41bb5109f3b9f58dc4ae8f 100644 (file)
@@ -30,6 +30,10 @@ AUX freetype-2.2.1-foobillard.patch 951 RMD160 d077f6a3ce5645183e8656169347d698a
 MD5 7c46e7d6f0159a84608bf4bd85fe6bb8 files/freetype-2.2.1-foobillard.patch 951
 RMD160 d077f6a3ce5645183e8656169347d698a18f184f files/freetype-2.2.1-foobillard.patch 951
 SHA256 9ba8c5ede47f5a2eb7a9cad5f245325035da1df13eaca8bc24fa6da51b3370f4 files/freetype-2.2.1-foobillard.patch 951
+AUX freetype-2.3.2-truetype-regression.patch 4892 RMD160 f1120ff608dc19eeb3b5f887fdda182b8903a3ce SHA1 8095fe264ce5ac3bc4951bdf41d8f166bae9eab5 SHA256 b0a688533a5b7cc205b179565d28aed9d11ff9f83dda8556e13a6ab82ef258be
+MD5 fac7a7cbe58f59fe4ab2f575d2695b85 files/freetype-2.3.2-truetype-regression.patch 4892
+RMD160 f1120ff608dc19eeb3b5f887fdda182b8903a3ce files/freetype-2.3.2-truetype-regression.patch 4892
+SHA256 b0a688533a5b7cc205b179565d28aed9d11ff9f83dda8556e13a6ab82ef258be files/freetype-2.3.2-truetype-regression.patch 4892
 DIST freetype-1.3.1.tar.gz 1427072 RMD160 43993a667b536b4f85d32318dec32eb3f3b66454 SHA1 a398fb4d6dd756826e459058d8075759086f8ca4 SHA256 a27271fc5b2d91ee8931972dfb9683cd3971272cfe04d03caf5d13b1db5287c4
 DIST freetype-2.1.10-security_batch-r1.patch.bz2 10300 RMD160 3994ed6bd5fc3c1e09467267a00ae0166f180fc5 SHA1 3d9a74e6c2ccd18711610e39d339e8796108e2a5 SHA256 d1d31feb556c21a51a08451b14eccb697cf18979e2d24d4412ec47fa1597b296
 DIST freetype-2.1.10.tar.bz2 1037107 RMD160 3d31d548632f14784283c97ece64c7425efc3975 SHA1 f9e5c52e466c3e41483d5d6d44b4f3135a9c4b16 SHA256 fed2ed148d7d105b95493c5e95561c8b05ee7909e00f828f036d8ed1be6a5e53
@@ -67,14 +71,18 @@ EBUILD freetype-2.3.1.ebuild 2294 RMD160 aec6206dccba8032cf3a9deb8860185564d034a
 MD5 16522a0064c8bc8419a6b03d07ada7d5 freetype-2.3.1.ebuild 2294
 RMD160 aec6206dccba8032cf3a9deb8860185564d034a1 freetype-2.3.1.ebuild 2294
 SHA256 b81b5a7c9c4a17b21e3b0de58e1b662103efb841e583a930e2b2db35e2260a39 freetype-2.3.1.ebuild 2294
+EBUILD freetype-2.3.2-r1.ebuild 2382 RMD160 2af4edd7589441737764f4cdbae2c70e96eccf9d SHA1 f5709a614d23a481ee62544117994b0fb38f0ef5 SHA256 870fbff6bd8393e3a77253c3a83a1713a8cdaff12dae08fb116135af33b64d41
+MD5 6e39378120978577eaf031669a6f68ca freetype-2.3.2-r1.ebuild 2382
+RMD160 2af4edd7589441737764f4cdbae2c70e96eccf9d freetype-2.3.2-r1.ebuild 2382
+SHA256 870fbff6bd8393e3a77253c3a83a1713a8cdaff12dae08fb116135af33b64d41 freetype-2.3.2-r1.ebuild 2382
 EBUILD freetype-2.3.2.ebuild 2294 RMD160 d57c91afe9d95aebbf80b1777d89523f55a6ed81 SHA1 8f2ddbbe098475edee68b5a3e20332b44743b79d SHA256 5888543a530ab1f90a0a1ee21ce4b1a3c94adcdc47621c4bc8af5aacdf925345
 MD5 e15f98270ae95e1d6b9d630da5892349 freetype-2.3.2.ebuild 2294
 RMD160 d57c91afe9d95aebbf80b1777d89523f55a6ed81 freetype-2.3.2.ebuild 2294
 SHA256 5888543a530ab1f90a0a1ee21ce4b1a3c94adcdc47621c4bc8af5aacdf925345 freetype-2.3.2.ebuild 2294
-MISC ChangeLog 15754 RMD160 ab4ab0f13759401e57aa273563b9e8b1f0a25b4f SHA1 2f4a74577464ecbab86750ad6c5ffd8ce5a487dc SHA256 1605d118a1e9b7a30ff655fb9ecb5221a02a360fa6f78ac5ad67605ca5341518
-MD5 4d87c5e4b8237e81db50a68a8fa9dcc5 ChangeLog 15754
-RMD160 ab4ab0f13759401e57aa273563b9e8b1f0a25b4f ChangeLog 15754
-SHA256 1605d118a1e9b7a30ff655fb9ecb5221a02a360fa6f78ac5ad67605ca5341518 ChangeLog 15754
+MISC ChangeLog 15971 RMD160 548893cc21ef3150363912c8b0778309c0597efe SHA1 66be9a265ced1bc7ac49166131832f36e6f745b3 SHA256 2dc559a3a43b52eb35c667dc7deeadb65df987441800e551b067877776bc24cc
+MD5 a64f6360afad80f11b3ecb3bf7bd8a66 ChangeLog 15971
+RMD160 548893cc21ef3150363912c8b0778309c0597efe ChangeLog 15971
+SHA256 2dc559a3a43b52eb35c667dc7deeadb65df987441800e551b067877776bc24cc ChangeLog 15971
 MISC metadata.xml 449 RMD160 1aa0a350b9b93a527af79a3d6aa6233d498d6366 SHA1 7491212724f2bb6e5068b47ebf4047f1f2c57056 SHA256 4a2b47a4958439e0e153d37652d2165891f490c3cbf356424636edb0b91114a7
 MD5 bc35457473f59e79ce028b34001d3e95 metadata.xml 449
 RMD160 1aa0a350b9b93a527af79a3d6aa6233d498d6366 metadata.xml 449
@@ -100,3 +108,6 @@ SHA256 938933517d160671e27f2ffd282286a85b9cc9b84f243f7ae0715a06e03f6d23 files/di
 MD5 acaa568c2c8efed8764cdbbaa7c62c0c files/digest-freetype-2.3.2 506
 RMD160 264289318167f326e2c89e5080d865646e3c4139 files/digest-freetype-2.3.2 506
 SHA256 c4706259a8f0e032c3428e0a02e3321dcf9420a437146c49d68d3306f18c347d files/digest-freetype-2.3.2 506
+MD5 acaa568c2c8efed8764cdbbaa7c62c0c files/digest-freetype-2.3.2-r1 506
+RMD160 264289318167f326e2c89e5080d865646e3c4139 files/digest-freetype-2.3.2-r1 506
+SHA256 c4706259a8f0e032c3428e0a02e3321dcf9420a437146c49d68d3306f18c347d files/digest-freetype-2.3.2-r1 506
diff --git a/media-libs/freetype/files/digest-freetype-2.3.2-r1 b/media-libs/freetype/files/digest-freetype-2.3.2-r1
new file mode 100644 (file)
index 0000000..526b40e
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 119e1fe126fcfa5a70bc56db55f573d5 freetype-2.3.2.tar.bz2 1252007
+RMD160 e4da77b6f8956d69e57269c5681560beda0ddb27 freetype-2.3.2.tar.bz2 1252007
+SHA256 ba97537c711ea1970ccd97f957cabd63474de9c05aff0fc5ae931f8c90a47e7e freetype-2.3.2.tar.bz2 1252007
+MD5 d732b9b5971d019fab9c695dfa496247 freetype-doc-2.3.2.tar.bz2 98679
+RMD160 ecd619ded06bf5bf144c18c8d981aec88bab6370 freetype-doc-2.3.2.tar.bz2 98679
+SHA256 c30052d7d860b45edde95075525dd1c9d477d2b7ab5d99b5c601ac0a44b7d75c freetype-doc-2.3.2.tar.bz2 98679
diff --git a/media-libs/freetype/files/freetype-2.3.2-truetype-regression.patch b/media-libs/freetype/files/freetype-2.3.2-truetype-regression.patch
new file mode 100644 (file)
index 0000000..b6bfc53
--- /dev/null
@@ -0,0 +1,146 @@
+Logs for commits 1.100-1.102
+
+Log message:
+        another bytecode regression fix. Hopefully, this should be the latest
+Log message:
+        another bytecode interpreter regression fix
+Log message:
+        fixing TrueType bytecode interpreter regression for HLB_____.TTF, needs 
+more testing with other fonts
+===================================================================
+RCS file: /var/lib/cvs/sources/freetype/freetype2/src/truetype/ttinterp.c,v
+retrieving revision 1.99
+retrieving revision 1.102
+diff -u -r1.99 -r1.102
+--- freetype/freetype2/src/truetype/ttinterp.c 2007/02/16 08:12:50     1.99
++++ freetype/freetype2/src/truetype/ttinterp.c 2007/03/18 07:35:08     1.102
+@@ -4839,16 +4839,18 @@
+         if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 )
+-          FT_ARRAY_COPY( CUR.twilight.orus,
+-                         CUR.twilight.org,
+-                         CUR.twilight.n_points );
+-
+-        /* get scaled orus coordinates */
+-        vec1.x = TT_MULFIX( CUR.zp0.orus[L].x - CUR.zp1.orus[K].x,
+-                            CUR.metrics.x_scale );
+-        vec1.y = TT_MULFIX( CUR.zp0.orus[L].y - CUR.zp1.orus[L].y,
+-                            CUR.metrics.y_scale );
+-
++        {
++            vec1.x = CUR.zp0.org[L].x - CUR.zp1.org[K].x;
++            vec1.y = CUR.zp0.org[L].y - CUR.zp1.org[K].y;
++        }
++        else
++        {
++          /* get scaled orus coordinates */
++          vec1.x = TT_MULFIX( CUR.zp0.orus[L].x - CUR.zp1.orus[K].x,
++                              CUR.metrics.x_scale );
++          vec1.y = TT_MULFIX( CUR.zp0.orus[L].y - CUR.zp1.orus[K].y,
++                              CUR.metrics.y_scale );
++        }
+         D = CUR_fast_dualproj( &vec1 );
+ #else
+@@ -5780,23 +5782,28 @@
+ #ifdef FIX_BYTECODE
++    /* UNDOCUMENTED: twilight zone special case */
++
++    if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 )
++    {
++      FT_Vector*  vec1 = &CUR.zp1.org[point];
++      FT_Vector*  vec2 = &CUR.zp0.org[CUR.GS.rp0];
++
++      org_dist = CUR_Func_dualproj( vec1, vec2 );
++    }
++    else
+     {
+       FT_Vector*  vec1 = &CUR.zp1.orus[point];
+       FT_Vector*  vec2 = &CUR.zp0.orus[CUR.GS.rp0];
+-      if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 )
+-        FT_ARRAY_COPY( CUR.twilight.orus,
+-                       CUR.twilight.org,
+-                       CUR.twilight.n_points );
+-
+-      if ( CUR.metrics.x_scale == CUR.metrics.y_scale ) 
++      if ( CUR.metrics.x_scale == CUR.metrics.y_scale )
+       {
+         /* this should be faster */
+         org_dist = CUR_Func_dualproj( vec1, vec2 );
+         org_dist = TT_MULFIX( org_dist, CUR.metrics.x_scale );
+       }
+-      else 
++      else
+       {
+         FT_Vector  vec;
+@@ -6173,6 +6180,7 @@
+     FT_F26Dot6  old_range, cur_range;
+     FT_Vector*  orus_base;
+     FT_Vector*  cur_base;
++    FT_Int      twilight;
+     FT_UNUSED_ARG;
+@@ -6184,21 +6192,18 @@
+     }
+     /*
+-     * We need to deal in a special way with the twilight zone.  The easiest
+-     * solution is simply to copy the coordinates from `org' to `orus'
+-     * whenever a font tries to perform intersections based on some of its
+-     * points.
+-     *
++     * We need to deal in a special way with the twilight zone.
+      * Otherwise, by definition, the value of CUR.twilight.orus[n] is (0,0),
+-     * whatever value of `n'.
++     * for every n.
+      */
+-    if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 || CUR.GS.gep2 == 0 )
+-      FT_ARRAY_COPY( CUR.twilight.orus,
+-                     CUR.twilight.org,
+-                     CUR.twilight.n_points );
++    twilight = ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 || CUR.GS.gep2 == 0 );
++
++    if (twilight)
++        orus_base = &CUR.zp0.org[CUR.GS.rp1];
++    else
++        orus_base = &CUR.zp0.orus[CUR.GS.rp1];
+-    orus_base = &CUR.zp0.orus[CUR.GS.rp1];
+-    cur_base  = &CUR.zp0.cur[CUR.GS.rp1];
++    cur_base = &CUR.zp0.cur[CUR.GS.rp1];
+     /* XXX: There are some glyphs in some braindead but popular  */
+     /*      fonts out there (e.g. [aeu]grave in monotype.ttf)    */
+@@ -6212,7 +6217,11 @@
+     }
+     else
+     {
+-      old_range = CUR_Func_dualproj( &CUR.zp1.orus[CUR.GS.rp2], orus_base );
++      if (twilight)
++        old_range = CUR_Func_dualproj( &CUR.zp1.org[CUR.GS.rp2], orus_base );
++      else
++        old_range = CUR_Func_dualproj( &CUR.zp1.orus[CUR.GS.rp2], orus_base );
++
+       cur_range = CUR_Func_project ( &CUR.zp1.cur[CUR.GS.rp2],  cur_base );
+     }
+@@ -6233,7 +6242,11 @@
+         continue;
+       }
+-      org_dist = CUR_Func_dualproj( &CUR.zp2.orus[point], orus_base );
++      if (twilight)
++        org_dist = CUR_Func_dualproj( &CUR.zp2.org[point], orus_base );
++      else
++        org_dist = CUR_Func_dualproj( &CUR.zp2.orus[point], orus_base );
++
+       cur_dist = CUR_Func_project ( &CUR.zp2.cur[point], cur_base );
+       new_dist = (old_range != 0)
+                    ? TT_MULDIV( org_dist, cur_range, old_range )
diff --git a/media-libs/freetype/freetype-2.3.2-r1.ebuild b/media-libs/freetype/freetype-2.3.2-r1.ebuild
new file mode 100644 (file)
index 0000000..c7d956a
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/freetype-2.3.2-r1.ebuild,v 1.1 2007/03/25 15:10:04 dirtyepic Exp $
+
+inherit eutils flag-o-matic libtool
+
+DESCRIPTION="A high-quality and portable font engine"
+HOMEPAGE="http://www.freetype.org/"
+SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.bz2
+       doc? ( mirror://sourceforge/${PN}/${PN}-doc-${PV}.tar.bz2 )"
+
+LICENSE="FTL GPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="zlib bindist doc"
+
+# The RDEPEND below makes sure that if there is a version of moz/ff/tb
+# installed, then it will have the freetype-2.1.8+ binary compatibility patch.
+# Otherwise updating freetype will cause moz/ff/tb crashes.  #59849
+# 20 Nov 2004 agriffis
+DEPEND="zlib? ( sys-libs/zlib )"
+
+RDEPEND="${DEPEND}
+       !<www-client/mozilla-1.7.3-r3
+       !<www-client/mozilla-firefox-1.0-r3
+       !<mail-client/mozilla-thunderbird-0.9-r3
+       !<media-libs/libwmf-0.2.8.2"
+
+src_unpack() {
+
+       unpack ${A}
+       cd "${S}"
+
+       enable_option() {
+               sed -i -e "/#define $1/a #define $1" \
+                       include/freetype/config/ftoption.h \
+                       || die "unable to enable option $1"
+       }
+
+       disable_option() {
+               sed -i -e "/#define $1/ { s:^:/*:; s:$:*/: }" \
+                       include/freetype/config/ftoption.h \
+                       || die "unable to disable option $1"
+       }
+
+       if ! use bindist; then
+               # Bytecodes and subpixel hinting supports are patented
+               # in United States; for safety, disable them while building
+               # binaries, so that no risky code is distributed.
+               # See http://freetype.org/patents.html
+
+               enable_option TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+               enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+               disable_option TT_CONFIG_OPTION_UNPATENTED_HINTING
+       fi
+
+       disable_option FT_CONFIG_OPTION_OLD_INTERNALS
+
+       # 2.3.2 only - bug #170532
+       epatch "${FILESDIR}"/${P}-truetype-regression.patch
+
+       elibtoolize
+       epunt_cxx
+
+}
+
+src_compile() {
+       # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=118021
+       append-flags "-fno-strict-aliasing"
+
+       type -p gmake &> /dev/null && export GNUMAKE=gmake
+       econf $(use_with zlib) || die
+
+       emake || die
+}
+
+src_install() {
+       emake -j1 DESTDIR="${D}" install || die
+
+       dodoc ChangeLog README
+       dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,*.txt,PATENTS,TODO}
+
+       #cd "${WORKDIR}"/${PN}-doc-${PV}
+       use doc && dohtml -r docs/*
+}