From 10faba497d672cda16b989f4d7d7bd359a3f097b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Thu, 4 Sep 2014 03:41:53 -0300 Subject: xchat: remove libre suffix and add complex pkgrel --- libre/xchat-libre/ChangeLog | 49 --- libre/xchat-libre/PKGBUILD | 67 ---- libre/xchat-libre/no-firefox.patch | 16 - libre/xchat-libre/remove-non-free-suggestion.patch | 12 - libre/xchat-libre/xchat-2.8.8-glib-2.31.patch | 62 ---- libre/xchat-libre/xchat-2.8.8-libnotify07.patch | 24 -- .../xchat-2.8.8-link-against-libnotify.patch | 343 --------------------- libre/xchat-libre/xchat.install | 11 - libre/xchat/ChangeLog | 49 +++ libre/xchat/PKGBUILD | 65 ++++ libre/xchat/no-firefox.patch | 16 + libre/xchat/remove-non-free-suggestion.patch | 12 + libre/xchat/xchat-2.8.8-glib-2.31.patch | 62 ++++ libre/xchat/xchat-2.8.8-libnotify07.patch | 24 ++ .../xchat/xchat-2.8.8-link-against-libnotify.patch | 343 +++++++++++++++++++++ libre/xchat/xchat.install | 11 + 16 files changed, 582 insertions(+), 584 deletions(-) delete mode 100644 libre/xchat-libre/ChangeLog delete mode 100644 libre/xchat-libre/PKGBUILD delete mode 100644 libre/xchat-libre/no-firefox.patch delete mode 100644 libre/xchat-libre/remove-non-free-suggestion.patch delete mode 100644 libre/xchat-libre/xchat-2.8.8-glib-2.31.patch delete mode 100644 libre/xchat-libre/xchat-2.8.8-libnotify07.patch delete mode 100644 libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch delete mode 100644 libre/xchat-libre/xchat.install create mode 100644 libre/xchat/ChangeLog create mode 100644 libre/xchat/PKGBUILD create mode 100644 libre/xchat/no-firefox.patch create mode 100644 libre/xchat/remove-non-free-suggestion.patch create mode 100644 libre/xchat/xchat-2.8.8-glib-2.31.patch create mode 100644 libre/xchat/xchat-2.8.8-libnotify07.patch create mode 100644 libre/xchat/xchat-2.8.8-link-against-libnotify.patch create mode 100644 libre/xchat/xchat.install (limited to 'libre') diff --git a/libre/xchat-libre/ChangeLog b/libre/xchat-libre/ChangeLog deleted file mode 100644 index faa8383c8..000000000 --- a/libre/xchat-libre/ChangeLog +++ /dev/null @@ -1,49 +0,0 @@ -2010-08-21 Eric Belanger - - * xchat 2.8.8-3 - * Rebuilt for python2 - -2010-08-13 Ionut Biru - - * xchat 2.8.8-2 - * perl 5.12 rebuild - -2010-05-30 Eric Belanger - - * xchat 2.8.8-1 - * Upstream update - * Added python optdepends - * Removed old patches - -2010-03-29 Eric Belanger - - * Fixed buttons hotkey (close FS#17076) - -2009-09-30 Eric Belanger - - * xchat 2.8.6-5 - * Rebuilt against perl 5.10.1-3 - -2009-09-28 Eric Belanger - - * xchat 2.8.6-4 - * Fixed crash when transparent background is enabled (close FS#15360) - -2008-11-08 Eric Belanger - - * xchat 2.8.6-3 - * Rebuild for python-2.6 (close FS#11998) - * Applied gtk2 patch - -2008-09-05 Eric Belanger - - * xchat 2.8.6-2 - * Applied upstream maintenance patch - * Added tcl optdepends - -2008-06-13 Eric Belanger - - * xchat 2.8.6-1 - * Upstream update - * Added spell checking support (close FS#10395) - * Added ChangeLog diff --git a/libre/xchat-libre/PKGBUILD b/libre/xchat-libre/PKGBUILD deleted file mode 100644 index 50bee2561..000000000 --- a/libre/xchat-libre/PKGBUILD +++ /dev/null @@ -1,67 +0,0 @@ -# $Id: PKGBUILD 213744 2014-05-28 22:09:31Z eric $ -# Maintainer (Arch): Eric Bélanger -# Maintainer (ConnochaetOS): Henry Jensen -# Maintainer: André Silva - -_pkgname=xchat -pkgname=xchat-libre -pkgver=2.8.8 -pkgrel=14 -pkgdesc="A GTK+ based IRC client, without nonfree browser reference" -arch=('i686' 'x86_64' 'mips64el') -url="http://www.xchat.org/" -provides=("xchat=$pkgver") -replaces=('xchat') -conflicts=('xchat') -license=('GPL') -depends=('gtk2' 'openssl' 'dbus-glib' 'libnotify' 'hicolor-icon-theme') -makedepends=('tcl' 'perl' 'python2' 'librsvg') -optdepends=('enchant: for spell checking support' 'tcl: for tcl plugin' - 'python2: for python plugin') -install=xchat.install -source=(http://www.xchat.org/files/source/${pkgver%.*}/${_pkgname}-${pkgver}.tar.xz - http://xchat.org/files/icons/xchat-svg.tar.bz2 - xchat-2.8.8-libnotify07.patch - xchat-2.8.8-link-against-libnotify.patch - xchat-2.8.8-glib-2.31.patch - remove-non-free-suggestion.patch - no-firefox.patch) -sha1sums=('e12305da42d1aacc26c2ca25e239f393d4dd3532' - '0d366346cc11e0efb57fc2648fe423c94a3469bd' - 'a053fba4e1911d1ee6a8248fe19e344797920fe3' - '70c3cc29fc55ff35f701ef8ac23078b6e3761ce1' - 'aecaf6176a7cfd62555207b02f2793b360aa39da' - 'e6a3b69ba333fc7ba0f70792d78d44fba7c4a911' - '20aef0ae608af6b30e1b4249f9c53830f8f514f6') - -prepare() { - cd ${_pkgname}-${pkgver} - sed -i 's/GDK_HAND1/GDK_HAND2/' src/fe-gtk/xtext.c - patch -p1 -i "${srcdir}/xchat-2.8.8-libnotify07.patch" - patch -p1 -i "${srcdir}/xchat-2.8.8-link-against-libnotify.patch" - patch -p1 -i "${srcdir}/xchat-2.8.8-glib-2.31.patch" - patch -p1 -i "${srcdir}/remove-non-free-suggestion.patch" - patch -p1 -i "${srcdir}/no-firefox.patch" -} - -build() { - cd ${_pkgname}-${pkgver} - autoconf - autoheader - - LIBS+="-lgmodule-2.0" ./configure --prefix=/usr --sysconfdir=/etc --datadir=/usr/share \ - --enable-openssl --enable-dbus --disable-textfe --enable-ipv6 --enable-shm --enable-spell=static - make -} - -package() { - cd ${_pkgname}-${pkgver} - make DESTDIR="${pkgdir}" install - - for i in 24 32 48 64 128 256 ; do - install -d "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps" - rsvg-convert -w $i -h $i -o "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/xchat.png" ../xchat-cloned.svg - done - install -D -m644 ../xchat-cloned.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/xchat.svg" - install -D -m644 ../xchat-used.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/xchat2.svg" -} diff --git a/libre/xchat-libre/no-firefox.patch b/libre/xchat-libre/no-firefox.patch deleted file mode 100644 index 60c4846ee..000000000 --- a/libre/xchat-libre/no-firefox.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Nur xchat-2.8.8.orig/src/fe-gtk/fe-gtk.c xchat-2.8.8/src/fe-gtk/fe-gtk.c ---- xchat-2.8.8.orig/src/fe-gtk/fe-gtk.c 2010-05-16 00:15:42.000000000 -0300 -+++ xchat-2.8.8/src/fe-gtk/fe-gtk.c 2013-01-19 02:11:00.691529212 -0200 -@@ -955,8 +955,10 @@ - return; - } - -- /* everything failed, what now? just try firefox */ -- if (try_browser ("firefox", NULL, url)) -+ /* everything failed, what now? just try iceweasel or icecat */ -+ if (try_browser ("iceweasel", NULL, url)) -+ return; -+ if (try_browser ("icecat", NULL, url)) - return; - - /* fresh out of ideas... */ diff --git a/libre/xchat-libre/remove-non-free-suggestion.patch b/libre/xchat-libre/remove-non-free-suggestion.patch deleted file mode 100644 index f20894610..000000000 --- a/libre/xchat-libre/remove-non-free-suggestion.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur xchat-2.8.8.orig/src/common/xchat.c xchat-2.8.8/src/common/xchat.c ---- xchat-2.8.8.orig/src/common/xchat.c 2010-05-16 04:04:45.000000000 -0300 -+++ xchat-2.8.8/src/common/xchat.c 2013-01-30 22:23:44.481258504 -0200 -@@ -602,7 +602,7 @@ - "NAME WII\n" "CMD quote WHOIS %2 %2\n\n"; - - static char defaultconf_urlhandlers[] = -- "NAME Open Link in Opera\n" "CMD !opera -remote 'openURL(%s)'\n\n"; -+ "" ""; - - #ifdef USE_SIGACTION - /* Close and open log files on SIGUSR1. Usefull for log rotating */ diff --git a/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch b/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch deleted file mode 100644 index 63f562ff8..000000000 --- a/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch +++ /dev/null @@ -1,62 +0,0 @@ -Author: Dominique Leuenberger - -http://sourceforge.net/tracker/?func=detail&aid=3446968&group_id=239&atid=100239 - -glib got stricter in checking includes. Only glib.h (and a few exceptions) -are to be included directly. - -Index: xchat-2.8.8/src/common/servlist.c -=================================================================== ---- xchat-2.8.8.orig/src/common/servlist.c -+++ xchat-2.8.8/src/common/servlist.c -@@ -24,7 +24,7 @@ - #include - - #include "xchat.h" --#include -+#include - - #include "cfgfiles.h" - #include "fe.h" -Index: xchat-2.8.8/src/common/text.c -=================================================================== ---- xchat-2.8.8.orig/src/common/text.c -+++ xchat-2.8.8/src/common/text.c -@@ -28,7 +28,7 @@ - #include - - #include "xchat.h" --#include -+#include - #include "cfgfiles.h" - #include "chanopt.h" - #include "plugin.h" -Index: xchat-2.8.8/src/common/util.c -=================================================================== ---- xchat-2.8.8.orig/src/common/util.c -+++ xchat-2.8.8/src/common/util.c -@@ -39,7 +39,7 @@ - #include - #include "xchat.h" - #include "xchatc.h" --#include -+#include - #include - #include "util.h" - #include "../../config.h" -Index: xchat-2.8.8/src/common/xchat.h -=================================================================== ---- xchat-2.8.8.orig/src/common/xchat.h -+++ xchat-2.8.8/src/common/xchat.h -@@ -1,10 +1,6 @@ - #include "../../config.h" - --#include --#include --#include --#include --#include -+#include - #include /* need time_t */ - - #ifndef XCHAT_H diff --git a/libre/xchat-libre/xchat-2.8.8-libnotify07.patch b/libre/xchat-libre/xchat-2.8.8-libnotify07.patch deleted file mode 100644 index 2a6dce9a2..000000000 --- a/libre/xchat-libre/xchat-2.8.8-libnotify07.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07 xchat-2.8.8/src/fe-gtk/plugin-tray.c ---- xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07 2010-11-15 17:32:15.708325783 -0500 -+++ xchat-2.8.8/src/fe-gtk/plugin-tray.c 2010-11-15 18:05:17.322141789 -0500 -@@ -125,8 +125,9 @@ static void *nn_mod = NULL; - /* prototypes */ - static gboolean (*nn_init) (char *); - static void (*nn_uninit) (void); --static void *(*nn_new_with_status_icon) (const gchar *summary, const gchar *message, const gchar *icon, GtkStatusIcon *status_icon); --static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, GtkWidget *attach); -+/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an -+ * extra NULL argument will be fine */ -+static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy); - static gboolean (*nn_show) (void *noti, GError **error); - static void (*nn_set_timeout) (void *noti, gint timeout); - -@@ -160,8 +161,6 @@ libnotify_notify_new (const char *title, - goto bad; - if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit)) - goto bad; -- if (!g_module_symbol (nn_mod, "notify_notification_new_with_status_icon", (gpointer)&nn_new_with_status_icon)) -- goto bad; - if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new)) - goto bad; - if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show)) diff --git a/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch b/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch deleted file mode 100644 index 31e6c0854..000000000 --- a/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch +++ /dev/null @@ -1,343 +0,0 @@ -From: Christopher Aillon -Date: Thu, 7 Apr 2011 19:34:14 -0700 -Subject: [PATCH] Link directly against libnotify - -Dynamically loading the library isn't ideal since the soname -can change silently on us. Additionally, notify-send is -shipped as part of libnotify, so we aren't actually bringing -in a new dependency. Since we'd need to patch the source and -rebuild for new sonames anyway, there's little benefit to -dynamically loading libnotify. - -Plus, this has the benefit of cleaning up the code, as well as -ensuring we'll catch any future soname changes sooner. - -https://bugzilla.redhat.com/show_bug.cgi?id=693362 -https://sourceforge.net/tracker/?func=detail&aid=3280223&group_id=239&atid=100239 ---- - configure.in | 23 +++++++ - src/fe-gtk/plugin-tray.c | 144 ++++++++++------------------------------------- - 2 files changed, 55 insertions(+), 112 deletions(-) - -diff -p -U8 xchat-2.8.8/configure.in.libnotifyso4 xchat-2.8.8/configure.in ---- xchat-2.8.8/configure.in.libnotifyso4 2010-05-29 23:01:16.000000000 -0700 -+++ xchat-2.8.8/configure.in 2011-04-07 19:27:00.448137113 -0700 -@@ -34,16 +34,17 @@ AH_VERBATIM([PREFIX],[#undef PREFIX]) - AH_VERBATIM([XCHATLIBDIR],[#undef XCHATLIBDIR]) - AH_VERBATIM([XCHATSHAREDIR],[#undef XCHATSHAREDIR]) - AH_VERBATIM([SOCKS],[#undef SOCKS]) - AH_VERBATIM([USE_MSPROXY],[#undef USE_MSPROXY]) - dnl AH_VERBATIM([USE_GNOME],[#undef USE_GNOME]) - AH_VERBATIM([USE_SHM],[#undef USE_SHM]) - AH_VERBATIM([USE_GTKSPELL],[#undef USE_GTKSPELL]) - AH_VERBATIM([USE_LIBSEXY],[#undef USE_LIBSEXY]) -+AH_VERBATIM([USE_LIBNOTIFY],[#undef USE_LIBNOTIFY]) - AH_VERBATIM([USE_IPV6],[#undef USE_IPV6]) - AH_VERBATIM([USE_MMX],[#undef USE_MMX]) - AH_VERBATIM([USE_OPENSSL],[#undef USE_OPENSSL]) - AH_VERBATIM([USE_PLUGIN],[#undef USE_PLUGIN]) - AH_VERBATIM([USE_XFT],[#undef USE_XFT]) - AH_VERBATIM([USE_XLIB],[#undef USE_XLIB]) - AH_VERBATIM([USE_SIGACTION],[#undef USE_SIGACTION]) - AH_VERBATIM([USING_FREEBSD],[#undef USING_FREEBSD]) -@@ -126,16 +127,20 @@ AC_ARG_ENABLE(tcl, - AC_ARG_ENABLE(plugin, - [ --disable-plugin disable plugin support], - plugin=$enableval, plugin=yes) - - AC_ARG_ENABLE(dbus, - [ --disable-dbus disable DBUS support], - dbus=$enableval, dbus=yes) - -+AC_ARG_ENABLE(libnotify, -+[ --disable-libnotify disable libnotify support], -+ libnotify=$enableval, libnotify=yes) -+ - AC_ARG_ENABLE(mmx, - [ --disable-mmx disable MMX assembly routines], - mmx=$enableval, mmx=yes) - - AC_ARG_ENABLE(shm, - [ --enable-shm enable use of XShm for fast tinting (default: no)], - shm=$enableval, shm=no) - -@@ -482,16 +487,32 @@ if test "x$dbus" = "xyes" ; then - - DBUS_SERVICES_DIR="$DATADIR/dbus-1/services" - AC_SUBST(DBUS_SERVICES_DIR) - AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) - fi - fi - - dnl ********************************************************************* -+dnl ** LIBNOTIFY ******************************************************** -+dnl ********************************************************************* -+ -+if test "x$libnotify" = "xyes" ; then -+ PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= 0.4, [], [ -+ AC_MSG_RESULT(no) -+ libnotify=no -+ ]) -+ if test "$libnotify" != "no" ; then -+ GUI_LIBS="$GUI_LIBS $LIBNOTIFY_LIBS" -+ GUI_CFLAGS="$GUI_CFLAGS $LIBNOTIFY_CFLAGS" -+ AC_DEFINE(USE_LIBNOTIFY) -+ fi -+fi -+ -+dnl ********************************************************************* - dnl ** SPELL ************************************************************ - dnl ********************************************************************* - - if test "$spell" = "gtkspell" ; then - PKG_CHECK_MODULES(GTKSPELL, gtkspell-2.0 >= 2.0.2, [], [ - AC_MSG_RESULT(no) - spell=no - ]) -@@ -519,16 +540,17 @@ if test "$spell" = "static" ; then - fi - - dnl ********************************************************************* - dnl ** CONDITIONALS ***************************************************** - dnl ********************************************************************* - - AM_CONDITIONAL(USE_OPENSSL, test "x$openssl" = "xyes") - AM_CONDITIONAL(USE_LIBSEXY, test "x$spell" = "xstatic") -+AM_CONDITIONAL(USE_LIBNOTIFY, test "x$libnotify" = "xyes") - AM_CONDITIONAL(DO_TEXT, test "x$textfe" = "xyes") - AM_CONDITIONAL(DO_GTK, test "x$gtkfe" = "xyes") - AM_CONDITIONAL(DO_PERL, test "x$perl" = "xyes") - AM_CONDITIONAL(DO_PYTHON, test "x$python" = "xyes") - AM_CONDITIONAL(DO_TCL, test "x$tcl" = "xyes") - AM_CONDITIONAL(DO_PLUGIN, test "x$plugin" = "xyes") - AM_CONDITIONAL(USE_DBUS, test "x$dbus" = "xyes") - AM_CONDITIONAL(DO_GCONF, test "x$GCONFTOOL" != "xno") -@@ -807,16 +829,17 @@ echo mmx tinting ......... : $mmx\ spell - echo XShm tinting ........ : $shm\ plugin interface ...... : $plugin - if test "$xft" = no; then - echo text backend ........ : pango\ nls/gettext ........... : $USE_NLS - else - echo text backend ........ : xft\ nls/gettext ........... : $USE_NLS - fi - echo openssl support ..... : $openssl\ ipv6 support .......... : $ipv6 - echo dbus support ........ : $dbus\ msproxy ntlm \(ISA\) .... : $have_ntlm -+echo libnotify support ... : $libnotify - echo - echo The binary will be installed in $prefix/bin - echo - - if test "$gtkfe" = no; then - echo Warning: The GTK \(GUI\) frontend will not be built. - echo - fi -diff -p -U8 xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotifyso4 xchat-2.8.8/src/fe-gtk/plugin-tray.c ---- xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotifyso4 2011-04-07 17:57:27.524307905 -0700 -+++ xchat-2.8.8/src/fe-gtk/plugin-tray.c 2011-04-07 19:18:33.429475719 -0700 -@@ -10,17 +10,27 @@ - #include "../common/fe.h" - #include "../common/util.h" - #include "fe-gtk.h" - #include "pixmaps.h" - #include "maingui.h" - #include "menu.h" - #include - --#define LIBNOTIFY -+#ifdef USE_LIBNOTIFY -+#include -+#ifndef NOTIFY_CHECK_VERSION -+#define NOTIFY_CHECK_VERSION(x,y,z) 0 -+#endif -+#if NOTIFY_CHECK_VERSION(0,7,0) -+#define XC_NOTIFY_NEW(a,b,c,d) notify_notification_new(a,b,c) -+#else -+#define XC_NOTIFY_NEW(a,b,c,d) notify_notification_new(a,b,c,d) -+#endif -+#endif - - typedef enum /* current icon status */ - { - TS_NONE, - TS_MESSAGE, - TS_HIGHLIGHT, - TS_FILEOFFER, - TS_CUSTOM /* plugin */ -@@ -112,90 +122,16 @@ tray_count_networks (void) - - void - fe_tray_set_tooltip (const char *text) - { - if (sticon) - gtk_status_icon_set_tooltip (sticon, text); - } - --#ifdef LIBNOTIFY -- --/* dynamic access to libnotify.so */ -- --static void *nn_mod = NULL; --/* prototypes */ --static gboolean (*nn_init) (char *); --static void (*nn_uninit) (void); --/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an -- * extra NULL argument will be fine */ --static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy); --static gboolean (*nn_show) (void *noti, GError **error); --static void (*nn_set_timeout) (void *noti, gint timeout); -- --static void --libnotify_cleanup (void) --{ -- if (nn_mod) -- { -- nn_uninit (); -- g_module_close (nn_mod); -- nn_mod = NULL; -- } --} -- --static gboolean --libnotify_notify_new (const char *title, const char *text, GtkStatusIcon *icon) --{ -- void *noti; -- -- if (!nn_mod) -- { -- nn_mod = g_module_open ("libnotify", G_MODULE_BIND_LAZY); -- if (!nn_mod) -- { -- nn_mod = g_module_open ("libnotify.so.1", G_MODULE_BIND_LAZY); -- if (!nn_mod) -- return FALSE; -- } -- -- if (!g_module_symbol (nn_mod, "notify_init", (gpointer)&nn_init)) -- goto bad; -- if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit)) -- goto bad; -- if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new)) -- goto bad; -- if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show)) -- goto bad; -- if (!g_module_symbol (nn_mod, "notify_notification_set_timeout", (gpointer)&nn_set_timeout)) -- goto bad; -- if (!nn_init (PACKAGE_NAME)) -- goto bad; -- } -- -- text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); -- title = strip_color (title, -1, STRIP_ALL); -- noti = nn_new (title, text, XCHATSHAREDIR"/pixmaps/xchat.png", NULL); -- g_free ((char *)title); -- g_free ((char *)text); -- -- nn_set_timeout (noti, prefs.input_balloon_time*1000); -- nn_show (noti, NULL); -- g_object_unref (G_OBJECT (noti)); -- -- return TRUE; -- --bad: -- g_module_close (nn_mod); -- nn_mod = NULL; -- return FALSE; --} -- --#endif -- - void - fe_tray_set_balloon (const char *title, const char *text) - { - #ifndef WIN32 - const char *argv[8]; - const char *path; - char time[16]; - WinStatus ws; -@@ -208,52 +144,36 @@ fe_tray_set_balloon (const char *title, - /* bit 1 of flags means "no balloons unless hidden/iconified" */ - if (ws != WS_HIDDEN && (prefs.gui_tray_flags & 2)) - return; - - /* FIXME: this should close the current balloon */ - if (!text) - return; - --#ifdef LIBNOTIFY -- /* try it via libnotify.so */ -- if (libnotify_notify_new (title, text, sticon)) -- return; /* success */ --#endif -+#ifdef USE_LIBNOTIFY -+ NotifyNotification *notification; -+ char *notify_text, *notify_title; - -- /* try it the crude way */ -- path = g_find_program_in_path ("notify-send"); -- if (path) -- { -- sprintf(time, "%d000",prefs.input_balloon_time); -- argv[0] = path; -- argv[1] = "-i"; -- argv[2] = "gtk-dialog-info"; -- if (access (XCHATSHAREDIR"/pixmaps/xchat.png", R_OK) == 0) -- argv[2] = XCHATSHAREDIR"/pixmaps/xchat.png"; -- argv[3] = "-t"; -- argv[4] = time; -- argv[5] = title; -- text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); -- argv[6] = text; -- argv[7] = NULL; -- xchat_execv (argv); -- g_free ((char *)path); -- g_free ((char *)text); -- } -- else -- { -- /* show this error only once */ -- static unsigned char said_it = FALSE; -- if (!said_it) -- { -- said_it = TRUE; -- fe_message (_("Cannot find 'notify-send' to open balloon alerts.\nPlease install libnotify."), FE_MSG_ERROR); -- } -- } -+ if (!notify_is_initted()) -+ notify_init(PACKAGE_NAME); -+ -+ notify_text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); -+ notify_title = strip_color (title, -1, STRIP_ALL); -+ -+ notification = XC_NOTIFY_NEW (notify_title, notify_text, XCHATSHAREDIR"/pixmaps/xchat.png", NULL); -+ -+ g_free ((char *)notify_title); -+ g_free ((char *)notify_text); -+ -+ notify_notification_set_timeout (notification, prefs.input_balloon_time*1000); -+ notify_notification_show (notification, NULL); -+ -+ g_object_unref (notification); -+#endif - #endif - } - - static void - tray_set_balloonf (const char *text, const char *format, ...) - { - va_list args; - char *buf; -@@ -840,13 +760,13 @@ tray_plugin_init (xchat_plugin *plugin_h - return 1; /* return 1 for success */ - } - - int - tray_plugin_deinit (xchat_plugin *plugin_handle) - { - #ifdef WIN32 - tray_cleanup (); --#elif defined(LIBNOTIFY) -- libnotify_cleanup (); -+#elif defined(USE_LIBNOTIFY) -+ notify_uninit (); - #endif - return 1; - } diff --git a/libre/xchat-libre/xchat.install b/libre/xchat-libre/xchat.install deleted file mode 100644 index eab82d16f..000000000 --- a/libre/xchat-libre/xchat.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - gtk-update-icon-cache -q -t -f usr/share/icons/hicolor -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/libre/xchat/ChangeLog b/libre/xchat/ChangeLog new file mode 100644 index 000000000..faa8383c8 --- /dev/null +++ b/libre/xchat/ChangeLog @@ -0,0 +1,49 @@ +2010-08-21 Eric Belanger + + * xchat 2.8.8-3 + * Rebuilt for python2 + +2010-08-13 Ionut Biru + + * xchat 2.8.8-2 + * perl 5.12 rebuild + +2010-05-30 Eric Belanger + + * xchat 2.8.8-1 + * Upstream update + * Added python optdepends + * Removed old patches + +2010-03-29 Eric Belanger + + * Fixed buttons hotkey (close FS#17076) + +2009-09-30 Eric Belanger + + * xchat 2.8.6-5 + * Rebuilt against perl 5.10.1-3 + +2009-09-28 Eric Belanger + + * xchat 2.8.6-4 + * Fixed crash when transparent background is enabled (close FS#15360) + +2008-11-08 Eric Belanger + + * xchat 2.8.6-3 + * Rebuild for python-2.6 (close FS#11998) + * Applied gtk2 patch + +2008-09-05 Eric Belanger + + * xchat 2.8.6-2 + * Applied upstream maintenance patch + * Added tcl optdepends + +2008-06-13 Eric Belanger + + * xchat 2.8.6-1 + * Upstream update + * Added spell checking support (close FS#10395) + * Added ChangeLog diff --git a/libre/xchat/PKGBUILD b/libre/xchat/PKGBUILD new file mode 100644 index 000000000..0bd62f95e --- /dev/null +++ b/libre/xchat/PKGBUILD @@ -0,0 +1,65 @@ +# $Id: PKGBUILD 213744 2014-05-28 22:09:31Z eric $ +# Maintainer (Arch): Eric Bélanger +# Maintainer (ConnochaetOS): Henry Jensen +# Maintainer: André Silva + +pkgname=xchat +pkgver=2.8.8 +pkgrel=14.parabola1 +pkgdesc="A GTK+ based IRC client, without nonfree browser reference" +arch=('i686' 'x86_64' 'mips64el') +url="http://www.xchat.org/" +replaces=('xchat-libre') +conflicts=('xchat-libre') +license=('GPL') +depends=('gtk2' 'openssl' 'dbus-glib' 'libnotify' 'hicolor-icon-theme') +makedepends=('tcl' 'perl' 'python2' 'librsvg') +optdepends=('enchant: for spell checking support' 'tcl: for tcl plugin' + 'python2: for python plugin') +install=xchat.install +source=(http://www.xchat.org/files/source/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz + http://xchat.org/files/icons/xchat-svg.tar.bz2 + xchat-2.8.8-libnotify07.patch + xchat-2.8.8-link-against-libnotify.patch + xchat-2.8.8-glib-2.31.patch + remove-non-free-suggestion.patch + no-firefox.patch) +sha1sums=('e12305da42d1aacc26c2ca25e239f393d4dd3532' + '0d366346cc11e0efb57fc2648fe423c94a3469bd' + 'a053fba4e1911d1ee6a8248fe19e344797920fe3' + '70c3cc29fc55ff35f701ef8ac23078b6e3761ce1' + 'aecaf6176a7cfd62555207b02f2793b360aa39da' + 'e6a3b69ba333fc7ba0f70792d78d44fba7c4a911' + '20aef0ae608af6b30e1b4249f9c53830f8f514f6') + +prepare() { + cd ${pkgname}-${pkgver} + sed -i 's/GDK_HAND1/GDK_HAND2/' src/fe-gtk/xtext.c + patch -p1 -i "${srcdir}/xchat-2.8.8-libnotify07.patch" + patch -p1 -i "${srcdir}/xchat-2.8.8-link-against-libnotify.patch" + patch -p1 -i "${srcdir}/xchat-2.8.8-glib-2.31.patch" + patch -p1 -i "${srcdir}/remove-non-free-suggestion.patch" + patch -p1 -i "${srcdir}/no-firefox.patch" +} + +build() { + cd ${pkgname}-${pkgver} + autoconf + autoheader + + LIBS+="-lgmodule-2.0" ./configure --prefix=/usr --sysconfdir=/etc --datadir=/usr/share \ + --enable-openssl --enable-dbus --disable-textfe --enable-ipv6 --enable-shm --enable-spell=static + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + for i in 24 32 48 64 128 256 ; do + install -d "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps" + rsvg-convert -w $i -h $i -o "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/xchat.png" ../xchat-cloned.svg + done + install -D -m644 ../xchat-cloned.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/xchat.svg" + install -D -m644 ../xchat-used.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/xchat2.svg" +} diff --git a/libre/xchat/no-firefox.patch b/libre/xchat/no-firefox.patch new file mode 100644 index 000000000..60c4846ee --- /dev/null +++ b/libre/xchat/no-firefox.patch @@ -0,0 +1,16 @@ +diff -Nur xchat-2.8.8.orig/src/fe-gtk/fe-gtk.c xchat-2.8.8/src/fe-gtk/fe-gtk.c +--- xchat-2.8.8.orig/src/fe-gtk/fe-gtk.c 2010-05-16 00:15:42.000000000 -0300 ++++ xchat-2.8.8/src/fe-gtk/fe-gtk.c 2013-01-19 02:11:00.691529212 -0200 +@@ -955,8 +955,10 @@ + return; + } + +- /* everything failed, what now? just try firefox */ +- if (try_browser ("firefox", NULL, url)) ++ /* everything failed, what now? just try iceweasel or icecat */ ++ if (try_browser ("iceweasel", NULL, url)) ++ return; ++ if (try_browser ("icecat", NULL, url)) + return; + + /* fresh out of ideas... */ diff --git a/libre/xchat/remove-non-free-suggestion.patch b/libre/xchat/remove-non-free-suggestion.patch new file mode 100644 index 000000000..f20894610 --- /dev/null +++ b/libre/xchat/remove-non-free-suggestion.patch @@ -0,0 +1,12 @@ +diff -Nur xchat-2.8.8.orig/src/common/xchat.c xchat-2.8.8/src/common/xchat.c +--- xchat-2.8.8.orig/src/common/xchat.c 2010-05-16 04:04:45.000000000 -0300 ++++ xchat-2.8.8/src/common/xchat.c 2013-01-30 22:23:44.481258504 -0200 +@@ -602,7 +602,7 @@ + "NAME WII\n" "CMD quote WHOIS %2 %2\n\n"; + + static char defaultconf_urlhandlers[] = +- "NAME Open Link in Opera\n" "CMD !opera -remote 'openURL(%s)'\n\n"; ++ "" ""; + + #ifdef USE_SIGACTION + /* Close and open log files on SIGUSR1. Usefull for log rotating */ diff --git a/libre/xchat/xchat-2.8.8-glib-2.31.patch b/libre/xchat/xchat-2.8.8-glib-2.31.patch new file mode 100644 index 000000000..63f562ff8 --- /dev/null +++ b/libre/xchat/xchat-2.8.8-glib-2.31.patch @@ -0,0 +1,62 @@ +Author: Dominique Leuenberger + +http://sourceforge.net/tracker/?func=detail&aid=3446968&group_id=239&atid=100239 + +glib got stricter in checking includes. Only glib.h (and a few exceptions) +are to be included directly. + +Index: xchat-2.8.8/src/common/servlist.c +=================================================================== +--- xchat-2.8.8.orig/src/common/servlist.c ++++ xchat-2.8.8/src/common/servlist.c +@@ -24,7 +24,7 @@ + #include + + #include "xchat.h" +-#include ++#include + + #include "cfgfiles.h" + #include "fe.h" +Index: xchat-2.8.8/src/common/text.c +=================================================================== +--- xchat-2.8.8.orig/src/common/text.c ++++ xchat-2.8.8/src/common/text.c +@@ -28,7 +28,7 @@ + #include + + #include "xchat.h" +-#include ++#include + #include "cfgfiles.h" + #include "chanopt.h" + #include "plugin.h" +Index: xchat-2.8.8/src/common/util.c +=================================================================== +--- xchat-2.8.8.orig/src/common/util.c ++++ xchat-2.8.8/src/common/util.c +@@ -39,7 +39,7 @@ + #include + #include "xchat.h" + #include "xchatc.h" +-#include ++#include + #include + #include "util.h" + #include "../../config.h" +Index: xchat-2.8.8/src/common/xchat.h +=================================================================== +--- xchat-2.8.8.orig/src/common/xchat.h ++++ xchat-2.8.8/src/common/xchat.h +@@ -1,10 +1,6 @@ + #include "../../config.h" + +-#include +-#include +-#include +-#include +-#include ++#include + #include /* need time_t */ + + #ifndef XCHAT_H diff --git a/libre/xchat/xchat-2.8.8-libnotify07.patch b/libre/xchat/xchat-2.8.8-libnotify07.patch new file mode 100644 index 000000000..2a6dce9a2 --- /dev/null +++ b/libre/xchat/xchat-2.8.8-libnotify07.patch @@ -0,0 +1,24 @@ +diff -up xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07 xchat-2.8.8/src/fe-gtk/plugin-tray.c +--- xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07 2010-11-15 17:32:15.708325783 -0500 ++++ xchat-2.8.8/src/fe-gtk/plugin-tray.c 2010-11-15 18:05:17.322141789 -0500 +@@ -125,8 +125,9 @@ static void *nn_mod = NULL; + /* prototypes */ + static gboolean (*nn_init) (char *); + static void (*nn_uninit) (void); +-static void *(*nn_new_with_status_icon) (const gchar *summary, const gchar *message, const gchar *icon, GtkStatusIcon *status_icon); +-static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, GtkWidget *attach); ++/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an ++ * extra NULL argument will be fine */ ++static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy); + static gboolean (*nn_show) (void *noti, GError **error); + static void (*nn_set_timeout) (void *noti, gint timeout); + +@@ -160,8 +161,6 @@ libnotify_notify_new (const char *title, + goto bad; + if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit)) + goto bad; +- if (!g_module_symbol (nn_mod, "notify_notification_new_with_status_icon", (gpointer)&nn_new_with_status_icon)) +- goto bad; + if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new)) + goto bad; + if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show)) diff --git a/libre/xchat/xchat-2.8.8-link-against-libnotify.patch b/libre/xchat/xchat-2.8.8-link-against-libnotify.patch new file mode 100644 index 000000000..31e6c0854 --- /dev/null +++ b/libre/xchat/xchat-2.8.8-link-against-libnotify.patch @@ -0,0 +1,343 @@ +From: Christopher Aillon +Date: Thu, 7 Apr 2011 19:34:14 -0700 +Subject: [PATCH] Link directly against libnotify + +Dynamically loading the library isn't ideal since the soname +can change silently on us. Additionally, notify-send is +shipped as part of libnotify, so we aren't actually bringing +in a new dependency. Since we'd need to patch the source and +rebuild for new sonames anyway, there's little benefit to +dynamically loading libnotify. + +Plus, this has the benefit of cleaning up the code, as well as +ensuring we'll catch any future soname changes sooner. + +https://bugzilla.redhat.com/show_bug.cgi?id=693362 +https://sourceforge.net/tracker/?func=detail&aid=3280223&group_id=239&atid=100239 +--- + configure.in | 23 +++++++ + src/fe-gtk/plugin-tray.c | 144 ++++++++++------------------------------------- + 2 files changed, 55 insertions(+), 112 deletions(-) + +diff -p -U8 xchat-2.8.8/configure.in.libnotifyso4 xchat-2.8.8/configure.in +--- xchat-2.8.8/configure.in.libnotifyso4 2010-05-29 23:01:16.000000000 -0700 ++++ xchat-2.8.8/configure.in 2011-04-07 19:27:00.448137113 -0700 +@@ -34,16 +34,17 @@ AH_VERBATIM([PREFIX],[#undef PREFIX]) + AH_VERBATIM([XCHATLIBDIR],[#undef XCHATLIBDIR]) + AH_VERBATIM([XCHATSHAREDIR],[#undef XCHATSHAREDIR]) + AH_VERBATIM([SOCKS],[#undef SOCKS]) + AH_VERBATIM([USE_MSPROXY],[#undef USE_MSPROXY]) + dnl AH_VERBATIM([USE_GNOME],[#undef USE_GNOME]) + AH_VERBATIM([USE_SHM],[#undef USE_SHM]) + AH_VERBATIM([USE_GTKSPELL],[#undef USE_GTKSPELL]) + AH_VERBATIM([USE_LIBSEXY],[#undef USE_LIBSEXY]) ++AH_VERBATIM([USE_LIBNOTIFY],[#undef USE_LIBNOTIFY]) + AH_VERBATIM([USE_IPV6],[#undef USE_IPV6]) + AH_VERBATIM([USE_MMX],[#undef USE_MMX]) + AH_VERBATIM([USE_OPENSSL],[#undef USE_OPENSSL]) + AH_VERBATIM([USE_PLUGIN],[#undef USE_PLUGIN]) + AH_VERBATIM([USE_XFT],[#undef USE_XFT]) + AH_VERBATIM([USE_XLIB],[#undef USE_XLIB]) + AH_VERBATIM([USE_SIGACTION],[#undef USE_SIGACTION]) + AH_VERBATIM([USING_FREEBSD],[#undef USING_FREEBSD]) +@@ -126,16 +127,20 @@ AC_ARG_ENABLE(tcl, + AC_ARG_ENABLE(plugin, + [ --disable-plugin disable plugin support], + plugin=$enableval, plugin=yes) + + AC_ARG_ENABLE(dbus, + [ --disable-dbus disable DBUS support], + dbus=$enableval, dbus=yes) + ++AC_ARG_ENABLE(libnotify, ++[ --disable-libnotify disable libnotify support], ++ libnotify=$enableval, libnotify=yes) ++ + AC_ARG_ENABLE(mmx, + [ --disable-mmx disable MMX assembly routines], + mmx=$enableval, mmx=yes) + + AC_ARG_ENABLE(shm, + [ --enable-shm enable use of XShm for fast tinting (default: no)], + shm=$enableval, shm=no) + +@@ -482,16 +487,32 @@ if test "x$dbus" = "xyes" ; then + + DBUS_SERVICES_DIR="$DATADIR/dbus-1/services" + AC_SUBST(DBUS_SERVICES_DIR) + AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) + fi + fi + + dnl ********************************************************************* ++dnl ** LIBNOTIFY ******************************************************** ++dnl ********************************************************************* ++ ++if test "x$libnotify" = "xyes" ; then ++ PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= 0.4, [], [ ++ AC_MSG_RESULT(no) ++ libnotify=no ++ ]) ++ if test "$libnotify" != "no" ; then ++ GUI_LIBS="$GUI_LIBS $LIBNOTIFY_LIBS" ++ GUI_CFLAGS="$GUI_CFLAGS $LIBNOTIFY_CFLAGS" ++ AC_DEFINE(USE_LIBNOTIFY) ++ fi ++fi ++ ++dnl ********************************************************************* + dnl ** SPELL ************************************************************ + dnl ********************************************************************* + + if test "$spell" = "gtkspell" ; then + PKG_CHECK_MODULES(GTKSPELL, gtkspell-2.0 >= 2.0.2, [], [ + AC_MSG_RESULT(no) + spell=no + ]) +@@ -519,16 +540,17 @@ if test "$spell" = "static" ; then + fi + + dnl ********************************************************************* + dnl ** CONDITIONALS ***************************************************** + dnl ********************************************************************* + + AM_CONDITIONAL(USE_OPENSSL, test "x$openssl" = "xyes") + AM_CONDITIONAL(USE_LIBSEXY, test "x$spell" = "xstatic") ++AM_CONDITIONAL(USE_LIBNOTIFY, test "x$libnotify" = "xyes") + AM_CONDITIONAL(DO_TEXT, test "x$textfe" = "xyes") + AM_CONDITIONAL(DO_GTK, test "x$gtkfe" = "xyes") + AM_CONDITIONAL(DO_PERL, test "x$perl" = "xyes") + AM_CONDITIONAL(DO_PYTHON, test "x$python" = "xyes") + AM_CONDITIONAL(DO_TCL, test "x$tcl" = "xyes") + AM_CONDITIONAL(DO_PLUGIN, test "x$plugin" = "xyes") + AM_CONDITIONAL(USE_DBUS, test "x$dbus" = "xyes") + AM_CONDITIONAL(DO_GCONF, test "x$GCONFTOOL" != "xno") +@@ -807,16 +829,17 @@ echo mmx tinting ......... : $mmx\ spell + echo XShm tinting ........ : $shm\ plugin interface ...... : $plugin + if test "$xft" = no; then + echo text backend ........ : pango\ nls/gettext ........... : $USE_NLS + else + echo text backend ........ : xft\ nls/gettext ........... : $USE_NLS + fi + echo openssl support ..... : $openssl\ ipv6 support .......... : $ipv6 + echo dbus support ........ : $dbus\ msproxy ntlm \(ISA\) .... : $have_ntlm ++echo libnotify support ... : $libnotify + echo + echo The binary will be installed in $prefix/bin + echo + + if test "$gtkfe" = no; then + echo Warning: The GTK \(GUI\) frontend will not be built. + echo + fi +diff -p -U8 xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotifyso4 xchat-2.8.8/src/fe-gtk/plugin-tray.c +--- xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotifyso4 2011-04-07 17:57:27.524307905 -0700 ++++ xchat-2.8.8/src/fe-gtk/plugin-tray.c 2011-04-07 19:18:33.429475719 -0700 +@@ -10,17 +10,27 @@ + #include "../common/fe.h" + #include "../common/util.h" + #include "fe-gtk.h" + #include "pixmaps.h" + #include "maingui.h" + #include "menu.h" + #include + +-#define LIBNOTIFY ++#ifdef USE_LIBNOTIFY ++#include ++#ifndef NOTIFY_CHECK_VERSION ++#define NOTIFY_CHECK_VERSION(x,y,z) 0 ++#endif ++#if NOTIFY_CHECK_VERSION(0,7,0) ++#define XC_NOTIFY_NEW(a,b,c,d) notify_notification_new(a,b,c) ++#else ++#define XC_NOTIFY_NEW(a,b,c,d) notify_notification_new(a,b,c,d) ++#endif ++#endif + + typedef enum /* current icon status */ + { + TS_NONE, + TS_MESSAGE, + TS_HIGHLIGHT, + TS_FILEOFFER, + TS_CUSTOM /* plugin */ +@@ -112,90 +122,16 @@ tray_count_networks (void) + + void + fe_tray_set_tooltip (const char *text) + { + if (sticon) + gtk_status_icon_set_tooltip (sticon, text); + } + +-#ifdef LIBNOTIFY +- +-/* dynamic access to libnotify.so */ +- +-static void *nn_mod = NULL; +-/* prototypes */ +-static gboolean (*nn_init) (char *); +-static void (*nn_uninit) (void); +-/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an +- * extra NULL argument will be fine */ +-static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy); +-static gboolean (*nn_show) (void *noti, GError **error); +-static void (*nn_set_timeout) (void *noti, gint timeout); +- +-static void +-libnotify_cleanup (void) +-{ +- if (nn_mod) +- { +- nn_uninit (); +- g_module_close (nn_mod); +- nn_mod = NULL; +- } +-} +- +-static gboolean +-libnotify_notify_new (const char *title, const char *text, GtkStatusIcon *icon) +-{ +- void *noti; +- +- if (!nn_mod) +- { +- nn_mod = g_module_open ("libnotify", G_MODULE_BIND_LAZY); +- if (!nn_mod) +- { +- nn_mod = g_module_open ("libnotify.so.1", G_MODULE_BIND_LAZY); +- if (!nn_mod) +- return FALSE; +- } +- +- if (!g_module_symbol (nn_mod, "notify_init", (gpointer)&nn_init)) +- goto bad; +- if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit)) +- goto bad; +- if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new)) +- goto bad; +- if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show)) +- goto bad; +- if (!g_module_symbol (nn_mod, "notify_notification_set_timeout", (gpointer)&nn_set_timeout)) +- goto bad; +- if (!nn_init (PACKAGE_NAME)) +- goto bad; +- } +- +- text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); +- title = strip_color (title, -1, STRIP_ALL); +- noti = nn_new (title, text, XCHATSHAREDIR"/pixmaps/xchat.png", NULL); +- g_free ((char *)title); +- g_free ((char *)text); +- +- nn_set_timeout (noti, prefs.input_balloon_time*1000); +- nn_show (noti, NULL); +- g_object_unref (G_OBJECT (noti)); +- +- return TRUE; +- +-bad: +- g_module_close (nn_mod); +- nn_mod = NULL; +- return FALSE; +-} +- +-#endif +- + void + fe_tray_set_balloon (const char *title, const char *text) + { + #ifndef WIN32 + const char *argv[8]; + const char *path; + char time[16]; + WinStatus ws; +@@ -208,52 +144,36 @@ fe_tray_set_balloon (const char *title, + /* bit 1 of flags means "no balloons unless hidden/iconified" */ + if (ws != WS_HIDDEN && (prefs.gui_tray_flags & 2)) + return; + + /* FIXME: this should close the current balloon */ + if (!text) + return; + +-#ifdef LIBNOTIFY +- /* try it via libnotify.so */ +- if (libnotify_notify_new (title, text, sticon)) +- return; /* success */ +-#endif ++#ifdef USE_LIBNOTIFY ++ NotifyNotification *notification; ++ char *notify_text, *notify_title; + +- /* try it the crude way */ +- path = g_find_program_in_path ("notify-send"); +- if (path) +- { +- sprintf(time, "%d000",prefs.input_balloon_time); +- argv[0] = path; +- argv[1] = "-i"; +- argv[2] = "gtk-dialog-info"; +- if (access (XCHATSHAREDIR"/pixmaps/xchat.png", R_OK) == 0) +- argv[2] = XCHATSHAREDIR"/pixmaps/xchat.png"; +- argv[3] = "-t"; +- argv[4] = time; +- argv[5] = title; +- text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); +- argv[6] = text; +- argv[7] = NULL; +- xchat_execv (argv); +- g_free ((char *)path); +- g_free ((char *)text); +- } +- else +- { +- /* show this error only once */ +- static unsigned char said_it = FALSE; +- if (!said_it) +- { +- said_it = TRUE; +- fe_message (_("Cannot find 'notify-send' to open balloon alerts.\nPlease install libnotify."), FE_MSG_ERROR); +- } +- } ++ if (!notify_is_initted()) ++ notify_init(PACKAGE_NAME); ++ ++ notify_text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP); ++ notify_title = strip_color (title, -1, STRIP_ALL); ++ ++ notification = XC_NOTIFY_NEW (notify_title, notify_text, XCHATSHAREDIR"/pixmaps/xchat.png", NULL); ++ ++ g_free ((char *)notify_title); ++ g_free ((char *)notify_text); ++ ++ notify_notification_set_timeout (notification, prefs.input_balloon_time*1000); ++ notify_notification_show (notification, NULL); ++ ++ g_object_unref (notification); ++#endif + #endif + } + + static void + tray_set_balloonf (const char *text, const char *format, ...) + { + va_list args; + char *buf; +@@ -840,13 +760,13 @@ tray_plugin_init (xchat_plugin *plugin_h + return 1; /* return 1 for success */ + } + + int + tray_plugin_deinit (xchat_plugin *plugin_handle) + { + #ifdef WIN32 + tray_cleanup (); +-#elif defined(LIBNOTIFY) +- libnotify_cleanup (); ++#elif defined(USE_LIBNOTIFY) ++ notify_uninit (); + #endif + return 1; + } diff --git a/libre/xchat/xchat.install b/libre/xchat/xchat.install new file mode 100644 index 000000000..eab82d16f --- /dev/null +++ b/libre/xchat/xchat.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} -- cgit v1.2.3-2-g168b