On Wed, Feb 22, 2023 at 07:40:36PM +0000, Klemens Nanni wrote:
> This version (maybe 0.11.1 as well, did not try) builds and starts, but
> makes my system lag so much, that I have to switch to another tty to
> kill the process... while waiting a good minute for everything to react.
> 
> Old nheko configures but fails to build with newer mtxclient, so unlike
> coeurl, those two need to be worked on in sync.
> 
> I'll probably just report this upstream rather than spending more of my
> time on it.

New versions fsync db files too much, there is an issue upstream.
Reverting the commit to 0.10.2 (current port) behaviour fixes it.

> In the process, I've also sent our local patches upstream.
> 0.11.2 required more patches to build.

0.11.3 fixed some emoji stuff -- I don't use them, so I don't know.

This works for me on amd64.  patches/ only contains the one backout and
upstreamed OpenBSD support bits.

Feedback? OK?


Index: devel/mtxclient/Makefile
===================================================================
RCS file: /cvs/ports/devel/mtxclient/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- devel/mtxclient/Makefile    22 Feb 2023 03:01:58 -0000      1.4
+++ devel/mtxclient/Makefile    23 Feb 2023 03:59:43 -0000
@@ -1,27 +1,28 @@
 COMMENT =      client API for Matrix, built on libcurl
 CATEGORIES =   devel
 
-SHARED_LIBS +=  matrix_client  1.0
+SHARED_LIBS +=  matrix_client  2.0
 
 GH_ACCOUNT =   Nheko-Reborn
 GH_PROJECT =   mtxclient
-GH_TAGNAME =   v0.8.2
+GH_TAGNAME =   v0.9.2
 
 # MIT
 PERMIT_PACKAGE =       Yes
 
-WANTLIB += ${COMPILER_LIBCXX} coeurl crypto m olm ssl
+WANTLIB += ${COMPILER_LIBCXX} coeurl crypto m olm re2 spdlog ssl
 
 MODULES =      devel/cmake
 
 BUILD_DEPENDS = devel/libevent2 \
-               devel/spdlog \
                textproc/nlohmann-json
 
-LIB_DEPENDS =  devel/coeurl \
-               devel/olm>=3.2.7
+LIB_DEPENDS =  devel/coeurl>=0.3.0 \
+               devel/olm>=3.2.7 \
+               devel/spdlog \
+               textproc/re2
 
-# C++17
+# C++20
 COMPILER =     base-clang ports-gcc
 
 CONFIGURE_ARGS +=      -DBUILD_LIB_EXAMPLES=OFF
Index: devel/mtxclient/distinfo
===================================================================
RCS file: /cvs/ports/devel/mtxclient/distinfo,v
retrieving revision 1.2
diff -u -p -r1.2 distinfo
--- devel/mtxclient/distinfo    10 Sep 2022 16:24:48 -0000      1.2
+++ devel/mtxclient/distinfo    22 Feb 2023 17:57:25 -0000
@@ -1,2 +1,2 @@
-SHA256 (mtxclient-0.8.2.tar.gz) = TKoS3flUuUktHsm2yjLvD8ZHhVXyKdsHTUO8XMKanIk=
-SIZE (mtxclient-0.8.2.tar.gz) = 609627
+SHA256 (mtxclient-0.9.2.tar.gz) = 9Vgn/boibG/ECc8ADHKxPMbQaewTACg6cjmqGckMX1Y=
+SIZE (mtxclient-0.9.2.tar.gz) = 623481
Index: devel/mtxclient/pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/mtxclient/pkg/PLIST,v
retrieving revision 1.2
diff -u -p -r1.2 PLIST
--- devel/mtxclient/pkg/PLIST   10 Sep 2022 16:24:48 -0000      1.2
+++ devel/mtxclient/pkg/PLIST   22 Feb 2023 17:57:26 -0000
@@ -25,6 +25,7 @@ include/mtx/events/join_rules.hpp
 include/mtx/events/member.hpp
 include/mtx/events/messages/
 include/mtx/events/messages/audio.hpp
