summaryrefslogtreecommitdiff
path: root/community/kmess
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
committerroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
commit7a65a910b77ad191d69881098c47f9b0c852d92e (patch)
tree9564e611af1442f8952a8cbddb3b0ad25ed71aab /community/kmess
parent60da6abff6c9577a783d72865f11de7a585e912e (diff)
Tue Aug 13 01:31:08 PDT 2013
Diffstat (limited to 'community/kmess')
-rw-r--r--community/kmess/PKGBUILD44
-rw-r--r--community/kmess/giflib-5.0.patch85
-rw-r--r--community/kmess/kmess.install11
3 files changed, 140 insertions, 0 deletions
diff --git a/community/kmess/PKGBUILD b/community/kmess/PKGBUILD
new file mode 100644
index 000000000..ec205977f
--- /dev/null
+++ b/community/kmess/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 94926 2013-08-01 07:01:20Z bpiotrowski $
+# Maintainer:
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Stefano Zamprogno <stefano.zamprogno@gmail.com>
+
+pkgname=kmess
+pkgver=2.0.6.2
+pkgrel=3
+pkgdesc="A MSN Messenger client for Linux"
+arch=('i686' 'x86_64')
+url='http://kmess.sourceforge.net/'
+license=('GPL')
+depends=('kdebase-lib')
+makedepends=('automoc4' 'cmake' 'optipng')
+optdepends=('cabextract: provides winks support')
+install=${pkgname}.install
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-$pkgver.tar.bz2"
+ giflib-5.0.patch)
+md5sums=('a2e57911713308bef81b9347135cc5dd'
+ '97734b073bf4a45ed3612d7626541cee')
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix invalid PNG images to work with libpng 1.6
+ find -name '*.png' -exec optipng -quiet -force -fix {} +
+
+ patch -Np1 -i ../giflib-5.0.patch
+}
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/community/kmess/giflib-5.0.patch b/community/kmess/giflib-5.0.patch
new file mode 100644
index 000000000..9b959b175
--- /dev/null
+++ b/community/kmess/giflib-5.0.patch
@@ -0,0 +1,85 @@
+diff -rupN a/contrib/isf-qt/src/isfqt.cpp b/contrib/isf-qt/src/isfqt.cpp
+--- a/contrib/isf-qt/src/isfqt.cpp 2012-02-18 16:28:01.000000000 +0000
++++ b/contrib/isf-qt/src/isfqt.cpp 2013-07-30 20:51:06.705394145 +0000
+@@ -484,12 +484,13 @@ QByteArray Stream::writerGif( const Draw
+ int width = isfImage.width();
+ int numColors = 0;
+ bool gifError = true;
++ int gifErrCode;
+
+ // Convert the image to GIF using libgif
+
+ // Open the gif file
+ gifData.open( QIODevice::WriteOnly );
+- gifImage = EGifOpen( (void*)&gifData, GifWriteToByteArray );
++ gifImage = EGifOpen( (void*)&gifData, GifWriteToByteArray, &gifErrCode );
+ if( gifImage == 0 )
+ {
+ qWarning() << "Couldn't initialize gif library!";
+@@ -503,7 +504,7 @@ QByteArray Stream::writerGif( const Draw
+ numColors = 256;
+ }
+
+- cmap = MakeMapObject( numColors, NULL );
++ cmap = GifMakeMapObject( numColors, NULL );
+ if( cmap == 0 && isfImage.numColors() > 1 )
+ {
+ qWarning() << "Couldn't create map object for gif conversion (colors:" << isfImage.numColors() << ")!";
+@@ -576,7 +577,7 @@ QByteArray Stream::writerGif( const Draw
+ else
+ {
+ // Write the extension
+- if( EGifPutExtensionFirst( gifImage, COMMENT_EXT_FUNC_CODE, MAX_GIF_BYTE, isfData.left( MAX_GIF_BYTE ).data() ) == GIF_ERROR )
++ if( EGifPutExtensionLeader( gifImage, COMMENT_EXT_FUNC_CODE) == GIF_ERROR )
+ {
+ qWarning() << "EGifPutExtensionFirst failed!";
+ goto writeError;
+@@ -590,9 +591,9 @@ QByteArray Stream::writerGif( const Draw
+ // Write all the full data blocks
+ while( length >= MAX_GIF_BYTE )
+ {
+- if( EGifPutExtensionNext( gifImage, 0, MAX_GIF_BYTE, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
++ if( EGifPutExtensionBlock( gifImage, MAX_GIF_BYTE, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
+ {
+- qWarning() << "EGifPutExtensionNext failed!";
++ qWarning() << "EGifPutExtensionBlock failed!";
+ goto writeError;
+ }
+
+@@ -603,17 +604,17 @@ QByteArray Stream::writerGif( const Draw
+ // Write the last block
+ if( length > 0 )
+ {
+- if( EGifPutExtensionLast( gifImage, 0, length, isfData.mid( pos, MAX_GIF_BYTE ).data() ) == GIF_ERROR )
++ if( EGifPutExtensionTrailer( gifImage ) == GIF_ERROR )
+ {
+- qWarning() << "EGifPutExtensionLast (n) failed!";
++ qWarning() << "EGifPutExtensionTrailer (n) failed!";
+ goto writeError;
+ }
+ }
+ else
+ {
+- if( EGifPutExtensionLast( gifImage, 0, 0, 0 ) == GIF_ERROR )
++ if( EGifPutExtensionTrailer( gifImage ) == GIF_ERROR )
+ {
+- qWarning() << "EGifPutExtensionLast (0) failed!";
++ qWarning() << "EGifPutExtensionTrailer (0) failed!";
+ goto writeError;
+ }
+ }
+@@ -624,12 +625,12 @@ QByteArray Stream::writerGif( const Draw
+ writeError:
+ // Clean up the GIF converter etc
+ EGifCloseFile( gifImage );
+- FreeMapObject( cmap );
++ GifFreeMapObject( cmap );
+ gifData.close();
+
+ if( gifError )
+ {
+- qWarning() << "GIF error code:" << GifLastError();
++ qWarning() << "GIF error code:" << GifErrorString(gifErrCode);
+ }
+ else
+ {
diff --git a/community/kmess/kmess.install b/community/kmess/kmess.install
new file mode 100644
index 000000000..c0797237a
--- /dev/null
+++ b/community/kmess/kmess.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}