From 3bd3d838e75a0286395e8c9fab94eb9adcd581e2 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Wed, 2 Sep 2015 19:23:26 +0300 Subject: [PATCH] qutIM: more fixes and patches * Show qutIM icon in notifications * Directory structure adjusted * Add resource file * Add libqca to requires TODO: fix icon loading and empty settings window... --- net-im/qutim/additional-files/qutim.rdef | 49 +++++++++ net-im/qutim/patches/qutim_x86-0.3.3.patchset | 99 +++++++++++++++++++ net-im/qutim/qutim-0.3.3.recipe | 24 ++++- 3 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 net-im/qutim/additional-files/qutim.rdef create mode 100644 net-im/qutim/patches/qutim_x86-0.3.3.patchset diff --git a/net-im/qutim/additional-files/qutim.rdef b/net-im/qutim/additional-files/qutim.rdef new file mode 100644 index 000000000..e8c0cfe94 --- /dev/null +++ b/net-im/qutim/additional-files/qutim.rdef @@ -0,0 +1,49 @@ + +resource app_signature "application/x-vnd.qutIM"; + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = 0, + middle = 3, + minor = 3, + + variety = B_APPV_DEVELOPMENT, + internal = 0, + + short_info = "QutIM 0.3.3", + long_info = "Qt4-based multi-protocol instant messenger" +}; + +resource vector_icon array { + $"6E63696604020006053DCCA338951EB8951E3DCCA348A47A4985C20070757F4D" + $"D6DADF53838289C4434343FFDDDDDD0201160338E60CB8EA24391EDC391A7949" + $"E0F44A7B8400FFB5D3FFF6020006033DD2E13D9828BD98283DD2E1C250A34B3F" + $"7000FFFFFF5927BAF2FF0053CC050003022ABFE1B9D6BFE1B9D6BFECBAF9BF00" + $"B9B6BEC3BB06BF45B834BD5F2ABE4DB787BF41B98ABC1FBCD5BD01B98BBBD3BD" + $"F2BC03C014BB96BF19BC21C05DBC6DC10BBC75C0B4BC66C165BC10C1F9BC36C1" + $"AABBD8C272BB39C34DBB6BC2E0BB1EC389BB92C3D3BB61C3B6BBDBC3FFBC6BC4" + $"5CBC41C40CBC88C495BC68C507BC81C4D0BC50C539BC6FC5A6BC3FC585BC93C5" + $"BFBCDCC5F8BCC3C5CEBCF3C622BD0EC673BCE8C653BD4DC6A9BDE4C714BDB4C6" + $"A4BDF9C748BE26C7B6BE09C782BE52C804BF25C813BECFC81CBF81C809C01FC7" + $"D1BFC5C7ECC105C786C2AAC69FC1DCC725C359C62EC45CC58EC3C0C5EDC4CDC5" + $"4BC5EDC540C56FC562C687C517C7B1C467C742C4D6C824C3F0C878C2B8C853C3" + $"92C846C2FFC743C3CFC7C5C3A2C6B7C3FEC65AC3A8C684C3E5C636C375C62FC2" + $"F3C62DC332C682C1D6C8DEC1EAC7EBC24CCA98C137CB19BE60CAFEBF9FCB28BD" + $"B2CC58BBDDCB3BBD3DCAF5BC7BCA10BDC6CA62BD0DC9C3BE74C83DBE96C8D0BF" + $"40C785BDBCCA51BC4BC922BC99CB43BC0DCC54BA21CC23BB12CCCEB6E0CC72B3" + $"05CB51B56CC916B5BAC9CCB971CBF2B735C893BAB7C7C3B8F3C747BA0AC814B8" + $"41C914B710C8D4B8ADC862B81CC57CB91AC621B768C45CBC11C55CB7CDC2CEB9" + $"38C66FB733C9AAB31FC908B764C867B5A6C2D0B656C54DB540C186B6E7BFE1B9" + $"D6BFD3B838BFE1B9D6020A4BB3054BB305C401B306C3C1B31BC3DFB30DC3C1B3" + $"1BB390BA75B390BA75B314BAADB315BBBBB2DDBB40B315BBBBBA6FCBEEBA6FCB" + $"EEBAA8CC6ABBB6CC68BB39CCA2BBB6CC68CBE8C50DCBE8C50DCC65C4D5CC63C3" + $"C7CC9BC443CC63C3C7C507B395C507B395C4DDB3384BB305C481B3024BB3050A" + $"04CAD3C3EBBB91CAD8B4A4BB98C3E6B4AA050A030100123FC488000000000000" + $"3FA7CC41C4BC43AEE401178000040A030101123FC4880000000000003FA7CC41" + $"C4BC43AEE401178400040A000101023FC4880000000000003FA7CC41C4BC43AE" + $"E40A010102023FC4880000000000003FA7CC41C4BC43AEE40A020100023FC488" + $"0000000000003FA7CC41C4BC43AEE4" +}; + +resource file_types message; diff --git a/net-im/qutim/patches/qutim_x86-0.3.3.patchset b/net-im/qutim/patches/qutim_x86-0.3.3.patchset new file mode 100644 index 000000000..1da43c04e --- /dev/null +++ b/net-im/qutim/patches/qutim_x86-0.3.3.patchset @@ -0,0 +1,99 @@ +From bb855e1ee635a190b919da43993901f8d6108309 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Mon, 31 Aug 2015 14:18:34 +0300 +Subject: Haiku: disable adding an icon to a binary + +Build fails with this rule if QUTIM_BINARY_DIR is defined with this error: +Error: Failed to open input file +"/packages/qutim_x86-0.3.3-1/.self/apps/qutIM/qutim.rsrc": No such file or directory + +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 237d407..dde5eb5 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -334,28 +334,6 @@ IF(APPLE AND QUTIM_BUNDLE_LOCATION) + + ENDIF(APPLE AND QUTIM_BUNDLE_LOCATION) + +-if(HAIKU) +- find_program( HAIKU_RC_COMPILER xres ) +- if( NOT HAIKU_RC_COMPILER ) +- message("No RC compiler (Haiku's xres) found.") +- return() +- endif() +- +- find_program( HAIKU_MIMESET mimeset ) +- if( NOT HAIKU_MIMESET ) +- message("Haiku's mimeset is not found.") +- return() +- endif() +- +- add_custom_command(TARGET qutim POST_BUILD +- COMMAND ${HAIKU_RC_COMPILER} ARGS +- "-o" ${QUTIM_BINARY_DIR}/qutim +- ${QUTIM_BINARY_DIR}/qutim.rsrc +- COMMAND ${HAIKU_MIMESET} ARGS +- "-f" ${QUTIM_BINARY_DIR}/qutim +- ) +-endif(HAIKU) +- + if(LANGUAGE) + LANGUAGE_UPDATE( core ${LANGUAGE} "${CMAKE_CURRENT_SOURCE_DIR}" ) + endif( LANGUAGE ) +-- +2.2.2 + + +From 01a16aeb9e8e69b5640d7e3695483c6f6a59a34d Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Wed, 2 Sep 2015 19:17:52 +0300 +Subject: haikunotifications: show icon from the binary + + +diff --git a/plugins/haikunotifications/src/haikunotificationsbackend.cpp b/plugins/haikunotifications/src/haikunotificationsbackend.cpp +index f6a570d..4d28b77 100644 +--- a/plugins/haikunotifications/src/haikunotificationsbackend.cpp ++++ b/plugins/haikunotifications/src/haikunotificationsbackend.cpp +@@ -31,10 +31,12 @@ + #include + + #ifdef Q_OS_HAIKU ++#include + #include + #include + #include + #include ++#include + #endif + + using namespace qutim_sdk_0_3; +@@ -48,7 +50,7 @@ HaikuNotificationsBackend::HaikuNotificationsBackend() : + + + void HaikuNotificationsBackend::handleNotification(qutim_sdk_0_3::Notification *notification) +-{ ++{ + //ref(notification); + NotificationRequest request = notification->request(); + QString text = request.text(); +@@ -56,10 +58,13 @@ void HaikuNotificationsBackend::handleNotification(qutim_sdk_0_3::Notification * + BNotification notify(B_INFORMATION_NOTIFICATION); + notify.SetTitle(static_cast(request.title().toLocal8Bit())); + notify.SetContent(static_cast(text.toLocal8Bit())); +- if(!request.image().isNull()) { +- BBitmap *bitmap = request.image().toHaikuBitmap(); +- notify.SetIcon(bitmap); +- } ++ ++ app_info info; ++ be_app->GetAppInfo(&info); ++ BBitmap icon(BRect(0, 0, 32, 32), B_RGBA32); ++ BNode node(&info.ref); ++ BIconUtils::GetVectorIcon(&node, "BEOS:ICON", &icon); ++ notify.SetIcon(&icon); + + notify.Send(); + } +-- +2.2.2 + diff --git a/net-im/qutim/qutim-0.3.3.recipe b/net-im/qutim/qutim-0.3.3.recipe index 98b177f5a..a86b4f118 100644 --- a/net-im/qutim/qutim-0.3.3.recipe +++ b/net-im/qutim/qutim-0.3.3.recipe @@ -31,6 +31,7 @@ REQUIRES=" libqt4${secondaryArchSuffix} >= 4.8 lib:libaspell$secondaryArchSuffix lib:libgsasl$secondaryArchSuffix + lib:libqca$secondaryArchSuffix lib:libz$secondaryArchSuffix " BUILD_REQUIRES=" @@ -52,6 +53,8 @@ BUILD_PREREQUIRES=" cmd:pkg_config${secondaryArchSuffix} " +PATCHES="qutim_x86-0.3.3.patchset" + BUILD() { # prepare the directory structure @@ -63,6 +66,7 @@ BUILD() mkdir -p ../qutim-build cd ../qutim-build + cmake ../qutim-0.3.3 \ -DVREEN=0 \ -DVKONTAKTE=0 \ @@ -70,15 +74,29 @@ BUILD() -DDBUSAPI=off \ -DDBUSNOTIFICATIONS=off \ -DNOWPLAYING=off \ - -DCMAKE_INSTALL_PREFIX=$appsDir/qutIM -# -DDATA_INSTALL_DIR=$appsDir/qutIM/data \ -# -DQUTIM_SHARE_DIR_DEF=$appsDir/qutIM/data + -DCMAKE_INSTALL_PREFIX=$appsDir/qutIM \ + -DDATA_INSTALL_DIR=$appsDir/qutIM/data \ + -DQUTIM_SHARE_DIR_DEF=$appsDir/qutIM/data \ + -DQUTIM_SHARE_DIR=$appsDir/qutIM/data \ + -DQUTIM_BINARY_DIR=$appsDir/qutIM \ + -DQUTIM_PLUGINS_DEST=$appsDir/qutIM + make $jobArgs + } INSTALL() { cd ../qutim-build make install + + mv $appsDir/qutIM/bin/qutim $appsDir/qutIM/qutIM + rm -rf $appsDir/qutIM/bin + + addResourcesToBinaries $portDir/additional-files/qutim.rdef $appsDir/qutIM/qutIM + + rm -rf $appsDir/qutIM/{include,libqutim,share} + rm -rf $appsDir/qutIM/lib/{pkgconfig,qutim} + addAppDeskbarSymlink $appsDir/qutIM/qutIM }