From 35a3fe2a430ed9dfcbfc3bed4ee751f7c094727b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Mar 2019 22:04:55 +0000 Subject: [PATCH] New port net-im/nheko Third time's the charm for Qt-based Matrix clients; this one looks pretty good and seems to work pretty well. It also offers registration for new users, and understands both plain (matrix.org) and premium (modular.im) accounts. The port contains the following yuckiness: - a hack to change to , since the CMake bits in nheko don't actually go look for it. - a (GH_TUPLE) copy of lmdb++, which is #included by the C++ code, but CMake doesn't go looking for it. - a (GH_TUPLE) copy of tweeny, which is used by the C++ code, but CMake doesn't go looking for it. Since this is a source copy, the header isn't in the tweeny/ directory (where it gets installed), so an extra hack is called for to provide that subdirectory. I considered making tweeny a separate port (many Linuxen do), but this would be the only consumer, and it doesn't even consume the whole library but only parts of one header. --- net-im/Makefile | 1 + net-im/nheko/Makefile | 49 ++++++++++++++++++++++++++++++++++++++++++ net-im/nheko/distinfo | 7 ++++++ net-im/nheko/pkg-descr | 5 +++++ net-im/nheko/pkg-plist | 10 +++++++++ 5 files changed, 72 insertions(+) create mode 100644 net-im/nheko/Makefile create mode 100644 net-im/nheko/distinfo create mode 100644 net-im/nheko/pkg-descr create mode 100644 net-im/nheko/pkg-plist diff --git a/net-im/Makefile b/net-im/Makefile index 50509b647777..95b1c3b89186 100644 --- a/net-im/Makefile +++ b/net-im/Makefile @@ -78,6 +78,7 @@ PORTREVISION= 1 SUBDIR += mikutter SUBDIR += mtxclient SUBDIR += mu-conference + SUBDIR += nheko SUBDIR += openfire SUBDIR += oysttyer SUBDIR += p5-AnyEvent-XMPP diff --git a/net-im/nheko/Makefile b/net-im/nheko/Makefile new file mode 100644 index 000000000000..96bac15dd6c0 --- /dev/null +++ b/net-im/nheko/Makefile @@ -0,0 +1,49 @@ +# $FreeBSD$ + +PORTNAME= nheko +DISTVERSIONPREFIX=v +DISTVERSION= 0.6.3 +CATEGORIES= net-im + +MAINTAINER= adridg@FreeBSD.org +COMMENT= Matrix IM client based on Qt technologies + +LICENSE= GPLv3 +LICENSE_FILES= ${WRKSRC}/COPYING + +BUILD_DEPENDS= cmark:textproc/cmark \ + mtxclient>=0.2:net-im/mtxclient \ + nlohmann-json>=3:devel/nlohmann-json \ + spdlog>=1.3:devel/spdlog +LIB_DEPENDS= liblmdb.so:databases/lmdb + +USES= cmake compiler:c++17-lang pkgconfig \ + localbase:ldflags qt:5 tar:xz +USE_QT= concurrent core dbus declarative gui multimedia network svg widgets \ + buildtools_build linguist_build qmake_build + +# There are two external dependencies: lmdb++ and tweeny. +# - lmdb++ is a single header file, it just needs to be included +# - tweeny is a library, but only one header is needed; it is normally +# installed into a tweeny/ subdirectory, but its sources place it +# in include/. Add one more symlink to the build for that. +CMAKE_ARGS= -DLMDBXX_INCLUDE_DIR=${WRKSRC}/deps/lmdb \ + -DTWEENY_INCLUDE_DIR=${WRKSRC}/deps/tweeny + +USE_GITHUB= yes +GH_ACCOUNT= Nheko-Reborn +GH_TUPLE= drycpp:lmdbxx:0b43ca87d8cfabba392dfe884eb1edb83874de02:lmdb/deps/lmdb \ + mobius3:tweeny:v3:tweeny/deps/tweeny + +post-extract: + cd ${WRKSRC}/deps/tweeny && ${LN} -s include tweeny + +# Includes without referencing where it's installed, +# so hackishly correct all the broken paths. +post-patch: + ${FIND} ${WRKSRC} -type f -print0 | \ + ${XARGS} -0 ${REINPLACE_CMD} \ + -e 's+include +include +' \ + -e 's+include "json.hpp"+include +' + +.include diff --git a/net-im/nheko/distinfo b/net-im/nheko/distinfo new file mode 100644 index 000000000000..06e4b2acfbf2 --- /dev/null +++ b/net-im/nheko/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1553549643 +SHA256 (Nheko-Reborn-nheko-v0.6.3_GH0.tar.gz) = e88678d10195f5e2618e0d1a44cc9c152122ff3ab03b347d00f16b39abe2ac3e +SIZE (Nheko-Reborn-nheko-v0.6.3_GH0.tar.gz) = 4556147 +SHA256 (drycpp-lmdbxx-0b43ca87d8cfabba392dfe884eb1edb83874de02_GH0.tar.gz) = 93721132bbf5045d38ad62de2997655e9984c48ea5c9886746d42128f4b26fbd +SIZE (drycpp-lmdbxx-0b43ca87d8cfabba392dfe884eb1edb83874de02_GH0.tar.gz) = 47524 +SHA256 (mobius3-tweeny-v3_GH0.tar.gz) = 699633578f958cbb1363f80164ac063dc40ce08dfc26b0591752ca412e64c941 +SIZE (mobius3-tweeny-v3_GH0.tar.gz) = 48997 diff --git a/net-im/nheko/pkg-descr b/net-im/nheko/pkg-descr new file mode 100644 index 000000000000..96189ef1352a --- /dev/null +++ b/net-im/nheko/pkg-descr @@ -0,0 +1,5 @@ +The motivation behind the project is to provide a native desktop app +for Matrix that feels more like a mainstream chat app (Riot, Telegram) +and less like an IRC client. + +WWW: https://github.com/Nheko-Reborn/nheko diff --git a/net-im/nheko/pkg-plist b/net-im/nheko/pkg-plist new file mode 100644 index 000000000000..a4f9210231fa --- /dev/null +++ b/net-im/nheko/pkg-plist @@ -0,0 +1,10 @@ +bin/nheko +share/applications/nheko.desktop +share/icons/hicolor/128x128/apps/nheko.png +share/icons/hicolor/16x16/apps/nheko.png +share/icons/hicolor/256x256/apps/nheko.png +share/icons/hicolor/32x32/apps/nheko.png +share/icons/hicolor/48x48/apps/nheko.png +share/icons/hicolor/512x512/apps/nheko.png +share/icons/hicolor/64x64/apps/nheko.png +share/metainfo/nheko.appdata.xml