forked from mirrors/nixpkgs
KDE-4.10: Kopete: fix build against giflib5
This commit is contained in:
parent
4d33a94fae
commit
c5005bfe11
70
pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch
Normal file
70
pkgs/desktops/kde-4.10/kdenetwork/kopete-giflib5.patch
Normal file
|
@ -0,0 +1,70 @@
|
|||
Index: b/kopete/protocols/wlm/wlmchatsession.cpp
|
||||
===================================================================
|
||||
--- a/kopete/protocols/wlm/wlmchatsession.cpp
|
||||
+++ b/kopete/protocols/wlm/wlmchatsession.cpp
|
||||
@@ -63,10 +63,14 @@
|
||||
#include "wlmprotocol.h"
|
||||
#include "wlmaccount.h"
|
||||
#include "wlmchatsessioninkaction.h"
|
||||
#ifdef HAVE_GIFLIB
|
||||
#include <gif_lib.h>
|
||||
+/* old giflib has no GIFLIB_MAJOR, define to avoid cpp warnings */
|
||||
+#ifndef GIFLIB_MAJOR
|
||||
+#define GIFLIB_MAJOR 4
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
WlmChatSession::WlmChatSession (Kopete::Protocol * protocol,
|
||||
const Kopete::Contact * user,
|
||||
Kopete::ContactPtrList others,
|
||||
@@ -465,15 +469,19 @@ WlmChatSession::slotInviteContact (Kopet
|
||||
static void
|
||||
printGifErrorMessage()
|
||||
{
|
||||
#ifdef HAVE_GIFLIB
|
||||
#ifdef HAVE_GIF_ERROR_STRING // giflib 4.2.0+
|
||||
+#if GIFLIB_MAJOR >= 5
|
||||
+ fprintf(stderr, "GIF-LIB error (exact reporting not implemented)\n");
|
||||
+#else
|
||||
const char * errorString = GifErrorString();
|
||||
if (errorString)
|
||||
fprintf(stderr, "GIF-LIB error: %s\n", errorString);
|
||||
else
|
||||
fprintf(stderr, "GIF-LIB undefined error: %d\n", GifError());
|
||||
+#endif
|
||||
#else // older giflib versions, libungif
|
||||
PrintGifError();
|
||||
#endif // HAVE_GIF_ERROR_STRING
|
||||
#endif // HAVE_GIFLIB
|
||||
}
|
||||
@@ -481,10 +489,14 @@ printGifErrorMessage()
|
||||
/* stolen from kpaint write_to_gif() */
|
||||
void
|
||||
WlmChatSession::convertToGif( const QPixmap & ink, QString filename)
|
||||
{
|
||||
#ifdef HAVE_GIFLIB
|
||||
+#if GIFLIB_MAJOR >= 5
|
||||
+#define FreeMapObject GifFreeMapObject
|
||||
+#define MakeMapObject GifMakeMapObject
|
||||
+#endif
|
||||
int i, status;
|
||||
GifFileType *GifFile;
|
||||
ColorMapObject *screenColourmap;
|
||||
ColorMapObject *imageColourmap;
|
||||
QImage img = ink.toImage().convertToFormat(QImage::Format_Indexed8);
|
||||
@@ -523,11 +535,15 @@ WlmChatSession::convertToGif( const QPix
|
||||
screenColourmap->Colors[i].Green= 0;
|
||||
screenColourmap->Colors[i].Blue= 0;
|
||||
}
|
||||
}
|
||||
|
||||
+#if GIFLIB_MAJOR >= 5
|
||||
+ GifFile= EGifOpenFileName(QFile::encodeName(filename).constData(), 0, NULL);
|
||||
+#else
|
||||
GifFile= EGifOpenFileName(QFile::encodeName(filename).constData(), 0);
|
||||
+#endif
|
||||
if (!GifFile) {
|
||||
FreeMapObject(imageColourmap);
|
||||
FreeMapObject(screenColourmap);
|
||||
return;
|
||||
}
|
|
@ -20,6 +20,7 @@ kde {
|
|||
cp -v ${./FindmsiLBC.cmake} kopete/cmake/modules/FindmsiLBC.cmake
|
||||
patch -p1 < ${./kopete-4.10.4-kopete-linphonemediaengine.patch}
|
||||
patch -p1 < ${./kopete-4.10.4-kopete-stun.patch}
|
||||
patch -p1 < ${./kopete-giflib5.patch}
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
|
||||
|
|
Loading…
Reference in a new issue