qutIM: more fixes to the recipe and the patch

* disabble mobile plugins, those are not needed.
* correctly set QUTIM_SHARE_DIR on Haiku so that qutIM can find its icons. This also fixes crashes in some plugins.
* clean up patch.

TODO: some icons are still missing. Statistics gatherer window always shows on start-up.
This commit is contained in:
Sergei Reznikov
2015-09-03 08:26:32 +03:00
parent 3bd3d838e7
commit 2544d64f77
3 changed files with 87 additions and 63 deletions

View File

@@ -1,50 +1,4 @@
From bb855e1ee635a190b919da43993901f8d6108309 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
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 e8c5834e624b82b5f4a8282104cc5ac2852d5631 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Wed, 2 Sep 2015 19:17:52 +0300
Subject: haikunotifications: show icon from the binary
@@ -67,15 +21,6 @@ index f6a570d..4d28b77 100644
#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<BString>(request.title().toLocal8Bit()));
@@ -97,3 +42,56 @@ index f6a570d..4d28b77 100644
--
2.2.2
From 37cc118cf0beb8e3134d3abe26ce06d868dba46a Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Wed, 2 Sep 2015 21:21:44 +0300
Subject: systeminfo: correctly set QUTIM_SHARE_DIR on Haiku
diff --git a/core/libqutim/systeminfo.cpp b/core/libqutim/systeminfo.cpp
index 0ea79ad..54e85ed 100644
--- a/core/libqutim/systeminfo.cpp
+++ b/core/libqutim/systeminfo.cpp
@@ -296,8 +296,15 @@ void init(SystemInfoPrivate *d)
d->dirs[SystemInfo::HistoryDir] = QDir::homePath() % QLatin1Literal("/.qutim/profiles/default/history");
d->dirs[SystemInfo::ShareDir] = QDir::homePath() % QLatin1Literal("/.qutim/share");
#if defined(QUTIM_SHARE_DIR)
+
+#ifdef Q_OS_HAIKU
+ d->dirs[SystemInfo::SystemConfigDir] = QString(QUTIM_SHARE_DIR) % QLatin1Literal("/config");
+ d->dirs[SystemInfo::SystemShareDir] = QString(QUTIM_SHARE_DIR);
+#else
d->dirs[SystemInfo::SystemConfigDir] = qApp->applicationDirPath() % QLatin1Literal("/../") % QLatin1Literal(QUTIM_SHARE_DIR) % QLatin1Literal("/config");
d->dirs[SystemInfo::SystemShareDir] = qApp->applicationDirPath() % QLatin1Literal("/../") % QLatin1Literal(QUTIM_SHARE_DIR);
+#endif
+
#else
# error QUTIM_SHARE_DIR undefined!
#endif
--
2.2.2
From e18e89cef444259ad70a905e6ce02a7696d289be Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Wed, 2 Sep 2015 21:57:10 +0300
Subject: iconsloaderimpl: use qutim-default on Haiku
diff --git a/core/src/corelayers/qticons/iconsloaderimpl.cpp b/core/src/corelayers/qticons/iconsloaderimpl.cpp
index e58639c..1ad20ad 100644
--- a/core/src/corelayers/qticons/iconsloaderimpl.cpp
+++ b/core/src/corelayers/qticons/iconsloaderimpl.cpp
@@ -31,7 +31,7 @@
#include <QFormLayout>
#include <qutim/icon.h>
-#if defined(Q_OS_MAC) || defined(Q_OS_WIN)
+#if defined(Q_OS_MAC) || defined(Q_OS_WIN) || defined(Q_OS_HAIKU)
# define QUTIM_DEFAULT_ICON_THEME "qutim-default"
#else
# define QUTIM_DEFAULT_ICON_THEME ""
--
2.2.2

View File

@@ -0,0 +1,22 @@
From d40ce74366293170c80e40d06b0d47d7504d6888 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Wed, 2 Sep 2015 22:09:11 +0300
Subject: xdgenvironment: define XdgEnvironment::dataDirs for Haiku
diff --git a/src/xdgenvironment.cpp b/src/xdgenvironment.cpp
index 6bf283d..0e082ff 100644
--- a/src/xdgenvironment.cpp
+++ b/src/xdgenvironment.cpp
@@ -104,7 +104,7 @@ QDir XdgEnvironment::configHome()
*/
QList<QDir> XdgEnvironment::dataDirs()
{
-#if defined(Q_WS_WIN) || defined (Q_WS_MAC)
+#if defined(Q_WS_WIN) || defined (Q_WS_MAC) || defined (Q_WS_HAIKU)
QList<QDir> list;
list.append(QDir(QCoreApplication::applicationDirPath()));
return list;
--
2.2.2

View File

@@ -30,7 +30,9 @@ REQUIRES="
haiku${secondaryArchSuffix}
libqt4${secondaryArchSuffix} >= 4.8
lib:libaspell$secondaryArchSuffix
# lib:libattica$secondaryArchSuffix
lib:libgsasl$secondaryArchSuffix
# lib:libpurple$secondaryArchSuffix
lib:libqca$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
@@ -54,6 +56,7 @@ BUILD_PREREQUIRES="
"
PATCHES="qutim_x86-0.3.3.patchset"
PATCHES_3="xdg.patchset"
BUILD()
{
@@ -74,15 +77,16 @@ BUILD()
-DDBUSAPI=off \
-DDBUSNOTIFICATIONS=off \
-DNOWPLAYING=off \
-DMOBILEABOUT=off \
-DMOBILECONTACTINFO=off \
-DMOBILENOTIFICATIONSSETTINGS=off \
-DMOBILESETTINGSDIALOG=off \
-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
-DQUTIM_SHARE_DIR=$appsDir/qutIM/data
make $jobArgs
}
INSTALL()
@@ -90,13 +94,13 @@ INSTALL()
cd ../qutim-build
make install
mv $appsDir/qutIM/lib/qutim/plugins $appsDir/qutIM
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}
rm -rf $appsDir/qutIM/bin
addResourcesToBinaries $portDir/additional-files/qutim.rdef $appsDir/qutIM/qutIM
addAppDeskbarSymlink $appsDir/qutIM/qutIM
}