Monday, July 08, 2024

[update] nheko 0.12/mtxclient 0.10

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/nheko/Makefile,v
diff -u -r1.12 Makefile
--- Makefile 20 Apr 2024 09:28:33 -0000 1.12
+++ Makefile 8 Jul 2024 06:47:30 -0000
@@ -2,23 +2,22 @@

GH_ACCOUNT = Nheko-Reborn
GH_PROJECT = nheko
-GH_TAGNAME = v0.11.3
-REVISION = 1
+GH_TAGNAME = v0.12.0

CATEGORIES= net

# GPLv3
PERMIT_PACKAGE= Yes

-WANTLIB += ${COMPILER_LIBCXX} Qt5Concurrent Qt5Core Qt5DBus Qt5Gui
-WANTLIB += Qt5Multimedia Qt5Network Qt5Qml Qt5QmlModels Qt5Quick
-WANTLIB += Qt5QuickControls2 Qt5QuickWidgets Qt5Svg Qt5Widgets
+WANTLIB += ${COMPILER_LIBCXX} GL Qt6Core Qt6DBus Qt6Gui
+WANTLIB += Qt6Multimedia Qt6Network Qt6Qml Qt6QmlModels Qt6Quick
+WANTLIB += Qt6QuickControls2 Qt6OpenGL Qt6Svg Qt6Widgets
WANTLIB += c cmark coeurl crypto fmt glib-2.0 gobject-2.0 gstbase-1.0
-WANTLIB += gstreamer-1.0 gstsdp-1.0 gstwebrtc-1.0 intl lmdb m
-WANTLIB += matrix_client olm qt5keychain spdlog ssl xcb xcb-ewmh
+WANTLIB += gstreamer-1.0 gstsdp-1.0 gstwebrtc-1.0 gstgl-1.0 gstvideo-1.0 intl lmdb m
+WANTLIB += matrix_client olm qt6keychain spdlog ssl xkbcommon

MODULES = devel/cmake \
- x11/qt5
+ x11/qt6

# C++20
COMPILER = base-clang ports-gcc
@@ -31,7 +30,7 @@
devel/boost \
textproc/asciidoc \
textproc/nlohmann-json \
- x11/qt5/qtbase
+ x11/qt6/qtbase

LIB_DEPENDS = databases/lmdb \
devel/coeurl>=0.3.0 \
@@ -40,14 +39,15 @@
devel/spdlog \
multimedia/gstreamer1/core \
multimedia/gstreamer1/plugins-base \
- security/qtkeychain \
+ security/qtkeychain,qt6 \
textproc/cmark \
- x11/qt5/qtmultimedia \
- x11/qt5/qtquickcontrols2 \
- x11/qt5/qtsvg
+ x11/qt6/qtdeclarative \
+ x11/qt6/qtmultimedia \
+ x11/qt6/qtsvg

# -DCMAKE_DISABLE_FIND_PACKAGE_GIT=ON (or _Git or _git) do not work
CONFIGURE_ARGS += -DGIT=OFF
+CONFIGURE_ARGS += -DUSE_BUNDLED_KDSINGLEAPPLICATION=ON
CONFIGURE_ARGS += -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON

