diff options
author | Gustavo Zacarias <gustavoz@gentoo.org> | 2005-11-22 17:25:00 +0000 |
---|---|---|
committer | Gustavo Zacarias <gustavoz@gentoo.org> | 2005-11-22 17:25:00 +0000 |
commit | c7eb341ba8fbe0d02d0107f875f29435456922d1 (patch) | |
tree | d6704d3c38a282b2e0a1f885a47233420cbc06cb /net-irc/xchat | |
parent | Marked stable on amd64 and x86 wrt bug #109084. (diff) | |
download | historical-c7eb341ba8fbe0d02d0107f875f29435456922d1.tar.gz historical-c7eb341ba8fbe0d02d0107f875f29435456922d1.tar.bz2 historical-c7eb341ba8fbe0d02d0107f875f29435456922d1.zip |
Revbump with patch for bug #109744
Package-Manager: portage-2.0.53_rc7
Diffstat (limited to 'net-irc/xchat')
-rw-r--r-- | net-irc/xchat/ChangeLog | 8 | ||||
-rw-r--r-- | net-irc/xchat/Manifest | 25 | ||||
-rw-r--r-- | net-irc/xchat/files/44_fix_alignment_endianess.dpatch | 319 | ||||
-rw-r--r-- | net-irc/xchat/files/digest-xchat-2.4.5-r1 | 1 | ||||
-rw-r--r-- | net-irc/xchat/xchat-2.4.5-r1.ebuild | 87 |
5 files changed, 428 insertions, 12 deletions
diff --git a/net-irc/xchat/ChangeLog b/net-irc/xchat/ChangeLog index e93359141dcb..1a1af6b84c57 100644 --- a/net-irc/xchat/ChangeLog +++ b/net-irc/xchat/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-irc/xchat # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-irc/xchat/ChangeLog,v 1.182 2005/11/16 18:18:42 gustavoz Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-irc/xchat/ChangeLog,v 1.183 2005/11/22 17:25:00 gustavoz Exp $ + +*xchat-2.4.5-r1 (22 Nov 2005) + + 22 Nov 2005; Gustavo Zacarias <gustavoz@gentoo.org> + +files/44_fix_alignment_endianess.dpatch, +xchat-2.4.5-r1.ebuild: + Revbump with patch for bug #109744 16 Nov 2005; Gustavo Zacarias <gustavoz@gentoo.org> xchat-2.4.5.ebuild: -sparc wrt #109744 diff --git a/net-irc/xchat/Manifest b/net-irc/xchat/Manifest index 95910c75cc78..82e7c1ce7cfc 100644 --- a/net-irc/xchat/Manifest +++ b/net-irc/xchat/Manifest @@ -1,25 +1,28 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -MD5 f70fee92ab2e258ea7be208d0ddfa4b6 xchat-2.4.3.ebuild 2266 -MD5 35173b2dddf35bc467c4aa72d784a741 xchat-2.4.5.ebuild 2301 -MD5 4634f562e01b219d3bcfb0ae6acb8397 xchat-1.8.11-r1.ebuild 2264 -MD5 9f17701ead780ffcd7c34dc23b28e13b ChangeLog 27172 -MD5 fb5772136a872c08434566d4f0bcdc7f metadata.xml 179 -MD5 95d53db19acfbc8d85a8ac0c8d695133 xchat-2.6.0.ebuild 2261 +MD5 1b1f9b3d26d01239a54afc3c55060044 ChangeLog 27363 +MD5 6354e2efb6f0d1323ad8849be7303575 files/44_fix_alignment_endianess.dpatch 8676 +MD5 e2b99b2d2dfc54ba96e560c0ed8392df files/digest-xchat-1.8.11-r1 65 MD5 21bc6820aa6d0c8722509a74c7fccb3d files/digest-xchat-2.4.3 134 MD5 c5d53c24b3ebfec1f168930213f55fea files/digest-xchat-2.4.5 65 +MD5 c5d53c24b3ebfec1f168930213f55fea files/digest-xchat-2.4.5-r1 65 MD5 02c31b272038e119a3ce2d4a79897f72 files/digest-xchat-2.6.0 64 MD5 a8f607d224408d4a27777d2ffce8beac files/xc1811fixststint.diff 422 +MD5 31de685eff3d16d9466416434c9fd6c3 files/xc208-fixsocks5.diff 688 MD5 17073299c8c2c65062ad2e77cd03b841 files/xc245-fix-te-notify.diff 403 MD5 6bfc06df4986a7fb482525e1dfd8fa21 files/xc260-fix-fetext.diff 1123 -MD5 31de685eff3d16d9466416434c9fd6c3 files/xc208-fixsocks5.diff 688 MD5 ee98eba7f1061680d8d0582a10d72cb7 files/xchat-dccserver-0.5.patch 11776 -MD5 e2b99b2d2dfc54ba96e560c0ed8392df files/digest-xchat-1.8.11-r1 65 +MD5 fb5772136a872c08434566d4f0bcdc7f metadata.xml 179 +MD5 4634f562e01b219d3bcfb0ae6acb8397 xchat-1.8.11-r1.ebuild 2264 +MD5 f70fee92ab2e258ea7be208d0ddfa4b6 xchat-2.4.3.ebuild 2266 +MD5 c10195648896ac34737461914cc96a6e xchat-2.4.5-r1.ebuild 2366 +MD5 35173b2dddf35bc467c4aa72d784a741 xchat-2.4.5.ebuild 2301 +MD5 95d53db19acfbc8d85a8ac0c8d695133 xchat-2.6.0.ebuild 2261 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) -iD8DBQFDe3gTKRy60XGEcJIRAvc1AJ0SXqgZTn+R6wB2DGbYdY6eyFmm+gCdF7cH -jMwXRd+P2nP9CeiCEgT4biU= -=E/T3 +iD8DBQFDg1SfKRy60XGEcJIRAlOQAJ9T5W+jf96hjVLQj9diTNjdPEYRlQCggcsm +UfgAoXvWEuzqYiXv0L+r7P4= +=1W7H -----END PGP SIGNATURE----- diff --git a/net-irc/xchat/files/44_fix_alignment_endianess.dpatch b/net-irc/xchat/files/44_fix_alignment_endianess.dpatch new file mode 100644 index 000000000000..4e2b3779f617 --- /dev/null +++ b/net-irc/xchat/files/44_fix_alignment_endianess.dpatch @@ -0,0 +1,319 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 44_fix_alignment_endianess.dpatch by evo +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixed alignment and Endianess issues, doesn't affect x86. + +@DPATCH@ +diff -Naur xchat-2.4.5uno/src/common/outbound.c xchat-2.4.5/src/common/outbound.c +--- xchat-2.4.5uno/src/common/outbound.c 2005-10-01 12:32:53.000000000 +0200 ++++ xchat-2.4.5/src/common/outbound.c 2005-09-30 21:52:42.000000000 +0200 +@@ -1498,7 +1498,7 @@ + k = 0; + } else + { +- if (isdigit (buf[i]) && k < (sizeof (numb) - 1)) ++ if (isdigit ((unsigned char) buf[i]) && k < (sizeof (numb) - 1)) + { + numb[k] = buf[i]; + k++; +@@ -1899,7 +1899,7 @@ + p = name; + while (*p) + { +- hl->buf[len] = toupper (*p); ++ hl->buf[len] = toupper ((unsigned char) *p); + len++; + p++; + } +@@ -2136,7 +2136,7 @@ + + user = find_name (sess, nick); + +- if (isdigit (reason[0]) && reason[1] == 0) ++ if (isdigit ((unsigned char) reason[0]) && reason[1] == 0) + { + ban (sess, tbuf, nick, reason, (user && user->op)); + reason[0] = 0; +@@ -3287,9 +3287,9 @@ + { + if (src[0] == '%' || src[0] == '&') + { +- if (isdigit (src[1])) ++ if (isdigit ((unsigned char) src[1])) + { +- if (isdigit (src[2]) && isdigit (src[3])) ++ if (isdigit ((unsigned char) src[2]) && isdigit ((unsigned char) src[3])) + { + buf[0] = src[1]; + buf[1] = src[2]; +@@ -3442,8 +3442,8 @@ + occur++; + if ( do_ascii && + j + 3 < len && +- (isdigit (cmd[j + 1]) && isdigit (cmd[j + 2]) && +- isdigit (cmd[j + 3]))) ++ (isdigit ((unsigned char) cmd[j + 1]) && isdigit ((unsigned char) cmd[j + 2]) && ++ isdigit ((unsigned char) cmd[j + 3]))) + { + tbuf[0] = cmd[j + 1]; + tbuf[1] = cmd[j + 2]; +diff -Naur xchat-2.4.5uno/src/common/proto-irc.c xchat-2.4.5/src/common/proto-irc.c +--- xchat-2.4.5uno/src/common/proto-irc.c 2005-10-01 12:32:53.000000000 +0200 ++++ xchat-2.4.5/src/common/proto-irc.c 2005-09-30 22:31:11.000000000 +0200 +@@ -761,8 +761,12 @@ + + if (len == 4) + { ++ guint32 t; ++ ++ t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], ++ (guint8)type[3]); + /* this should compile to a bunch of: CMP.L, JE ... nice & fast */ +- switch (*((guint32 *)type)) ++ switch (t) + { + case WORDL('J','O','I','N'): + { +@@ -838,8 +842,12 @@ + + else if (len >= 5) + { ++ guint32 t; ++ ++ t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], ++ (guint8)type[3]); + /* this should compile to a bunch of: CMP.L, JE ... nice & fast */ +- switch (*((guint32 *)type)) ++ switch (t) + { + case WORDL('I','N','V','I'): + if (ignore_check (word[1], IG_INVI)) +@@ -1022,7 +1030,7 @@ + } + + /* see if the second word is a numeric */ +- if (isdigit (word[2][0])) ++ if (isdigit ((unsigned char) word[2][0])) + { + text = word_eol[4]; + if (*text == ':') +diff -Naur xchat-2.4.5uno/src/common/url.c xchat-2.4.5/src/common/url.c +--- xchat-2.4.5uno/src/common/url.c 2005-10-01 12:32:53.000000000 +0200 ++++ xchat-2.4.5/src/common/url.c 2005-10-01 12:26:33.000000000 +0200 +@@ -124,65 +124,60 @@ + int + url_check_word (char *word, int len) + { +- char *at, *dot; ++#define D(x) (x), ((sizeof (x)) - 1) ++ static const struct { ++ const char *s; ++ int len; ++ } ++ prefix[] = { ++ { D("irc.") }, ++ { D("ftp.") }, ++ { D("www.") }, ++ { D("irc://") }, ++ { D("ftp://") }, ++ { D("http://") }, ++ { D("https://") }, ++ { D("file://") }, ++ { D("rtsp://") }, ++ { D("gopher://") }, ++ }, ++ suffix[] = { ++ { D(".org") }, ++ { D(".net") }, ++ { D(".com") }, ++ { D(".edu") }, ++ { D(".html") }, ++ { D(".info") }, ++ { D(".name") }, ++ }; ++#undef D ++ const char *at, *dot; + int i, dots; +- char temp[4]; +- guint32 pre; + +- if ((word[0] == '@' || word[0] == '+' || word[0] == '^' || word[0] == '%' || word[0] == '*' ) && word[1] == '#') ++ if (len > 1 && word[1] == '#' && strchr("@+^%*#", word[0])) + return WORD_CHANNEL; + + if ((word[0] == '#' || word[0] == '&') && word[1] != '#' && word[1] != 0) + return WORD_CHANNEL; + +- if (len > 4 && word[4] != '.') ++ for (i = 0; i < G_N_ELEMENTS(prefix); i++) + { +- temp[0] = tolower (word[0]); +- temp[1] = tolower (word[1]); +- temp[2] = tolower (word[2]); +- temp[3] = tolower (word[3]); +- +- pre = *((guint32 *)temp); +- +- if (CMPL (pre, 'i','r','c','.')) +- return WORD_URL; +- if (CMPL (pre, 'f','t','p','.')) +- return WORD_URL; +- if (CMPL (pre, 'w','w','w','.')) +- return WORD_URL; ++ int l; + +- if (len > 7 && word[4] == '/' && word[5] == '/') ++ l = prefix[i].len; ++ if (len > l) + { +- if (CMPL (pre, 'i','r','c',':')) /* irc:// */ +- return WORD_URL; +- if (CMPL (pre, 'f','t','p',':')) /* ftp:// */ +- return WORD_URL; +- } ++ int j; + +- /* check for ABCD://... */ +- if (len > 8 && word[4] == ':' && word[5] == '/' && word[6] == '/') +- { +- if (CMPL (pre, 'h','t','t','p')) /* http:// */ +- return WORD_URL; +- if (CMPL (pre, 'f','i','l','e')) /* file:// */ +- return WORD_URL; +- if (CMPL (pre, 'r','t','s','p')) /* rtsp:// */ +- return WORD_URL; +- } +- +- /* check for https:// */ +- if (len > 9 && word[5] == ':' && word[6] == '/' && word[7] == '/') +- { +- if (CMPL (pre, 'h','t','t','p') && (word[4] == 's' || word[4] == 'S')) +- return WORD_URL; +- } +- +- /* check for gopher:// */ +- if (len > 10 && word[6] == ':' && word[7] == '/' && word[8] == '/') +- { +- if (CMPL (pre, 'g','o','p','h')) +- if (CMPW (word + 4, 'e','r') || CMPW (word + 4, 'E','R')) +- return WORD_URL; ++ /* This is pretty much strncasecmp(). */ ++ for (j = 0; j < l; j++) ++ { ++ unsigned char c = word[j]; ++ if (tolower(c) != prefix[i].s[j]) ++ break; ++ } ++ if (j == l) ++ return WORD_URL; + } + } + +@@ -205,7 +200,7 @@ + { + if (word[i] == '.' && i > 1) + dots++; /* allow 127.0.0.1:80 */ +- else if (!isdigit (word[i]) && word[i] != ':') ++ else if (!isdigit ((unsigned char) word[i]) && word[i] != ':') + { + dots = 0; + break; +@@ -216,35 +211,29 @@ + + if (len > 5) + { +- /* create a lowercase version of the last 4 letters */ +- temp[0] = tolower (word[len - 4]); +- temp[1] = tolower (word[len - 3]); +- temp[2] = tolower (word[len - 2]); +- temp[3] = tolower (word[len - 1]); ++ for (i = 0; i < G_N_ELEMENTS(suffix); i++) ++ { ++ int l; + +- pre = *((guint32 *)temp); ++ l = suffix[i].len; ++ if (len > l) ++ { ++ const unsigned char *p = &word[len - l]; ++ int j; + +- if (word[len - 5] == '.') +- { +- if (CMPL (pre, 'h','t','m','l')) +- return WORD_HOST; +- if (CMPL (pre, 'i','n','f','o')) +- return WORD_HOST; +- if (CMPL (pre, 'n','a','m','e')) +- return WORD_HOST; ++ /* This is pretty much strncasecmp(). */ ++ for (j = 0; j < l; j++) ++ { ++ if (tolower(p[j]) != suffix[i].s[j]) ++ break; ++ } ++ if (j == l) ++ return WORD_HOST; ++ } + } + +- if (CMPL (pre, '.','o','r','g')) +- return WORD_HOST; +- if (CMPL (pre, '.','n','e','t')) +- return WORD_HOST; +- if (CMPL (pre, '.','c','o','m')) +- return WORD_HOST; +- if (CMPL (pre, '.','e','d','u')) +- return WORD_HOST; +- + if (word[len - 3] == '.' && +- isalpha (word[len - 2]) && isalpha (word[len - 1])) ++ isalpha ((unsigned char) word[len - 2]) && isalpha ((unsigned char) word[len - 1])) + return WORD_HOST; + } + +diff -Naur xchat-2.4.5uno/src/common/util.c xchat-2.4.5/src/common/util.c +--- xchat-2.4.5uno/src/common/util.c 2005-10-01 12:32:53.000000000 +0200 ++++ xchat-2.4.5/src/common/util.c 2005-10-01 11:49:08.000000000 +0200 +@@ -435,8 +435,8 @@ + + while (len > 0) + { +- if ((col && isdigit (*text) && nc < 2) || +- (col && *text == ',' && isdigit (*(text+1)) && nc < 3)) ++ if ((col && isdigit ((unsigned char) *text) && nc < 2) || ++ (col && *text == ',' && isdigit ((unsigned char) *(text+1)) && nc < 3)) + { + nc++; + if (*text == ',') +@@ -1084,7 +1084,7 @@ + char *p; + domain_t *dom; + +- if (!hostname || !*hostname || isdigit (hostname[strlen (hostname) - 1])) ++ if (!hostname || !*hostname || isdigit ((unsigned char) hostname[strlen (hostname) - 1])) + return _("Unknown"); + if ((p = strrchr (hostname, '.'))) + p++; +@@ -1156,7 +1156,7 @@ + if (*src != quote) *buf++ = '\\'; + } + *buf++ = *src; +- } else if (isspace(*src)) { ++ } else if (isspace((unsigned char) *src)) { + if (*argv[argc]) { + buf++, argc++; + if (argc == argvAlloced) { +diff -Naur xchat-2.4.5uno/src/fe-gtk/maingui.c xchat-2.4.5/src/fe-gtk/maingui.c +--- xchat-2.4.5uno/src/fe-gtk/maingui.c 2005-10-01 12:32:53.000000000 +0200 ++++ xchat-2.4.5/src/fe-gtk/maingui.c 2005-10-01 11:53:56.000000000 +0200 +@@ -1608,7 +1608,7 @@ + return; + + sess = current_sess; +- mode = tolower (flag[0]); ++ mode = tolower ((unsigned char) flag[0]); + + switch (mode) + { diff --git a/net-irc/xchat/files/digest-xchat-2.4.5-r1 b/net-irc/xchat/files/digest-xchat-2.4.5-r1 new file mode 100644 index 000000000000..f968fefcc529 --- /dev/null +++ b/net-irc/xchat/files/digest-xchat-2.4.5-r1 @@ -0,0 +1 @@ +MD5 9107a92693e6c62ff2008030e698b92b xchat-2.4.5.tar.bz2 1324626 diff --git a/net-irc/xchat/xchat-2.4.5-r1.ebuild b/net-irc/xchat/xchat-2.4.5-r1.ebuild new file mode 100644 index 000000000000..a7f4b5107494 --- /dev/null +++ b/net-irc/xchat/xchat-2.4.5-r1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-irc/xchat/xchat-2.4.5-r1.ebuild,v 1.1 2005/11/22 17:25:00 gustavoz Exp $ + +inherit flag-o-matic eutils versionator + +DESCRIPTION="Graphical IRC client" +SRC_URI="http://www.xchat.org/files/source/$(get_version_component_range 1-2)/${P}.tar.bz2 + mirror://sourceforge/${PN}/${P}.tar.bz2" +HOMEPAGE="http://www.xchat.org/" + +LICENSE="GPL-2" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="perl tcltk python ssl mmx ipv6 nls xchattext xchatnogtk xchatdccserver" + +# Added for to fix a sparc seg fault issue by Jason Wever <weeve@gentoo.org> +if [ ${ARCH} = "sparc" ] +then + replace-flags "-O[3-9]" "-O2" +fi + +RDEPEND=">=dev-libs/glib-2.0.3 + !xchatnogtk? ( >=x11-libs/gtk+-2.0.3 ) + ssl? ( >=dev-libs/openssl-0.9.6d ) + perl? ( >=dev-lang/perl-5.6.1 ) + python? ( >=dev-lang/python-2.2 ) + tcltk? ( dev-lang/tcl ) + !net-irc/xchat-gnome" + +DEPEND="${RDEPEND} + >=dev-util/pkgconfig-0.7 + >=sys-apps/sed-4 + nls? ( sys-devel/gettext )" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/xc245-fix-te-notify.diff + epatch "${FILESDIR}"/44_fix_alignment_endianess.dpatch + + use xchatdccserver && epatch "${FILESDIR}"/xchat-dccserver-0.5.patch + + # use libdir/xchat/plugins as the plugin directory + if [ $(get_libdir) != "lib" ] ; then + sed -i -e 's:${prefix}/lib/xchat:${libdir}/xchat:' \ + "${S}"/configure{,.in} || die + fi +} + +src_compile() { + # xchat's configure script uses sys.path to find library path + # instead of python-config (#25943) + unset PYTHONPATH + + econf \ + $(use_enable ssl openssl) \ + $(use_enable perl) \ + $(use_enable python) \ + $(use_enable tcltk tcl) \ + $(use_enable mmx) \ + $(use_enable ipv6) \ + $(use_enable nls) \ + $(use_enable xchattext textfe) \ + $(use_enable !xchatnogtk gtkfe) \ + --program-suffix=-2 \ + || die "Configure failed" + + emake || die "Compile failed" +} + +src_install() { + # some magic to create a menu entry for xchat 2 + sed -i \ + -e "s:^Exec=xchat$:Exec=xchat-2:" \ + -e "s:Name=XChat IRC:Name=XChat 2 IRC:" \ + xchat.desktop + + make DESTDIR="${D}" install || die "Install failed" + + # install plugin development header + insinto /usr/include/xchat + doins src/common/xchat-plugin.h || die "doins failed" + + dodoc ChangeLog README* || die "dodoc failed" +} |