Index: Manifest =================================================================== RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs-cvs/Manifest,v retrieving revision 1.42 diff -u -r1.42 Manifest --- Manifest 3 May 2005 10:02:18 -0000 1.42 +++ Manifest 10 Dec 2005 11:34:10 -0000 @@ -1,13 +1,16 @@ -MD5 5cc9673076ae709340ebf4ff4884744f emacs-cvs-22.0.50.ebuild 4690 MD5 c8244b63bcc048773ba7032226f7dd20 ChangeLog 5647 -MD5 fcd33d07e4ee719b01157946734f4fe8 metadata.xml 158 +MD5 51368777d6f87a10073e5f0063b3438d emacs-cvs-22.0.50.ebuild 4959 MD5 5a408b847c13cb5a004d9f3f5b495e8f emacs-cvs-23.0.0.ebuild 4709 MD5 04a64867694a98538309b433c80aaa62 files/40aspell-gentoo.el 80 +MD5 0d61f19c0e6fcdb6657ae1d4d9e69801 files/50emacs-22.0.50.envd 39 +MD5 0b379e4c82898cbd3b9929d752b7bfab files/50emacs-23.0.0.envd 38 MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-emacs-cvs-22.0.50 0 -MD5 5f423550e3d32b7c0511eccd93a94750 files/emacs-subdirs-el-gentoo.diff 1369 MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-emacs-cvs-23.0.0 0 MD5 3a0ce8880fff1be2f5e8281633532546 files/emacs-22.0.50.desktop 242 -MD5 277b238c9263aabcc2ef92de1d6d68bb files/emacs-cvs-21.3.50-nofink.diff 1520 -MD5 0d61f19c0e6fcdb6657ae1d4d9e69801 files/50emacs-22.0.50.envd 39 -MD5 0b379e4c82898cbd3b9929d752b7bfab files/50emacs-23.0.0.envd 38 MD5 5585d3da10b713e4f268c2ab75b4b2da files/emacs-23.0.0.desktop 240 +MD5 277b238c9263aabcc2ef92de1d6d68bb files/emacs-cvs-21.3.50-nofink.diff 1520 +MD5 5f423550e3d32b7c0511eccd93a94750 files/emacs-subdirs-el-gentoo.diff 1369 +MD5 91da809381cbee2642bee45da75c182b files/xft-bgalpha.patch 690 +MD5 3a1b3ce71cc21223bd102617c38cd23e files/xft-invertcursor.patch 1033 +MD5 2e8d8757cc9ed43a0ffe56c8dbcb93df files/xft-xfaces-fixcrash.patch 631 +MD5 fcd33d07e4ee719b01157946734f4fe8 metadata.xml 158 Index: emacs-cvs-22.0.50.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/app-editors/emacs-cvs/emacs-cvs-22.0.50.ebuild,v retrieving revision 1.8 diff -u -r1.8 emacs-cvs-22.0.50.ebuild --- emacs-cvs-22.0.50.ebuild 3 May 2005 10:02:09 -0000 1.8 +++ emacs-cvs-22.0.50.ebuild 10 Dec 2005 11:34:10 -0000 @@ -14,9 +14,10 @@ inherit elisp-common cvs alternatives flag-o-matic eutils -IUSE="X Xaw3d aqua gif gnome gtk jpeg nls png spell tiff" +IUSE="X Xaw3d aqua gif gnome gtk jpeg nls png spell tiff xft" + +S=${WORKDIR}/emacs -S=${WORKDIR}/${ECVS_MODULE} DESCRIPTION="Emacs is the extensible, customizable, self-documenting real-time display editor." SRC_URI="" HOMEPAGE="http://www.gnu.org/software/emacs" @@ -46,16 +47,29 @@ DFILE=emacs-${SLOT}.desktop -src_compile() { +src_unpack() { + if use xft; then + ECVS_BRANCH=XFT_JHD_BRANCH + else + ECVS_BRANCH=HEAD + fi + cvs_src_unpack + cd ${S}; + epatch ${FILESDIR}/emacs-subdirs-el-gentoo.diff + use ppc-macos && epatch ${FILESDIR}/emacs-cvs-21.3.50-nofink.diff + if use xft; then + epatch ${FILESDIR}/xft-invertcursor.patch + epatch ${FILESDIR}/xft-bgalpha.patch + epatch ${FILESDIR}/xft-xfaces-fixcrash.patch + fi +} +src_compile() { # no flag is allowed ALLOWED_FLAGS=" " strip-flags unset LDFLAGS - epatch ${FILESDIR}/emacs-subdirs-el-gentoo.diff - use ppc-macos && epatch ${FILESDIR}/emacs-cvs-21.3.50-nofink.diff - sed -i -e "s/-lungif/-lgif/g" configure* src/Makefile* || die local myconf @@ -78,6 +92,11 @@ myconf="${myconf} --without-gtk" myconf="${myconf} --with-x-toolkit=lucid" fi + if use xft; then + # this is only relevant when the source is patched for XFT + # support, so it must remain within this if/then block + myconf="${myconf} $(use_with xft)" + fi fi if use aqua ; then Index: files/xft-bgalpha.patch =================================================================== RCS file: files/xft-bgalpha.patch diff -N files/xft-bgalpha.patch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/xft-bgalpha.patch 10 Dec 2005 11:34:10 -0000 @@ -0,0 +1,14 @@ +References: + http://lists.gnu.org/archive/html/emacs-pretest-bug/2005-07/msg00359.html + http://bugs.gentoo.org/show_bug.cgi?id=110626 Comment #3 +--- emacs/src/xfaces.c.orig 2005-12-03 20:58:39.000000000 -0800 ++++ emacs/src/xfaces.c 2005-12-03 20:59:12.000000000 -0800 +@@ -5227,7 +5227,7 @@ + + XQueryColors (FRAME_X_DISPLAY (f), FRAME_X_DISPLAY_INFO (f)->cmap, + colors, 2); +- face->xft_fg.color.alpha = face->xft_fg.color.alpha = 0xffff; ++ face->xft_fg.color.alpha = face->xft_bg.color.alpha = 0xffff; + face->xft_fg.color.red = colors[0].red; + face->xft_fg.color.green = colors[0].green; + face->xft_fg.color.blue = colors[0].blue; Index: files/xft-invertcursor.patch =================================================================== RCS file: files/xft-invertcursor.patch diff -N files/xft-invertcursor.patch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/xft-invertcursor.patch 10 Dec 2005 11:34:10 -0000 @@ -0,0 +1,23 @@ +References: + http://lists.gnu.org/archive/html/emacs-pretest-bug/2005-07/msg00359.html + http://bugs.gentoo.org/show_bug.cgi?id=110626 Comment #4 +--- emacs/src/xterm.c.orig 2005-12-03 21:06:24.000000000 -0800 ++++ emacs/src/xterm.c 2005-12-03 21:09:32.000000000 -0800 +@@ -1360,7 +1360,7 @@ + for (i = 0; i < s->nchars; ++i) + ch[i] = s->char2b[i].byte2 | (s->char2b[i].byte1 << 8); + XftDrawString16 (s->face->xft_draw, +- &s->face->xft_fg, ++ s->hl == DRAW_CURSOR ? &s->face->xft_bg : &s->face->xft_fg, + s->face->font, + x, + s->ybase - boff, +@@ -1369,7 +1369,7 @@ + } + else + XftDrawString8 (s->face->xft_draw, +- &s->face->xft_fg, ++ s->hl == DRAW_CURSOR ? &s->face->xft_bg : &s->face->xft_fg, + s->face->font, + x, + s->ybase - boff, Index: files/xft-xfaces-fixcrash.patch =================================================================== RCS file: files/xft-xfaces-fixcrash.patch diff -N files/xft-xfaces-fixcrash.patch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/xft-xfaces-fixcrash.patch 10 Dec 2005 11:34:10 -0000 @@ -0,0 +1,16 @@ +References: + http://lists.gnu.org/archive/html/emacs-pretest-bug/2005-07/msg00359.html + http://bugs.gentoo.org/show_bug.cgi?id=110626 Comment #2 +--- emacs/src/xfaces.c.orig 2005-12-03 20:58:39.000000000 -0800 ++++ emacs/src/xfaces.c 2005-12-04 00:00:16.000000000 -0800 +@@ -7177,6 +7177,10 @@ + { + bcopy (base_face, face, sizeof *face); + face->gc = 0; ++#ifdef HAVE_XFT ++ /* http://lists.gnu.org/archive/html/emacs-pretest-bug/2005-07/msg00359.html */ ++ face->xft_draw = NULL; ++#endif + + /* Don't try to free the colors copied bitwise from BASE_FACE. */ + face->colors_copied_bitwise_p = 1;