RetroShare: bump version

* add haiku icon theme
This commit is contained in:
Gerasim Troeglazov
2021-11-12 20:36:26 +10:00
parent 8569b59bfe
commit c9cb90a105
6 changed files with 494 additions and 366 deletions

Binary file not shown.

View File

@@ -1,41 +0,0 @@
resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
resource app_version {
major = 0,
middle = 6,
minor = 0,
variety = B_APPV_FINAL,
internal = 0,
short_info = "RetroShare",
long_info = "A multi-platform open source application that offers secure chat and file sharing."
};
resource app_signature "application/x-vnd.RetroShare";
resource vector_icon {
$"6E6369660203182E39050002021CBFB61FC1DA20BB4520B4DAB920B728B554B4"
$"F0B919B51DB90CB507B9122BB86FBA54BC0FB9B9B9C8BA97BD0ABA10BF00BA80"
$"BE15BA10BF00BFE8C4D7BFE8C4D7BF0BC550BDE7C6DABE5BC605BDE7C6DAB80D"
$"C102B80DC102B7D0C11FB751C147B792C136B5BDC1B31FBFF3B410C12EB31FC6"
$"CDBF7ECC71B8A5CC51BED8CBE3BE27CA51BE60CB24BD8BC80BC12AC51ABEE5C5"
$"B6C16BC508C1F0C4F8C1ACC4FEC1F0C4F8C413BCFBC413BCFBC4EABD80C6D2BD"
$"B6C5DEBDBEC6D2BDB6C4ADC5B5C4ADC5B5C585C648C663C81DC61FC722C69BC8"
$"EDC64DCA98C693C9CBCA1BC84BCC70BFB8CC6EC42BCC70BD92CADCB994CBE5BB"
$"76CA8ABB2BC7C9BCDDC959BC72C60ABD54C32CBB29C432BCA6C32CBB29BB2FBD"
$"4DBB2FBD4DBB37BC51BA71BA8FBAF235BA71BA8FC270B86BC270B86BC293B69D"
$"C594B4A1C3D5B51AC5A9B49DC5D4B494C5BE24C3F5B38C021CBFB61FC1DA20BB"
$"4520B4DAB920B728B554B4F0B919B51DB90CB507B9122BB86FBA54BC0FB9B9B9"
$"C8BA97BD0ABA10BF00BA80BE15BA10BF00BFE8C4D7BFE8C4D7BF0BC550BDE7C6"
$"DABE5BC605BDE7C6DAB80DC102B80DC102B7D0C11FB751C147B792C136B5BDC1"
$"B31FBFF3B410C12EB31FC6CDBF7ECC71B8A5CC51BED8CBE3BE27CA51BE60CB24"
$"BD8BC80BC12AC51ABEE5C5B6C16BC508C1F0C4F8C1ACC4FEC1F0C4F8C413BCFB"
$"C413BCFBC4EABD80C6D2BDB6C5DEBDBEC6D2BDB6C4ADC5B5C4ADC5B5C585C648"
$"C663C81DC61FC722C69BC8EDC64DCA98C693C9CBCA1BC84BCC70BFB8CC6EC42B"
$"CC70BD92CADCB994CBE5BB76CA8ABB2BC7C9BCDDC959BC72C60ABD54C32CBB29"
$"C432BCA6C32CBB29BB2FBD4DBB2FBD4DBB37BC51BA71BA8FBAF235BA71BA8FC2"
$"70B86BC270B86BC293B69DC594B4A1C3D5B51AC5A9B49DC5D4B494C5BE24C3F5"
$"B38C020A000100000A010101100117800004"
};

View File

@@ -0,0 +1,37 @@
resource app_flags B_SINGLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "RetroShare",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E63696608050102001603364582392592BBD9CE38C79D4A599848019300C61D"
$"8DFF010200160239096934AA24B736CB3BA9B44B2E1A49421D0099FF01020016"
$"02B6145D38EE10BB88B8B882224A66B44B2A2E009BFF01020106033C93203CBB"
$"C3BCB7443C8EE449625048A66C00FFFFFF3566DB94FF02662A020106043EBCCC"
$"B818543786013E4D4F496AD24885BB00FFFFFF21FFD3D3ADFF0000FFFF000002"
$"0106043E7FC6397AB1B94CD33E5ED349268948BCC000FFFFFF2BA6C5F03996B9"
$"E7C81E5AA00401780402044030C34530BC3A30304030BC3A30C3454050BC3A50"
$"C34550504050C34550BC3A04032E32383B323634BF48B98F453004032E503752"
$"42C705BE3CC6D2C2D14F4E04032E2F45354F314BBD3FC79B42540D0A07010002"
$"3F00000000000000003CC0004920004AD8000A070100023F0000000000000000"
$"3CC0004580004A08000A070100023F1C27B09A8A2EB8893D3FFB4912EF49F9FD"
$"0A000100123E838E0000000000003E838EC50E394638E301158600040A060100"
$"023E838E0000000000003E838EC50E394638E30A000100123E838E0000000000"
$"003E838E48BC7149BC7101158600040A040100023E838E0000000000003E838E"
$"48BC7149BC710A000100123E838E0000000000003E838E495C71C40E39011586"
$"00040A050100023E838E0000000000003E838E495C71C40E390A000303020110"
$"01178822040A0101011001178522040A0201021001178522040A030103100117"
$"852204"
};

