From 5d0531ef55b5d347ce5c06a0bc6de624bae6a1ef Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 5 Jan 2013 10:17:45 +0000 Subject: [PATCH] * bep file for head version of Caya GPL protocol add-ons * gcc2 compatibility patch (or rather, standard C/C++ compliance patch) Caya and the add-ons can now be built and used on gcc2. --- .../caya-gpl-protocols-0.HEAD.bep | 30 +++ .../patches/caya-gpl-protocols-0.HEAD.patch | 214 ++++++++++++++++++ 2 files changed, 244 insertions(+) create mode 100644 haiku-apps/caya-gpl-protocols/caya-gpl-protocols-0.HEAD.bep create mode 100644 haiku-apps/caya-gpl-protocols/patches/caya-gpl-protocols-0.HEAD.patch diff --git a/haiku-apps/caya-gpl-protocols/caya-gpl-protocols-0.HEAD.bep b/haiku-apps/caya-gpl-protocols/caya-gpl-protocols-0.HEAD.bep new file mode 100644 index 000000000..23957917f --- /dev/null +++ b/haiku-apps/caya-gpl-protocols/caya-gpl-protocols-0.HEAD.bep @@ -0,0 +1,30 @@ +DESCRIPTION="GPL Plugins for Caya, protocols MSN and XMPP" +HOMEPAGE="http://dev.osdrawer.net/projects/caya-gpl-protocols" +SRC_URI="svn+http://svn.osdrawer.net/caya-gpl-protocols/trunk" +REVISION="1" +STATUS_HAIKU="stable" +DEPEND="caya" +#CHECKSUM_MD5="" +MESSAGE="This port only builds with gcc4." +BUILD { + cd caya-gpl-protocols-0.HEAD + ./configure + jam +} + +INSTALL { + cd caya-gpl-protocols-0.HEAD + mkdir -p ${DESTDIR}/`finddir B_APPS_DIRECTORY`/Caya/protocols + PLATFORM=`setgcc|tr / -|cut -f3 -d' '` + cp generated/distro-haiku-$PLATFORM-debug/msn ${DESTDIR}/`finddir B_APPS_DIRECTORY`/Caya/protocols + cp generated/distro-haiku-$PLATFORM-debug/gtalk ${DESTDIR}/`finddir B_APPS_DIRECTORY`/Caya/protocols + cp generated/distro-haiku-$PLATFORM-debug/facebook ${DESTDIR}/`finddir B_APPS_DIRECTORY`/Caya/protocols + cp generated/distro-haiku-$PLATFORM-debug/jabber ${DESTDIR}/`finddir B_APPS_DIRECTORY`/Caya/protocols + cp generated/distro-haiku-$PLATFORM-debug/yahoo ${DESTDIR}/`finddir B_APPS_DIRECTORY`/Caya/protocols +} + +LICENSE="GNU GPL v2" +COPYRIGHT="2010-2011 Casalinuovo Dario + 2009-2011 Pierluigi Fiorini + 2010-2011 Oliver Ruiz Dorantes" + diff --git a/haiku-apps/caya-gpl-protocols/patches/caya-gpl-protocols-0.HEAD.patch b/haiku-apps/caya-gpl-protocols/patches/caya-gpl-protocols-0.HEAD.patch new file mode 100644 index 000000000..a45bd230b --- /dev/null +++ b/haiku-apps/caya-gpl-protocols/patches/caya-gpl-protocols-0.HEAD.patch @@ -0,0 +1,214 @@ +Index: libs/libmsn/msnobject.cpp +=================================================================== +--- libs/libmsn/msnobject.cpp (revision 36) ++++ libs/libmsn/msnobject.cpp (working copy) +@@ -30,7 +30,7 @@ + { + void MSNObject::addMSNObject(std::string filename, int Type) + { +- std::ifstream::pos_type size; ++ std::streampos size; + char * memblock; + SHA_CTX ctx; + unsigned char digest[SHA_DIGEST_LENGTH]; +Index: libs/libmsn/Jamfile +=================================================================== +--- libs/libmsn/Jamfile (revision 36) ++++ libs/libmsn/Jamfile (working copy) +@@ -2,6 +2,7 @@ + + SubDirSysHdrs [ FDirName $(TOP) ] ; + SubDirSysHdrs [ FDirName $(TOP) libs ] ; ++SubDirSysHdrs [ FDirName $(TOP) libs libmsn ] ; + + SubDirSysHdrs [ FDirName $(OPENSSL_INCLUDE_DIR) ] ; + +Index: libs/libmsn/connection.h +=================================================================== +--- libs/libmsn/connection.h (revision 36) ++++ libs/libmsn/connection.h (working copy) +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + #ifdef _MSC_VER + #pragma warning( disable : 4290 ) +Index: libs/libmsn/util.cpp +=================================================================== +--- libs/libmsn/util.cpp (revision 36) ++++ libs/libmsn/util.cpp (working copy) +@@ -146,8 +146,8 @@ + it1 != s1.end() && it2 != s2.end(); + ++it1, ++it2) + { +- if (std::toupper(*it1) != std::toupper(*it2)) +- return std::toupper(*it1) - std::toupper(*it2); ++ if (toupper(*it1) != toupper(*it2)) ++ return toupper(*it1) - toupper(*it2); + } + size_t size1 = s1.size(), size2 = s2.size(); + return (int) (size1 - size2); +@@ -358,11 +358,11 @@ + int FileSize(const char* sFileName) + { + std::ifstream f; +- f.open(sFileName, std::ios_base::binary | std::ios_base::in); ++ f.open(sFileName, std::ios::binary | std::ios::in); + if (!f.good() || f.eof() || !f.is_open()) { return 0; } +- f.seekg(0, std::ios_base::beg); +- std::ifstream::pos_type begin_pos = f.tellg(); +- f.seekg(0, std::ios_base::end); ++ f.seekg(0, std::ios::beg); ++ std::streampos begin_pos = f.tellg(); ++ f.seekg(0, std::ios::end); + return static_cast(f.tellg() - begin_pos); + } + +Index: libs/libmsn/message.cpp +=================================================================== +--- libs/libmsn/message.cpp (revision 36) ++++ libs/libmsn/message.cpp (working copy) +@@ -124,7 +124,7 @@ + { + std::string color = this->getFormatInfo()["CO"]; + assert(color.size() <= 6 && color.size() >= 0); +- color.insert(0U, 6 - color.size(), '0'); ++ color.insert((size_t)0, (size_t)(6 - color.size()), '0'); + int r = 0, g = 0, b = 0; + + b = strtol(color.substr(0, 2).c_str(), NULL, 16); +@@ -167,7 +167,7 @@ + + void Message::setColor(std::string color) + { +- color.insert(0U, 6 - color.size(), '0'); ++ color.insert((size_t)0, (size_t)(6 - color.size()), '0'); + int r = 0, g = 0, b = 0; + + r = strtol(color.substr(0, 2).c_str(), NULL, 16); +Index: libs/libyahoo2/yahoo_httplib.c +=================================================================== +--- libs/libyahoo2/yahoo_httplib.c (revision 36) ++++ libs/libyahoo2/yahoo_httplib.c (working copy) +@@ -29,19 +29,7 @@ + #include + #include + +-#if STDC_HEADERS + # include +-#else +-# if !HAVE_STRCHR +-# define strchr index +-# define strrchr rindex +-# endif +-char *strchr(), *strrchr(); +-# if !HAVE_MEMCPY +-# define memcpy(d, s, n) bcopy ((s), (d), (n)) +-# define memmove(d, s, n) bcopy ((s), (d), (n)) +-# endif +-#endif + + #include + #if HAVE_UNISTD_H +@@ -374,7 +362,6 @@ + void yahoo_http_head(int id, const char *url, const char *cookies, int len, + char *payload, yahoo_get_fd_callback callback, void *data) + { +- printf("yahoo_http_read\n"); + char host[255]; + int port = 80; + char path[255]; +Index: libs/libgloox/parser.cpp +=================================================================== +--- libs/libgloox/parser.cpp (revision 36) ++++ libs/libgloox/parser.cpp (working copy) +@@ -141,7 +141,7 @@ + { + if( pos + needle.length() <= data.length() ) + { +- if( !data.compare( pos, needle.length(), needle ) ) ++ if( !data.compare(pos, needle.length(), needle ) ) + { + pos += needle.length() - 1; + return ForwardFound; +Index: libs/libgloox/siprofileft.cpp +=================================================================== +--- libs/libgloox/siprofileft.cpp (revision 36) ++++ libs/libgloox/siprofileft.cpp (working copy) +@@ -84,11 +84,11 @@ + DataFormField* dff = df.addField( DataFormField::TypeListSingle, "stream-method" ); + StringMultiMap sm; + if( streamTypes & FTTypeS5B ) +- sm.insert( std::make_pair( "s5b", XMLNS_BYTESTREAMS ) ); ++ sm.insert( std::make_pair( "s5b", XMLNS_BYTESTREAMS ) ); + if( streamTypes & FTTypeIBB ) +- sm.insert( std::make_pair( "ibb", XMLNS_IBB ) ); ++ sm.insert( std::make_pair( "ibb", XMLNS_IBB ) ); + if( streamTypes & FTTypeOOB ) +- sm.insert( std::make_pair( "oob", XMLNS_IQ_OOB ) ); ++ sm.insert( std::make_pair( "oob", XMLNS_IQ_OOB ) ); + dff->setOptions( sm ); + feature->addChild( df.tag() ); + +Index: libs/libgloox/connectionbosh.cpp +=================================================================== +--- libs/libgloox/connectionbosh.cpp (revision 36) ++++ libs/libgloox/connectionbosh.cpp (working copy) +@@ -303,7 +303,7 @@ + + bool ci_equal( char ch1, char ch2 ) + { +- return std::toupper( (unsigned char)ch1 ) == std::toupper( (unsigned char)ch2 ); ++ return toupper( (unsigned char)ch1 ) == toupper( (unsigned char)ch2 ); + } + + std::string::size_type ci_find( const std::string& str1, const std::string& str2 ) +Index: libs/libgloox/gloox.h +=================================================================== +--- libs/libgloox/gloox.h (revision 36) ++++ libs/libgloox/gloox.h (working copy) +@@ -1214,7 +1214,7 @@ + /** + * A multimap of strings. + */ +- typedef std::multimap StringMultiMap; ++ typedef std::multimap StringMultiMap; + + class StanzaExtension; + /** +Index: protocols/msn/MSN.cpp +=================================================================== +--- protocols/msn/MSN.cpp (revision 36) ++++ protocols/msn/MSN.cpp (working copy) +@@ -52,7 +52,7 @@ + const uint32 kAvatarCheckMessage = 'AVMs'; + + struct pollfd* kPollSockets = NULL; +-struct ssl { ++struct Ssl { + bool isSSL; + bool isConnected; + SSL *ssl; +@@ -718,7 +718,7 @@ + return; + } + +- kSocketsSsl = (struct ssl*) realloc(kSocketsSsl, (kSocketsAvailable + 10) * sizeof(struct ssl)); ++ kSocketsSsl = (struct Ssl*) realloc(kSocketsSsl, (kSocketsAvailable + 10) * sizeof(struct Ssl)); + if (kSocketsSsl == NULL) { + Error("Memory Error!!\n", NULL); + return; +Index: protocols/xmpp/Jamfile +=================================================================== +--- protocols/xmpp/Jamfile (revision 36) ++++ protocols/xmpp/Jamfile (working copy) +@@ -2,6 +2,7 @@ + + SubDirSysHdrs [ FDirName $(TOP) ] ; + SubDirSysHdrs [ FDirName $(TOP) libs ] ; ++SubDirSysHdrs [ FDirName $(TOP) libs libgloox ] ; + SubDirSysHdrs [ FDirName $(OPENSSL_INCLUDE_DIR) ] ; + SubDirSysHdrs [ FDirName $(CAYA_INCLUDE_DIR) ] ; +