aboutsummaryrefslogtreecommitdiffstats
path: root/community/quassel/APKBUILD
blob: a7f37cdfadd38bf49ddbc9d5f86f80fee3c20fd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# Contributor: Yves Schumann <yves@eisfair.org>
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=quassel
pkgver=0.14.0
pkgrel=8
url="https://www.quassel-irc.org/"
pkgdesc="Distributed IRC client - metapackage"
arch="all"
license="GPL-2.0-or-later"
options="!check"
install="$pkgname-core.pre-install"
pkgusers="quassel"
pkggroups="quassel"
makedepends="
	boost-dev
	cmake
	dbus-dev
	extra-cmake-modules
	icu-dev
	openldap-dev
	openssl-dev>3
	qca-dev
	qt5-qtbase-dev
	qt5-qtmultimedia-dev
	qt5-qttools-dev
	samurai
	zlib-dev
	"
source="https://www.quassel-irc.org/pub/quassel-$pkgver.tar.bz2
	quasselcore.confd
	quasselcore.initd
	"
subpackages="
	$pkgname-common::noarch
	$pkgname-core
	$pkgname-core-openrc:core_openrc
	$pkgname-client
	$pkgname-mono
	$pkgname-libs-core:core_libs
	$pkgname-libs-qtui:qtui_libs
	$pkgname-libs-client:client_libs
	$pkgname-libs-common:common_libs
	$pkgname-libs-uisupport:uisupport_libs
	"

# secfixes:
#   0.13.1-r6:
#     - CVE-2021-34825

build() {
	CXXFLAGS="$CXXFLAGS -D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fPIE -pie -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now" \
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_BUILD_TYPE=Release \
		-DWANT_CORE=ON \
		-DWANT_MONO=ON \
		-DWANT_QTCLIENT=ON \
		-DWITH_KDE=0 \
		-DWITH_WEBKIT=OFF
	cmake --build build
}

package() {
	# install monolithic client by default
	depends="$pkgname-mono"
	DESTDIR="$pkgdir" cmake --install build

	install -Dm0644 "$srcdir"/quasselcore.confd \
		"$pkgdir"/etc/conf.d/quasselcore
	install -Dm0755 "$srcdir"/quasselcore.initd \
		"$pkgdir"/etc/init.d/quasselcore
}

common() {
	pkgdesc="Quassel common/shared files"

	amove usr/share/icons \
		usr/share/$pkgname
}

core() {
	pkgdesc="Quassel core / server"
	depends="qt5-qtbase-postgresql qt5-qtbase-sqlite"

	amove usr/bin/quasselcore
}

core_openrc() {
	pkgdesc="Quassel core / server"
	install_if="openrc $pkgname-core=$pkgver-r$pkgrel"

	default_openrc
}

client() {
	pkgdesc="Quassel client"

	amove usr/bin/quasselclient \
		usr/share/applications/quasselclient.desktop
}

mono() {
	pkgdesc="Quassel monolithic IRC client"

	amove usr/bin/quassel \
		usr/share/applications/quassel.desktop
}

core_libs() {
	pkgdesc="Quassel libs (core)"

	amove usr/lib/libquassel-core.so*
}

qtui_libs() {
	pkgdesc="Quassel libs (qtui)"

	amove usr/lib/libquassel-qtui.so*
}

client_libs() {
	pkgdesc="Quassel libs (client)"

	amove usr/lib/libquassel-client.so*
}

common_libs() {
	pkgdesc="Quassel libs (common)"

	amove usr/lib/libquassel-common.so*
}

uisupport_libs() {
	pkgdesc="Quassel libs (uisupport)"

	amove usr/lib/libquassel-uisupport.so*
}

sha512sums="
ea6b9723acab5ce73f760692770c1340c03bf277d2c99a2520345bfb6a7bb6fdc64a01dccfd7026341b46ee727821e1bcc2f487be72dfbc155f1de1ad264763f  quassel-0.14.0.tar.bz2
56d4b05fcb2702c103a611a170e444e237bd7c8626219063e5853c3efa5d91e21fa9b726b056393070e35b7d7efe0a145ac3ab61413bc8033642d7acb622b638  quasselcore.confd
7a0dd5a04b28c3099b4c9e98a25e6dc2b72bdb1e450e7299f9556487f6b34748ae881a4ccb955396e2ac0eab5d3fce4dbea426d7fa498d069f5d185057efa4cf  quasselcore.initd
"