+include/mtx/events/messages/confetti.hpp
 include/mtx/events/messages/emote.hpp
 include/mtx/events/messages/file.hpp
 include/mtx/events/messages/image.hpp
@@ -74,6 +75,7 @@ include/mtx/responses/public_rooms.hpp
 include/mtx/responses/register.hpp
 include/mtx/responses/sync.hpp
 include/mtx/responses/turn_server.hpp
+include/mtx/responses/users.hpp
 include/mtx/responses/version.hpp
 include/mtx/responses/well-known.hpp
 include/mtx/secret_storage.hpp
Index: net/nheko/Makefile
===================================================================
RCS file: /cvs/ports/net/nheko/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- net/nheko/Makefile  22 Feb 2023 03:35:02 -0000      1.7
+++ net/nheko/Makefile  23 Feb 2023 04:57:16 -0000
@@ -1,8 +1,8 @@
-COMMENT =      desktop client for Matrix using Qt and C++17
+COMMENT =      desktop client for Matrix using Qt and C++20
 
 GH_ACCOUNT =   Nheko-Reborn
 GH_PROJECT =   nheko
-GH_TAGNAME =   v0.10.2
+GH_TAGNAME =   v0.11.3
 
 CATEGORIES=    net
 
@@ -19,7 +19,7 @@ WANTLIB += matrix_client olm qt5keychain
 MODULES =      devel/cmake \
                x11/qt5
 
-# C++17
+# C++20
 COMPILER =     base-clang ports-gcc
 
 RUN_DEPENDS =  devel/desktop-file-utils \
@@ -33,8 +33,8 @@ BUILD_DEPENDS = databases/lmdbxx \
                x11/qt5/qtbase
 
 LIB_DEPENDS =  databases/lmdb \
-               devel/coeurl \
-               devel/mtxclient \
+               devel/coeurl>=0.3.0 \
+               devel/mtxclient>=0.9.2 \
                devel/olm \
                devel/spdlog \
                multimedia/gstreamer1/core \