.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/nheko/distinfo,v
diff -u -r1.4 distinfo
--- distinfo 23 Feb 2023 09:14:06 -0000 1.4
+++ distinfo 8 Jul 2024 06:47:30 -0000
@@ -1,2 +1,2 @@
-SHA256 (nheko-0.11.3.tar.gz) = 8oUVaISjoMaHDz+6icE9H9cMhye9F52DELE4GfimOjc=
-SIZE (nheko-0.11.3.tar.gz) = 1780179
+SHA256 (nheko-0.12.0.tar.gz) = o6dXi9k4aguaQYj6Epb93bffD4RsOXKLgKmY+dBvNtE=
+SIZE (nheko-0.12.0.tar.gz) = 2094339
Index: patches/patch-src_Cache_cpp
===================================================================
RCS file: patches/patch-src_Cache_cpp
diff -N patches/patch-src_Cache_cpp
--- patches/patch-src_Cache_cpp 20 Apr 2024 09:28:33 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-- "Fruquent lag due to db sync" https://github.com/Nheko-Reborn/nheko/issues/1355
- Backout d8669ccf3d4429e44caa87e2592b3bc3afa4e41c
-- Fix build against fmt10
- e89e65dc17020772eb057414b4f0c5d6f4ad98d0
-
-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()));
-@@ -438,7 +438,7 @@ Cache::loadSecretsFromStore(
- if (job->error() && job->error() != QKeychain::Error::EntryNotFound) {
- nhlog::db()->error("Restoring secret '{}' failed ({}): {}",
- name.toStdString(),
-- job->error(),
-+ static_cast<int>(job->error()),
- job->errorString().toStdString());
-
- fatalSecretError();
Index: patches/patch-src_ChatPage_cpp
===================================================================
RCS file: patches/patch-src_ChatPage_cpp
diff -N patches/patch-src_ChatPage_cpp
--- patches/patch-src_ChatPage_cpp 20 Apr 2024 09:28:33 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-Fix build with fmt 10.1.0
-871e403f6799df48cfbbe08eba56d473a0c34216
-
-Index: src/ChatPage.cpp
---- src/ChatPage.cpp.orig
-+++ src/ChatPage.cpp
-@@ -1248,7 +1248,7 @@ ChatPage::getBackupVersion()
- nhlog::crypto()->info("Our backup key {} does not match the one "
- "used in the online backup {}",
- pubkey,
-- auth_data["public_key"]);
-+ auth_data["public_key"].get<std::string>());
- cache::client()->deleteBackupVersion();
- return;
- }
-@@ -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: patches/patch-src_LoginPage_h
===================================================================
RCS file: patches/patch-src_LoginPage_h
diff -N patches/patch-src_LoginPage_h
--- patches/patch-src_LoginPage_h 23 Feb 2023 09:14:06 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: src/LoginPage.h
---- src/LoginPage.h.orig
-+++ src/LoginPage.h
-@@ -100,6 +100,8 @@ class LoginPage : public QObject (public)
- return "Nheko on Windows";
- #elif defined(Q_OS_FREEBSD)
- return "Nheko on FreeBSD";
-+#elif defined(Q_OS_OPENBSD)
-+ return "Nheko on OpenBSD";
- #else
- return "Nheko";
- #endif
Index: patches/patch-src_encryption_DeviceVerificationFlow_cpp
===================================================================
RCS file: patches/patch-src_encryption_DeviceVerificationFlow_cpp
diff -N patches/patch-src_encryption_DeviceVerificationFlow_cpp
--- patches/patch-src_encryption_DeviceVerificationFlow_cpp 20 Apr 2024 09:28:33 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-Fix build against fmt10
-e89e65dc17020772eb057414b4f0c5d6f4ad98d0
-
-Index: src/encryption/DeviceVerificationFlow.cpp
---- src/encryption/DeviceVerificationFlow.cpp.orig
-+++ src/encryption/DeviceVerificationFlow.cpp
-@@ -39,7 +39,7 @@ DeviceVerificationFlow::DeviceVerificationFlow(QObject
- , deviceIds(std::move(deviceIds_))
- , model_(model)
- {
-- nhlog::crypto()->debug("CREATING NEW FLOW, {}, {}", flow_type, (void *)this);
-+ nhlog::crypto()->debug("CREATING NEW FLOW, {}, {}", static_cast<int>(flow_type), (void *)this);
- if (deviceIds.size() == 1)
- deviceId = deviceIds.front();
-
Index: patches/patch-src_main_cpp
===================================================================
RCS file: patches/patch-src_main_cpp
diff -N patches/patch-src_main_cpp
--- patches/patch-src_main_cpp 23 Feb 2023 09:14:06 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-Index: src/main.cpp
---- src/main.cpp.orig
-+++ src/main.cpp
-@@ -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_MACOS)
- if (qgetenv("QT_SCALE_FACTOR").size() == 0) {
- float factor = utils::scaleFactor();
-
Index: patches/patch-src_notifications_Manager_h
===================================================================
RCS file: patches/patch-src_notifications_Manager_h
diff -N patches/patch-src_notifications_Manager_h
--- patches/patch-src_notifications_Manager_h 23 Feb 2023 09:21:48 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-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
-
Index: patches/patch-src_timeline_InputBar_cpp
===================================================================
RCS file: patches/patch-src_timeline_InputBar_cpp
diff -N patches/patch-src_timeline_InputBar_cpp
--- patches/patch-src_timeline_InputBar_cpp 20 Apr 2024 09:28:33 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-Fix build against fmt10
-e89e65dc17020772eb057414b4f0c5d6f4ad98d0
-
-Index: src/timeline/InputBar.cpp
---- src/timeline/InputBar.cpp.orig
-+++ src/timeline/InputBar.cpp
-@@ -948,14 +948,15 @@ MediaUpload::MediaUpload(std::unique_ptr<QIODevice> so
- this,
- [mediaPlayer](QMediaPlayer::Error error) {
- nhlog::ui()->debug("Media player error {} and errorStr {}",
-- error,
-+ static_cast<int>(error),
- mediaPlayer->errorString().toStdString());
- });
- connect(mediaPlayer,
- &QMediaPlayer::mediaStatusChanged,
- [mediaPlayer](QMediaPlayer::MediaStatus status) {
-- nhlog::ui()->debug(
-- "Media player status {} and error {}", status, mediaPlayer->error());
-+ nhlog::ui()->debug("Media player status {} and error {}",
-+ static_cast<int>(status),
-+ static_cast<int>(mediaPlayer->error()));
- });
- connect(mediaPlayer,
- qOverload<const QString &, const QVariant &>(&QMediaPlayer::metaDataChanged),
Index: patches/patch-src_ui_MxcMediaProxy_cpp
===================================================================
RCS file: patches/patch-src_ui_MxcMediaProxy_cpp
diff -N patches/patch-src_ui_MxcMediaProxy_cpp
--- patches/patch-src_ui_MxcMediaProxy_cpp 20 Apr 2024 09:28:33 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,22 +0,0 @@
-Fix build against fmt10
-e89e65dc17020772eb057414b4f0c5d6f4ad98d0
-
-Index: src/ui/MxcMediaProxy.cpp
---- src/ui/MxcMediaProxy.cpp.orig
-+++ src/ui/MxcMediaProxy.cpp
-@@ -37,11 +37,13 @@ MxcMediaProxy::MxcMediaProxy(QObject *parent)
- qOverload<QMediaPlayer::Error>(&MxcMediaProxy::error),
- [this](QMediaPlayer::Error error) {
- nhlog::ui()->info("Media player error {} and errorStr {}",
-- error,
-+ static_cast<int>(error),
- this->errorString().toStdString());
- });
- connect(this, &MxcMediaProxy::mediaStatusChanged, [this](QMediaPlayer::MediaStatus status) {
-- nhlog::ui()->info("Media player status {} and error {}", status, this->error());
-+ nhlog::ui()->info("Media player status {} and error {}",
-+ static_cast<int>(status),
-+ static_cast<int>(this->error()));
- });
- connect(this,
- qOverload<const QString &, const QVariant &>(&MxcMediaProxy::metaDataChanged),
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/nheko/pkg/PLIST,v
diff -u -r1.2 PLIST
--- pkg/PLIST 10 Sep 2022 16:26:36 -0000 1.2
+++ pkg/PLIST 8 Jul 2024 06:47:30 -0000
@@ -1,4 +1,12 @@
@bin bin/nheko
+include/kdsingleapplication-qt6/
+include/kdsingleapplication-qt6/kdsingleapplication.h
+include/kdsingleapplication-qt6/kdsingleapplication_lib.h
+include/kdsingleapplication-qt6/kdsingleapplication_version.h
+lib/cmake/KDSingleApplication-qt6/
+lib/cmake/KDSingleApplication-qt6/KDSingleApplication-qt6Targets${MODCMAKE_BUILD_SUFFIX}
+lib/cmake/KDSingleApplication-qt6/KDSingleApplication-qt6Targets.cmake
+@so lib/libkdsingleapplication-qt6.so
@man man/man1/nheko.1
share/applications/nheko.desktop
share/icons/hicolor/128x128/apps/nheko.png
? mtxclient-0.10.0-libmatrix_client.so.2.0
? mtxclient-0.9.2-libmatrix_client.so.2.0
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/mtxclient/Makefile,v
diff -u -r1.8 Makefile
--- Makefile 20 Apr 2024 09:27:50 -0000 1.8
+++ Makefile 8 Jul 2024 06:47:07 -0000
@@ -1,12 +1,11 @@
COMMENT = client API for Matrix, built on libcurl
CATEGORIES = devel

-SHARED_LIBS += matrix_client 2.0
+SHARED_LIBS += matrix_client 3.0

GH_ACCOUNT = Nheko-Reborn
GH_PROJECT = mtxclient
-GH_TAGNAME = v0.9.2
-REVISION = 2
+GH_TAGNAME = v0.10.0

# MIT
PERMIT_PACKAGE = Yes
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/mtxclient/distinfo,v
diff -u -r1.3 distinfo
--- distinfo 23 Feb 2023 09:14:05 -0000 1.3
+++ distinfo 8 Jul 2024 06:47:07 -0000
@@ -1,2 +1,2 @@
-SHA256 (mtxclient-0.9.2.tar.gz) = 9Vgn/boibG/ECc8ADHKxPMbQaewTACg6cjmqGckMX1Y=
-SIZE (mtxclient-0.9.2.tar.gz) = 623481
+SHA256 (mtxclient-0.10.0.tar.gz) = lQLgqZnShzFy1Qu4A3HAYSZhJsfU245ERH63DJd7AjA=
+SIZE (mtxclient-0.10.0.tar.gz) = 633765
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/devel/mtxclient/pkg/PLIST,v
diff -u -r1.3 PLIST
--- pkg/PLIST 23 Feb 2023 09:14:06 -0000 1.3
+++ pkg/PLIST 8 Jul 2024 06:47:07 -0000
@@ -7,6 +7,7 @@
include/mtx/events/account_data/
include/mtx/events/account_data/direct.hpp
include/mtx/events/account_data/fully_read.hpp
+include/mtx/events/account_data/ignored_users.hpp
include/mtx/events/aliases.hpp
include/mtx/events/avatar.hpp
include/mtx/events/canonical_alias.hpp
@@ -25,18 +26,20 @@
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/elementeffect.hpp
include/mtx/events/messages/emote.hpp
include/mtx/events/messages/file.hpp
include/mtx/events/messages/image.hpp
include/mtx/events/messages/location.hpp
include/mtx/events/messages/notice.hpp
include/mtx/events/messages/text.hpp
+include/mtx/events/messages/unknown.hpp
include/mtx/events/messages/video.hpp
include/mtx/events/mscs/
include/mtx/events/mscs/image_packs.hpp
include/mtx/events/name.hpp
include/mtx/events/nheko_extensions/
+include/mtx/events/nheko_extensions/event_expiry.hpp
include/mtx/events/nheko_extensions/hidden_events.hpp
include/mtx/events/pinned_events.hpp
include/mtx/events/policy_rules.hpp
@@ -44,6 +47,7 @@
include/mtx/events/presence.hpp
include/mtx/events/reaction.hpp
include/mtx/events/redaction.hpp
+include/mtx/events/server_acl.hpp
include/mtx/events/spaces.hpp
include/mtx/events/tag.hpp
include/mtx/events/tombstone.hpp
hi,

here's a wip update for nheko 0.12 which switched upstream to qt6, cf
https://github.com/Nheko-Reborn/nheko/releases/tag/v0.12.0
there's also an update for mtxclient 0.10.0 cf
https://github.com/Nheko-Reborn/mtxclient/releases/tag/v0.10.0

wip packages are available on https://packages.rhaalovely.net/wip/amd64/
using the trick from
https://github.com/Nheko-Reborn/nheko/issues/1187#issuecomment-1255831124
i've been able to connect to a matrix account and verify this new
device.

portswise, it builds a bundled copy of
https://github.com/KDAB/KDSingleApplication for which we could have a
distinct port, opinion welcome on that.

testing welcome!

Landry

No comments:

Post a Comment