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.
2019-03-25 22:04:55 +00:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= nheko
|
|
|
|
DISTVERSIONPREFIX=v
|
2019-06-06 15:17:55 +00:00
|
|
|
DISTVERSION= 0.6.4
|
2019-09-01 06:12:37 +00:00
|
|
|
PORTREVISION= 3
|
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.
2019-03-25 22:04:55 +00:00
|
|
|
CATEGORIES= net-im
|
|
|
|
|
|
|
|
MAINTAINER= adridg@FreeBSD.org
|
|
|
|
COMMENT= Matrix IM client based on Qt technologies
|
|
|
|
|
|
|
|
LICENSE= GPLv3
|
2019-06-06 15:17:55 +00:00
|
|
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
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.
2019-03-25 22:04:55 +00:00
|
|
|
|
2019-06-06 15:17:55 +00:00
|
|
|
BUILD_DEPENDS= mtxclient>=0.2.1:net-im/mtxclient \
|
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.
2019-03-25 22:04:55 +00:00
|
|
|
nlohmann-json>=3:devel/nlohmann-json \
|
|
|
|
spdlog>=1.3:devel/spdlog
|
2019-04-16 07:25:48 +00:00
|
|
|
LIB_DEPENDS= liblmdb.so:databases/lmdb \
|
|
|
|
libsodium.so:security/libsodium \
|
|
|
|
libolm.so:security/olm \
|
|
|
|
libcmark.so:textproc/cmark
|
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.
2019-03-25 22:04:55 +00:00
|
|
|
|
|
|
|
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>
|