diff --git a/net-im/psi_plus/patches/psi_plus-1.2.105.patchset b/net-im/psi_plus/patches/psi_plus-1.2.171.patchset_ similarity index 100% rename from net-im/psi_plus/patches/psi_plus-1.2.105.patchset rename to net-im/psi_plus/patches/psi_plus-1.2.171.patchset_ diff --git a/net-im/psi_plus/patches/psi_plus_x86-0.16.475.patchset b/net-im/psi_plus/patches/psi_plus_x86-0.16.475.patchset deleted file mode 100644 index 702a17df1..000000000 --- a/net-im/psi_plus/patches/psi_plus_x86-0.16.475.patchset +++ /dev/null @@ -1,594 +0,0 @@ -From 2ea514fb57b8ecaee7add7fb63a8542b17a403f4 Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Mon, 12 Oct 2015 10:52:30 +0300 -Subject: Haiku fixes - - -diff --git a/iris/src/jdns/src/jdns/jdns_p.h b/iris/src/jdns/src/jdns/jdns_p.h -index 0fe1aa5..70927ff 100644 ---- a/iris/src/jdns/src/jdns/jdns_p.h -+++ b/iris/src/jdns/src/jdns/jdns_p.h -@@ -46,6 +46,8 @@ - # define JDNS_OS_SOLARIS - #elif defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__)) - # define JDNS_OS_MAC -+#elif defined(__HAIKU__) -+# define JDNS_OS_HAIKU - #endif - - #ifdef JDNS_OS_WIN -diff --git a/iris/src/jdns/src/jdns/jdns_sys.c b/iris/src/jdns/src/jdns/jdns_sys.c -index 67d8e70..3b5fbb4 100644 ---- a/iris/src/jdns/src/jdns/jdns_sys.c -+++ b/iris/src/jdns/src/jdns/jdns_sys.c -@@ -726,8 +726,8 @@ static int my_res_init() - // a define, so the #ifdef doesn't work. as a workaround, we'll explicitly - // specify the platforms that have __res_state_ext - //#ifdef __res_state_ext --#if defined(JDNS_OS_MAC) || defined(JDNS_OS_FREEBSD) || \ -- defined(JDNS_OS_NETBSD) || defined (JDNS_OS_SOLARIS) -+#if defined(JDNS_OS_MAC) || defined(JDNS_OS_FREEBSD) || defined(JDNS_OS_NETBSD) \ -+ || defined (JDNS_OS_SOLARIS) || defined (JDNS_OS_HAIKU) - # define USE_EXTEXT - #endif - #if defined(JDNS_OS_OPENBSD) -diff --git a/iris/src/jdns/src/qjdns/qjdns_sock.cpp b/iris/src/jdns/src/qjdns/qjdns_sock.cpp -index 54620bc..044be4e 100644 ---- a/iris/src/jdns/src/qjdns/qjdns_sock.cpp -+++ b/iris/src/jdns/src/qjdns/qjdns_sock.cpp -@@ -46,6 +46,7 @@ - - #ifndef QT_NO_IPV6 - # define HAVE_IPV6 -+#ifndef Q_OS_HAIKU - # ifndef s6_addr - # define IPPROTO_IPV6 41 - struct in6_addr -@@ -59,6 +60,7 @@ - }; - # define s6_addr _S6_un._S6_u8 - # endif -+#endif - # ifndef IPV6_JOIN_GROUP - # define IPV6_JOIN_GROUP 12 - # define IPV6_MULTICAST_HOPS 10 -diff --git a/patches/haiku/4000-fix-psiplus-build-in-haiku.patch b/patches/haiku/4000-fix-psiplus-build-in-haiku.patch -index de84b28..e02cc3b 100644 ---- a/patches/haiku/4000-fix-psiplus-build-in-haiku.patch -+++ b/patches/haiku/4000-fix-psiplus-build-in-haiku.patch -@@ -1,5 +1,5 @@ ----- a/iris/src/jdns/jdns_p.h --+++ b/iris/src/jdns/jdns_p.h -+--- a/iris/src/jdns/src/jdns/jdns_p.h -++++ b/iris/src/jdns/src/jdns/jdns_p.h - @@ -44,6 +44,8 @@ - # define JDNS_OS_SOLARIS - #elif defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__)) -@@ -9,8 +9,8 @@ - #endif - - #ifdef JDNS_OS_WIN ----- a/iris/src/jdns/jdns_sys.c --+++ b/iris/src/jdns/jdns_sys.c -+--- a/iris/src/jdns/src/jdns/jdns_sys.c -++++ b/iris/src/jdns/src/jdns/jdns_sys.c - @@ -726,8 +726,8 @@ static int my_res_init() - // a define, so the #ifdef doesn't work. as a workaround, we'll explicitly - // specify the platforms that have __res_state_ext -@@ -22,8 +22,8 @@ - # define USE_EXTEXT - #endif - ----- a/iris/src/jdns/qjdns_sock.cpp --+++ b/iris/src/jdns/qjdns_sock.cpp -+--- a/iris/src/jdns/src/qjdns/qjdns_sock.cpp -++++ b/iris/src/jdns/src/qjdns/qjdns_sock.cpp - @@ -46,6 +46,7 @@ - - #ifndef QT_NO_IPV6 -diff --git a/src/applicationinfo.cpp b/src/applicationinfo.cpp -index a10ed8c..7962797 100644 ---- a/src/applicationinfo.cpp -+++ b/src/applicationinfo.cpp -@@ -160,7 +160,7 @@ QString ApplicationInfo::resourcesDir() - { - #if defined(HAVE_X11) - return PSI_DATADIR; --#elif defined(Q_OS_WIN) -+#elif defined(Q_OS_WIN) || defined(Q_WS_HAIKU) - return qApp->applicationDirPath(); - #elif defined(Q_OS_MAC) - // FIXME: Clean this up (remko) -@@ -297,6 +297,10 @@ QString ApplicationInfo::homeDir(ApplicationInfo::HomedirType type) - QMessageBox::information(0, QObject::tr("Conversion Error"), QObject::tr("Configuration data for a previous version of Psi was found, but it was not possible to convert it to work with the current version. Ensure you have appropriate permission and that another copy of Psi is not running, and try again.")); - exit(0); - } -+#elif defined Q_OS_HAIKU -+ QDir configDir(QDir::homePath() + "/.config/" + sname()); -+ QDir cacheDir(QDir::homePath() + "/.cache/" + sname()); -+ QDir dataDir(configDir); - #endif - configDir_ = configDir.path(); - cacheDir_ = cacheDir.path(); -diff --git a/src/libpsi/tools/globalshortcut/globalshortcut.pri b/src/libpsi/tools/globalshortcut/globalshortcut.pri -index 0c788ac..3bb2d77 100644 ---- a/src/libpsi/tools/globalshortcut/globalshortcut.pri -+++ b/src/libpsi/tools/globalshortcut/globalshortcut.pri -@@ -2,7 +2,7 @@ HEADERS += $$PWD/globalshortcutmanager.h $$PWD/globalshortcuttrigger.h - SOURCES += $$PWD/globalshortcutmanager.cpp - DEPENDPATH += $$PWD - --unix:!mac { -+unix:!mac:!haiku { - SOURCES += $$PWD/globalshortcutmanager_x11.cpp - } - win32: { -@@ -16,3 +16,6 @@ mac: { - HEADERS += \ - $$PWD/NDKeyboardLayout.h - } -+haiku: { -+ SOURCES += $$PWD/globalshortcutmanager_haiku.cpp -+} -diff --git a/src/libpsi/tools/globalshortcut/globalshortcutmanager_haiku.cpp b/src/libpsi/tools/globalshortcut/globalshortcutmanager_haiku.cpp -new file mode 100644 -index 0000000..7713b4f ---- /dev/null -+++ b/src/libpsi/tools/globalshortcut/globalshortcutmanager_haiku.cpp -@@ -0,0 +1,333 @@ -+/* -+ * globalshortcutmanager_haiku.cpp - Haiku implementation of global shortcuts by Vitaly (Diger) -+ * Based on X11 implementation of global shortcuts -+ * Copyright (C) 2003-2006 Justin Karneges, Maciej Niedzielski -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License -+ * as published by the Free Software Foundation; either version 2 -+ * of the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ * -+ */ -+ -+#include "globalshortcutmanager.h" -+#include "globalshortcuttrigger.h" -+ -+#include -+ -+#include -+#include -+ -+ -+class HKeyTrigger -+{ -+public: -+ virtual ~HKeyTrigger() {} -+ virtual void activate() = 0; -+ virtual bool isAccepted(int qkey) const = 0; -+}; -+ -+class HKeyTriggerManager : public QObject -+{ -+public: -+ static HKeyTriggerManager* instance() -+ { -+ if(!instance_) -+ instance_ = new HKeyTriggerManager(); -+ return instance_; -+ } -+ -+ void addTrigger(HKeyTrigger* trigger) -+ { -+ triggers_ << trigger; -+ } -+ -+ void removeTrigger(HKeyTrigger* trigger) -+ { -+ triggers_.removeAll(trigger); -+ } -+ -+ struct Qt_HK_Keygroup -+ { -+ char num; -+ int sym[3]; -+ }; -+ -+protected: -+ // reimplemented -+ bool eventFilter(QObject* o, QEvent* e) -+ { -+ if(e->type() == QEvent::KeyPress) { -+ QKeyEvent* k = static_cast(e); -+ int qkey = k->key(); -+ if (k->modifiers() & Qt::ShiftModifier) -+ qkey |= Qt::SHIFT; -+ if (k->modifiers() & Qt::ControlModifier) -+ qkey |= Qt::CTRL; -+ if (k->modifiers() & Qt::AltModifier) -+ qkey |= Qt::ALT; -+ if (k->modifiers() & Qt::MetaModifier) -+ qkey |= Qt::META; -+ -+ foreach(HKeyTrigger* trigger, triggers_) { -+ if (trigger->isAccepted(qkey)) { -+ trigger->activate(); -+ return true; -+ } -+ } -+ } -+ -+ return QObject::eventFilter(o, e); -+ } -+ -+private: -+ HKeyTriggerManager() -+ : QObject(QCoreApplication::instance()) -+ { -+ QCoreApplication::instance()->installEventFilter(this); -+ } -+ -+ static HKeyTriggerManager* instance_; -+ QList triggers_; -+ -+private: -+ struct Qt_HK_Keymap -+ { -+ int key; -+ Qt_HK_Keygroup hk; -+ }; -+ -+ static Qt_HK_Keymap qt_hk_table[]; -+ static long alt_mask; -+ static long meta_mask; -+ static long super_mask; -+ static long hyper_mask; -+ static long numlock_mask; -+ static bool haveMods; -+ -+ // adapted from qapplication_x11.cpp -+ static void ensureModifiers() -+ { -+ if (haveMods) -+ return; -+ } -+ -+public: -+ static bool convertKeySequence(const QKeySequence& ks, unsigned int* _mod, Qt_HK_Keygroup* _kg) -+ { -+ int code = ks; -+ ensureModifiers(); -+ -+ unsigned int mod = 0; -+ /* -+ if (code & Qt::META) -+ mod |= meta_mask; -+ if (code & Qt::SHIFT) -+ mod |= ShiftMask; -+ if (code & Qt::CTRL) -+ mod |= ControlMask; -+ if (code & Qt::ALT) -+ mod |= alt_mask; -+ */ -+ Qt_HK_Keygroup kg; -+ kg.num = 0; -+ kg.sym[0] = 0; -+ code &= ~Qt::KeyboardModifierMask; -+ -+ bool found = false; -+ for (int n = 0; qt_hk_table[n].key != Qt::Key_unknown; ++n) { -+ if (qt_hk_table[n].key == code) { -+ kg = qt_hk_table[n].hk; -+ found = true; -+ break; -+ } -+ } -+ -+ if (!found) { -+ // try latin1 -+ if (code >= 0x20 && code <= 0x7f) { -+ kg.num = 1; -+ kg.sym[0] = code; -+ } -+ } -+ -+ if (!kg.num) -+ return false; -+ -+ if (_mod) -+ *_mod = mod; -+ if (_kg) -+ *_kg = kg; -+ -+ return true; -+ } -+ -+ static QList ignModifiersList() -+ { -+ QList ret; -+ /* -+ if (numlock_mask) { -+ ret << 0 << LockMask << numlock_mask << (LockMask | numlock_mask); -+ } -+ else { -+ ret << 0 << LockMask; -+ } -+ */ -+ return ret; -+ } -+}; -+ -+ -+HKeyTriggerManager* HKeyTriggerManager::instance_ = NULL; -+class GlobalShortcutManager::KeyTrigger::Impl : public HKeyTrigger -+{ -+private: -+ KeyTrigger* trigger_; -+ int qkey_; -+ -+ struct GrabbedKey { -+ int code; -+ uint mod; -+ }; -+ QList grabbedKeys_; -+ -+ static bool failed; -+ -+public: -+ /** -+ * Constructor registers the hotkey. -+ */ -+ Impl(GlobalShortcutManager::KeyTrigger* t, const QKeySequence& ks) -+ : trigger_(t) -+ , qkey_(ks) -+ { -+ HKeyTriggerManager::instance()->addTrigger(this); -+ -+ HKeyTriggerManager::Qt_HK_Keygroup kg; -+ unsigned int mod; -+ } -+ -+ /** -+ * Destructor unregisters the hotkey. -+ */ -+ ~Impl() -+ { -+ HKeyTriggerManager::instance()->removeTrigger(this); -+ -+ } -+ -+ void activate() -+ { -+ emit trigger_->triggered(); -+ } -+ -+ bool isAccepted(int qkey) const -+ { -+ return qkey_ == qkey; -+ } -+}; -+ -+bool GlobalShortcutManager::KeyTrigger::Impl::failed; -+long HKeyTriggerManager::alt_mask = 0; -+long HKeyTriggerManager::meta_mask = 0; -+long HKeyTriggerManager::super_mask = 0; -+long HKeyTriggerManager::hyper_mask = 0; -+long HKeyTriggerManager::numlock_mask = 0; -+bool HKeyTriggerManager::haveMods = false; -+ -+ -+HKeyTriggerManager::Qt_HK_Keymap -+HKeyTriggerManager::qt_hk_table[] = { -+ { Qt::Key_Escape, B_ESCAPE }, -+ { Qt::Key_Tab, B_TAB}, -+ { Qt::Key_Backtab, 0 }, -+ { Qt::Key_Backspace, B_BACKSPACE}, -+ { Qt::Key_Return, B_RETURN}, -+ { Qt::Key_Enter, B_ENTER}, -+ { Qt::Key_Insert, B_INSERT}, -+ { Qt::Key_Delete, B_DELETE}, -+ { Qt::Key_Pause, B_PAUSE_KEY}, -+ { Qt::Key_Print, B_PRINT_KEY}, -+ { Qt::Key_SysReq, 0 }, -+ //{ Qt::Key_Clear, B_CLEAR_KEY}, -+ { Qt::Key_Home, B_HOME}, -+ { Qt::Key_End, B_END}, -+ { Qt::Key_Left, B_LEFT_ARROW}, -+ { Qt::Key_Up, B_UP_ARROW}, -+ { Qt::Key_Right, B_RIGHT_ARROW}, -+ { Qt::Key_Down, B_DOWN_ARROW}, -+ { Qt::Key_PageUp, B_PAGE_UP}, -+ { Qt::Key_PageDown, B_PAGE_DOWN}, -+ { Qt::Key_Shift, B_SHIFT_KEY}, -+ { Qt::Key_Control, B_CONTROL_KEY}, -+ { Qt::Key_Meta, B_LEFT_OPTION_KEY}, -+ { Qt::Key_Alt, B_MENU_KEY}, -+ { Qt::Key_CapsLock, B_CAPS_LOCK}, -+ { Qt::Key_NumLock, B_NUM_LOCK}, -+ { Qt::Key_ScrollLock, B_SCROLL_KEY}, -+ { Qt::Key_F1, B_F1_KEY}, -+ { Qt::Key_F2, B_F2_KEY}, -+ { Qt::Key_F3, B_F3_KEY}, -+ { Qt::Key_F4, B_F4_KEY}, -+ { Qt::Key_F5, B_F5_KEY}, -+ { Qt::Key_F6, B_F6_KEY}, -+ { Qt::Key_F7, B_F7_KEY}, -+ { Qt::Key_F8, B_F8_KEY}, -+ { Qt::Key_F9, B_F9_KEY}, -+ { Qt::Key_F10, B_F10_KEY}, -+ { Qt::Key_F11, B_F11_KEY}, -+ { Qt::Key_F12, B_F12_KEY}, -+ { Qt::Key_F13, 0 }, -+ { Qt::Key_F14, 0 }, -+ { Qt::Key_F15, 0 }, -+ { Qt::Key_F16, 0 }, -+ { Qt::Key_F17, 0 }, -+ { Qt::Key_F18, 0 }, -+ { Qt::Key_F19, 0 }, -+ { Qt::Key_F20, 0 }, -+ { Qt::Key_F21, 0 }, -+ { Qt::Key_F22, 0 }, -+ { Qt::Key_F23, 0 }, -+ { Qt::Key_F24, 0 }, -+ { Qt::Key_F25, 0 }, -+ { Qt::Key_F26, 0 }, -+ { Qt::Key_F27, 0 }, -+ { Qt::Key_F28, 0 }, -+ { Qt::Key_F29, 0 }, -+ { Qt::Key_F30, 0 }, -+ { Qt::Key_F31, 0 }, -+ { Qt::Key_F32, 0 }, -+ { Qt::Key_F33, 0 }, -+ { Qt::Key_F34, 0 }, -+ { Qt::Key_F35, 0 }, -+ { Qt::Key_Super_L, 0 }, -+ { Qt::Key_Super_R, 0 }, -+ { Qt::Key_Menu, 0 }, -+ { Qt::Key_Hyper_L, 0 }, -+ { Qt::Key_Hyper_R, 0 }, -+ { Qt::Key_Help, 0 }, -+ { Qt::Key_Direction_L, 0 }, -+ { Qt::Key_Direction_R, 0 }, -+ -+ { Qt::Key_unknown, 0 }, -+}; -+ -+GlobalShortcutManager::KeyTrigger::KeyTrigger(const QKeySequence& key) -+{ -+ d = new Impl(this, key); -+} -+ -+GlobalShortcutManager::KeyTrigger::~KeyTrigger() -+{ -+ delete d; -+ d = 0; -+} -diff --git a/src/src.pri b/src/src.pri -index 51c2d92..3f0bc66 100644 ---- a/src/src.pri -+++ b/src/src.pri -@@ -9,7 +9,7 @@ greaterThan(QT_MAJOR_VERSION, 4) { - QT += x11extras - } - } --unix:!mac:DEFINES += HAVE_X11 -+unix:!mac:!haiku:DEFINES += HAVE_X11 - - # modules - include($$PWD/protocol/protocol.pri) -diff --git a/src/systeminfo.cpp b/src/systeminfo.cpp -index cd09500..aa44d52 100644 ---- a/src/systeminfo.cpp -+++ b/src/systeminfo.cpp -@@ -26,6 +26,14 @@ - #include - #endif - -+#if defined(Q_WS_HAIKU) -+#include -+#include -+#include -+#include -+extern "C" const char* __get_haiku_revision(); -+#endif -+ - #include "systeminfo.h" - - #if defined(HAVE_X11) -@@ -172,7 +180,7 @@ SystemInfo::SystemInfo() : QObject(QCoreApplication::instance()) - os_str_ = "Unknown"; - - // Detect --#if defined(HAVE_X11) || defined(Q_OS_MAC) -+#if defined(HAVE_X11) || defined(Q_OS_MAC) || defined(Q_WS_HAIKU) - time_t x; - time(&x); - char str[256]; -@@ -228,6 +236,31 @@ SystemInfo::SystemInfo() : QObject(QCoreApplication::instance()) - default: - os_str_ = "Mac OS X"; - } -+#elif defined(Q_WS_HAIKU) -+ QString strVersion("Haiku"); -+ BPath path; -+ if (find_directory(B_BEOS_LIB_DIRECTORY, &path) == B_OK) { -+ path.Append("libbe.so"); -+ -+ BAppFileInfo appFileInfo; -+ version_info versionInfo; -+ BFile file; -+ if (file.SetTo(path.Path(), B_READ_ONLY) == B_OK -+ && appFileInfo.SetTo(&file) == B_OK -+ && appFileInfo.GetVersionInfo(&versionInfo, -+ B_APP_VERSION_KIND) == B_OK -+ && versionInfo.short_info[0] != '\0') -+ strVersion = versionInfo.short_info; -+ } -+ -+ const char* haikuRevision = __get_haiku_revision(); -+ if (haikuRevision != NULL) { -+ os_str_ = "Haiku"; -+ os_str_ += " ( " + strVersion + " Rev. "; -+ os_str_ += haikuRevision; -+ os_str_ += ")"; -+ } -+ - #endif - - #if defined(Q_OS_WIN) --- -2.2.2 - - -From bbbeab1f8de9dfb916d8ea4ee778324734577220 Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Mon, 12 Oct 2015 12:28:45 +0300 -Subject: Link against libbe on Haiku - - -diff --git a/src/src.pro b/src/src.pro -index 4023ad7..cbe8d4e 100644 ---- a/src/src.pro -+++ b/src/src.pro -@@ -57,6 +57,9 @@ unix { - INSTALLS += dt icon1 icon2 icon3 icon4 icon5 - } - -+haiku { -+ LIBS += -lbe -+} - windows { - LIBS += -lWSock32 -lUser32 -lShell32 -lGdi32 -lAdvAPI32 - DEFINES += QT_STATICPLUGIN --- -2.2.2 - - -From 5053a5ea1c741ff77c7338d104abff57a40407b5 Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Mon, 12 Oct 2015 14:20:08 +0300 -Subject: Fix build on Haiku - - -diff --git a/src/plugins/generic/screenshotplugin/screenshotplugin.pro b/src/plugins/generic/screenshotplugin/screenshotplugin.pro -index 0d637ad..4e90f3d 100644 ---- a/src/plugins/generic/screenshotplugin/screenshotplugin.pro -+++ b/src/plugins/generic/screenshotplugin/screenshotplugin.pro -@@ -53,7 +53,7 @@ HEADERS += qxt/core/qxtglobal.h \ - SOURCES += qxt/core/qxtglobal.cpp \ - qxt/gui/qxtwindowsystem.cpp - --unix:!macx { -+unix:!macx:!haiku { - CONFIG += X11 - SOURCES += qxt/gui/qxtwindowsystem_x11.cpp - HEADERS += qxt/gui/x11info.h --- -2.2.2 - diff --git a/net-im/psi_plus/psi_plus-1.2.171.patchset b/net-im/psi_plus/psi_plus-1.2.171.patchset new file mode 100644 index 000000000..292b9e7ad --- /dev/null +++ b/net-im/psi_plus/psi_plus-1.2.171.patchset @@ -0,0 +1,586 @@ +From 6244ed29c821eb5f231dbf3470d90982f86f03ce Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Wed, 15 Nov 2017 13:36:45 +0300 +Subject: Haiku fixes + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 38821af..e84a453 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -185,7 +185,7 @@ elseif( NOT IS_PSIPLUS AND APP_VERSION ) + endif() + + # Define LINUX on Linux like as WIN32 on Windows and APPLE on Mac OS X +-if(UNIX AND NOT APPLE) ++if(UNIX AND NOT( APPLE OR HAIKU )) + set(LINUX ON) + add_definitions( + -DHAVE_X11 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5567acd..43fd934 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -467,6 +467,28 @@ if(LINUX) + endif() + endif() + ++if(HAIKU) ++ if(IS_PSIPLUS) ++ set(SHARE_SUFF "data/psi-plus") ++ install(FILES ${PROJECT_SOURCE_DIR}/psi.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/data/applications RENAME psi-plus.desktop) ++ install(FILES ${PROJECT_SOURCE_DIR}/iconsets/system/default/psiplus/logo_128.png DESTINATION ${CMAKE_INSTALL_PREFIX}/data/pixmaps RENAME psi-plus.png) ++ else() ++ set(SHARE_SUFF "data/psi") ++ install(FILES ${PROJECT_SOURCE_DIR}/psi.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/data/applications) ++ install(FILES ${PROJECT_SOURCE_DIR}/iconsets/system/default/logo_128.png DESTINATION ${CMAKE_INSTALL_PREFIX}/data/pixmaps RENAME psi.png) ++ endif() ++ install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}) ++ install(FILES ${PROJECT_SOURCE_DIR}/client_icons.txt DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_SUFF}) ++ install(DIRECTORY ${OTHER_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_SUFF}) ++ if(ENABLE_WEBKIT) ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/themes DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_SUFF}) ++ endif() ++ if(LANGS_EXISTS) ++ install(FILES ${QM} DESTINATION ${CMAKE_INSTALL_PREFIX}/${SHARE_SUFF}/translations) ++ endif() ++endif() ++ ++ + if(WIN32) + install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}) + install(FILES ${PROJECT_SOURCE_DIR}/client_icons.txt DESTINATION ${CMAKE_INSTALL_PREFIX}) +diff --git a/src/applicationinfo.cpp b/src/applicationinfo.cpp +index 66624aa..0f0ce0b 100644 +--- a/src/applicationinfo.cpp ++++ b/src/applicationinfo.cpp +@@ -150,7 +150,7 @@ QString ApplicationInfo::getCertificateStoreSaveDir() + + QString ApplicationInfo::resourcesDir() + { +-#if defined(Q_OS_WIN) ++#if defined(Q_OS_WIN) || defined(Q_OS_HAIKU) + return qApp->applicationDirPath(); + #elif defined(Q_OS_MAC) + // FIXME: Clean this up (remko) +@@ -196,7 +196,7 @@ QString ApplicationInfo::resourcesDir() + + QString ApplicationInfo::libDir() + { +-#if defined(Q_OS_UNIX) ++#if defined(Q_OS_UNIX) && !defined(Q_OS_HAIKU) + return PSI_LIBDIR; + #else + return QString(); +@@ -295,6 +295,10 @@ QString ApplicationInfo::homeDir(ApplicationInfo::HomedirType type) + QMessageBox::information(0, QObject::tr("Conversion Error"), QObject::tr("Configuration data for a previous version of Psi was found, but it was not possible to convert it to work with the current version. Ensure you have appropriate permission and that another copy of Psi is not running, and try again.")); + exit(0); + } ++#elif defined Q_OS_HAIKU ++ QDir configDir(QDir::homePath() + "/config/settings/Qt/.config/" + sname()); ++ QDir cacheDir(QDir::homePath() + "/config/cache/" + sname()); ++ QDir dataDir(configDir); + #endif + configDir_ = configDir.path(); + cacheDir_ = cacheDir.path(); +diff --git a/src/libpsi/tools/CMakeLists.txt b/src/libpsi/tools/CMakeLists.txt +index 9f83472..a6de073 100644 +--- a/src/libpsi/tools/CMakeLists.txt ++++ b/src/libpsi/tools/CMakeLists.txt +@@ -124,6 +124,23 @@ elseif(WIN32) + # spellchecker + spellchecker/hunspellchecker.cpp + ) ++elseif(HAIKU) ++ list(APPEND HEADERS ++ # systemwatch ++ systemwatch/systemwatch_unix.h ++ ) ++ ++ list(APPEND PLAIN_SOURCES ++ #idle ++ idle/idle_x11.cpp ++ ++ # systemwatch ++ systemwatch/systemwatch_unix.cpp ++ ++ ++ # globalshortcut ++ globalshortcut/globalshortcutmanager_haiku.cpp ++ ) + else() + list(APPEND HEADERS + # systemwatch +diff --git a/src/libpsi/tools/globalshortcut/globalshortcut.pri b/src/libpsi/tools/globalshortcut/globalshortcut.pri +index 0c788ac..9a0a1a2 100644 +--- a/src/libpsi/tools/globalshortcut/globalshortcut.pri ++++ b/src/libpsi/tools/globalshortcut/globalshortcut.pri +@@ -2,7 +2,7 @@ HEADERS += $$PWD/globalshortcutmanager.h $$PWD/globalshortcuttrigger.h + SOURCES += $$PWD/globalshortcutmanager.cpp + DEPENDPATH += $$PWD + +-unix:!mac { ++unix:!mac!haiku { + SOURCES += $$PWD/globalshortcutmanager_x11.cpp + } + win32: { +diff --git a/src/libpsi/tools/globalshortcut/globalshortcutmanager_haiku.cpp b/src/libpsi/tools/globalshortcut/globalshortcutmanager_haiku.cpp +new file mode 100644 +index 0000000..0c4985a +--- /dev/null ++++ b/src/libpsi/tools/globalshortcut/globalshortcutmanager_haiku.cpp +@@ -0,0 +1,337 @@ ++/* ++ * globalshortcutmanager_haiku.cpp - Haiku implementation of global shortcuts by Vitaly (Diger) ++ * Based on X11 implementation of global shortcuts ++ * Copyright (C) 2003-2006 Justin Karneges, Maciej Niedzielski ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ * ++ */ ++ ++#include "globalshortcutmanager.h" ++#include "globalshortcuttrigger.h" ++ ++#include ++ ++#include ++#include ++#include ++#ifdef HAVE_QT5 ++# include ++# include ++#endif ++ ++class HKeyTrigger ++{ ++public: ++ virtual ~HKeyTrigger() {} ++ virtual void activate() = 0; ++ virtual bool isAccepted(int qkey) const = 0; ++}; ++ ++class HKeyTriggerManager : public QObject ++{ ++public: ++ static HKeyTriggerManager* instance() ++ { ++ if(!instance_) ++ instance_ = new HKeyTriggerManager(); ++ return instance_; ++ } ++ ++ void addTrigger(HKeyTrigger* trigger) ++ { ++ triggers_ << trigger; ++ } ++ ++ void removeTrigger(HKeyTrigger* trigger) ++ { ++ triggers_.removeAll(trigger); ++ } ++ ++ struct Qt_HK_Keygroup ++ { ++ char num; ++ int sym[3]; ++ }; ++ ++protected: ++ // reimplemented ++ bool eventFilter(QObject* o, QEvent* e) ++ { ++ if(e->type() == QEvent::KeyPress) { ++ QKeyEvent* k = static_cast(e); ++ int qkey = k->key(); ++ if (k->modifiers() & Qt::ShiftModifier) ++ qkey |= Qt::SHIFT; ++ if (k->modifiers() & Qt::ControlModifier) ++ qkey |= Qt::CTRL; ++ if (k->modifiers() & Qt::AltModifier) ++ qkey |= Qt::ALT; ++ if (k->modifiers() & Qt::MetaModifier) ++ qkey |= Qt::META; ++ ++ foreach(HKeyTrigger* trigger, triggers_) { ++ if (trigger->isAccepted(qkey)) { ++ trigger->activate(); ++ return true; ++ } ++ } ++ } ++ ++ return QObject::eventFilter(o, e); ++ } ++ ++private: ++ HKeyTriggerManager() ++ : QObject(QCoreApplication::instance()) ++ { ++ QCoreApplication::instance()->installEventFilter(this); ++ } ++ ++ static HKeyTriggerManager* instance_; ++ QList triggers_; ++ ++private: ++ struct Qt_HK_Keymap ++ { ++ int key; ++ Qt_HK_Keygroup hk; ++ }; ++ ++ static Qt_HK_Keymap qt_hk_table[]; ++ static long alt_mask; ++ static long meta_mask; ++ static long super_mask; ++ static long hyper_mask; ++ static long numlock_mask; ++ static bool haveMods; ++ ++ // adapted from qapplication_x11.cpp ++ static void ensureModifiers() ++ { ++ if (haveMods) ++ return; ++ } ++ ++public: ++ static bool convertKeySequence(const QKeySequence& ks, unsigned int* _mod, Qt_HK_Keygroup* _kg) ++ { ++ int code = ks[0]; ++ ensureModifiers(); ++ ++ unsigned int mod = 0; ++ /* ++ if (code & Qt::META) ++ mod |= meta_mask; ++ if (code & Qt::SHIFT) ++ mod |= ShiftMask; ++ if (code & Qt::CTRL) ++ mod |= ControlMask; ++ if (code & Qt::ALT) ++ mod |= alt_mask; ++ */ ++ Qt_HK_Keygroup kg; ++ kg.num = 0; ++ kg.sym[0] = 0; ++ code &= ~Qt::KeyboardModifierMask; ++ ++ bool found = false; ++ for (int n = 0; qt_hk_table[n].key != Qt::Key_unknown; ++n) { ++ if (qt_hk_table[n].key == code) { ++ kg = qt_hk_table[n].hk; ++ found = true; ++ break; ++ } ++ } ++ ++ if (!found) { ++ // try latin1 ++ if (code >= 0x20 && code <= 0x7f) { ++ kg.num = 1; ++ kg.sym[0] = code; ++ } ++ } ++ ++ if (!kg.num) ++ return false; ++ ++ if (_mod) ++ *_mod = mod; ++ if (_kg) ++ *_kg = kg; ++ ++ return true; ++ } ++ ++ static QList ignModifiersList() ++ { ++ QList ret; ++ /* ++ if (numlock_mask) { ++ ret << 0 << LockMask << numlock_mask << (LockMask | numlock_mask); ++ } ++ else { ++ ret << 0 << LockMask; ++ } ++ */ ++ return ret; ++ } ++}; ++ ++ ++HKeyTriggerManager* HKeyTriggerManager::instance_ = NULL; ++class GlobalShortcutManager::KeyTrigger::Impl : public HKeyTrigger ++{ ++private: ++ KeyTrigger* trigger_; ++ int qkey_; ++ ++ struct GrabbedKey { ++ int code; ++ uint mod; ++ }; ++ QList grabbedKeys_; ++ ++ static bool failed; ++ ++public: ++ /** ++ * Constructor registers the hotkey. ++ */ ++ Impl(GlobalShortcutManager::KeyTrigger* t, const QKeySequence& ks) ++ : trigger_(t) ++ , qkey_(ks[0]) ++ { ++ HKeyTriggerManager::instance()->addTrigger(this); ++ ++ HKeyTriggerManager::Qt_HK_Keygroup kg; ++ unsigned int mod; ++ } ++ ++ /** ++ * Destructor unregisters the hotkey. ++ */ ++ ~Impl() ++ { ++ HKeyTriggerManager::instance()->removeTrigger(this); ++ ++ } ++ ++ void activate() ++ { ++ emit trigger_->triggered(); ++ } ++ ++ bool isAccepted(int qkey) const ++ { ++ return qkey_ == qkey; ++ } ++}; ++ ++bool GlobalShortcutManager::KeyTrigger::Impl::failed; ++long HKeyTriggerManager::alt_mask = 0; ++long HKeyTriggerManager::meta_mask = 0; ++long HKeyTriggerManager::super_mask = 0; ++long HKeyTriggerManager::hyper_mask = 0; ++long HKeyTriggerManager::numlock_mask = 0; ++bool HKeyTriggerManager::haveMods = false; ++ ++ ++HKeyTriggerManager::Qt_HK_Keymap ++HKeyTriggerManager::qt_hk_table[] = { ++ { Qt::Key_Escape, {1, { B_ESCAPE }}}, ++ { Qt::Key_Tab, {1, { B_TAB }}}, ++ { Qt::Key_Backtab, {0, { 0 }}}, ++ { Qt::Key_Backspace, {1, { B_BACKSPACE }}}, ++ { Qt::Key_Return, {1, { B_RETURN }}}, ++ { Qt::Key_Enter, {1, { B_ENTER }}}, ++ { Qt::Key_Insert, {1, { B_INSERT }}}, ++ { Qt::Key_Delete, {1, { B_DELETE }}}, ++ { Qt::Key_Pause, {1, { B_PAUSE_KEY }}}, ++ { Qt::Key_Print, {1, { B_PRINT_KEY }}}, ++ { Qt::Key_SysReq, {0, { 0 }}}, ++ //{ Qt::Key_Clear, B_CLEAR_KEY}, ++ { Qt::Key_Home, {1, { B_HOME }}}, ++ { Qt::Key_End, {1, { B_END }}}, ++ { Qt::Key_Left, {1, { B_LEFT_ARROW }}}, ++ { Qt::Key_Up, {1, { B_UP_ARROW }}}, ++ { Qt::Key_Right, {1, { B_RIGHT_ARROW }}}, ++ { Qt::Key_Down, {1, { B_DOWN_ARROW }}}, ++ { Qt::Key_PageUp, {1, { B_PAGE_UP }}}, ++ { Qt::Key_PageDown, {1, { B_PAGE_DOWN }}}, ++ { Qt::Key_Shift, {1, { B_SHIFT_KEY }}}, ++ { Qt::Key_Control, {1, { B_CONTROL_KEY }}}, ++ { Qt::Key_Meta, {1, { B_LEFT_OPTION_KEY }}}, ++ { Qt::Key_Alt, {1, { B_MENU_KEY }}}, ++ { Qt::Key_CapsLock, {1, { B_CAPS_LOCK }}}, ++ { Qt::Key_NumLock, {1, { B_NUM_LOCK }}}, ++ { Qt::Key_ScrollLock, {1, { B_SCROLL_KEY }}}, ++ { Qt::Key_F1, {1, { B_F1_KEY }}}, ++ { Qt::Key_F2, {1, { B_F2_KEY }}}, ++ { Qt::Key_F3, {1, { B_F3_KEY }}}, ++ { Qt::Key_F4, {1, { B_F4_KEY }}}, ++ { Qt::Key_F5, {1, { B_F5_KEY }}}, ++ { Qt::Key_F6, {1, { B_F6_KEY }}}, ++ { Qt::Key_F7, {1, { B_F7_KEY }}}, ++ { Qt::Key_F8, {1, { B_F8_KEY }}}, ++ { Qt::Key_F9, {1, { B_F9_KEY }}}, ++ { Qt::Key_F10, {1, { B_F10_KEY }}}, ++ { Qt::Key_F11, {1, { B_F11_KEY }}}, ++ { Qt::Key_F12, {1, { B_F12_KEY }}}, ++ { Qt::Key_F13, {0, { 0 }}}, ++ { Qt::Key_F14, {0, { 0 }}}, ++ { Qt::Key_F15, {0, { 0 }}}, ++ { Qt::Key_F16, {0, { 0 }}}, ++ { Qt::Key_F17, {0, { 0 }}}, ++ { Qt::Key_F18, {0, { 0 }}}, ++ { Qt::Key_F19, {0, { 0 }}}, ++ { Qt::Key_F20, {0, { 0 }}}, ++ { Qt::Key_F21, {0, { 0 }}}, ++ { Qt::Key_F22, {0, { 0 }}}, ++ { Qt::Key_F23, {0, { 0 }}}, ++ { Qt::Key_F24, {0, { 0 }}}, ++ { Qt::Key_F25, {0, { 0 }}}, ++ { Qt::Key_F26, {0, { 0 }}}, ++ { Qt::Key_F27, {0, { 0 }}}, ++ { Qt::Key_F28, {0, { 0 }}}, ++ { Qt::Key_F29, {0, { 0 }}}, ++ { Qt::Key_F30, {0, { 0 }}}, ++ { Qt::Key_F31, {0, { 0 }}}, ++ { Qt::Key_F32, {0, { 0 }}}, ++ { Qt::Key_F33, {0, { 0 }}}, ++ { Qt::Key_F34, {0, { 0 }}}, ++ { Qt::Key_F35, {0, { 0 }}}, ++ { Qt::Key_Super_L, {0, { 0 }}}, ++ { Qt::Key_Super_R, {0, { 0 }}}, ++ { Qt::Key_Menu, {0, { 0 }}}, ++ { Qt::Key_Hyper_L, {0, { 0 }}}, ++ { Qt::Key_Hyper_R, {0, { 0 }}}, ++ { Qt::Key_Help, {0, { 0 }}}, ++ { Qt::Key_Direction_L, {0, { 0 }}}, ++ { Qt::Key_Direction_R, {0, { 0 }}}, ++ ++ { Qt::Key_unknown, {0, { 0 }}}, ++}; ++ ++GlobalShortcutManager::KeyTrigger::KeyTrigger(const QKeySequence& key) ++{ ++ d = new Impl(this, key); ++} ++ ++GlobalShortcutManager::KeyTrigger::~KeyTrigger() ++{ ++ delete d; ++ d = 0; ++} +diff --git a/src/plugins/generic/screenshotplugin/CMakeLists.txt b/src/plugins/generic/screenshotplugin/CMakeLists.txt +index f487c2a..6ccfa25 100644 +--- a/src/plugins/generic/screenshotplugin/CMakeLists.txt ++++ b/src/plugins/generic/screenshotplugin/CMakeLists.txt +@@ -28,7 +28,7 @@ include_directories( + ${CMAKE_CURRENT_LIST_DIR}/qxt/core + ${CMAKE_CURRENT_LIST_DIR}/qxt/gui + ) +-if( UNIX AND NOT( APPLE OR CYGWIN ) ) ++if( UNIX AND NOT( APPLE OR CYGWIN OR HAIKU ) ) + find_package( X11 REQUIRED ) + add_definitions( -DX11 ) + set( qxt_X11_SRCS +@@ -110,7 +110,7 @@ set(QT_DEPLIBS + Qt5::Network + Qt5::PrintSupport + ) +-if( UNIX AND NOT( APPLE OR CYGWIN ) ) ++if( UNIX AND NOT( APPLE OR CYGWIN OR HAIKU ) ) + find_package( Qt5 COMPONENTS X11Extras REQUIRED ) + set(QT_DEPLIBS + ${QT_DEPLIBS} +diff --git a/src/plugins/generic/videostatusplugin/CMakeLists.txt b/src/plugins/generic/videostatusplugin/CMakeLists.txt +index b57dfd2..b76f4cb 100644 +--- a/src/plugins/generic/videostatusplugin/CMakeLists.txt ++++ b/src/plugins/generic/videostatusplugin/CMakeLists.txt +@@ -20,7 +20,7 @@ else() + Please set path to this file to PLUGINS_ROOT_DIR variable") + endif() + +-if( NOT WIN32 ) ++if( NOT WIN32 AND NOT HAIKU) + add_definitions( -Ddbus -DHAVE_DBUS ) + find_package( X11 REQUIRED ) + endif() +@@ -31,7 +31,7 @@ include_directories( + ${PLUGINS_ROOT_DIR}/include + ${CMAKE_CURRENT_LIST_DIR} + ) +-if( NOT WIN32 ) ++if( NOT WIN32 AND NOT HAIKU) + set( x11_SRCS + x11info.cpp + ) +@@ -55,7 +55,7 @@ set(QT_DEPLIBS + Qt5::Widgets + Qt5::Xml + ) +-IF( UNIX AND NOT( APPLE OR CYGWIN ) ) ++IF( UNIX AND NOT( APPLE OR CYGWIN OR HAIKU ) ) + find_package( Qt5 COMPONENTS DBus X11Extras REQUIRED ) + find_package( XCB REQUIRED ) + add_definitions( +@@ -78,7 +78,7 @@ add_library( + ${UIS} + ${RSCS} + ) +-if( UNIX AND NOT( APPLE OR CYGWIN ) ) ++if( UNIX AND NOT( APPLE OR CYGWIN OR HAIKU ) ) + target_link_libraries( + ${PLUGIN} + ${X11_LIBRARIES} +diff --git a/src/plugins/generic/videostatusplugin/videostatusplugin.cpp b/src/plugins/generic/videostatusplugin/videostatusplugin.cpp +old mode 100755 +new mode 100644 +index 57acce8..071c345 +--- a/src/plugins/generic/videostatusplugin/videostatusplugin.cpp ++++ b/src/plugins/generic/videostatusplugin/videostatusplugin.cpp +@@ -648,7 +648,11 @@ void VideoStatusChanger::fullSTTimeout() + #elif defined (Q_OS_WIN) + bool full = isFullscreenWindow(); + #endif +- if(full) { ++#elif defined (Q_OS_WIN) ++ bool full = isFullscreenWindow(); ++#elif defined (Q_OS_HAIKU) ++ bool full = false; ++#endif + if(!isStatusSet) { + setStatusTimer(setDelay, true); + } +diff --git a/src/src.cmake b/src/src.cmake +index 9703fa1..5a95af7 100644 +--- a/src/src.cmake ++++ b/src/src.cmake +@@ -9,7 +9,7 @@ add_definitions( + -DQT_STATICPLUGIN + ) + +-if(UNIX AND NOT APPLE) ++if(UNIX AND NOT (APPLE OR HAIKU)) + add_definitions( + -DUSE_DBUS + ) +@@ -238,7 +238,7 @@ list(APPEND SOURCES + xdata_widget.cpp + ) + +-if(UNIX AND NOT APPLE) ++if(UNIX AND NOT (APPLE OR HAIKU)) + list(APPEND SOURCES + dbus.cpp + ) +@@ -275,6 +275,10 @@ elseif(WIN32) + list(APPEND PLAIN_SOURCES + activeprofiles_win.cpp + ) ++elseif(HAIKU) ++ list(APPEND PLAIN_SOURCES ++ activeprofiles_stub.cpp ++ ) + endif() + + list(APPEND PLAIN_HEADERS +-- +2.14.2 + diff --git a/net-im/psi_plus/psi_plus-1.2.105.recipe b/net-im/psi_plus/psi_plus-1.2.171.recipe similarity index 87% rename from net-im/psi_plus/psi_plus-1.2.105.recipe rename to net-im/psi_plus/psi_plus-1.2.171.recipe index b6fdafa09..9fa8e837d 100644 --- a/net-im/psi_plus/psi_plus-1.2.105.recipe +++ b/net-im/psi_plus/psi_plus-1.2.171.recipe @@ -4,17 +4,17 @@ designed for the Jabber power users." HOMEPAGE="http://psi-plus.com/" SOURCE_URI="https://github.com/psi-plus/psi-plus-snapshots/archive/$portVersion.tar.gz" SOURCE_DIR="psi-plus-snapshots-$portVersion" -CHECKSUM_SHA256="b010bcb538c31699a86a7df22500cca4018060b2bfea97732739b62406c0f803" -SOURCE_URI_2="https://github.com/psi-plus/psi-plus-l10n/archive/$portVersion.tar.gz" -SOURCE_FILENAME_2="psi-plus-l10n-$portVersion.tar.gz" -SOURCE_DIR_2="psi-plus-l10n-$portVersion" -CHECKSUM_SHA256_2="16ee3bb7cd2939fafe6ab11c9026e6846355ca1be9c4cf91c2547af0c9951019" +CHECKSUM_SHA256="53e795b97956a8260da9b6b920b5bf9a21c553c26d4504463c25bce906b786aa" +SOURCE_URI_2="https://github.com/psi-plus/psi-plus-l10n/archive/1.2.156.tar.gz" +SOURCE_FILENAME_2="psi-plus-l10n-1.2.156.tar.gz" +SOURCE_DIR_2="psi-plus-l10n-1.2.156" +CHECKSUM_SHA256_2="2701242e72bd765c4be0f98f82da6688c4d9a01da6c2bfe73e29dbdbc5792ffb" REVISION="1" LICENSE="GNU GPL v2" COPYRIGHT="2005-2017, Psi+ Project" -ARCHITECTURES="!x86_gcc2 ?x86_64" -SECONDARY_ARCHITECTURES="?x86" +ARCHITECTURES="!x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86" ADDITIONAL_FILES="psi-plus.rdef.in" PATCHES="psi_plus-$portVersion.patchset" @@ -33,9 +33,9 @@ REQUIRES=" BUILD_PREREQUIRES=" cmd:cmake cmd:g++$secondaryArchSuffix + cmd:make cmd:patch cmd:pkg_config$secondaryArchSuffix - cmd:make cmd:which " BUILD_REQUIRES=" @@ -64,7 +64,7 @@ BUILD() -DCMAKE_INSTALL_PREFIX:PATH=$appsDir/Psi-plus \ -DCMAKE_INSTALL_BINDIR:PATH=$appsDir/Psi-plus \ -DCMAKE_INSTALL_LIBDIR:PATH=$appsDir/Psi-plus/lib \ - -DCMAKE_INSTALL_DATAROOTDIR:PATH=$appsDir/Psi-plus/data \ + -DCMAKE_INSTALL_DATAROOTDIR:PATH=$appsDir/Psi-plus \ -DPLUGINS_PATH=plugins \ -DCMAKE_BUILD_TYPE=RELEASE \ -DBUNDLED_IRIS=ON \