diff options
author | Aron Griffis <agriffis@gentoo.org> | 2006-02-17 14:36:44 +0000 |
---|---|---|
committer | Aron Griffis <agriffis@gentoo.org> | 2006-02-17 14:36:44 +0000 |
commit | d1a42183d2a901d98c0c7d66de6ac3c1b3ba3b37 (patch) | |
tree | f48e5d93ee7db698a6da7af3838ff8c35a0ca86f /x11-wm | |
parent | Added built_with_use check on cdinstall for quake3-data for bug #123148. (diff) | |
download | gentoo-2-d1a42183d2a901d98c0c7d66de6ac3c1b3ba3b37.tar.gz gentoo-2-d1a42183d2a901d98c0c7d66de6ac3c1b3ba3b37.tar.bz2 gentoo-2-d1a42183d2a901d98c0c7d66de6ac3c1b3ba3b37.zip |
Add patch for utf8 rendering with xft #121722
(Portage version: 2.1_pre4-r1)
Diffstat (limited to 'x11-wm')
-rw-r--r-- | x11-wm/sawfish/ChangeLog | 8 | ||||
-rw-r--r-- | x11-wm/sawfish/Manifest | 19 | ||||
-rw-r--r-- | x11-wm/sawfish/files/digest-sawfish-1.3.20050816-r1 | 3 | ||||
-rw-r--r-- | x11-wm/sawfish/files/sawfish-xft-menu-utf8.patch | 243 | ||||
-rw-r--r-- | x11-wm/sawfish/sawfish-1.3.20050816-r1.ebuild | 106 |
5 files changed, 368 insertions, 11 deletions
diff --git a/x11-wm/sawfish/ChangeLog b/x11-wm/sawfish/ChangeLog index b34cad68ab8f..1b0e158e0261 100644 --- a/x11-wm/sawfish/ChangeLog +++ b/x11-wm/sawfish/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-wm/sawfish # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-wm/sawfish/ChangeLog,v 1.62 2006/02/07 10:06:30 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-wm/sawfish/ChangeLog,v 1.63 2006/02/17 14:36:44 agriffis Exp $ + +*sawfish-1.3.20050816-r1 (17 Feb 2006) + + 17 Feb 2006; Aron Griffis <agriffis@gentoo.org> + +files/sawfish-xft-menu-utf8.patch, +sawfish-1.3.20050816-r1.ebuild: + Add patch for utf8 rendering with xft #121722 07 Feb 2006; Aron Griffis <agriffis@gentoo.org> sawfish-1.3.20050816.ebuild: diff --git a/x11-wm/sawfish/Manifest b/x11-wm/sawfish/Manifest index ec26a860a877..0d7dbb7458fd 100644 --- a/x11-wm/sawfish/Manifest +++ b/x11-wm/sawfish/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - MD5 c4aae33570307f2bfeae41ea283879d5 ChangeLog 10037 RMD160 ea4fc38f3c82d37b388ee48a7be02f32922edf6b ChangeLog 10037 SHA256 f6e3532949eb27276ad07bdd459d23d0d03ec7806ffc805c990f56bc69e923e7 ChangeLog 10037 @@ -22,6 +19,9 @@ SHA256 7df4d1db14bc8c60df8556e105919114285d5412875776ef7e275e902ccb90de files/di MD5 228430d4af4d182eca480e98af059875 files/digest-sawfish-1.3.20050816 74 RMD160 a7b8561d81c224df25893a287201782ba2fae05e files/digest-sawfish-1.3.20050816 74 SHA256 107b1f5d81a026c3500153fe041fe681a153d9c9589721d5bea1bddd3e77a395 files/digest-sawfish-1.3.20050816 74 +MD5 6d7e350ed295076a1d0594e3c002aefc files/digest-sawfish-1.3.20050816-r1 268 +RMD160 166266b6b60e33d9b9208a71f758abd4b8287690 files/digest-sawfish-1.3.20050816-r1 268 +SHA256 bfb44f484f8df1fa3ec2a606c7d52d54aa7e495d08f391119f21c8b830e6bfcf files/digest-sawfish-1.3.20050816-r1 268 MD5 e1a647c4cdb92365506d533ac36c7f57 files/libtool.patch 798 RMD160 ce31c467c17f0106abee438271f723c888eec641 files/libtool.patch 798 SHA256 5d2a78d80ce22591c930353be21e359c542d6b241700efac5a38c1c41864c9c2 files/libtool.patch 798 @@ -34,6 +34,9 @@ SHA256 a077e71282a4b5a2cddc7555396e8ba2d84fbe9165269009816a318709b7f94d files/sa MD5 280d364bfd0878351ebbbcbc62ac19c4 files/sawfish-1.3-state-below.patch 403 RMD160 2ce7541bd8abafd778f55231a9ca4c52dc112798 files/sawfish-1.3-state-below.patch 403 SHA256 0aaca4e9095283ae21be489eb0b8a4af687f907c13db5bcc8c81d2e61cdc941d files/sawfish-1.3-state-below.patch 403 +MD5 b77a24813c32d264f4d1b8faa066b716 files/sawfish-xft-menu-utf8.patch 6130 +RMD160 6ae34f6fd972ddaf7057e363ad7a55bbf2717241 files/sawfish-xft-menu-utf8.patch 6130 +SHA256 2cc54204aa4027cfe0161394e4e486f58c33fec49fc0f6fea33b95ce8503c271 files/sawfish-xft-menu-utf8.patch 6130 MD5 683a44340139387ede0f0a8ec990f6af metadata.xml 252 RMD160 e1e9d40a05f958564b97dce796d3575508fb3b2e metadata.xml 252 SHA256 0db1ac5dbd8480024e1398a144440c9f0b77d5edf03789905ed31ae1d284aaf2 metadata.xml 252 @@ -46,13 +49,9 @@ SHA256 6c92975fe0bdfe9f679e54db3581e8cbb8032a6434fe74d1e06fec8bb01e67ea sawfish- MD5 2dfef4a3fc9332df431ea0b2b06c5ee8 sawfish-1.3.20040120.ebuild 2700 RMD160 6f6bec88aecf37db880df9a0b1761c65221f76b2 sawfish-1.3.20040120.ebuild 2700 SHA256 c7e6f737417198ed515166c3f8086c91034c934778772e273a201bcae7373fc8 sawfish-1.3.20040120.ebuild 2700 +MD5 8414a1257faec85b703d68ecb2316cf4 sawfish-1.3.20050816-r1.ebuild 2916 +RMD160 971d8b4d5ba9347eda03690207fc5f698f7ae5fa sawfish-1.3.20050816-r1.ebuild 2916 +SHA256 da604f876211f242a9893ac1e4738b9dcd04e21207c379725c2c2021b641535b sawfish-1.3.20050816-r1.ebuild 2916 MD5 e03cb873481afd914cfc286f6a085be8 sawfish-1.3.20050816.ebuild 2807 RMD160 1298317baa21f75476995fc3d107499f66de91a8 sawfish-1.3.20050816.ebuild 2807 SHA256 a575e07c1b363eb9f27d000367102ab317bd01ca8a868e9fabfa3634945370f8 sawfish-1.3.20050816.ebuild 2807 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.2 (GNU/Linux) - -iD8DBQFD6HEwJrHF4yAQTrARAkCmAKDBQ7uTHLwJXEK6wO0nrS+UtxcdlgCfW6Hi -FEWhTYKgxGrnA15NP1nYp7o= -=geLL ------END PGP SIGNATURE----- diff --git a/x11-wm/sawfish/files/digest-sawfish-1.3.20050816-r1 b/x11-wm/sawfish/files/digest-sawfish-1.3.20050816-r1 new file mode 100644 index 000000000000..ace9f6842fec --- /dev/null +++ b/x11-wm/sawfish/files/digest-sawfish-1.3.20050816-r1 @@ -0,0 +1,3 @@ +MD5 ce418e61e0388e9ab45b06cd68a966df sawfish-1.3.20050816.tar.bz2 1145082 +RMD160 e15e222baa1f1f52f085f4658abc3d8a37d6c8e8 sawfish-1.3.20050816.tar.bz2 1145082 +SHA256 2b4954f1605e985dba5d71fafd57c4d2914bd7e0b19941c3b937915772fc98f3 sawfish-1.3.20050816.tar.bz2 1145082 diff --git a/x11-wm/sawfish/files/sawfish-xft-menu-utf8.patch b/x11-wm/sawfish/files/sawfish-xft-menu-utf8.patch new file mode 100644 index 000000000000..b7afb0d13f18 --- /dev/null +++ b/x11-wm/sawfish/files/sawfish-xft-menu-utf8.patch @@ -0,0 +1,243 @@ +--- config.h.in 2006-02-05 21:42:27.000000000 -0500 ++++ config.h.in 2006-02-05 21:48:46.000000000 -0500 +@@ -151,4 +151,7 @@ + #undef HAVE_PANGO_X + #undef HAVE_PANGO_XFT + ++/* Define if you have glib */ ++#undef HAVE_GLIB ++ + #endif /* SAWMILL_CONFIG_H */ +--- configure.in 2006-02-05 21:42:27.000000000 -0500 ++++ configure.in 2006-02-05 21:48:46.000000000 -0500 +@@ -127,7 +127,14 @@ + + CPPFLAGS="${_cppflags}" + +-dnl Checks for pango ++dnl Checks for pango. Disabled by default ++ ++AC_ARG_WITH(pango, ++ [ --with-pango Enable pango font rendering engine ++ --without-pango], [], ++ [with_pango=no]) ++ ++if test "${with_pango}" = "yes"; then + PKG_CHECK_MODULES(PANGO, pango >= 1.2.0, + [if $PKG_CONFIG --exists pangoxft; then + AC_DEFINE(HAVE_PANGO_XFT, 1) +@@ -142,6 +149,7 @@ + PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_MODULES` + PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_MODULES` + fi], [: nothing]) ++fi + + dnl Check for librep + AM_PATH_REP(0.14) +@@ -247,6 +255,17 @@ + AC_DEFINE(HAVE_ESD) + fi + ++AC_ARG_WITH(glib, ++ [ --with-glib Use glib for locale -> utf8 ++ --without-glib], [], [with_glib=yes]) ++ ++if test "$with_glib" = "yes"; then ++ PKG_CHECK_MODULES(GLIB, glib-2.0 > 2.0) ++ AC_SUBST(GLIB_LIBS) ++ AC_SUBST(GLIB_CFLAGS) ++ AC_DEFINE(HAVE_GLIB) ++fi ++ + AC_ARG_ENABLE(capplet, + [ --enable-capplet Build the sawfish GNOME capplet [default] + --disable-capplet Don't built the capplet], [], +--- lisp/sawfish/wm/ext/beos-window-menu.jl 2006-02-05 21:42:27.000000000 -0500 ++++ lisp/sawfish/wm/ext/beos-window-menu.jl 2006-02-05 21:49:07.000000000 -0500 +@@ -25,6 +25,7 @@ + (export beos-window-menu) + + (open rep ++ rep.regexp + sawfish.wm.windows + sawfish.wm.misc + sawfish.wm.custom +@@ -38,9 +39,16 @@ + + (define (abbreviate name #!optional len) + (unless len (setq len 20)) +- (if (> (length name) len) +- (concat (substring name 0 len) "...") +- name)) ++ (setq name (locale-to-utf8 name)) ++ (let ((namelen (length name))) ++ (let loop ((idx len)) ++ (cond ((>= idx namelen) ++ name) ++ ((string-match "[\200-\277]" (substring name idx (1+ idx))) ++ ;; move to utf-8 mbchar boundary ++ (loop (1+ idx))) ++ (t ++ (concat (substring name 0 idx) "...")))))) + + (define (make-label w) + (let ((name (window-name w)) +--- src/fonts.c 2006-02-05 21:42:27.000000000 -0500 ++++ src/fonts.c 2006-02-05 21:49:22.000000000 -0500 +@@ -42,14 +42,18 @@ + #include <X11/Xlocale.h> + #include <ctype.h> + ++#ifdef HAVE_GLIB ++# include<glib.h> ++#endif ++ + #ifdef HAVE_X11_XFT_XFT_H + # include <X11/Xft/Xft.h> + #else + # undef HAVE_PANGO + #endif + ++ + #ifdef HAVE_PANGO +-# include <glib.h> + # define PANGO_ENABLE_BACKEND + # include <pango/pango.h> + # undef PANGO_ENABLE_BACKEND +@@ -364,9 +368,22 @@ + xft_measure (Lisp_Font *f, u_char *string, size_t length) + { + XGlyphInfo info; +- +- XftTextExtents8 (dpy, f->font, string, length, &info); +- ++#ifdef HAVE_GLIB ++ gsize r, w; ++ u_char *utf8str; ++ utf8str = g_locale_to_utf8 (string, length, &r, &w, NULL); ++ if (utf8str != NULL){ ++ string = utf8str; ++ length = w; ++ } ++ ++ XftTextExtentsUtf8 (dpy, f->font, string, length, &info); ++ ++ g_free(utf8str); ++#else ++ XftTextExtents8 (dpy, f->font, string, length, &info); ++#endif ++ + return info.xOff; + } + +@@ -375,6 +392,10 @@ + Window id, GC gc, Lisp_Color *fg, int x, int y) + { + static XftDraw *draw; ++#ifdef HAVE_GLIB ++ gsize r, w; ++ u_char *utf8str; ++#endif + + XftColor xft_color; + +@@ -389,8 +410,21 @@ + xft_color.color.blue = fg->blue; + xft_color.color.alpha = fg->alpha; + ++#ifdef HAVE_GLIB ++ utf8str = g_locale_to_utf8 (string, length, &r, &w, NULL); ++ if (utf8str != NULL){ ++ string = utf8str; ++ length = w; ++ } ++ ++ XftDrawStringUtf8 (draw, &xft_color, f->font, ++ x, y, string, length); ++ g_free(utf8str); ++#else + XftDrawString8 (draw, &xft_color, f->font, + x, y, string, length); ++#endif ++ + } + + static const Lisp_Font_Class xft_class = { +--- src/functions.c 2006-02-05 21:42:27.000000000 -0500 ++++ src/functions.c 2006-02-05 21:49:27.000000000 -0500 +@@ -43,7 +43,9 @@ + #include "sawmill.h" + #include <string.h> + #include <X11/Xatom.h> +- ++#ifdef HAVE_GLIB ++#include <glib.h> ++#endif + /* Number of outstanding server grabs made; only when this is zero is + the server ungrabbed. */ + static int server_grabs; +@@ -1340,6 +1342,37 @@ + } + } + ++DEFUN("locale-to-utf8", Flocale_to_utf8, Slocale_to_utf8, ++ (repv src), rep_Subr1) ++{ ++#ifdef HAVE_GLIB ++ gsize r, w; ++ u_char *utf8str; ++ repv res; ++ ++ rep_DECLARE1 (src, rep_STRINGP); ++ ++ utf8str = g_locale_to_utf8 (rep_STR (src), -1, &r, &w, NULL); ++ if (utf8str == NULL) { ++ return src; ++ } ++ ++ res = rep_make_string (w + 1); ++ if (!res) ++ return rep_mem_error (); ++ ++ strncpy (rep_STR (res), utf8str, w); ++ rep_STR (res)[w] = '\0'; ++ ++ g_free (utf8str); ++ return res; ++#else ++ return src; ++#endif ++} ++ ++ ++ + + /* initialisation */ + +@@ -1380,6 +1413,7 @@ + rep_ADD_SUBR(Shead_dimensions); + rep_ADD_SUBR(Shead_offset); + rep_ADD_SUBR(Sdisplay_message); ++ rep_ADD_SUBR(Slocale_to_utf8); + rep_pop_structure (tem); + + tem = rep_push_structure ("sawfish.wm.events"); +--- src/Makefile.in 2006-02-05 21:42:27.000000000 -0500 ++++ src/Makefile.in 2006-02-05 21:53:35.000000000 -0500 +@@ -38,14 +38,14 @@ + sawfish/wm/util/play-sample.la + DL_DIRS = sawfish/wm/util + +-override CFLAGS := $(CFLAGS) $(REP_CFLAGS) $(IMAGE_CFLAGS) $(X11_CFLAGS) $(ESD_CFLAGS) $(PANGO_CFLAGS) ++override CFLAGS := $(CFLAGS) $(REP_CFLAGS) $(IMAGE_CFLAGS) $(X11_CFLAGS) $(ESD_CFLAGS) $(PANGO_CFLAGS) $(GLIB_CFLAGS) + + all : sawfish libclient.o $(DL_OBJS) .libexec gtk-style + + sawfish : $(OBJS) $(LIBOBJS) + $(rep_LIBTOOL) --mode=link --tag=CC $(CC) -export-dynamic $(LDFLAGS) \ + -o sawfish $(OBJS) $(LIBOBJS) $(REP_LIBS) $(PANGO_LIBS) \ +- $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) ++ $(IMAGE_LIBS) $(X11_LIBS) $(EXTRA_X11_LIBS) $(LIBS) $(GLIB_LIBS) + + %.la : %.lo + $(rep_DL_LD) $(LDFLAGS) -o $@ $< diff --git a/x11-wm/sawfish/sawfish-1.3.20050816-r1.ebuild b/x11-wm/sawfish/sawfish-1.3.20050816-r1.ebuild new file mode 100644 index 000000000000..b4f53991e294 --- /dev/null +++ b/x11-wm/sawfish/sawfish-1.3.20050816-r1.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/sawfish/sawfish-1.3.20050816-r1.ebuild,v 1.1 2006/02/17 14:36:44 agriffis Exp $ + +# detect cvs snapshots; fex. 1.3.20040120 +[[ $PV == *.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]] +(( snapshot = !$? )) + +inherit eutils gnuconfig + +DESCRIPTION="Extensible window manager using a Lisp-based scripting language" +HOMEPAGE="http://sawmill.sourceforge.net/" +if (( snapshot )); then + SRC_URI="mirror://gentoo/${P}.tar.bz2" +else + SRC_URI="mirror://sourceforge/sawmill/${P}.tar.gz" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sparc ~x86" +IUSE="gnome esd nls audiofile pango" + +DEPEND=">=dev-util/pkgconfig-0.12.0 + >=x11-libs/rep-gtk-0.17 + >=dev-libs/librep-0.16 + >=x11-libs/gtk+-2.0.8 + audiofile? ( >=media-libs/audiofile-0.2.3 ) + esd? ( >=media-sound/esound-0.2.23 ) + nls? ( sys-devel/gettext )" +RDEPEND="${DEPEND}" + +if (( snapshot )); then + DEPEND="${DEPEND} + sys-devel/automake + sys-devel/autoconf" + S="${WORKDIR}/${PN}" +fi + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/libtool.patch" + # Fix utf8 with xft #121772 + epatch "${FILESDIR}/sawfish-xft-menu-utf8.patch" + # This is for alpha, but there's no reason to restrict it + gnuconfig_update +} + +src_compile() { + # Make sure we include freetype2 headers before freetype1 headers, + # else Xft2 borks, <azarah@gentoo.org> (13 Dec 2002) + export C_INCLUDE_PATH="${C_INCLUDE_PATH}:/usr/include/freetype2" + export CPLUS_INCLUDE_PATH="${CPLUS_INCLUDE_PATH}:/usr/include/freetype2" + + # If this is a snapshot then we need to create the autoconf stuff + if (( snapshot )); then + aclocal || die "aclocal failed" + autoconf || die "autoconf failed" + fi + + set -- \ + --disable-themer \ + --with-gdk-pixbuf \ + $(use_with audiofile) \ + $(use_with esd) \ + $(use_with pango) + + if use gnome; then + set -- "$@" \ + --with-gnome-prefix=/usr \ + --enable-gnome-widgets \ + --enable-capplet + else + set -- "$@" \ + --disable-gnome-widgets \ + --disable-capplet + fi + + if ! use nls; then + # Use a space because configure script reads --enable-linguas="" as + # "install everything" + # Don't use --disable-linguas, because that means --enable-linguas="no", + # which means "install Norwegian translations" + set -- "$@" --enable-linguas=" " + elif [[ "${LINGUAS+set}" == "set" ]]; then + strip-linguas -i po + set -- "$@" --enable-linguas=" ${LINGUAS} " + else + set -- "$@" --enable-linguas="" + fi + + econf "$@" || die "configure failed" + + # The following two lines allow sawfish to compile with gcc 2.95 + # (see bug 18294) + sed -i -e 's:REP_CFLAGS=:REP_CFLAGS=-I/usr/include/freetype2 :' Makedefs + + # Parallel build doesn't work + emake -j1 || die "make failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + dodoc AUTHORS BUGS ChangeLog DOC FAQ NEWS README THANKS TODO OPTIONS +} |