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-2023 Nheko Authors"
7LICENSE="GNU GPL v3"
8REVISION="4"
9SOURCE_URI="https://github.com/Nheko-Reborn/nheko/archive/v$portVersion.tar.gz"
10CHECKSUM_SHA256="f285156884a3a0c6870f3fba89c13d1fd70c8727bd179d8310b13819f8a63a37"
11SOURCE_FILENAME="nheko-$portVersion.tar.gz"
12PATCHES="nheko-$portVersion.patchset"
13ADDITIONAL_FILES="nheko.rdef.in"
14
15ARCHITECTURES="all !x86_gcc2"
16SECONDARY_ARCHITECTURES="x86"
17
18PROVIDES="
19	nheko$secondaryArchSuffix = $portVersion
20	app:Nheko$secondaryArchSuffix = $portVersion
21	"
22REQUIRES="
23	haiku$secondaryArchSuffix
24	lib:libcmark$secondaryArchSuffix
25	lib:libcoeurl$secondaryArchSuffix
26	lib:libcrypto$secondaryArchSuffix
27	lib:libfmt$secondaryArchSuffix
28	lib:libglib_2.0$secondaryArchSuffix
29	lib:libgobject_2.0$secondaryArchSuffix
30	lib:libgstreamer_1.0$secondaryArchSuffix
31	lib:libgstsdp_1.0$secondaryArchSuffix
32	lib:libgstwebrtc_1.0$secondaryArchSuffix
33	lib:liblmdb$secondaryArchSuffix
34#	lib:libmatrix_client$secondaryArchSuffix
35	lib:libolm$secondaryArchSuffix
36	lib:libQt5Concurrent$secondaryArchSuffix
37	lib:libQt5Core$secondaryArchSuffix
38	lib:libQt5DBus$secondaryArchSuffix
39	lib:libQT5Gui$secondaryArchSuffix
40	lib:libqt5keychain$secondaryArchSuffix
41	lib:libQt5Multimedia$secondaryArchSuffix
42	lib:libQt5Network$secondaryArchSuffix
43	lib:libQt5Qml$secondaryArchSuffix
44	lib:libQt5Quick$secondaryArchSuffix
45	lib:libQt5QuickControls2$secondaryArchSuffix
46	lib:libQt5QuickWidgets$secondaryArchSuffix
47	lib:libQt5Svg$secondaryArchSuffix
48	lib:libQt5Widgets$secondaryArchSuffix
49	lib:libre2$secondaryArchSuffix
50	lib:libspdlog$secondaryArchSuffix
51	lib:libz$secondaryArchSuffix
52	"
53
54BUILD_REQUIRES="
55	haiku${secondaryArchSuffix}_devel
56	lmdbxx
57	devel:libcmark$secondaryArchSuffix
58	devel:libcoeurl$secondaryArchSuffix
59	devel:libcurl$secondaryArchSuffix
60	devel:libevent$secondaryArchSuffix
61	devel:libglib_2.0$secondaryArchSuffix
62	devel:libgstreamer_1.0$secondaryArchSuffix
63	devel:libgstsdp_1.0$secondaryArchSuffix
64	devel:libgstwebrtc_1.0$secondaryArchSuffix
65	devel:liblmdb$secondaryArchSuffix
66#	devel:libmatrix_client$secondaryArchSuffix  >= 0.5.1
67	devel:libolm$secondaryArchSuffix
68	devel:liborc_0.4$secondaryArchSuffix
69	devel:libQt5Core$secondaryArchSuffix
70	devel:libqt5keychain$secondaryArchSuffix
71	devel:libre2$secondaryArchSuffix
72	devel:libspdlog$secondaryArchSuffix
73	devel:libssl$secondaryArchSuffix
74	devel:libz$secondaryArchSuffix
75	devel:nlohmann_json
76	"
77BUILD_PREREQUIRES="
78	cmd:a2x
79	cmd:cmake
80	cmd:g++$secondaryArchSuffix
81	cmd:git
82	cmd:linguist$secondaryArchSuffix >= 5
83	cmd:make
84	cmd:pkg_config$secondaryArchSuffix
85	"
86
87BUILD()
88{
89	cmake -S. -Bbuild $cmakeDirArgs \
90		-DCMAKE_INSTALL_BINDIR=$appsDir \
91		-DCMAKE_BUILD_TYPE=Release \
92		-DSCREENSHARE_X11=OFF \
93		-DUSE_BUNDLED_MTXCLIENT=ON \
94		-DBUILD_SHARED_LIBS=OFF \
95		-DCMAKE_EXE_LINKER_FLAGS="-lnetwork -lz" \
96		-Wno-dev
97	make -C build $jobArgs
98}
99
100INSTALL()
101{
102	make -C build install
103
104	local APP_SIGNATURE="application/x-vnd.nheko"
105	local MAJOR="`echo "$portVersion" | cut -d. -f1`"
106	local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
107	local MINOR="`echo "$portVersion" | cut -d. -f3`"
108	sed \
109		-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
110		-e "s|@MAJOR@|$MAJOR|" \
111		-e "s|@MIDDLE@|$MIDDLE|" \
112		-e "s|@MINOR@|$MINOR|" \
113		-e "s|@LONG_INFO@|$SUMMARY|" \
114		$portDir/additional-files/nheko.rdef.in > nheko.rdef
115
116	mv $appsDir/nheko $appsDir/Nheko
117	rm -rf $dataDir $developDir $libDir
118
119	addResourcesToBinaries nheko.rdef $appsDir/Nheko
120	addAppDeskbarSymlink $appsDir/Nheko
121}
122