Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Mar 2019 22:04:55 +0000 (UTC)
From:      Adriaan de Groot <adridg@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r496858 - in head/net-im: . nheko
Message-ID:  <201903252204.x2PM4tb6041126@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adridg
Date: Mon Mar 25 22:04:55 2019
New Revision: 496858
URL: https://svnweb.freebsd.org/changeset/ports/496858

Log:
  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 <json.hpp> to <nlohmann/json.hpp>, 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.

Added:
  head/net-im/nheko/
  head/net-im/nheko/Makefile   (contents, props changed)
  head/net-im/nheko/distinfo   (contents, props changed)
  head/net-im/nheko/pkg-descr   (contents, props changed)
  head/net-im/nheko/pkg-plist   (contents, props changed)
Modified:
  head/net-im/Makefile

Modified: head/net-im/Makefile
==============================================================================
--- head/net-im/Makefile	Mon Mar 25 20:42:09 2019	(r496857)
+++ head/net-im/Makefile	Mon Mar 25 22:04:55 2019	(r496858)
@@ -78,6 +78,7 @@ PORTREVISION=	1
     SUBDIR += mikutter
     SUBDIR += mtxclient
     SUBDIR += mu-conference
+    SUBDIR += nheko
     SUBDIR += openfire
     SUBDIR += oysttyer
     SUBDIR += p5-AnyEvent-XMPP

Added: head/net-im/nheko/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/nheko/Makefile	Mon Mar 25 22:04:55 2019	(r496858)
@@ -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 <json.hpp> 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 <json.hpp>+include <nlohmann/json.hpp>+' \
+		-e 's+include "json.hpp"+include <nlohmann/json.hpp>+'
+
+.include <bsd.port.mk>

Added: head/net-im/nheko/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/nheko/distinfo	Mon Mar 25 22:04:55 2019	(r496858)
@@ -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

Added: head/net-im/nheko/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/nheko/pkg-descr	Mon Mar 25 22:04:55 2019	(r496858)
@@ -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

Added: head/net-im/nheko/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/nheko/pkg-plist	Mon Mar 25 22:04:55 2019	(r496858)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903252204.x2PM4tb6041126>