View File

@@ -1,296 +0,0 @@
From 2234cab640683b6ff0bb02256ba4fc34ff3df995 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Mon, 9 Apr 2018 23:50:00 +0200
Subject: Haiku supporting patches
diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro
index c2604fa..de27c8c 100644
--- a/libretroshare/src/libretroshare.pro
+++ b/libretroshare/src/libretroshare.pro
@@ -365,7 +365,7 @@ openbsd-* {
haiku-* {
- QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
+ QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen -D_BSD_SOURCE
OPENPGPSDK_DIR = ../../openpgpsdk/src
INCLUDEPATH *= $${OPENPGPSDK_DIR} ../openpgpsdk
DEFINES *= NO_SQLCIPHER
diff --git a/libretroshare/src/rsserver/rsaccounts.cc b/libretroshare/src/rsserver/rsaccounts.cc
index 6136a2a..3ce9ea0 100644
--- a/libretroshare/src/rsserver/rsaccounts.cc
+++ b/libretroshare/src/rsserver/rsaccounts.cc
@@ -348,7 +348,11 @@ bool RsAccountsDetail::defaultBaseDirectory()
}
basedir = h;
- basedir += "/.retroshare";
+ #ifndef __HAIKU__
+ basedir += "/.retroshare";
+ #else
+ basedir += "/config/settings/retroshare";
+ #endif
#else
if (RsInit::isPortable())
@@ -811,6 +815,8 @@ static bool checkAccount(const std::string &accountdir, AccountDetails &account,
dataDirectory = ".";
#elif defined(ANDROID)
dataDirectory = defaultBaseDirectory()+"/usr/share/retroshare";
+#elif defined(__HAIKU__)
+ dataDirectory = ".";
#elif defined(DATA_DIR)
// cppcheck-suppress ConfigurationNotChecked
dataDirectory = DATA_DIR;
diff --git a/libretroshare/src/rsserver/rsinit.cc b/libretroshare/src/rsserver/rsinit.cc
index 0d93002..1becc1b 100644
--- a/libretroshare/src/rsserver/rsinit.cc
+++ b/libretroshare/src/rsserver/rsinit.cc
@@ -1228,6 +1228,9 @@ int RsServer::StartupRetroShare()
#ifdef __APPLE__
plugins_directories.push_back(rsAccounts->PathDataDirectory()) ;
#endif
+#ifdef __HAIKU__
+ plugins_directories.push_back("/boot/system/apps/RetroShare/plugins") ;
+#endif
#if !defined(WINDOWS_SYS) && defined(PLUGIN_DIR)
plugins_directories.push_back(std::string(PLUGIN_DIR)) ;
#endif
diff --git a/libretroshare/src/util/folderiterator.cc b/libretroshare/src/util/folderiterator.cc
index eb70ab7..9249368 100644
--- a/libretroshare/src/util/folderiterator.cc
+++ b/libretroshare/src/util/folderiterator.cc
@@ -115,6 +115,7 @@ bool FolderIterator::updateFileInfo(bool& should_skip)
#warning cyril soler: should we take care of symbolic links on windows?
#ifndef WINDOWS_SYS
+#ifndef __HAIKU__ /* FIXME, Haiku have incomplete dirent support */
if( ent->d_type == DT_LNK)
{
if(!mAllowSymLinks)
@@ -130,6 +131,7 @@ bool FolderIterator::updateFileInfo(bool& should_skip)
should_skip = true ;
return true ;
}
+#endif /*HAIKU*/
#endif
struct stat64 buf ;
diff --git a/libretroshare/src/util/rsthreads.cc b/libretroshare/src/util/rsthreads.cc
index 39eca59..7706b7f 100644
--- a/libretroshare/src/util/rsthreads.cc
+++ b/libretroshare/src/util/rsthreads.cc
@@ -32,6 +32,7 @@
#include "util/rstime.h"
+#ifndef __HAIKU__ /* FIXME, Haiku doesn't support pthread_setname_np*/
#ifdef __APPLE__
int __attribute__((weak)) pthread_setname_np(const char *__buf) ;
int RS_pthread_setname_np(pthread_t /*__target_thread*/, const char *__buf) {
@@ -43,6 +44,7 @@ int RS_pthread_setname_np(pthread_t __target_thread, const char *__buf) {
return pthread_setname_np(__target_thread, __buf);
}
#endif
+#endif /*HAIKU*/
#ifdef RSMUTEX_DEBUG
#include <stdio.h>
@@ -193,7 +195,7 @@ void RsThread::start(const std::string &threadName)
mTid = tid;
// set name
-
+#ifndef __HAIKU__ /* FIXME! Haiku doesn't support pthread_setname_np*/
if(pthread_setname_np)
{
if(!threadName.empty())
@@ -210,6 +212,7 @@ void RsThread::start(const std::string &threadName)
}
}
}
+#endif /*HAIKU*/
}
else
{
diff --git a/plugins/FeedReader/FeedReader.pro b/plugins/FeedReader/FeedReader.pro
index 7e7e40f..b388156 100644
--- a/plugins/FeedReader/FeedReader.pro
+++ b/plugins/FeedReader/FeedReader.pro
@@ -127,9 +127,10 @@ openbsd-* {
}
haiku-* {
- LIBXML2_DIR = pkg-config --cflags libxml-2.0
+ CONFIG += link_pkgconfig
+ PKGCONFIG *= libcurl libxml-2.0 libxslt
+ LIBXML2_DIR = pkg-config --cflags libxml-2.0
INCLUDEPATH += $${LIBXML2_DIR}
-
LIBS += -lcurl -lxml2 -lxslt
}
diff --git a/plugins/VOIP/VOIP.pro b/plugins/VOIP/VOIP.pro
index ccf7f00..d4195a8 100644
--- a/plugins/VOIP/VOIP.pro
+++ b/plugins/VOIP/VOIP.pro
@@ -28,6 +28,18 @@ linux-* {
LIBS += -lspeex -lspeexdsp -lavcodec -lavutil
}
+#################################### Haiku #####################################
+
+haiku-* {
+ CONFIG += link_pkgconfig
+
+ PKGCONFIG += libavcodec libavutil
+ PKGCONFIG += speex speexdsp
+ PKGCONFIG += opencv
+} else {
+ LIBS += -lspeex -lspeexdsp -lavcodec -lavutil
+}
+
#################################### Windows #####################################
win32 {
diff --git a/retroshare-gui/src/gui/elastic/fft.h b/retroshare-gui/src/gui/elastic/fft.h
index 0b5c48a..54154e7 100644
--- a/retroshare-gui/src/gui/elastic/fft.h
+++ b/retroshare-gui/src/gui/elastic/fft.h
@@ -81,6 +81,15 @@ function prototypes
*/
+#ifdef __HAIKU__
+ #include <math.h>
+ void sincos(double x, double* p_sin, double* p_cos) {
+ *p_sin = sin(x);
+ *p_cos = cos(x);
+ }
+#endif /*HAIKU*/
+
+
/* -------- initializing routines -------- */
#pragma once
diff --git a/retroshare-gui/src/rshare.cpp b/retroshare-gui/src/rshare.cpp
index ff6038d..0d2b235 100644
--- a/retroshare-gui/src/rshare.cpp
+++ b/retroshare-gui/src/rshare.cpp
@@ -850,6 +850,8 @@ Rshare::defaultDataDirectory()
{
#if defined(Q_OS_WIN)
return (win32_app_data_folder() + "\\RetroShare");
+#elif defined(__HAIKU__)
+ return (QDir::homePath() + "/config/settings/retroshare");
#else
return (QDir::homePath() + "/.RetroShare");
#endif
--
2.16.4
From c7b059fc343c08ed01aaf13feb2d6806a24b2b62 Mon Sep 17 00:00:00 2001
From: sehraf <sehraf42@gmail.com>
Date: Fri, 25 May 2018 23:12:35 +0200
Subject: fix for Qt 5.11
Quote from Arch mailing list:
- there's been a huge header cleanup in Qt modules. Expect build failures for applications that rely on transitive includes instead of declaring all required headers. Those need to be fixed upstream by explicitely adding the missing includes.
diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp
index 7d70b3e..8fc1cc6 100644
--- a/retroshare-gui/src/gui/Posted/PostedItem.cpp
+++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp
@@ -22,6 +22,7 @@
*/
#include <QDateTime>
+#include <QStyle>
#include "rshare.h"
#include "PostedItem.h"
diff --git a/retroshare-gui/src/gui/chat/ChatTabWidget.cpp b/retroshare-gui/src/gui/chat/ChatTabWidget.cpp
index a965bbb..6a931b3 100644
--- a/retroshare-gui/src/gui/chat/ChatTabWidget.cpp
+++ b/retroshare-gui/src/gui/chat/ChatTabWidget.cpp
@@ -20,6 +20,8 @@
* Boston, MA 02110-1301, USA.
****************************************************************/
+#include <QTabBar>
+
#include "ChatTabWidget.h"
#include "ui_ChatTabWidget.h"
#include "ChatDialog.h"
diff --git a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp
index d154408..7231764 100644
--- a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp
+++ b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp
@@ -23,6 +23,7 @@
#include <QTimer>
#include <QFileInfo>
+#include <QStyle>
#include "rshare.h"
#include "GxsChannelPostItem.h"
diff --git a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp
index 97ac9dd..e9773ab 100644
--- a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp
+++ b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp
@@ -23,6 +23,7 @@
#include <QTimer>
#include <QFileInfo>
+#include <QStyle>
#include "rshare.h"
#include "GxsForumMsgItem.h"
--
2.16.4
From 15e314540fbf36facca6af80d5b4810e73891623 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sun, 26 Aug 2018 11:44:12 +0200
Subject: FFMPEG4 adjustments
diff --git a/plugins/VOIP/gui/VideoProcessor.cpp b/plugins/VOIP/gui/VideoProcessor.cpp
index e781dcc..37cb298 100644
--- a/plugins/VOIP/gui/VideoProcessor.cpp
+++ b/plugins/VOIP/gui/VideoProcessor.cpp
@@ -453,10 +453,10 @@ FFmpegVideo::FFmpegVideo()
encoding_context->rc_max_rate = 0;
encoding_context->rc_buffer_size = 0;
#endif
- if (encoding_codec->capabilities & CODEC_CAP_TRUNCATED)
- encoding_context->flags |= CODEC_FLAG_TRUNCATED;
- encoding_context->flags |= CODEC_FLAG_PSNR;//Peak signal-to-noise ratio
- encoding_context->flags |= CODEC_CAP_PARAM_CHANGE;
+ if (encoding_codec->capabilities & AV_CODEC_CAP_TRUNCATED)
+ encoding_context->flags |= AV_CODEC_FLAG_TRUNCATED;
+ encoding_context->flags |= AV_CODEC_FLAG_PSNR;//Peak signal-to-noise ratio
+ encoding_context->flags |= AV_CODEC_CAP_PARAM_CHANGE;
encoding_context->i_quant_factor = 0.769f;
encoding_context->b_quant_factor = 1.4f;
encoding_context->time_base.num = 1;
@@ -549,10 +549,10 @@ FFmpegVideo::FFmpegVideo()
decoding_context->pix_fmt = AV_PIX_FMT_YUV420P;
#endif
- if(decoding_codec->capabilities & CODEC_CAP_TRUNCATED)
- decoding_context->flags |= CODEC_FLAG_TRUNCATED; // we do not send complete frames
+ if(decoding_codec->capabilities & AV_CODEC_CAP_TRUNCATED)
+ decoding_context->flags |= AV_CODEC_FLAG_TRUNCATED; // we do not send complete frames
//we can receive truncated frames
- decoding_context->flags2 |= CODEC_FLAG2_CHUNKS;
+ decoding_context->flags2 |= AV_CODEC_FLAG2_CHUNKS;
AVDictionary* dictionary = NULL;
if(avcodec_open2(decoding_context, decoding_codec, &dictionary) < 0)
--
2.16.4

View File

@@ -0,0 +1,381 @@
From 305f2fd398990f4402048a0afd62a21fb7a44a01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Thu, 12 Aug 2021 13:10:39 +0000
Subject: Haiku supporting patches
diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro
index 84d1894..163953e 100644
--- a/libretroshare/src/libretroshare.pro
+++ b/libretroshare/src/libretroshare.pro
@@ -315,12 +315,13 @@ openbsd-* {
haiku-* {
- QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
+ QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen -D_BSD_SOURCE
OPENPGPSDK_DIR = ../../openpgpsdk/src
INCLUDEPATH *= $${OPENPGPSDK_DIR} ../openpgpsdk
DEFINES *= NO_SQLCIPHER
CONFIG += release
DESTDIR = lib
+ LIBS += -lnetwork -lbsd
}
################################### COMMON stuff ##################################
diff --git a/libretroshare/src/rsserver/rsaccounts.cc b/libretroshare/src/rsserver/rsaccounts.cc
index 8be5607..f26a80e 100644
--- a/libretroshare/src/rsserver/rsaccounts.cc
+++ b/libretroshare/src/rsserver/rsaccounts.cc
@@ -341,7 +341,11 @@ bool RsAccountsDetail::defaultBaseDirectory()
}
basedir = h;
- basedir += "/.retroshare";
+ #ifndef __HAIKU__
+ basedir += "/.retroshare";
+ #else
+ basedir += "/config/settings/retroshare";
+ #endif
#else
if (RsInit::isPortable())
@@ -813,6 +817,8 @@ static bool checkAccount(const std::string &accountdir, AccountDetails &account,
dataDirectory = ".";
#elif defined(ANDROID)
dataDirectory = PathBaseDirectory()+"/usr/share/retroshare";
+#elif defined(__HAIKU__)
+ dataDirectory = "/system/apps/RetroShare";
#elif defined(DATA_DIR)
// cppcheck-suppress ConfigurationNotChecked
dataDirectory = DATA_DIR;
diff --git a/libretroshare/src/rsserver/rsinit.cc b/libretroshare/src/rsserver/rsinit.cc
index 8449a9e..40d1f0b 100644
--- a/libretroshare/src/rsserver/rsinit.cc
+++ b/libretroshare/src/rsserver/rsinit.cc
@@ -1190,6 +1190,9 @@ int RsServer::StartupRetroShare()
#ifdef __APPLE__
plugins_directories.push_back(RsAccounts::systemDataDirectory()) ;
#endif
+#ifdef __HAIKU__
+ plugins_directories.push_back("/system/apps/RetroShare/plugins") ;
+#endif
#if !defined(WINDOWS_SYS) && defined(PLUGIN_DIR)
plugins_directories.push_back(std::string(PLUGIN_DIR)) ;
#endif
diff --git a/libretroshare/src/util/folderiterator.cc b/libretroshare/src/util/folderiterator.cc
index c67204f..5e5f8d5 100644
--- a/libretroshare/src/util/folderiterator.cc
+++ b/libretroshare/src/util/folderiterator.cc
@@ -136,6 +136,7 @@ bool FolderIterator::updateFileInfo(bool& should_skip)
#warning cyril soler: should we take care of symbolic links on windows?
#ifndef WINDOWS_SYS
+#ifndef __HAIKU__
if( ent->d_type == DT_LNK)
{
if(!mAllowSymLinks)
@@ -151,6 +152,7 @@ bool FolderIterator::updateFileInfo(bool& should_skip)
should_skip = true ;
return true ;
}
+#endif /*HAIKU*/
#endif
struct stat64 buf ;
diff --git a/libretroshare/src/util/rsthreads.cc b/libretroshare/src/util/rsthreads.cc
index 035ad21..466b3b9 100644
--- a/libretroshare/src/util/rsthreads.cc
+++ b/libretroshare/src/util/rsthreads.cc
@@ -37,6 +37,7 @@
#include <sys/time.h>
#endif
+#ifndef __HAIKU__
#ifdef __APPLE__
int __attribute__((weak)) pthread_setname_np(const char *__buf) ;
int RS_pthread_setname_np(pthread_t /*__target_thread*/, const char *__buf) {
@@ -63,6 +64,7 @@ int RS_pthread_setname_np(pthread_t __target_thread, const char *__buf) {
#ifdef RSMUTEX_ABORT
#include <stdlib.h>
#endif
+#endif /*HAIKU*/
#ifdef DEBUG_THREADS
#include <iostream>
@@ -214,9 +216,10 @@ bool RsThread::start(const std::string& threadName)
/* Set PThread thread name which is restricted to 16 characters
* including the terminating null byte */
+#ifndef __HAIKU__
if(pthread_setname_np && !threadName.empty())
RS_pthread_setname_np(mTid, threadName.substr(0, 15).c_str());
-
+#endif
return true;
}
diff --git a/plugins/FeedReader/FeedReader.pro b/plugins/FeedReader/FeedReader.pro
index b78dda9..acde004 100644
--- a/plugins/FeedReader/FeedReader.pro
+++ b/plugins/FeedReader/FeedReader.pro
@@ -156,9 +156,10 @@ openbsd-* {
}
haiku-* {
- LIBXML2_DIR = pkg-config --cflags libxml-2.0
+ CONFIG += link_pkgconfig
+ PKGCONFIG *= libcurl libxml-2.0 libxslt
+ LIBXML2_DIR = pkg-config --cflags libxml-2.0
INCLUDEPATH += $${LIBXML2_DIR}
-
LIBS += -lcurl -lxml2 -lxslt
}
diff --git a/plugins/VOIP/VOIP.pro b/plugins/VOIP/VOIP.pro
index 8186c48..36e789b 100644
--- a/plugins/VOIP/VOIP.pro
+++ b/plugins/VOIP/VOIP.pro
@@ -58,6 +58,18 @@ linux-* {
LIBS += -lspeex -lspeexdsp -lavcodec -lavutil
}
+#################################### Haiku #####################################
+
+haiku-* {
+ CONFIG += link_pkgconfig
+
+ PKGCONFIG += libavcodec libavutil
+ PKGCONFIG += speex speexdsp
+ PKGCONFIG += opencv4
+} else {
+ LIBS += -lspeex -lspeexdsp -lavcodec -lavutil
+}
+
#################################### Windows #####################################
win32 {
diff --git a/retroshare-gui/src/gui/elastic/fft.h b/retroshare-gui/src/gui/elastic/fft.h
index c26dd61..a2ffcc7 100644
--- a/retroshare-gui/src/gui/elastic/fft.h
+++ b/retroshare-gui/src/gui/elastic/fft.h
@@ -95,6 +95,15 @@ function prototypes
*/
+#ifdef __HAIKU__
+ #include <math.h>
+ void sincos(double x, double* p_sin, double* p_cos) {
+ *p_sin = sin(x);
+ *p_cos = cos(x);
+ }
+#endif /*HAIKU*/
+
+
/* -------- initializing routines -------- */
#pragma once
diff --git a/retroshare-gui/src/rshare.cpp b/retroshare-gui/src/rshare.cpp
index cbed669..344c541 100644
--- a/retroshare-gui/src/rshare.cpp
+++ b/retroshare-gui/src/rshare.cpp
@@ -859,6 +859,8 @@ Rshare::defaultDataDirectory()
{
#if defined(Q_OS_WIN)
return (win32_app_data_folder() + "\\RetroShare");
+#elif defined(__HAIKU__)
+ return (QDir::homePath() + "/config/settings/retroshare");
#else
return (QDir::homePath() + "/.RetroShare");
#endif
diff --git a/retroshare-service/src/retroshare-service.pro b/retroshare-service/src/retroshare-service.pro
index cbd1b9d..bb05c75 100644
--- a/retroshare-service/src/retroshare-service.pro
+++ b/retroshare-service/src/retroshare-service.pro
@@ -64,6 +64,10 @@ unix {
INSTALLS += target
}
+haiku {
+ LIBS *= -lnetwork -lbsd
+}
+
################################# MacOSX ##########################################
macx {
@@ -86,6 +90,7 @@ macx {
INCLUDEPATH += . $$INC_DIR
}
+
################################# Windows ##########################################
win32-g++|win32-clang-g++ {
--
2.30.2
From 56f2623be8a2f7be0a852ee1cd03340088a3955f Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 18 Aug 2021 14:25:46 +0000
Subject: Haiku style by default
diff --git a/retroshare-gui/src/gui/settings/rsharesettings.cpp b/retroshare-gui/src/gui/settings/rsharesettings.cpp
index 86a9355..c16d4e9 100644
--- a/retroshare-gui/src/gui/settings/rsharesettings.cpp
+++ b/retroshare-gui/src/gui/settings/rsharesettings.cpp
@@ -107,7 +107,8 @@ void RshareSettings::initSettings()
#ifdef Q_OS_LINUX
// use GTK as default style on linux
setDefault(SETTING_STYLE, "GTK+");
-#else
+#elif defined(Q_OS_HAIKU)
+ setDefault(SETTING_STYLE, "Haiku");
#if defined(Q_OS_MAC)
setDefault(SETTING_STYLE, "macintosh (aqua)");
#else
--
2.30.2
From 3ca7cc86a340c50ed4bd2c90f4cd0cd1e7220afd Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 19 Aug 2021 08:13:13 +1000
Subject: Use libupnp for Haiku
diff --git a/retroshare.pri b/retroshare.pri
index 2c2201e..4e91cbb 100644
--- a/retroshare.pri
+++ b/retroshare.pri
@@ -765,6 +765,11 @@ macx-* {
QT += macextras
}
+haiku-* {
+ RS_UPNP_LIB = upnp ixml
+}
+
+
# If not yet defined attempt UPnP library autodetection should works at least
# for miniupnc libupnp-1.6.x and libupnp-1.8.x
isEmpty(RS_UPNP_LIB) {
--
2.30.2
From 16ea8e717c65303766d8d0737b2e04efc1aac3f0 Mon Sep 17 00:00:00 2001
From: Gioacchino Mazzurco <gio@eigenlab.org>
Date: Fri, 6 Aug 2021 12:15:34 +0200
Subject: Fix compilation with C++17
diff --git a/libretroshare/src/util/rsdir.cc b/libretroshare/src/util/rsdir.cc
index 8556b81..41d2270 100644
--- a/libretroshare/src/util/rsdir.cc
+++ b/libretroshare/src/util/rsdir.cc
@@ -64,6 +64,26 @@
* #define RSDIR_DEBUG 1
****/
+#if __cplusplus < 201703L
+bool std::filesystem::create_directories(const std::string& path)
+{
+ for( std::string::size_type lastIndex = 0; lastIndex < std::string::npos;
+ lastIndex = path.find('/', lastIndex) )
+ {
+ std::string&& curDir = path.substr(0, ++lastIndex);
+ if(!RsDirUtil::checkCreateDirectory(curDir))
+ {
+ RsErr() << __PRETTY_FUNCTION__ << " failure creating: " << curDir
+ << " of: " << path << std::endl;
+ return false;
+ }
+ }
+ return true;
+}
+#else
+# include <filesystem>
+#endif // __cplusplus < 201703L
+
std::string RsDirUtil::getTopDir(const std::string& dir)
{
std::string top;
@@ -528,24 +548,6 @@ bool RsDirUtil::checkCreateDirectory(const std::string& dir)
return true;
}
-#if __cplusplus < 201703L
-bool std::filesystem::create_directories(const std::string& path)
-{
- for( std::string::size_type lastIndex = 0; lastIndex < std::string::npos;
- lastIndex = path.find('/', lastIndex) )
- {
- std::string&& curDir = path.substr(0, ++lastIndex);
- if(!RsDirUtil::checkCreateDirectory(curDir))
- {
- RsErr() << __PRETTY_FUNCTION__ << " failure creating: " << curDir
- << " of: " << path << std::endl;
- return false;
- }
- }
- return true;
-}
-#endif // __cplusplus < 201703L
-
std::string RsDirUtil::removeSymLinks(const std::string& path)
{
#if defined(WINDOWS_SYS) || defined(__APPLE__) || defined(__ANDROID__)
--
2.30.2
From 18632984161ac3275ee716406684e6b75ba03653 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 12 Nov 2021 19:04:07 +1000
Subject: Fix bdThread
diff --git a/libbitdht/src/util/bdthreads.cc b/libbitdht/src/util/bdthreads.cc
index 3fce7ff..9e908b9 100644
--- a/libbitdht/src/util/bdthreads.cc
+++ b/libbitdht/src/util/bdthreads.cc
@@ -121,7 +121,7 @@ void bdThread::join() /* waits for the the mTid thread to stop */
mMutex.lock();
{
-#if defined(_WIN32) || defined(__MINGW32__) || defined(__APPLE__)
+#if defined(_WIN32) || defined(__MINGW32__) || defined(__APPLE__) || defined(__HAIKU__)
/* Its a struct in Windows compile and the member .p ist checked in the pthreads library */
#else
if(mTid > 0)
--
2.30.2
From e5da60cf45d052bd3f98ecdc4f0f256d6b3ba847 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 12 Nov 2021 20:20:23 +1000
Subject: Haiku style by default
diff --git a/retroshare-gui/src/gui/settings/rsharesettings.cpp b/retroshare-gui/src/gui/settings/rsharesettings.cpp
index c16d4e9..6b46cc1 100644
--- a/retroshare-gui/src/gui/settings/rsharesettings.cpp
+++ b/retroshare-gui/src/gui/settings/rsharesettings.cpp
@@ -163,7 +163,11 @@ void RshareSettings::setLanguageCode(const QString& languageCode)
/** Gets the interface style key (e.g., "windows", "motif", etc.) */
QString RshareSettings::getInterfaceStyle()
{
+#ifdef __HAIKU__
+ return value(SETTING_STYLE, "haiku").toString();
+#else
return value(SETTING_STYLE, "fusion").toString();
+#endif
}
/** Sets the interface style key. */
--
2.30.2

View File

@@ -4,7 +4,7 @@ can spy on you. RetroShare is completely decentralized. This means there are \
no central servers. It is entirely Open-Source and free. There are no costs, \ no central servers. It is entirely Open-Source and free. There are no costs, \
no ads and no Terms of Service." no ads and no Terms of Service."
HOMEPAGE="http://retroshare.sourceforge.net/" HOMEPAGE="http://retroshare.sourceforge.net/"
COPYRIGHT="2006-2018 RetroShare Team COPYRIGHT="2006-2021 RetroShare Team
1989-1991 Free Software Foundation Inc. 1989-1991 Free Software Foundation Inc.
1995-1998 Eric Young 1995-1998 Eric Young
1996-2001 Takuya OOURA 1996-2001 Takuya OOURA
@@ -81,20 +81,38 @@ COPYRIGHT="2006-2018 RetroShare Team
2017 Konrad Dębiec" 2017 Konrad Dębiec"
LICENSE="GNU GPL v2 LICENSE="GNU GPL v2
GNU LGPL v2.1" GNU LGPL v2.1"
REVISION="8" REVISION="1"
SOURCE_URI="https://github.com/RetroShare/RetroShare/archive/v$portVersion.tar.gz" SOURCE_URI="https://github.com/RetroShare/RetroShare/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="84355c0f3be5ec1dfa7253e327ea1254f76f47739c233cfb8d0983ebd1a61f4a" CHECKSUM_SHA256="c545b9249ac7dbfef72a2d636bc0f8b729c7ce05f21a54dd9284b2a387592d4a"
SOURCE_DIR="RetroShare-$portVersion" SOURCE_DIR="RetroShare-$portVersion"
PATCHES="retroshare-$portVersion.patchset" srcGitRev_2="f3a3103a6c52e5707629e8d0a7e279a7758fe845"
ADDITIONAL_FILES="retroshare.rdef" SOURCE_URI_2="https://github.com/truvorskameikin/udp-discovery-cpp/archive/$srcGitRev_2.tar.gz"
SOURCE_FILENAME_2="udp-discovery-cpp-$srcGitRev_2.tar.gz"
SOURCE_DIR_2="udp-discovery-cpp-$srcGitRev_2"
CHECKSUM_SHA256_2="ec00c4da0d43769351ff94cef81b30afe0dd1932a80ded497a338b2f2364d232"
srcGitRev_3="c27c6726d28c42e2e1b7537ba63eeb23e944789d"
SOURCE_URI_3="https://github.com/Corvusoft/restbed/archive/$srcGitRev_3.tar.gz"
SOURCE_FILENAME_3="restbed-$srcGitRev_3.tar.gz"
SOURCE_DIR_3="restbed-$srcGitRev_3"
CHECKSUM_SHA256_3="e01389d3f0481458e14861ee33abc2f7aec3a382bd70e91dee495ac6e943d403"
srcGitRev_4="b9c7a496ba7dd9c3495bae2ff2855899e47b245d"
SOURCE_URI_4="https://github.com/commonmark/cmark/archive/$srcGitRev_4.tar.gz"
SOURCE_FILENAME_4="cmark-$srcGitRev_4.tar.gz"
SOURCE_DIR_4="cmark-$srcGitRev_4"
CHECKSUM_SHA256_4="1327a76d0d24a9160b34c722d31bf3c6e65d646ed51ad212b4803160fe27da35"
ARCHITECTURES="!all" PATCHES="retroshare-$portVersion.patchset"
SECONDARY_ARCHITECTURES="!x86" ADDITIONAL_FILES="
retroshare.rdef.in
icons.zip
"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES=" PROVIDES="
retroshare$secondaryArchSuffix = $portVersion retroshare$secondaryArchSuffix = $portVersion
app:RetroShare = $portVersion app:RetroShare = $portVersion
cmd:retroshare_nogui = $portVersion
" "
REQUIRES=" REQUIRES="
haiku$secondaryArchSuffix haiku$secondaryArchSuffix
@@ -112,7 +130,7 @@ REQUIRES="
lib:libQt5PrintSupport$secondaryArchSuffix lib:libQt5PrintSupport$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix lib:libQt5Xml$secondaryArchSuffix
# lib:libsqlcipher$secondaryArchSuffix lib:libsqlcipher$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix lib:libsqlite3$secondaryArchSuffix
lib:libssl$secondaryArchSuffix lib:libssl$secondaryArchSuffix
lib:libupnp$secondaryArchSuffix lib:libupnp$secondaryArchSuffix
@@ -141,9 +159,10 @@ BUILD_REQUIRES="
devel:libQt5PrintSupport$secondaryArchSuffix devel:libQt5PrintSupport$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix devel:libQt5Widgets$secondaryArchSuffix
devel:libQt5Xml$secondaryArchSuffix devel:libQt5Xml$secondaryArchSuffix
devel:librapidjson$secondaryArchSuffix
devel:libspeex$secondaryArchSuffix devel:libspeex$secondaryArchSuffix
devel:libspeexdsp$secondaryArchSuffix devel:libspeexdsp$secondaryArchSuffix
# devel:libsqlcipher$secondaryArchSuffix devel:libsqlcipher$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix devel:libsqlite3$secondaryArchSuffix
devel:libssl$secondaryArchSuffix devel:libssl$secondaryArchSuffix
devel:libupnp$secondaryArchSuffix devel:libupnp$secondaryArchSuffix
@@ -158,39 +177,67 @@ BUILD_PREREQUIRES="
cmd:ld$secondaryArchSuffix cmd:ld$secondaryArchSuffix
cmd:make cmd:make
cmd:pkg_config$secondaryArchSuffix cmd:pkg_config$secondaryArchSuffix
cmd:qmake$secondaryArchSuffix
cmd:unzip
" "
defineDebugInfoPackage retroshare$secondaryArchSuffix \ PATCH()
$appsDir/RetroShare/RetroShare \ {
$binDir/retroshare-nogui unzip -o $sourceDir/../../additional-files/icons.zip -d $sourceDir
}
BUILD() BUILD()
{ {
echo "Link submodules..."
rm -rf $sourceDir/supportlibs/{cmark,restbed,udp-discovery-cpp}
ln -s $sourceDir2 $sourceDir/supportlibs/udp-discovery-cpp
ln -s $sourceDir3 $sourceDir/supportlibs/restbed
ln -s $sourceDir4 $sourceDir/supportlibs/cmark
echo "Building pegmarkdown..." echo "Building pegmarkdown..."
cd supportlibs/pegmarkdown && qmake && make clean && make $jobArgs && cd ../.. cd supportlibs/pegmarkdown && qmake && make clean && make $jobArgs && cd ../..
echo "Building FeedReader plugin..."
cd plugins/FeedReader && qmake && make clean && make $jobArgs && cd ../..
echo "Building VOIP plugin..."
cd plugins/VOIP && qmake && make clean && make $jobArgs && cd ../..
echo "Building RetroShare..." echo "Building RetroShare..."
qmake \ qmake -r \
PREFIX=$appsDir/Retroshare \ PREFIX=$appsDir/RetroShare \
LIB_DIR=$libDir RS_BIN_DIR=$appsDir/RetroShare \
RS_DATA_DIR=$appsDir/RetroShare \
RS_LIB_DIR=$appsDir/RetroShare/lib \
RS_PLUGIN_DIR=$appsDir/RetroShare/plugins \
CONFIG+=release \
CONFIG+=rs_gui_cmark \
CONFIG+=retroshare_plugins \
CONFIG+=no_rs_broadcast_discovery
make $jobArgs make $jobArgs
} }
INSTALL() INSTALL()
{ {
mkdir -p $appsDir/RetroShare/plugins $binDir make install
cp retroshare-gui/src/retroshare $appsDir/RetroShare/RetroShare
cp retroshare-nogui/src/retroshare-nogui $binDir/retroshare-nogui
cp -r plugins/FeedReader/*.so* $appsDir/RetroShare/plugins rm -rf $appsDir/RetroShare/share
cp -r plugins/VOIP/*.so* $appsDir/RetroShare/plugins strip $appsDir/RetroShare/{retroshare,retroshare-service}
mv $appsDir/RetroShare/retroshare $appsDir/RetroShare/RetroShare
addResourcesToBinaries $portDir/additional-files/retroshare.rdef \ mkdir -p $appsDir/RetroShare/{plugins,lib}
$appsDir/RetroShare/RetroShare cp -r $sourceDir4/build/src/*.so* $appsDir/RetroShare/lib
cp -r plugins/FeedReader/lib/*.so* $appsDir/RetroShare/plugins
# cp -r plugins/VOIP/lib/*.so* $appsDir/RetroShare/plugins
strip $appsDir/RetroShare/plugins/*.so
APP_SIGNATURE="application/x-vnd.RetroShare"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/retroshare.rdef.in > retroshare.rdef
addResourcesToBinaries retroshare.rdef $appsDir/RetroShare/RetroShare
addAppDeskbarSymlink $appsDir/RetroShare/RetroShare addAppDeskbarSymlink $appsDir/RetroShare/RetroShare
} }