aboutsummaryrefslogtreecommitdiff
path: root/irc/hexchat
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2013-06-02 13:23:41 +0000
committerKoop Mast <kwm@FreeBSD.org>2013-06-02 13:23:41 +0000
commitef54b3f0d3603deac015f3adffa544d65337f1b8 (patch)
treee5c03f5b48837ab0f9792654306b25fff8d180bc /irc/hexchat
parentc02e95ba1964ce06020ea7bef4aaae40ce288f21 (diff)
downloadports-ef54b3f0d3603deac015f3adffa544d65337f1b8.tar.gz
ports-ef54b3f0d3603deac015f3adffa544d65337f1b8.zip
Add hexchat, which is a continuation of the XChat IRC client.
PR: ports/174888 Submitted by: nemysis <nemysis@gmx.ch>
Notes
Notes: svn path=/head/; revision=319653
Diffstat (limited to 'irc/hexchat')
-rw-r--r--irc/hexchat/Makefile166
-rw-r--r--irc/hexchat/distinfo2
-rw-r--r--irc/hexchat/files/patch-configure.ac32
-rw-r--r--irc/hexchat/files/patch-src-fe-gtk-Makefile.am11
-rw-r--r--irc/hexchat/files/patch-src-fe-gtk-banlist.c30
-rw-r--r--irc/hexchat/files/patch-src-fe-gtk-custom-list.h11
-rw-r--r--irc/hexchat/files/patch-src-fe-gtk-fe-gtk.c11
-rw-r--r--irc/hexchat/files/patch-src__common__dbus__dbus-client.c16
-rw-r--r--irc/hexchat/pkg-descr8
-rw-r--r--irc/hexchat/pkg-plist76
10 files changed, 363 insertions, 0 deletions
diff --git a/irc/hexchat/Makefile b/irc/hexchat/Makefile
new file mode 100644
index 000000000000..63c6b160c92b
--- /dev/null
+++ b/irc/hexchat/Makefile
@@ -0,0 +1,166 @@
+# Created by: nemysis <nemysis@gmx.ch>
+# $FreeBSD$
+
+PORTNAME= hexchat
+PORTVERSION= 2.9.5
+CATEGORIES= irc gnome ipv6
+MASTER_SITES= http://dl.hexchat.org/${PORTNAME}/
+
+MAINTAINER= nemysis@gmx.ch
+COMMENT= IRC chat program with GTK and Text Frontend
+
+LICENSE= GPLv2
+
+LIB_DEPENDS= proxy:${PORTSDIR}/net/libproxy
+
+USE_XZ= yes
+USES= desktop-file-utils pathfix pkgconfig
+USE_GNOME= gtk20 libxml2
+WANT_PERL= yes
+USE_AUTOTOOLS= automake autoconf libtool
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--enable-gtkfe --disable-sysinfo
+USE_GMAKE= yes
+INSTALLS_ICONS= yes
+
+LDFLAGS+= -pthread
+
+MAN1= hexchat.1
+
+PORTDOCS= *
+
+OPTIONS_DEFINE= NLS SOCKS XFT OPENSSL TEXTFE PYTHON PERL DOAT DBUS NOTIFY
+
+OPTIONS_RADIO= SPELL
+OPTIONS_RADIO_SPELL= LIBSEXY GTKSPELL STATIC
+
+OPTIONS_DEFAULT= SOCKS XFT OPENSSL PERL DOAT DBUS NOTIFY LIBSEXY
+
+TEXTFE_DESC= Build the Text frontend
+DOAT_DESC= Enable Do At plugin
+STATIC_DESC= Enable Spell checking
+LIBSEXY_DESC= Enable Spell checking through Libsexy
+GTKSPELL_DESC= Enable Spell checking through GTKSpell
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MNLS}
+USES+= gettext
+PLIST_SUB+= NLS=""
+.else
+CONFIGURE_ARGS+=--disable-nls
+PLIST_SUB+= NLS="@comment "
+.endif
+
+.if ! ${PORT_OPTIONS:MLIBSEXY} && ! ${PORT_OPTIONS:MGTKSPELL} && ! ${PORT_OPTIONS:MSTATIC}
+CONFIGURE_ARGS+=--enable-spell=none
+.endif
+
+.if ${PORT_OPTIONS:MSTATIC}
+CONFIGURE_ARGS+=--enable-spell=static
+.endif
+
+.if ${PORT_OPTIONS:MLIBSEXY}
+LIB_DEPENDS+= sexy:${PORTSDIR}/x11-toolkits/libsexy
+CONFIGURE_ARGS+=--enable-spell=libsexy
+.endif
+
+.if ${PORT_OPTIONS:MGTKSPELL}
+LIB_DEPENDS+= gtkspell:${PORTSDIR}/textproc/gtkspell
+CONFIGURE_ARGS+=--enable-spell=gtkspell
+.endif
+
+.if ${PORT_OPTIONS:MSOCKS}
+LIB_DEPENDS+= socks:${PORTSDIR}/net/dante
+CONFIGURE_ARGS+=--enable-socks
+.else
+CONFIGURE_ARGS+=--disable-socks
+.endif
+
+.if ${PORT_OPTIONS:MXFT}
+USE_XORG+= xft
+CONFIGURE_ARGS+=--enable-xft
+.else
+CONFIGURE_ARGS+=--disable-xft
+.endif
+
+.if ${PORT_OPTIONS:MOPENSSL}
+CONFIGURE_ARGS+=--enable-openssl
+PLIST_SUB+= OPENSSL=""
+.else
+CONFIGURE_ARGS+=--disable-openssl
+
+PLIST_SUB+= OPENSSL="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MTEXTFE}
+CONFIGURE_ARGS+=--enable-textfe
+PLIST_SUB+= TEXTFE=""
+.else
+CONFIGURE_ARGS+=--disable-textfe
+PLIST_SUB+= TEXTFE="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MPYTHON}
+USE_PYTHON= yes
+CONFIGURE_ARGS+=--enable-python
+PLIST_SUB+= PYTHON=""
+.else
+CONFIGURE_ARGS+=--disable-python
+PLIST_SUB+= PYTHON="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MPERL}
+USE_PERL5= yes
+CONFIGURE_ARGS+=--enable-perl
+PLIST_SUB+= PERL=""
+.else
+CONFIGURE_ARGS+=--disable-perl
+PLIST_SUB+= PERL="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MDOAT}
+CONFIGURE_ARGS+=--enable-doat
+PLIST_SUB+= DOAT=""
+.else
+CONFIGURE_ARGS+=--disable-doat
+PLIST_SUB+= DOAT="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MDBUS}
+LIB_DEPENDS+= dbus-glib-1:${PORTSDIR}/devel/dbus-glib
+CONFIGURE_ARGS+=--enable-dbus
+USE_GNOME+= gconf2
+GCONF_SCHEMAS+= apps_hexchat_url_handler.schemas
+PLIST_SUB+= DBUS=""
+.else
+CONFIGURE_ARGS+=--disable-dbus
+PLIST_SUB+= DBUS="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MNOTIFY}
+RUN_DEPENDS+= notify-send:${PORTSDIR}/devel/libnotify
+CONFIGURE_ARGS+=--enable-libnotify
+PLIST_SUB+= NOTIFY=""
+.else
+CONFIGURE_ARGS+=--disable-libnotify
+PLIST_SUB+= NOTIFY="@comment "
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|g' ${WRKSRC}/autogen.sh
+ @${REINPLACE_CMD} -e 's|po intl|po|g' ${WRKSRC}/Makefile.am
+
+pre-configure:
+ @(cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./autogen.sh)
+
+post-install:
+ ${LN} -sf ${PREFIX}/share/icons/hicolor/48x48/apps/${PORTNAME}.png ${PREFIX}/share/pixmaps
+
+.if ${PORT_OPTIONS:MDOCS}
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/share/doc/*.md ${DOCSDIR}
+.endif
+ @(cd ${PREFIX}/lib/hexchat/plugins/ && ${RM} -f *.a)
+
+.include <bsd.port.mk>
diff --git a/irc/hexchat/distinfo b/irc/hexchat/distinfo
new file mode 100644
index 000000000000..22f122cb2047
--- /dev/null
+++ b/irc/hexchat/distinfo
@@ -0,0 +1,2 @@
+SHA256 (hexchat-2.9.5.tar.xz) = 11dfd0fbfb88d8dbb38f631fab8a7dffbb179f7f7dafe316953ed6f513ac623d
+SIZE (hexchat-2.9.5.tar.xz) = 1309112
diff --git a/irc/hexchat/files/patch-configure.ac b/irc/hexchat/files/patch-configure.ac
new file mode 100644
index 000000000000..fcfd4f13bd74
--- /dev/null
+++ b/irc/hexchat/files/patch-configure.ac
@@ -0,0 +1,32 @@
+--- configure.ac.orig 2013-04-02 01:07:55.000000000 +0000
++++ configure.ac 2013-06-02 13:07:55.000000000 +0000
+@@ -191,9 +191,9 @@
+ AC_MSG_ERROR(Cannot find GLib!)
+ fi
+
+-COMMON_CFLAGS="$GLIB_CFLAGS"
++COMMON_CFLAGS="$GLIB_CFLAGS -DG_DISABLE_SINGLE_INCLUDES"
+ COMMON_LIBS="$GLIB_LIBS"
+-COMMON_LIBS="$COMMON_LIBS -lgmodule-2.0"
++COMMON_LIBS="$COMMON_LIBS -lgmodule-2.0 -lgobject-2.0"
+
+ dnl *********************************************************************
+ dnl ** GTK **************************************************************
+@@ -201,7 +201,7 @@
+
+ # we might get undefined macro without this test
+ if test "$gtkfe" = yes ; then
+- AM_PATH_GTK_2_0(2.10.0, havegtk=yes, havegtk=no)
++ AM_PATH_GTK_2_0(2.14.0, havegtk=yes, havegtk=no)
+
+ if test "$havegtk" = no; then
+ gtkfe=no
+@@ -222,7 +222,7 @@
+ dnl *********************************************************************
+
+ GUI_LIBS="$GUI_LIBS $GTK_LIBS"
+-GUI_CFLAGS="$GUI_CFLAGS $GTK_CFLAGS"
++GUI_CFLAGS="$GUI_CFLAGS $GTK_CFLAGS -DG_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES"
+
+ #if test "$gnome" = yes; then
+ # AC_PATH_PROG(pkgconfigpath, pkg-config)
diff --git a/irc/hexchat/files/patch-src-fe-gtk-Makefile.am b/irc/hexchat/files/patch-src-fe-gtk-Makefile.am
new file mode 100644
index 000000000000..6a2612be63ba
--- /dev/null
+++ b/irc/hexchat/files/patch-src-fe-gtk-Makefile.am
@@ -0,0 +1,11 @@
+--- src/fe-gtk/Makefile.am.orig 2013-04-02 03:07:55.000000000 +0200
++++ src/fe-gtk/Makefile.am 2013-04-04 21:02:35.000000000 +0200
+@@ -2,7 +2,7 @@
+
+ bin_PROGRAMS = hexchat
+
+-AM_CPPFLAGS = $(GUI_CFLAGS) -DG_DISABLE_CAST_CHECKS -DLOCALEDIR=\"$(localedir)\"
++AM_CPPFLAGS = $(GUI_CFLAGS) -DLOCALEDIR=\"$(localedir)\"
+
+ hexchat_LDADD = ../common/libhexchatcommon.a $(GUI_LIBS)
+
diff --git a/irc/hexchat/files/patch-src-fe-gtk-banlist.c b/irc/hexchat/files/patch-src-fe-gtk-banlist.c
new file mode 100644
index 000000000000..7cba056d3752
--- /dev/null
+++ b/irc/hexchat/files/patch-src-fe-gtk-banlist.c
@@ -0,0 +1,30 @@
+--- src/fe-gtk/banlist.c.orig 2013-04-02 03:07:55.000000000 +0200
++++ src/fe-gtk/banlist.c 2013-04-04 20:31:29.000000000 +0200
+@@ -37,6 +37,7 @@
+ #include <gtk/gtktreeview.h>
+ #include <gtk/gtktreeselection.h>
+ #include <gtk/gtktogglebutton.h>
++#include <gtk/gtkcheckbutton.h>
+ #include <gtk/gtktable.h>
+ #include <glib.h>
+
+@@ -583,7 +584,7 @@
+ * #define DATE_FORMAT "%a %b %d %T %Y"
+ */
+ static void
+-strptime (char *ti, struct tm *tm)
++banlist_strptime (char *ti, struct tm *tm)
+ {
+ /* Expect something like "Sat Mar 16 21:24:27 2013" */
+ static char *mon[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+@@ -625,8 +626,8 @@
+
+ gtk_tree_model_get(model, a, DATE_COLUMN, &time1, -1);
+ gtk_tree_model_get(model, b, DATE_COLUMN, &time2, -1);
+- strptime (time1, &tm1);
+- strptime (time2, &tm2);
++ banlist_strptime (time1, &tm1);
++ banlist_strptime (time2, &tm2);
+ t1 = mktime (&tm1);
+ t2 = mktime (&tm2);
+
diff --git a/irc/hexchat/files/patch-src-fe-gtk-custom-list.h b/irc/hexchat/files/patch-src-fe-gtk-custom-list.h
new file mode 100644
index 000000000000..d63215ca32d3
--- /dev/null
+++ b/irc/hexchat/files/patch-src-fe-gtk-custom-list.h
@@ -0,0 +1,11 @@
+--- src/fe-gtk/custom-list.h.orig 2013-04-02 03:07:55.000000000 +0200
++++ src/fe-gtk/custom-list.h 2013-04-04 21:09:51.000000000 +0200
+@@ -22,6 +22,8 @@
+
+ #include <gtk/gtk.h>
+
++GType custom_list_get_type (void);
++
+ /* Some boilerplate GObject defines. 'klass' is used
+ * instead of 'class', because 'class' is a C++ keyword */
+
diff --git a/irc/hexchat/files/patch-src-fe-gtk-fe-gtk.c b/irc/hexchat/files/patch-src-fe-gtk-fe-gtk.c
new file mode 100644
index 000000000000..e2af4ada4aa3
--- /dev/null
+++ b/irc/hexchat/files/patch-src-fe-gtk-fe-gtk.c
@@ -0,0 +1,11 @@
+--- src/fe-gtk/fe-gtk.c.orig 2013-04-02 03:07:55.000000000 +0200
++++ src/fe-gtk/fe-gtk.c 2013-04-04 20:46:15.000000000 +0200
+@@ -134,7 +134,7 @@
+ {"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL},
+ {"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin/script auto-load directory"), NULL},
+ {"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL},
+- {"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"},
++ {"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel?key URL"), "URL"},
+ #ifndef WIN32 /* uses DBUS */
+ {"command", 'c', 0, G_OPTION_ARG_STRING, &arg_command, N_("Execute command:"), "COMMAND"},
+ {"existing", 'e', 0, G_OPTION_ARG_NONE, &arg_existing, N_("Open URL or execute command in an existing HexChat"), NULL},
diff --git a/irc/hexchat/files/patch-src__common__dbus__dbus-client.c b/irc/hexchat/files/patch-src__common__dbus__dbus-client.c
new file mode 100644
index 000000000000..a535960760dc
--- /dev/null
+++ b/irc/hexchat/files/patch-src__common__dbus__dbus-client.c
@@ -0,0 +1,16 @@
+--- ./src/common/dbus/dbus-client.c.orig 2013-04-02 01:07:55.000000000 +0000
++++ ./src/common/dbus/dbus-client.c 2013-04-13 13:50:32.000000000 +0000
+@@ -53,11 +53,13 @@
+ GError *error = NULL;
+ char *command = NULL;
+
++#if !GLIB_CHECK_VERSION (2, 32, 0)
+ /* GnomeVFS >=2.15 uses D-Bus and threads, so threads should be
+ * initialised before opening for the first time a D-Bus connection */
+ if (!g_thread_supported ()) {
+ g_thread_init (NULL);
+ }
++#endif
+ dbus_g_thread_init ();
+
+ /* if there is nothing to do, return now. */
diff --git a/irc/hexchat/pkg-descr b/irc/hexchat/pkg-descr
new file mode 100644
index 000000000000..1cdbd47f6805
--- /dev/null
+++ b/irc/hexchat/pkg-descr
@@ -0,0 +1,8 @@
+HexChat is an IRC chat program.
+It allows you to join multiple IRC channels (chat rooms) at the same time,
+talk publicly, private one-on-one conversations etc.
+
+HexChat is based on XChat, but unlike XChat it's completely free for both
+Windows and Unix-like systems. Since XChat is open source, it's perfectly legal.
+
+WWW: http://www.hexchat.org/
diff --git a/irc/hexchat/pkg-plist b/irc/hexchat/pkg-plist
new file mode 100644
index 000000000000..e44e77262054
--- /dev/null
+++ b/irc/hexchat/pkg-plist
@@ -0,0 +1,76 @@
+bin/hexchat
+%%TEXTFE%%bin/hexchat-text
+include/hexchat-plugin.h
+%%OPENSSL%%lib/hexchat/plugins/checksum.la
+%%OPENSSL%%lib/hexchat/plugins/checksum.so
+%%DOAT%%lib/hexchat/plugins/doat.la
+%%DOAT%%lib/hexchat/plugins/doat.so
+%%OPENSSL%%lib/hexchat/plugins/fishlim.la
+%%OPENSSL%%lib/hexchat/plugins/fishlim.so
+%%PERL%%lib/hexchat/plugins/perl.la
+%%PERL%%lib/hexchat/plugins/perl.so
+%%PYTHON%%lib/hexchat/plugins/python.la
+%%PYTHON%%lib/hexchat/plugins/python.so
+share/applications/hexchat.desktop
+%%DBUS%%share/dbus-1/services/org.hexchat.service.service
+share/icons/hicolor/48x48/apps/hexchat.png
+share/icons/hicolor/scalable/apps/hexchat.svg
+%%NLS%%share/locale/af/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/am/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/ast/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/az/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/be/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/bg/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/da/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/de/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/el/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/es/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/et/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/eu/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/gu/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/hi/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/id/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/it/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/kn/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/lv/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/mk/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/ml/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/ms/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/no/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/pa/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/rw/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/sq/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/th/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/wa/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/hexchat.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/hexchat.mo
+share/pixmaps/hexchat.png
+%%NLS%%@dirrmtry share/locale/rw/LC_MESSAGES
+%%NLS%%@dirrmtry share/locale/rw
+%%NLS%%@dirrmtry share/locale/ast/LC_MESSAGES
+%%NLS%%@dirrmtry share/locale/ast
+@dirrmtry share/applications
+@dirrm lib/hexchat/plugins
+@dirrm lib/hexchat