Index: net/nheko/distinfo
===================================================================
RCS file: /cvs/ports/net/nheko/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- net/nheko/distinfo  5 Oct 2022 09:07:56 -0000       1.3
+++ net/nheko/distinfo  23 Feb 2023 04:58:10 -0000
@@ -1,2 +1,2 @@
-SHA256 (nheko-0.10.2.tar.gz) = AKDanxNOBwdT7+/DvIaAK2D+OF8t6pN5ecCCRjS0wkg=
-SIZE (nheko-0.10.2.tar.gz) = 1608905
+SHA256 (nheko-0.11.3.tar.gz) = 8oUVaISjoMaHDz+6icE9H9cMhye9F52DELE4GfimOjc=
+SIZE (nheko-0.11.3.tar.gz) = 1780179
Index: net/nheko/patches/patch-src_Cache_cpp
===================================================================
RCS file: net/nheko/patches/patch-src_Cache_cpp
diff -N net/nheko/patches/patch-src_Cache_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ net/nheko/patches/patch-src_Cache_cpp       23 Feb 2023 05:12:41 -0000
@@ -0,0 +1,15 @@
+"Fruquent lag due to db sync" https://github.com/Nheko-Reborn/nheko/issues/1355
+Backout d8669ccf3d4429e44caa87e2592b3bc3afa4e41c
+
+Index: src/Cache.cpp
+--- src/Cache.cpp.orig
++++ src/Cache.cpp
+@@ -293,7 +293,7 @@ Cache::setup()
+         //
+         // 2022-10-28: Disable the nosync flags again in the hope to crack 
down on some database
+         // corruption.
+-        env_.open(cacheDirectory_.toStdString().c_str()); //, MDB_NOMETASYNC 
| MDB_NOSYNC);
++        env_.open(cacheDirectory_.toStdString().c_str(),      MDB_NOMETASYNC 
| MDB_NOSYNC);
+     } catch (const lmdb::error &e) {
+         if (e.code() != MDB_VERSION_MISMATCH && e.code() != MDB_INVALID) {
+             throw std::runtime_error("LMDB initialization failed" + 
std::string(e.what()));
Index: net/nheko/patches/patch-src_ChatPage_cpp
===================================================================
RCS file: net/nheko/patches/patch-src_ChatPage_cpp
diff -N net/nheko/patches/patch-src_ChatPage_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ net/nheko/patches/patch-src_ChatPage_cpp    23 Feb 2023 04:59:03 -0000
@@ -0,0 +1,12 @@
+Index: src/ChatPage.cpp
+--- src/ChatPage.cpp.orig
++++ src/ChatPage.cpp
+@@ -1664,7 +1664,7 @@ ChatPage::isRoomActive(const QString &room_id)
+ void
+ ChatPage::removeAllNotifications()
+ {
+-#if defined(Q_OS_LINUX)
++#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
+     notificationsManager->closeAllNotifications();
+ #endif
+ }
Index: net/nheko/patches/patch-src_LoginPage_h
===================================================================
RCS file: /cvs/ports/net/nheko/patches/patch-src_LoginPage_h,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-src_LoginPage_h
--- net/nheko/patches/patch-src_LoginPage_h     28 Jun 2022 12:52:30 -0000      
1.1.1.1
+++ net/nheko/patches/patch-src_LoginPage_h     23 Feb 2023 05:16:11 -0000
@@ -1,7 +1,7 @@
 Index: src/LoginPage.h
 --- src/LoginPage.h.orig
 +++ src/LoginPage.h
-@@ -99,6 +99,8 @@ class LoginPage : public QObject (public)
+@@ -100,6 +100,8 @@ class LoginPage : public QObject (public)
          return "Nheko on Windows";
  #elif defined(Q_OS_FREEBSD)
          return "Nheko on FreeBSD";
Index: net/nheko/patches/patch-src_main_cpp
===================================================================
RCS file: /cvs/ports/net/nheko/patches/patch-src_main_cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-src_main_cpp
--- net/nheko/patches/patch-src_main_cpp        28 Jun 2022 12:52:30 -0000      
1.1.1.1
+++ net/nheko/patches/patch-src_main_cpp        23 Feb 2023 04:59:03 -0000
@@ -1,12 +1,12 @@
 Index: src/main.cpp
 --- src/main.cpp.orig
 +++ src/main.cpp
-@@ -157,7 +157,7 @@ main(int argc, char *argv[])
+@@ -162,7 +162,7 @@ main(int argc, char *argv[])
  
      // this needs to be after setting the application name. Or how would we 
find our settings
      // file then?
 -#if defined(Q_OS_LINUX) || defined(Q_OS_WIN) || defined(Q_OS_FREEBSD)
-+#if defined(Q_OS_LINUX) || defined(Q_OS_WIN) || defined(Q_OS_FREEBSD) || 
defined(Q_OS_OPENBSD)
++#if !defined(Q_OS_MACOS)
      if (qgetenv("QT_SCALE_FACTOR").size() == 0) {
          float factor = utils::scaleFactor();
  
Index: net/nheko/patches/patch-src_notifications_Manager_h
===================================================================
RCS file: net/nheko/patches/patch-src_notifications_Manager_h
diff -N net/nheko/patches/patch-src_notifications_Manager_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ net/nheko/patches/patch-src_notifications_Manager_h 23 Feb 2023 04:59:03 
-0000
@@ -0,0 +1,12 @@
+Index: src/notifications/Manager.h
+--- src/notifications/Manager.h.orig
++++ src/notifications/Manager.h
+@@ -55,7 +55,7 @@ public slots:
+ #if defined(NHEKO_DBUS_SYS)
+ public:
+     void closeNotifications(QString roomId);
+-#if defined(Q_OS_LINUX)
++#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
+     void closeAllNotifications();
+ #endif
+ 

Reply via email to