1SUMMARY="An IM client for Matrix"
2DESCRIPTION="The motivation behind the nheko is to provide a native desktop \
3app for Matrix that feels more like a mainstream chat app (Element, Telegram \
4etc.) and less like an IRC client. It was developed using the Qt5 framework."
5HOMEPAGE="https://nheko.im/nheko-reborn/nheko"
6COPYRIGHT="2017-2021 Nheko Authors"
7LICENSE="GNU GPL v3"
8REVISION="5"
9SOURCE_URI="https://github.com/Nheko-Reborn/nheko/archive/v${portVersion}.tar.gz"
10CHECKSUM_SHA256="df4575c47daab47d418637a4637b599e3848dd749132ca1e92f981d9212eabb2"
11SOURCE_FILENAME="nheko-${portVersion}.tar.gz"
12SOURCE_DIR="nheko-${portVersion}"
13PATCHES="nheko-${portVersion}.patchset"
14ADDITIONAL_FILES="nheko.rdef.in"
15
16boostMinimumVersion="1.70.0"
17
18ARCHITECTURES="?all !x86_gcc2"
19SECONDARY_ARCHITECTURES="?x86"
20
21PROVIDES="
22	nheko$secondaryArchSuffix = $portVersion
23	app:Nheko$secondaryArchSuffix = $portVersion
24	"
25REQUIRES="
26	haiku$secondaryArchSuffix
27	lib:libcmark$secondaryArchSuffix
28	lib:libcrypto$secondaryArchSuffix
29	lib:libfmt$secondaryArchSuffix
30	lib:liblmdb$secondaryArchSuffix
31	lib:libmatrix_client$secondaryArchSuffix
32	lib:libolm$secondaryArchSuffix
33	lib:libQt5Concurrent$secondaryArchSuffix
34	lib:libQt5Core$secondaryArchSuffix
35	lib:libQt5DBus$secondaryArchSuffix
36	lib:libQT5Gui$secondaryArchSuffix
37	lib:libqt5keychain$secondaryArchSuffix
38	lib:libQt5Multimedia$secondaryArchSuffix
39	lib:libQt5Qml$secondaryArchSuffix
40	lib:libQt5Quick$secondaryArchSuffix
41	lib:libQt5QuickControls2$secondaryArchSuffix
42	lib:libQt5QuickWidgets$secondaryArchSuffix
43	lib:libQt5Svg$secondaryArchSuffix
44	lib:libQt5Widgets$secondaryArchSuffix
45	lib:libspdlog$secondaryArchSuffix
46	lib:libssl$secondaryArchSuffix
47	lib:libz$secondaryArchSuffix
48	"
49
50BUILD_REQUIRES="
51	haiku${secondaryArchSuffix}_devel
52	lmdbxx
53	devel:libboost_iostreams$secondaryArchSuffix >= $boostMinimumVersion
54	devel:libboost_system$secondaryArchSuffix >= $boostMinimumVersion
55	devel:libboost_thread$secondaryArchSuffix >= $boostMinimumVersion
56	devel:libcmark$secondaryArchSuffix
57	devel:libfmt$secondaryArchSuffix
58	devel:liblmdb$secondaryArchSuffix
59	devel:libmatrix_client$secondaryArchSuffix  >= 0.5.1
60	devel:libolm$secondaryArchSuffix
61	devel:libQt5Concurrent$secondaryArchSuffix
62	devel:libQt5Core$secondaryArchSuffix
63	devel:libQt5Dbus$secondaryArchSuffix
64	devel:libQt5Gui$secondaryArchSuffix
65	devel:libqt5keychain$secondaryArchSuffix
66	devel:libQt5Multimedia$secondaryArchSuffix
67	devel:libQt5Network$secondaryArchSuffix
68	devel:libQt5Qml$secondaryArchSuffix
69	devel:libQt5Quick$secondaryArchSuffix
70	devel:libQt5QuickControls2$secondaryArchSuffix
71	devel:libQt5QuickWidgets$secondaryArchSuffix
72	devel:libQt5Svg$secondaryArchSuffix
73	devel:libQt5Widgets$secondaryArchSuffix
74	devel:libspdlog$secondaryArchSuffix
75	devel:libssl$secondaryArchSuffix
76	devel:libz$secondaryArchSuffix
77	devel:nlohmann_json
78	devel:tweeny
79	"
80BUILD_PREREQUIRES="
81	cmd:g++$secondaryArchSuffix
82	cmd:cmake
83	cmd:linguist$secondaryArchSuffix >= 5
84	cmd:make
85	cmd:pkg_config$secondaryArchSuffix
86	"
87
88BUILD()
89{
90	unset -f cmake
91	cmake -S. -Bbuild $cmakeDirArgs \
92		-DCMAKE_INSTALL_BINDIR=$appsDir \
93		-DCMAKE_BUILD_TYPE=Release \
94		-DCMAKE_EXE_LINKER_FLAGS="-lnetwork -lz" \
95		-Wno-dev
96	make -C build $jobArgs
97}
98
99INSTALL()
100{
101	make -C build install
102
103	local APP_SIGNATURE="application/x-vnd.nheko"
104	local MAJOR="`echo "$portVersion" | cut -d. -f1`"
105	local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
106	local MINOR="`echo "$portVersion" | cut -d. -f3`"
107	sed \
108		-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
109		-e "s|@MAJOR@|$MAJOR|" \
110		-e "s|@MIDDLE@|$MIDDLE|" \
111		-e "s|@MINOR@|$MINOR|" \
112		-e "s|@LONG_INFO@|$SUMMARY|" \
113		$portDir/additional-files/nheko.rdef.in > nheko.rdef
114
115	mv $appsDir/nheko $appsDir/Nheko
116	rm -rf $dataDir
117
118	addResourcesToBinaries nheko.rdef $appsDir/Nheko
119	addAppDeskbarSymlink $appsDir/Nheko
120}
121