From c6acbf6ac578e79ae874c753404cd0b6b635d28f Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Sun, 2 May 2021 13:41:30 +0200 Subject: [PATCH] nheko, new recipe (#5862) Authored-by: Pascal Abresch Co-authored-by: Luc Schrijvers --- net-im/nheko/additional-files/nheko.iom | Bin 0 -> 12219 bytes net-im/nheko/additional-files/nheko.rdef.in | 28 ++++ net-im/nheko/nheko-0.8.2.recipe | 119 +++++++++++++ net-im/nheko/patches/nheko-0.8.2.patchset | 174 ++++++++++++++++++++ 4 files changed, 321 insertions(+) create mode 100644 net-im/nheko/additional-files/nheko.iom create mode 100644 net-im/nheko/additional-files/nheko.rdef.in create mode 100644 net-im/nheko/nheko-0.8.2.recipe create mode 100644 net-im/nheko/patches/nheko-0.8.2.patchset diff --git a/net-im/nheko/additional-files/nheko.iom b/net-im/nheko/additional-files/nheko.iom new file mode 100644 index 0000000000000000000000000000000000000000..ada35a8c1df8c1561379e4aaa88621f4dea30273 GIT binary patch literal 12219 zcmeHNTWnNC7@novclqj=J$ zlkf5HbgdIM&W_k|_$t%H#*X%vS-y)ENF1sO!<<(p~-z(d&D;0*Wn7LR?!F<{A86 z4q<)@*e1wDnM-ZQ%l*p-{B8DKbo#lR+gWhCM2d-IIGtHP03b$EcBDK8JzG-d;9Zz> zQf8st0=XNalcMl9fa|0voP(^BLYy)M_LxXn7~ztXnNY+)WxbqRV&%vxAvQqBz^YDJAv*I4Zv?J0uW%2z&OCopjzdh$pNVkEJf~UK?JhVwGG4)Ty7N95Nk1R)lq)dD3f=#1eHI$B-j+<^iKgr}*9o?|<>m1TMtcY{4B>C)Tr&B) zu}O0<0yk3(S*Wa8frZ~vcD^tddbYk0ZGSOe;DXc$p`Yl!pzzm#>%O4y&w%T`K%DXy z#N-RypNLCe;Bsto0}ePxjQi452=gw819?5l7a*Uh$p-x9b1gbS)o3UraAGaR2_CcH z?Zu$j#2@D|UbZAJfG(41!FvF>PBIB}AS)p{$qLT^*GcAY$}xzE|G_QAY%{USIdMEZ-lJLLXb)xmo*~|q`XW@4Y>^TTs z?ILnD*RSCBkj{dQV#q>e&D)uUz{T5lMZ3Swf?Dj<=qol}lna}->)0rUEL7G^W+8RU zFGyMhwmIFowX`5{N8wJw-DP!@*CQuBRo_``6hjg!YbKL$>n})o#$S;q#8}|ThARm3 z4oCxpCmiNNXTe4>WTCQV1r~xrU)Bx84O|@9Y|#gymx7htMwz%h>Pg*>@T9n(mk~&; zm)(d%DB1MF6U!6`dr__9r|g+!-gb<>h#=03i01Wet+bFEIQM4aa--HR3OfC)pGTc= z595!GMYy!Fwn&}AO%|zBxU`6YWLtDf4oyPnRBXqa+n972Z^`IK4H5^8i7(Ht^+8f0 zvB@MA5~pyyR~K6YXynnTol+<(&vM~>7NNPo__wF>V69!7b%D$^#( zF5rwh>%_bmz8_fF@1of4)5!?$%%+1tUWqiTA>gbp6$<%uF6j32J?Vny=TO5m%ox;= z#^U7>K0h!}^t-zQw;-+^eGU!mSy|}ob!98K@N)CLem3lbL*wN#Zr&?6qq(KxMC5FQRw-1k%vUJjCZ72wE2DMPeq3SGMTcku+8w=r!A^lVMLhc+Xb zOj{J;(zJOfAWj)$*yS6=;zsmlW7v-vcw1MTPpgnjhH*TJk9NgJB3v5Go7d14wPD z`qSIzcuEh7*aH2GyGj_e%#H;ofTdOZ#HI%`^f?AIdho{$gYhfdtP}AdYAJBOSsg+r z{S(`pCH;jmh~fy)jvxVlKf-04@8sQXl!cHNP^uu8A1w$U6`;rmZW7AyEJ&nikHa66Mfo5t&3a3jFDNmx#M9Nm+ zA&GHP_(9Tye-PniQb=Qo6c!{Y`Z;9sSozeFl|h(YD^~79+exgvfI1T^+kl%!|D6O} zogd1q(9uh*upn9Cwyj?*ho90WkDu|L?>IKqTFQ74^PG>8g?Y$ zjGn1qriZPLrH8xTM2V@&Zqsi`%vUhDR>ah!?IdEBqs~N(58On|&IFuCh&VB^b&b)3 z^c(Jc`d87(ThTtYWaa`at`##p@+UE~0(B;4l7cYaWSJP_{Ysn}zD>zx*o9<b8nOv9o(2|yO zFt=8;aGEC3@-*s9wDbTs(Xu@OKOEs@TKG04T3C=S!;7VGtC?J0Zr{+EN6Qi~EJ$7$ rI_n#a{5m?W)vPKJ+UN6W|B8bWAfRa nheko.rdef + + mv $appsDir/nheko $appsDir/Nheko + rm -rf $dataDir + + addResourcesToBinaries nheko.rdef $appsDir/Nheko + addAppDeskbarSymlink $appsDir/Nheko +} diff --git a/net-im/nheko/patches/nheko-0.8.2.patchset b/net-im/nheko/patches/nheko-0.8.2.patchset new file mode 100644 index 000000000..7bddee812 --- /dev/null +++ b/net-im/nheko/patches/nheko-0.8.2.patchset @@ -0,0 +1,174 @@ +From 05cb74c094d285a568103a413c0d3e4ca95b8d21 Mon Sep 17 00:00:00 2001 +From: Pascal Abresch +Date: Sat, 24 Apr 2021 07:46:12 +0200 +Subject: HACK: disable rounding effect for avatars Having this enabled + produces empty avatars for some reason + + +diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml +index 108bb76..75971a3 100644 +--- a/resources/qml/Avatar.qml ++++ b/resources/qml/Avatar.qml +@@ -60,18 +60,6 @@ Rectangle { + + } + +- layer.effect: OpacityMask { +- cached: true +- +- maskSource: Rectangle { +- anchors.fill: parent +- width: avatar.width +- height: avatar.height +- radius: Settings.avatarCircles ? height / 2 : 3 +- } +- +- } +- + } + + Rectangle { +-- +2.30.0 + + +From 0aa02aa568eaa2ff46e52192d25f7149c9430fee Mon Sep 17 00:00:00 2001 +From: Pascal Abresch +Date: Sat, 24 Apr 2021 07:51:50 +0200 +Subject: Haiku: decrease single pane threshold + + +diff --git a/src/Splitter.cpp b/src/Splitter.cpp +index 15e3f5c..aaf67e1 100644 +--- a/src/Splitter.cpp ++++ b/src/Splitter.cpp +@@ -160,7 +160,7 @@ splitter::calculateSidebarSizes(const QFont &f) + sz.small = std::ceil(3.8 * height); + sz.normal = std::ceil(16 * height); + sz.groups = std::ceil(3 * height); +- sz.collapsePoint = 2 * sz.normal; ++ sz.collapsePoint = 1.4 * sz.normal; + + return sz; + } +-- +2.30.0 + + +From 919142c89739e63a18b286d14bba4deb7fb07e4a Mon Sep 17 00:00:00 2001 +From: Pascal Abresch +Date: Sat, 24 Apr 2021 07:40:14 +0200 +Subject: Haiku: disable singleapplication + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 468480d..2d8bcb3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -461,9 +461,11 @@ else() + add_feature_info(voip OFF "GStreamer could not be found on your system. As a consequence call support has been disabled. If you don't want that, make sure gstreamer-sdp-1.0>=1.18 gstreamer-webrtc-1.0>=1.18 can be found via pkgconfig.") + endif() + ++if(NOT HAIKU) + # single instance functionality + set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication") + add_subdirectory(third_party/SingleApplication-3.2.0-dc8042b/) ++endif() + + feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) + +@@ -633,8 +635,12 @@ target_link_libraries(nheko PRIVATE + qt5keychain + nlohmann_json::nlohmann_json + lmdbxx::lmdbxx +- liblmdb::lmdb ++ liblmdb::lmdb) ++ ++if (NOT HAIKU) ++target_link_libraries(nheko PRIVATE + SingleApplication::SingleApplication) ++endif() + + if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16.0") + target_precompile_headers(nheko +diff --git a/src/main.cpp b/src/main.cpp +index fe1a9ee..446e165 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -29,7 +29,10 @@ + #include "MatrixClient.h" + #include "Utils.h" + #include "config/nheko.h" ++ ++#if !defined(Q_OS_HAIKU) + #include "singleapplication.h" ++#endif + + #if defined(Q_OS_MAC) + #include "emoji/MacHelper.h" +@@ -136,6 +139,7 @@ main(int argc, char *argv[]) + } + } + ++#if !defined(Q_OS_HAIKU) + SingleApplication app(argc, + argv, + true, +@@ -145,12 +149,17 @@ main(int argc, char *argv[]) + SingleApplication::Mode::SecondaryNotification, + 100, + userdata); ++#else ++ QApplication app(argc, argv, true); ++#endif + ++#if !defined(Q_OS_HAIKU) + if (app.isSecondary()) { + // open uri in main instance + app.sendMessage(matrixUri.toUtf8()); + return 0; + } ++#endif + + QCommandLineParser parser; + parser.addHelpOption(); +@@ -170,9 +179,11 @@ main(int argc, char *argv[]) + QCoreApplication::tr("profile name")); + parser.addOption(configName); + ++#if !defined(Q_OS_HAIKU) + parser.process(app); + + app.setWindowIcon(QIcon::fromTheme("nheko", QIcon{":/logos/nheko.png"})); ++#endif + + http::init(); + +@@ -236,6 +247,8 @@ main(int argc, char *argv[]) + nhlog::net()->debug("bye"); + } + }); ++ ++#if !defined(Q_OS_HAIKU) + QObject::connect(&app, &SingleApplication::instanceStarted, &w, [&w]() { + w.show(); + w.raise(); +@@ -247,9 +260,14 @@ main(int argc, char *argv[]) + &SingleApplication::receivedMessage, + ChatPage::instance(), + [&](quint32, QByteArray message) { ChatPage::instance()->handleMatrixUri(message); }); +- ++#endif + QMetaObject::Connection uriConnection; ++ ++#if !defined(Q_OS_HAIKU) + if (app.isPrimary() && !matrixUri.isEmpty()) { ++#else ++ if (!matrixUri.isEmpty()) { ++#endif + uriConnection = QObject::connect(ChatPage::instance(), + &ChatPage::contentLoaded, + ChatPage::instance(), +-- +2.30.0 +