0
0
Fork 0
haikuports/net-im/icq/patches/icq-10~git.patchset

455 lines
16 KiB
Plaintext

From bee081a9ff1f7279773f7fa00073916408fc5ca1 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Thu, 31 Mar 2016 11:08:17 +0300
Subject: build fixes for boost 1.55.0
diff --git a/core/connections/wim/packets/send_feedback.cpp b/core/connections/wim/packets/send_feedback.cpp
index 230da06..44afd32 100644
--- a/core/connections/wim/packets/send_feedback.cpp
+++ b/core/connections/wim/packets/send_feedback.cpp
@@ -37,7 +37,7 @@ int32_t send_feedback::init_request(std::shared_ptr<core::http_request_simple> _
auto fromCurr = boost::filesystem::wpath(g_core->get_network_log().file_names_history().second);
if (boost::filesystem::exists(fromCurr))
{
- auto tempCurr = fromCurr.parent_path().append(L"feedback_log_current.tmp");
+ auto tempCurr = fromCurr.parent_path().append(L"feedback_log_current.tmp", boost::filesystem::path::codecvt());
boost::filesystem::copy_file(fromCurr, tempCurr, boost::filesystem::copy_option::overwrite_if_exists);
const long sizeCurr = boost::filesystem::file_size(tempCurr);
{
@@ -61,7 +61,7 @@ int32_t send_feedback::init_request(std::shared_ptr<core::http_request_simple> _
auto fromPrev = boost::filesystem::wpath(g_core->get_network_log().file_names_history().first);
if (boost::filesystem::exists(fromPrev))
{
- auto tempPrev = fromPrev.parent_path().append(L"feedback_log_previous.tmp");
+ auto tempPrev = fromPrev.parent_path().append(L"feedback_log_previous.tmp", boost::filesystem::path::codecvt());
boost::filesystem::copy_file(fromPrev, tempPrev, boost::filesystem::copy_option::overwrite_if_exists);
const long sizePrev = boost::filesystem::file_size(tempPrev);
{
@@ -79,7 +79,7 @@ int32_t send_feedback::init_request(std::shared_ptr<core::http_request_simple> _
}
}
- log_ = fromCurr.parent_path().append("feedbacklog.txt").wstring();
+ log_ = fromCurr.parent_path().append("feedbacklog.txt", boost::filesystem::path::codecvt()).wstring();
auto to = boost::filesystem::wpath(log_);
if (boost::filesystem::exists(to))
diff --git a/core/log/log.cpp b/core/log/log.cpp
index 59a9bf3..9b233ce 100644
--- a/core/log/log.cpp
+++ b/core/log/log.cpp
@@ -410,7 +410,7 @@ namespace
area_filename % log_file_index_ % w_area % log_files_ext_;
fs::wpath path = logs_dir_;
- path.append(area_filename.str());
+ path.append(area_filename.str(), boost::filesystem::path::codecvt());
return path;
}
@@ -613,4 +613,4 @@ namespace core
}
-}
\ No newline at end of file
+}
diff --git a/core/network_log.cpp b/core/network_log.cpp
index c644a51..7f3c4a0 100644
--- a/core/network_log.cpp
+++ b/core/network_log.cpp
@@ -69,7 +69,7 @@ namespace core
area_filename % _index % L"net" % L"txt";
boost::filesystem::wpath path = _logs_directory;
- path.append(area_filename.str());
+ path.append(area_filename.str(), boost::filesystem::path::codecvt());
return path;
}
@@ -112,7 +112,7 @@ namespace core
for (auto iter = files.rbegin(); iter != files.rend(); ++iter)
{
boost::filesystem::wpath file_path = _logs_directory;
- file_path.append(tools::from_utf8(iter->second));
+ file_path.append(tools::from_utf8(iter->second), boost::filesystem::path::codecvt());
if (boost::filesystem::exists(file_path))
{
diff --git a/core/stdafx.h b/core/stdafx.h
index fe8eb2a..70a547e 100644
--- a/core/stdafx.h
+++ b/core/stdafx.h
@@ -46,6 +46,7 @@
#include <assert.h>
#include <boost/algorithm/string.hpp>
+#define BOOST_NO_CXX11_SCOPED_ENUMS
#include <boost/filesystem.hpp>
#include <boost/format.hpp>
#include <boost/lexical_cast.hpp>
diff --git a/core/utils.cpp b/core/utils.cpp
index e146ff1..1382be7 100644
--- a/core/utils.cpp
+++ b/core/utils.cpp
@@ -84,7 +84,7 @@ namespace core
{
boost::filesystem::wpath logs_dir(get_product_data_path());
- logs_dir.append(L"logs");
+ logs_dir.append(L"logs", boost::filesystem::path::codecvt());
return logs_dir;
}
--
2.12.2
From 41737fd51f33a60735dc6142830e2a633066a264 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Thu, 31 Mar 2016 11:09:34 +0300
Subject: initial Haiku support
diff --git a/core/tools/strings.cpp b/core/tools/strings.cpp
index 000a4b7..c04048d 100644
--- a/core/tools/strings.cpp
+++ b/core/tools/strings.cpp
@@ -146,13 +146,13 @@ namespace core
const std::string wstring_to_string(const std::wstring& _wstr)
{
-#if defined(__linux__)
+#if defined(__linux__) || defined(__HAIKU__)
return std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t>().to_bytes(_wstr);
#elif defined(__APPLE__)
return std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>, wchar_t>().to_bytes(_wstr);
#else
return from_utf16(short_path_for(_wstr));
-#endif //__linux__
+#endif
}
std::string adler32(const std::string& _input)
diff --git a/core/tools/system_common.cpp b/core/tools/system_common.cpp
index 494f46d..1c51a36 100644
--- a/core/tools/system_common.cpp
+++ b/core/tools/system_common.cpp
@@ -4,7 +4,7 @@
#if defined(_WIN32)
#include <Windows.h>
-#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__))
+#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) || defined(__HAIKU__)
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
@@ -41,7 +41,7 @@ size_t get_memory_size_mb()
GlobalMemoryStatusEx( &status );
return (size_t) (status.ullTotalPhys / mb);
-#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__))
+#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) || defined(__HAIKU__)
/* UNIX variants. ------------------------------------------- */
/* Prefer sysctl() over sysconf() except sysctl() HW_REALMEM and HW_PHYSMEM */
@@ -94,4 +94,4 @@ size_t get_memory_size_mb()
#endif
}
-}}}
\ No newline at end of file
+}}}
diff --git a/core/utils.cpp b/core/utils.cpp
index 1382be7..da55cb0 100644
--- a/core/utils.cpp
+++ b/core/utils.cpp
@@ -12,9 +12,12 @@ namespace core
{
#ifdef __linux__
return (core::tools::system::get_user_profile() + L"/.config/" + L"ICQ");
+#ifdef __HAIKU__
+ return (core::tools::system::get_user_profile() + L"/config/settings/" + L"ICQ");
#else
return (core::tools::system::get_user_profile() + L"/" + L"ICQ");
-#endif //__linux__
+#endif // haiku
+#endif // linux
}
std::string get_product_name()
@@ -32,6 +35,10 @@ namespace core
{
return "Mail.ru Mac OS X ICQ";
}
+ else if (platform::is_haiku())
+ {
+ return "Mail.ru Haiku ICQ";
+ }
else if (platform::is_linux())
{
return "Mail.ru Linux ICQ";
@@ -58,6 +65,10 @@ namespace core
{
return "Apple";
}
+ else if (platform::is_haiku())
+ {
+ return "Haiku";
+ }
else
{
assert(false);
diff --git a/corelib/common.h b/corelib/common.h
index b62986c..d72ac44 100644
--- a/corelib/common.h
+++ b/corelib/common.h
@@ -131,6 +131,15 @@ namespace platform
#endif
}
+ inline bool is_haiku()
+ {
+ #if defined(__HAIKU__)
+ return true;
+ #else
+ return false;
+ #endif
+ }
+
inline bool is_linux()
{
#if defined(__linux__)
diff --git a/gui/core_dispatcher.cpp b/gui/core_dispatcher.cpp
index 33b9a8c..e29071b 100644
--- a/gui/core_dispatcher.cpp
+++ b/gui/core_dispatcher.cpp
@@ -197,7 +197,7 @@ qint64 core_dispatcher::delete_message(const int64_t _message_id)
bool core_dispatcher::init()
{
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__HAIKU__)
QLibrary libcore(CORELIBRARY);
if (!libcore.load())
{
@@ -224,7 +224,7 @@ bool core_dispatcher::init()
return false;
}
core_face_ = core_face;
-#endif //__linux__
+#endif
core_connector_ = core_face_->get_core_connector();
if (!core_connector_)
return false;
diff --git a/gui/gui.pro b/gui/gui.pro
index fb211cb..ad54b08 100644
--- a/gui/gui.pro
+++ b/gui/gui.pro
@@ -15,7 +15,7 @@ CONFIG += 64
CONFIG += res_internal
-CORELIB_PATH = ../corelib
+CORELIB_PATH = ../corelib/corelib
PRECOMPILED_HEADER = stdafx.h
@@ -320,17 +320,17 @@ HEADERS += \
DEFINES += STRIP_VOIP
QMAKE_CXXFLAGS += -std=c++0x
-QMAKE_LIBS += -lopenal -lavformat -lavcodec -lswresample -lavfilter -lavutil -lcorelib -lboost_system -lcurl_static -lssl_static -lcrypto_static -lboost_filesystem -lidn -lrtmp -lgcrypt -lgnutls -lgpg-error -ltasn1 -lz -lstdc++ -lrt -lxcb-util
+QMAKE_LIBS += -lopenal -lavformat -lavcodec -lswresample -lavfilter -lavutil -lcorelib -lboost_system -lcurl -lssl -lcrypto -lboost_filesystem -lidn -lrtmp -lgcrypt -lgnutls -lgpg-error -ltasn1 -lz -lstdc++
CONFIG(32, 64|32) {
QMAKE_LIBS += -lp11-kit
}
-QMAKE_LIBS_THREAD = -lxcb-util -lffi -lpcre -lexpat -lXext -lXau -lXdmcp -lz -Wl,-Bdynamic -ldl -lpthread -lX11
+QMAKE_LIBS_THREAD = -lffi -lpcre -lexpat -lz -Wl,-Bstatic
-QMAKE_LFLAGS += -Wl,-Bstatic -static-libgcc -static-libstdc++ -L$$CORELIB_PATH
+QMAKE_LFLAGS += -Wl,-Bdynamic -static-libgcc -static-libstdc++ -L$$CORELIB_PATH
CONFIG(64, 64|32) {
- QMAKE_LFLAGS += -L$${PWD}/../external/linux/x64 -L$${PWD}/../external/OpenAl/lib/linux/x64 -L$${PWD}/../external/ffmpeg/lib/linux/x64 -L/x64
+ QMAKE_LFLAGS += #-L$${PWD}/../external/linux/x64 -L$${PWD}/../external/OpenAl/lib/linux/x64 -L$${PWD}/../external/ffmpeg/lib/linux/x64 -L/x64
} else {
QMAKE_LFLAGS += -L$${PWD}/../external/linux -L$${PWD}/../external/OpenAl/lib/linux -L$${PWD}/../external/ffmpeg/lib/linux -L/x32
}
diff --git a/gui/main_window/settings/ContactUs.cpp b/gui/main_window/settings/ContactUs.cpp
index dee90e8..ad358e4 100644
--- a/gui/main_window/settings/ContactUs.cpp
+++ b/gui/main_window/settings/ContactUs.cpp
@@ -507,6 +507,8 @@ void GeneralSettingsWidget::Creator::initContactUs(QWidget* parent, std::map<std
col.set_value_as_string("fb.question.178", build::is_debug() ? "beta" : "live");
if (platform::is_apple())
col.set_value_as_string("fb.question.3005", "OSx");
+ if (platform::is_haiku())
+ col.set_value_as_string("fb.question.3005", "Haiku");
else if (platform::is_windows())
col.set_value_as_string("fb.question.3005", "Windows");
else if (platform::is_linux())
@@ -664,4 +666,4 @@ void GeneralSettingsWidget::Creator::initContactUs(QWidget* parent, std::map<std
successPage->setVisible(false);
scroll_area_content_layout->addWidget(successPage);
}
-}
\ No newline at end of file
+}
diff --git a/gui/main_window/sounds/MpegLoader.h b/gui/main_window/sounds/MpegLoader.h
index b7cbacb..ed253eb 100644
--- a/gui/main_window/sounds/MpegLoader.h
+++ b/gui/main_window/sounds/MpegLoader.h
@@ -1,5 +1,9 @@
#pragma once
+#ifndef UINT64_C
+#define UINT64_C(c) (c ## ULL)
+#endif
+
extern "C"
{
#include <libavformat/avformat.h>
@@ -62,4 +66,4 @@ namespace Ui
AVFrame* Frame_;
SwrContext* SwrContext_;
};
-}
\ No newline at end of file
+}
diff --git a/gui/stdafx.h b/gui/stdafx.h
index 5c6fa22..91ecb85 100644
--- a/gui/stdafx.h
+++ b/gui/stdafx.h
@@ -388,10 +388,10 @@
#import <QtWidgets/qmenu.h>
#import <QtWidgets/qmenubar.h>
#import <QtGui/qclipboard.h>
-#import <QtCore/QObjectCleanupHandler.h>
+#import <QtCore/qobjectcleanuphandler.h>
#import <QtGui/qmovie.h>
#import <QtWidgets/qgesture.h>
-#import <QtCore/QUuid.h>
+#import <QtCore/QUuid>
/*
#import <QtNetwork/qnetworkrequest.h>
#import <QtNetwork/qnetworkreply.h>
@@ -402,7 +402,7 @@
#define assert(e) { if (!(e)) puts("ASSERT: " #e); }
-#include "macconfig.h"
+//#include "macconfig.h"
//#include <QGraphicsDropShadowEffect>
//#include <QProxyStyle>
diff --git a/gui/voip/DetachedVideoWnd.cpp b/gui/voip/DetachedVideoWnd.cpp
index 84d6cf6..1d71309 100644
--- a/gui/voip/DetachedVideoWnd.cpp
+++ b/gui/voip/DetachedVideoWnd.cpp
@@ -345,7 +345,7 @@ Ui::DetachedVideoWindow::DetachedVideoWindow(QWidget* parent)
#endif
video_panel_header_effect_ = new UIEffects(*video_panel_header_.get());
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__HAIKU__)
std::vector<QWidget*> panels;
panels.push_back(video_panel_header_.get());
_rootWidget = platform_specific::GraphicsPanel::create(this, panels);
@@ -354,7 +354,7 @@ Ui::DetachedVideoWindow::DetachedVideoWindow(QWidget* parent)
_rootWidget->setAttribute(Qt::WA_UpdatesDisabled);
_rootWidget->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
layout()->addWidget(_rootWidget);
-#endif //__linux__
+#endif
std::vector<QWidget*> topPanels;
topPanels.push_back(video_panel_header_.get());
std::vector<QWidget*> bottomPanels;
diff --git a/gui/voip/VideoWindow.cpp b/gui/voip/VideoWindow.cpp
index 4562567..35151d2 100644
--- a/gui/voip/VideoWindow.cpp
+++ b/gui/voip/VideoWindow.cpp
@@ -190,14 +190,14 @@ Ui::VideoWindow::VideoWindow()
panels.push_back(video_panel_.get());
panels.push_back(video_panel_header_.get());
panels.push_back(video_panel_header_with_avatars_.get());
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__HAIKU__)
_rootWidget = platform_specific::GraphicsPanel::create(this, panels);
_rootWidget->setContentsMargins(0, 0, 0, 0);
//_rootWidget->setProperty("WidgetWithBG", true);
_rootWidget->setAttribute(Qt::WA_UpdatesDisabled);
_rootWidget->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
layout()->addWidget(_rootWidget);
-#endif //__linux__
+#endif
QIcon icon(":/resources/main_window/appicon.ico");
setWindowIcon(icon);
--
2.12.2
From 5a7ce418f5eb30631a96f4fb85bc949c4359424d Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sun, 14 May 2017 23:38:17 +0200
Subject: needs cmath, fix with newer boost.
diff --git a/corelib/corelib/corelib.pro b/corelib/corelib/corelib.pro
index d7a26d1..83c27b3 100644
--- a/corelib/corelib/corelib.pro
+++ b/corelib/corelib/corelib.pro
@@ -298,7 +298,7 @@ HEADERS += \
DEFINES += STRIP_VOIP
-QMAKE_CXXFLAGS += -std=c++0x
+QMAKE_CXXFLAGS += -std=c++0x -DBOOST_NO_CXX11_CONSTEXPR
QMAKE_LFLAGS += -static-libgcc -static-libstdc++
diff --git a/gui/gui.pro b/gui/gui.pro
index ad54b08..85f8b4b 100644
--- a/gui/gui.pro
+++ b/gui/gui.pro
@@ -319,7 +319,7 @@ HEADERS += \
main_window/settings/themes/ThemeWidget.h
DEFINES += STRIP_VOIP
-QMAKE_CXXFLAGS += -std=c++0x
+QMAKE_CXXFLAGS += -std=c++0x -DBOOST_NO_CXX11_CONSTEXPR
QMAKE_LIBS += -lopenal -lavformat -lavcodec -lswresample -lavfilter -lavutil -lcorelib -lboost_system -lcurl -lssl -lcrypto -lboost_filesystem -lidn -lrtmp -lgcrypt -lgnutls -lgpg-error -ltasn1 -lz -lstdc++
CONFIG(32, 64|32) {
QMAKE_LIBS += -lp11-kit
diff --git a/gui/stdafx.h b/gui/stdafx.h
index 91ecb85..07cdf32 100644
--- a/gui/stdafx.h
+++ b/gui/stdafx.h
@@ -290,6 +290,7 @@
#include <codecvt>
#include <assert.h>
#include <limits>
+#include <cmath>
#include <stdint.h>
diff --git a/installer/installer.pro b/installer/installer.pro
index 7a1f7ee..d5fb315 100644
--- a/installer/installer.pro
+++ b/installer/installer.pro
@@ -14,7 +14,7 @@ SOURCES += main.cpp
CONFIG += 64
QMAKE_LFLAGS += -Wl,-Bstatic -static-libgcc -static-libstdc++
-QMAKE_CXXFLAGS += -std=c++0x
+QMAKE_CXXFLAGS += -std=c++0x -DBOOST_NO_CXX11_CONSTEXPR
CONFIG(64, 64|32) {
QMAKE_LFLAGS += -L/x64
--
2.12.2