mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-28 10:08:24 +00:00
35a3fe2a43
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.
50 lines
1.6 KiB
Makefile
50 lines
1.6 KiB
Makefile
# $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>
|