From 5d5a48482bd5c7c15e4df05da226e6aba96ccd14 Mon Sep 17 00:00:00 2001 From: ijliao Date: Fri, 20 Dec 2002 05:33:16 +0000 Subject: upgrade to 4.9.0 some bug fix, jabber support, msn support enhanced, no libsigc++, segfault fix Approved by: portmgr(steve) --- net/centericq/Makefile | 7 +- net/centericq/distinfo | 2 +- net/centericq/files/patch-msnhook.cc | 145 +++++++++++++--------------- net/centericq/files/patch-src::centericq.cc | 16 --- net/centericq/files/patch-src:Makefile.in | 12 +-- 5 files changed, 79 insertions(+), 103 deletions(-) delete mode 100644 net/centericq/files/patch-src::centericq.cc (limited to 'net') diff --git a/net/centericq/Makefile b/net/centericq/Makefile index 853978d3e59d..170a0f75b905 100644 --- a/net/centericq/Makefile +++ b/net/centericq/Makefile @@ -7,8 +7,8 @@ # PORTNAME= centericq -PORTVERSION= 4.8.7 -PORTREVISION= 5 +PORTVERSION= 4.9.0 +PORTREVISION= 0 CATEGORIES= net MASTER_SITES= http://konst.org.ua/download/ @@ -16,15 +16,16 @@ MAINTAINER= ijliao@FreeBSD.org LIB_DEPENDS= intl.4:${PORTSDIR}/devel/gettext \ iconv.3:${PORTSDIR}/converters/libiconv \ - sigc.1:${PORTSDIR}/devel/libsigc++ # fribidi.0:${PORTSDIR}/converters/fribidi +USE_OPENSSL= yes USE_GMAKE= yes USE_GNOMENG= yes USE_GNOME= glib12 GNU_CONFIGURE= yes CONFIGURE_ENV= CPPFLAGS="${CXXFLAGS} -I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib -lstdc++" +CONFIGURE_ARGS= --with-openssl #CONFIGURE_ARGS= --with-fribidi MAN1= centericq.1 diff --git a/net/centericq/distinfo b/net/centericq/distinfo index 74660a238106..d7e10837f4a5 100644 --- a/net/centericq/distinfo +++ b/net/centericq/distinfo @@ -1 +1 @@ -MD5 (centericq-4.8.7.tar.gz) = 25fcdf52b5d755656ccd2c08ce3c0326 +MD5 (centericq-4.9.0.tar.gz) = c9b15040720dd5e7d099603f8b34021c diff --git a/net/centericq/files/patch-msnhook.cc b/net/centericq/files/patch-msnhook.cc index e5965c3f0fac..9d8a7559f832 100644 --- a/net/centericq/files/patch-msnhook.cc +++ b/net/centericq/files/patch-msnhook.cc @@ -1,61 +1,51 @@ ---- src/hooks/msnhook.cc Mon Oct 28 19:29:41 2002 -+++ src/hooks/msnhook.cc Tue Nov 26 16:10:34 2002 -@@ -30,6 +30,7 @@ +--- src/hooks/msnhook.cc Fri Dec 13 00:17:12 2002 ++++ src/hooks/msnhook.cc Wed Dec 18 14:57:02 2002 +@@ -29,6 +29,7 @@ + #include "accountmanager.h" #include "eventmanager.h" - #include "centericq.h" #include "imlogger.h" +#include "utf8conv.h" - msnhook mhook; + #include "msn_bittybits.h" -@@ -159,7 +160,8 @@ +@@ -225,7 +226,8 @@ } icqcontact *c = clist.get(ev.getcontact()); - text = siconv(text, conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET, "utf8"); -+ text = StrToUtf8(text); +// text = siconv(text, conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET, "utf8"); - // text = toutf8(rusconv("kw", text)); ++ text = StrToUtf8(text); if(c) -@@ -274,8 +276,8 @@ - m.homepage = "http://members.msn.com/" + b.email; - - if(!friendlynicks[ic.nickname].empty()) { -- c->setdispnick(friendlynicks[ic.nickname]); -- b.fname = friendlynicks[ic.nickname]; -+ c->setdispnick(Utf8ToStr(friendlynicks[ic.nickname])); -+ b.fname = Utf8ToStr(friendlynicks[ic.nickname]); - } + if(c->getstatus() != offline || !c->inlist()) { +@@ -556,7 +558,8 @@ - c->setbasicinfo(b); -@@ -371,7 +373,8 @@ - } + mhook.checkinlist(ic); - // text = rusconv("wk", fromutf8(d->msg)); -- text = siconv(d->msg, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET); -+// text = siconv(d->msg, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET); -+ text = Utf8ToStr(d->msg); - em.store(immessage(ic, imevent::incoming, text)); +- string text = siconv(msg->body, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET); ++// string text = siconv(msg->body, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET); ++ string text = Utf8ToStr(msg->body); + em.store(immessage(ic, imevent::incoming, text)); + } - if(c) -@@ -453,3 +456,136 @@ - clist.get(contactroot)->playsound(imevent::email); +@@ -717,3 +720,138 @@ + log(string("[OUT] ") + buf); } } ++ +#if HAVE_ICONV_H +int safe_iconv( iconv_t handle, const char **inbuf, size_t *inbytesleft, -+ char **outbuf, size_t *outbytesleft) ++ char **outbuf, size_t *outbytesleft) +{ + int ret; + while (*inbytesleft) { -+ ret = iconv( handle, inbuf, inbytesleft, -+ outbuf, outbytesleft); -+ if (!*inbytesleft || !*outbytesleft) -+ return ret; -+ /*got invalid seq - so replace it with '?' */ -+ **outbuf = '?'; (*outbuf)++; (*outbytesleft)--; -+ (*inbuf)++; (*inbytesleft)--; ++ ret = iconv( handle, inbuf, inbytesleft, ++ outbuf, outbytesleft); ++ if (!*inbytesleft || !*outbytesleft) ++ return ret; ++ /*got invalid seq - so replace it with '?' */ ++ **outbuf = '?'; (*outbuf)++; (*outbytesleft)--; ++ (*inbuf)++; (*inbytesleft)--; + } + return ret; +} @@ -65,28 +55,28 @@ + char *lang, *ch; + /* Return previously learned charset */ + if (loc_charset[0]) -+ return loc_charset; ++ return loc_charset; + + lang = getenv("LANG"); + if (!lang) { -+ strcpy( loc_charset, DEFAULT_CHARSET ); -+ return loc_charset; ++ strcpy( loc_charset, DEFAULT_CHARSET ); ++ return loc_charset; + }; + ch = strrchr( lang, '.' ); + if (!ch) -+ strcpy( loc_charset, DEFAULT_CHARSET ); ++ strcpy( loc_charset, DEFAULT_CHARSET ); + else { -+ iconv_t pt; -+ ch++; -+ strncpy( loc_charset, ch, sizeof(loc_charset) ); -+ /* try to open iconv handle using guessed charset */ -+ if ( (pt = iconv_open( loc_charset, loc_charset )) == (iconv_t)(-1) ) -+ { -+ strcpy( loc_charset, DEFAULT_CHARSET ); -+ } else { -+ iconv_close(pt); -+ }; -+ ++ iconv_t pt; ++ ch++; ++ strncpy( loc_charset, ch, sizeof(loc_charset) ); ++ /* try to open iconv handle using guessed charset */ ++ if ( (pt = iconv_open( loc_charset, loc_charset )) == (iconv_t)(-1) ) ++ { ++ strcpy( loc_charset, DEFAULT_CHARSET ); ++ } else { ++ iconv_close(pt); ++ }; ++ + } + + return loc_charset; @@ -102,16 +92,16 @@ + + iconv_t handle = iconv_open( "utf-8", guess_current_locale_charset() ); + if(((int) handle) != -1) { -+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); -+ -+ *outbuf = '\0'; -+ iconv_close( handle ); -+ return outbuf_save; ++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); ++ ++ *outbuf = '\0'; ++ iconv_close( handle ); ++ return outbuf_save; + } else { -+ return (char *)inbuf; ++ return (char *)inbuf; + }; +} -+ ++ +std::string StrToUtf8( const std::string &instr ) +{ + size_t length = instr.length(); @@ -123,18 +113,18 @@ + + iconv_t handle = iconv_open( "utf-8", guess_current_locale_charset() ); + if(((int) handle) != -1) { -+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); -+ -+ *outbuf = '\0'; -+ iconv_close( handle ); ++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); ++ ++ *outbuf = '\0'; ++ iconv_close( handle ); + -+ std::string return_me = outbuf_save; -+ return return_me; ++ std::string return_me = outbuf_save; ++ return return_me; + } else { -+ return instr; ++ return instr; + }; +} -+ ++ +char *Utf8ToStr( const char *inbuf ) +{ + size_t length = strlen( inbuf ); @@ -145,12 +135,12 @@ + + iconv_t handle = iconv_open( guess_current_locale_charset(), "utf-8" ); + if(((int) handle) != -1) { -+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); -+ *outbuf = '\0'; -+ iconv_close( handle ); -+ return outbuf_save; ++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); ++ *outbuf = '\0'; ++ iconv_close( handle ); ++ return outbuf_save; + } else { -+ return (char *)inbuf; ++ return (char *)inbuf; + }; +} + @@ -166,13 +156,14 @@ + iconv_t handle = iconv_open( guess_current_locale_charset(), "utf-8" ); + + if(((int) handle) != -1) { -+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); -+ *outbuf = '\0'; -+ iconv_close( handle ); -+ std::string return_me = outbuf_save; -+ return return_me; ++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength ); ++ *outbuf = '\0'; ++ iconv_close( handle ); ++ std::string return_me = outbuf_save; ++ return return_me; + } else { -+ return instr; ++ return instr; + }; +} +#endif /* HAVE_ICONV_H */ ++ diff --git a/net/centericq/files/patch-src::centericq.cc b/net/centericq/files/patch-src::centericq.cc deleted file mode 100644 index a3fa52c27c8d..000000000000 --- a/net/centericq/files/patch-src::centericq.cc +++ /dev/null @@ -1,16 +0,0 @@ - -$FreeBSD$ - ---- src/centericq.cc 2002/11/21 14:55:51 1.1 -+++ src/centericq.cc 2002/11/21 14:56:12 -@@ -1460,8 +1460,8 @@ - unsigned char *table = 0; - - #ifdef HAVE_ICONV_H -- if(tdir == "kw") r = siconv(text, "koi8-r", "cp1251"); else -- if(tdir == "wk") r = siconv(text, "cp1251", "koi8-r"); else -+ if(tdir == "kw") r = siconv(text, "koi8-u", "cp1251"); else -+ if(tdir == "wk") r = siconv(text, "cp1251", "koi8-u"); else - #endif - r = text; - diff --git a/net/centericq/files/patch-src:Makefile.in b/net/centericq/files/patch-src:Makefile.in index 4b74bd1708ae..ef9663819ec3 100644 --- a/net/centericq/files/patch-src:Makefile.in +++ b/net/centericq/files/patch-src:Makefile.in @@ -1,7 +1,7 @@ ---- src/Makefile.in.orig Fri Oct 18 17:57:39 2002 -+++ src/Makefile.in Fri Oct 18 17:57:55 2002 -@@ -100,3 +100,3 @@ - centericq_LDFLAGS = -L$(top_srcdir)/kkconsui-0.1 -L$(top_srcdir)/kkstrtext-0.1 -L$(top_srcdir)/kksystr-0.1 -L$(top_srcdir)/libicq2000-0.3.3 -L$(top_srcdir)/libmsn-0.1 -L$(top_srcdir)/firetalk-0.1 -L$(top_srcdir)/libyahoo2-0.1 --centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -llibmsn -lfiretalk -llibyahoo2 @INTLLIBS@ -+centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -llibmsn -lfiretalk -llibyahoo2 @INTLLIBS@ -lintl +--- src/Makefile.in.orig Wed Dec 18 10:32:12 2002 ++++ src/Makefile.in Wed Dec 18 10:32:49 2002 +@@ -96,3 +96,3 @@ + centericq_LDFLAGS = -L$(top_srcdir)/kkconsui-0.1 -L$(top_srcdir)/kkstrtext-0.1 -L$(top_srcdir)/kksystr-0.1 -L$(top_srcdir)/libicq2000-0.4.0 -L$(top_srcdir)/firetalk-0.1 -L$(top_srcdir)/libyahoo2-0.1 -L$(top_srcdir)/libjabber-0.1 -L$(top_srcdir)/connwrap-0.1 -L$(top_srcdir)/blip-0.1 +-centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -lfiretalk -llibyahoo2 -llibjabber -lconnwrap -lblip @INTLLIBS@ ++centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -lfiretalk -llibyahoo2 -llibjabber -lconnwrap -lblip @INTLLIBS@ -lintl SUBDIRS = hooks -- cgit