summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-irc/xchat/ChangeLog11
-rw-r--r--net-irc/xchat/files/xc284-fix-scrollbfdleak.diff14
-rw-r--r--net-irc/xchat/files/xc284-improvescrollback.diff28
-rw-r--r--net-irc/xchat/files/xc284-scrollbmkdir.diff33
-rw-r--r--net-irc/xchat/files/xchat-2.8.6-shm-pixmaps.patch106
-rw-r--r--net-irc/xchat/files/xchat-fix-uk_UA-locale.diff12
-rw-r--r--net-irc/xchat/xchat-2.8.6-r2.ebuild (renamed from net-irc/xchat/xchat-2.8.4-r3.ebuild)20
7 files changed, 127 insertions, 97 deletions
diff --git a/net-irc/xchat/ChangeLog b/net-irc/xchat/ChangeLog
index e176e5d5108f..7473977411b6 100644
--- a/net-irc/xchat/ChangeLog
+++ b/net-irc/xchat/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for net-irc/xchat
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/xchat/ChangeLog,v 1.273 2008/09/28 06:29:46 leio Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/xchat/ChangeLog,v 1.274 2008/11/27 20:49:59 armin76 Exp $
+
+*xchat-2.8.6-r2 (27 Nov 2008)
+
+ 27 Nov 2008; Raúl Porcel <armin76@gentoo.org>
+ -files/xc284-fix-scrollbfdleak.diff, -files/xc284-scrollbmkdir.diff,
+ +files/xchat-2.8.6-shm-pixmaps.patch, -files/xc284-improvescrollback.diff,
+ -files/xchat-fix-uk_UA-locale.diff, -xchat-2.8.4-r3.ebuild,
+ +xchat-2.8.6-r2.ebuild:
+ Don't use included libsexy, bug #246138, make shm pixmaps optional, bug #241902
28 Sep 2008; Mart Raudsepp <leio@gentoo.org> xchat-2.8.6-r1.ebuild:
Fix compile against gtk+-2.14 by being forwards compatible, bug 234458
diff --git a/net-irc/xchat/files/xc284-fix-scrollbfdleak.diff b/net-irc/xchat/files/xc284-fix-scrollbfdleak.diff
deleted file mode 100644
index a5dbf2aade4f..000000000000
--- a/net-irc/xchat/files/xc284-fix-scrollbfdleak.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# Scrollback shrinking code forgets to close().
-#
---- xchat-2.8.4/src/common/text.c 2007-06-13 19:59:56.000000000 +1000
-+++ xchat-2.8.4p1/src/common/text.c 2007-11-02 23:52:57.000000000 +1100
-@@ -141,6 +146,7 @@
- }
-
- *len = st.st_size;
-+ close (fh);
- return buf;
- }
-
-
diff --git a/net-irc/xchat/files/xc284-improvescrollback.diff b/net-irc/xchat/files/xc284-improvescrollback.diff
deleted file mode 100644
index 4bada74e4af1..000000000000
--- a/net-irc/xchat/files/xc284-improvescrollback.diff
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# 1) Stops scrollback files growing too large by fixing the file-shrink code.
-# 2) Puts a "Display scrollback from previous session" into the Setup GUI
-# (logging section) so people can turn this off without typing commands.
-#
---- xchat-2.8.4/src/common/text.c 29 Jul 2007 05:02:36 -0000 1.90
-+++ xchat-2.8.4p1/src/common/text.c 26 Sep 2007 07:29:55 -0000
-@@ -285,6 +285,8 @@
- }
- }
-
-+ sess->scrollwritten = lines;
-+
- if (lines)
- {
- text = ctime (&stamp);
---- xchat-2.8.4/src/fe-gtk/setup.c 9 Sep 2007 04:57:07 -0000 1.100
-+++ xchat-2.8.4p1/src/fe-gtk/setup.c 26 Sep 2007 07:29:57 -0000
-@@ -382,7 +382,8 @@
- static const setting logging_settings[] =
- {
- {ST_HEADER, N_("Logging"),0,0,0},
-- {ST_TOGGLE, N_("Enable logging of conversations"), P_OFFINTNL(logging), 0, 0, 2},
-+ {ST_TOGGLE, N_("Display scrollback from previous session"), P_OFFINTNL(text_replay), 0, 0, 0},
-+ {ST_TOGGLE, N_("Enable logging of conversations"), P_OFFINTNL(logging), 0, 0, 2},
- {ST_ENTRY, N_("Log filename:"), P_OFFSETNL(logmask), 0, 0, sizeof prefs.logmask},
- {ST_LABEL, N_("%s=Server %c=Channel %n=Network.")},
-
diff --git a/net-irc/xchat/files/xc284-scrollbmkdir.diff b/net-irc/xchat/files/xc284-scrollbmkdir.diff
deleted file mode 100644
index e2caa28083a9..000000000000
--- a/net-irc/xchat/files/xc284-scrollbmkdir.diff
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Fix creation of ~/.xchat2/scrollback/ paths.
-#
---- xchat-2.8.4/src/common/text.c 15 Jun 2007 03:53:42 -0000 1.89
-+++ xchat-2.8.4p1/src/common/text.c 8 Jul 2007 08:59:02 -0000
-@@ -49,20 +49,25 @@
-
-
- static void mkdir_p (char *dir);
-+static char *log_create_filename (char *channame);
-
-
- static char *
- scrollback_get_filename (session *sess, char *buf, int max)
- {
-- char *net;
-+ char *net, *chan;
-
- net = server_get_network (sess->server, FALSE);
- if (!net)
- return NULL;
-
-- snprintf (buf, max, "%s/scrollback/%s/%s.txt", get_xdir_fs (), net, sess->channel);
-+ snprintf (buf, max, "%s/scrollback/%s/%s.txt", get_xdir_fs (), net, "");
- mkdir_p (buf);
-
-+ chan = log_create_filename (sess->channel);
-+ snprintf (buf, max, "%s/scrollback/%s/%s.txt", get_xdir_fs (), net, chan);
-+ free (chan);
-+
- return buf;
- }
-
diff --git a/net-irc/xchat/files/xchat-2.8.6-shm-pixmaps.patch b/net-irc/xchat/files/xchat-2.8.6-shm-pixmaps.patch
new file mode 100644
index 000000000000..68f7fbe0b65e
--- /dev/null
+++ b/net-irc/xchat/files/xchat-2.8.6-shm-pixmaps.patch
@@ -0,0 +1,106 @@
+diff -ruN xchat-2.8.6.orig/src/fe-gtk/xtext.c xchat-2.8.6/src/fe-gtk/xtext.c
+--- xchat-2.8.6.orig/src/fe-gtk/xtext.c 2008-02-24 06:04:30.000000000 +0100
++++ xchat-2.8.6/src/fe-gtk/xtext.c 2008-10-14 11:04:57.000000000 +0200
+@@ -1350,6 +1350,22 @@
+ }
+ }
+
++#ifdef USE_SHM
++static int
++have_shm_pixmaps(Display *dpy)
++{
++ static int checked = 0, major, minor;
++ static Bool have = FALSE;
++
++ if (!checked) {
++ XShmQueryVersion(dpy, &major, &minor, &have);
++ checked = 1;
++ }
++
++ return have;
++}
++#endif
++
+ static void
+ gtk_xtext_paint (GtkWidget *widget, GdkRectangle *area)
+ {
+@@ -1366,8 +1382,12 @@
+ {
+ xtext->last_win_x = x;
+ xtext->last_win_y = y;
+-#if !defined(USE_SHM) && !defined(WIN32)
++#ifndef WIN32
++#ifdef USE_SHM
++ if (xtext->shaded && !have_shm_pixmaps(GDK_WINDOW_XDISPLAY (xtext->draw_buf)))
++#else
+ if (xtext->shaded)
++#endif
+ {
+ xtext->recycle = TRUE;
+ gtk_xtext_load_trans (xtext);
+@@ -3559,6 +3579,11 @@
+ GC tgc;
+ Display *xdisplay = GDK_WINDOW_XDISPLAY (xtext->draw_buf);
+
++#ifdef USE_SHM
++ int shm_pixmaps;
++ shm_pixmaps = have_shm_pixmaps(xdisplay);
++#endif
++
+ XGetGeometry (xdisplay, p, &root, &dummy, &dummy, &width, &height,
+ &dummy, &depth);
+
+@@ -3576,18 +3601,20 @@
+ XFreeGC (xdisplay, tgc);
+
+ #ifdef USE_SHM
+- ximg = get_image (xtext, xdisplay, &xtext->shminfo, 0, 0, w, h, depth, tmp);
+-#else
+- ximg = XGetImage (xdisplay, tmp, 0, 0, w, h, -1, ZPixmap);
++ if (shm_pixmaps)
++ ximg = get_image (xtext, xdisplay, &xtext->shminfo, 0, 0, w, h, depth, tmp);
++ else
+ #endif
++ ximg = XGetImage (xdisplay, tmp, 0, 0, w, h, -1, ZPixmap);
+ XFreePixmap (xdisplay, tmp);
+ } else
+ {
+ #ifdef USE_SHM
+- ximg = get_image (xtext, xdisplay, &xtext->shminfo, x, y, w, h, depth, p);
+-#else
+- ximg = XGetImage (xdisplay, p, x, y, w, h, -1, ZPixmap);
++ if (shm_pixmaps)
++ ximg = get_image (xtext, xdisplay, &xtext->shminfo, x, y, w, h, depth, p);
++ else
+ #endif
++ ximg = XGetImage (xdisplay, p, x, y, w, h, -1, ZPixmap);
+ }
+
+ if (!ximg)
+@@ -3612,7 +3639,7 @@
+ else
+ {
+ #ifdef USE_SHM
+- if (xtext->shm)
++ if (xtext->shm && shm_pixmaps)
+ {
+ #if (GTK_MAJOR_VERSION == 2) && (GTK_MINOR_VERSION == 0)
+ shaded_pix = gdk_pixmap_foreign_new (
+@@ -3630,7 +3657,7 @@
+ }
+
+ #ifdef USE_SHM
+- if (!xtext->shm)
++ if (!xtext->shm || !shm_pixmaps)
+ #endif
+ XPutImage (xdisplay, GDK_WINDOW_XWINDOW (shaded_pix),
+ GDK_GC_XGC (xtext->fgc), ximg, 0, 0, 0, 0, w, h);
+@@ -3650,7 +3677,7 @@
+ if (xtext->pixmap)
+ {
+ #ifdef USE_SHM
+- if (xtext->shm)
++ if (xtext->shm && have_shm_pixmaps(GDK_WINDOW_XDISPLAY (xtext->draw_buf)))
+ {
+ XFreePixmap (GDK_WINDOW_XDISPLAY (xtext->pixmap),
+ GDK_WINDOW_XWINDOW (xtext->pixmap));
diff --git a/net-irc/xchat/files/xchat-fix-uk_UA-locale.diff b/net-irc/xchat/files/xchat-fix-uk_UA-locale.diff
deleted file mode 100644
index c17319b46720..000000000000
--- a/net-irc/xchat/files/xchat-fix-uk_UA-locale.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur xchat-2.8.4.orig/src/fe-gtk/fe-gtk.c xchat-2.8.4/src/fe-gtk/fe-gtk.c
---- xchat-2.8.4.orig/src/fe-gtk/fe-gtk.c 2008-02-06 11:56:52.000000000 +0000
-+++ xchat-2.8.4/src/fe-gtk/fe-gtk.c 2008-02-06 11:57:26.000000000 +0000
-@@ -717,7 +717,7 @@
- struct session *sess;
- float per;
- char tbuf[64];
-- char tip[64];
-+ char tip[100];
-
- per = (float) serv->sendq_len / 1024.0;
- if (per > 1.0)
diff --git a/net-irc/xchat/xchat-2.8.4-r3.ebuild b/net-irc/xchat/xchat-2.8.6-r2.ebuild
index 01dc11f0f812..c1ee0a32789b 100644
--- a/net-irc/xchat/xchat-2.8.4-r3.ebuild
+++ b/net-irc/xchat/xchat-2.8.6-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/xchat/xchat-2.8.4-r3.ebuild,v 1.2 2008/02/07 22:54:45 cla Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/xchat/xchat-2.8.6-r2.ebuild,v 1.1 2008/11/27 20:49:59 armin76 Exp $
inherit eutils versionator gnome2
@@ -12,8 +12,8 @@ HOMEPAGE="http://www.xchat.org/"
LICENSE="GPL-2"
SLOT="2"
-KEYWORDS="alpha amd64 hppa ia64 mips ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="perl dbus tcl python ssl mmx ipv6 libnotify nls spell xchatnogtk xchatdccserver"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="perl dbus tcl python ssl mmx ipv6 libnotify nls spell xchatnogtk xchatdccserver xft"
RDEPEND=">=dev-libs/glib-2.6.0
!xchatnogtk? ( >=x11-libs/gtk+-2.10.0 )
@@ -22,7 +22,7 @@ RDEPEND=">=dev-libs/glib-2.6.0
python? ( >=dev-lang/python-2.2 )
tcl? ( dev-lang/tcl )
dbus? ( >=dev-libs/dbus-glib-0.71 )
- spell? ( app-text/enchant )
+ spell? ( app-text/gtkspell )
libnotify? ( x11-libs/libnotify )
!<net-irc/xchat-gnome-0.9"
@@ -42,10 +42,11 @@ src_unpack() {
"${S}"/configure{,.in} || die
fi
- epatch "${FILESDIR}"/xc284-scrollbmkdir.diff
- epatch "${FILESDIR}"/xc284-improvescrollback.diff
- epatch "${FILESDIR}"/xc284-fix-scrollbfdleak.diff
- epatch "${FILESDIR}"/xchat-fix-uk_UA-locale.diff
+ epatch "${FILESDIR}"/xc286-smallfixes.diff
+ epatch "${FILESDIR}"/${P}-shm-pixmaps.patch
+
+ # don't disable deprecated gtk+ symbols, it's not forwards compatible, bug 234458
+ sed -i -e '/define GTK_DISABLE_DEPRECATED/d' src/fe-gtk/*.c
}
src_compile() {
@@ -68,7 +69,8 @@ src_compile() {
$(use_enable ipv6) \
$(use_enable nls) \
$(use_enable dbus) \
- $(use_enable spell spell static) \
+ $(use_enable xft) \
+ $(use_enable spell spell gtkspell) \
$(use_enable !xchatnogtk gtkfe) \
|| die "econf failed"