aboutsummaryrefslogtreecommitdiffstats
path: root/community/discover/APKBUILD
blob: dac75799fd2d75b7d4f666c4f81a9ca36d0bd0e4 (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
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=discover
pkgver=5.24.4
pkgrel=1
# armhf blocked by qt5-qtdeclarative
# s390x and riscv64 blocked by polkit -> kio
arch="all !armhf !s390x !riscv64"
url="https://userbase.kde.org/Discover"
pkgdesc="KDE Plasma resources management GUI"
license="LGPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND GFDL-1.2-only"
depends="kirigami2"
makedepends="
	appstream-dev
	attica-dev
	extra-cmake-modules
	flatpak-dev
	karchive-dev
	kauth-dev
	kcmutils-dev
	kconfig-dev
	kcoreaddons-dev
	kcrash-dev
	kdbusaddons-dev
	kdeclarative-dev
	ki18n-dev
	kidletime-dev
	kio-dev
	kitemmodels-dev
	knewstuff-dev
	kuserfeedback-dev
	kxmlgui-dev
	libapk-qt-dev
	plasma-framework-dev
	qt5-qtbase-dev
	qt5-qtdeclarative-dev
	samurai
	"
checkdepends="xvfb-run"

# secfixes:
#   5.21.3-r0:
#     - CVE-2021-28117

case "$pkgver" in
	*.90*) _rel=unstable;;
	*) _rel=stable;;
esac
source="
	https://download.kde.org/$_rel/plasma/$pkgver/discover-$pkgver.tar.xz
	0001-Add-support-for-Alpine-Linux-apk-backend.patch
	alpine-appstream-data.json
	alpine-linux-logo-icon.png
	"
subpackages="
	$pkgname-backend-apk:backend_apk
	$pkgname-backend-flatpak:backend_flatpak
	$pkgname-lang
	"

case "$CARCH" in
	x86|x86_64|armv7|aarch64)
		makedepends="$makedepends fwupd-dev"
		subpackages="$subpackages $pkgname-backend-fwupd:backend_fwupd"
		;;
	*) ;;
esac

build() {
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DCMAKE_DISABLE_FIND_PACKAGE_Snapd=ON \
		-DWITH_KCM=OFF
	cmake --build build
}

check() {
	cd build
	# knsbackendtest and flatpaktest fail to find their required executables
	CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run ctest -E "(knsbackend|flatpak)test"
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

backend_flatpak() {
	pkgdesc="Flatpak backend for $pkgname"
	depends=""
	install_if="$pkgname flatpak"

	amove usr/lib/qt5/plugins/discover/flatpak-backend.so
	amove usr/share/libdiscover/categories/flatpak-backend-categories.xml
	amove usr/lib/qt5/plugins/discover-notifier/FlatpakNotifier.so
	amove usr/share/applications/org.kde.discover-flatpak.desktop
	amove usr/share/metainfo/org.kde.discover.flatpak.appdata.xml
	amove usr/share/icons/hicolor/scalable/apps/flatpak-discover.svg
}

backend_apk() {
	pkgdesc="Apk backend for $pkgname"
	depends=""
	install_if="$pkgname apk-tools"

	amove usr/lib/qt5/plugins/discover/alpineapk-backend.so
	amove usr/lib/libexec/kauth/alpineapk_kauth_helper
	amove usr/share/polkit-1/actions/org.kde.discover.alpineapkbackend.policy
	amove usr/share/dbus-1/system.d/org.kde.discover.alpineapkbackend.conf
	amove usr/share/dbus-1/system-services/org.kde.discover.alpineapkbackend.service

	# JSON file contains placeholder for replacement - @CARCH@
	sed -i "s/@CARCH@/$CARCH/g" "$srcdir"/alpine-appstream-data.json
	install -Dm644 "$srcdir"/alpine-appstream-data.json \
		"$subpkgdir"/usr/share/libdiscover/external-appstream-urls/alpine-appstream-data.json

	install -Dm644 -t "$subpkgdir"/usr/share/icons/hicolor/32x32/apps/ \
		"$srcdir"/alpine-linux-logo-icon.png
}

backend_fwupd() {
	pkgdesc="fwupd backend for $pkgname"
	depends=""
	install_if="$pkgname fwupd"

	amove usr/lib/qt5/plugins/discover/fwupd-backend.so
}

sha512sums="
d11fa406c9a44047de94b1e4047367205d35a142aecda79df934603a0c2cf04b761054235b3acd28030d6ee48f64005b44baf154ca4a279b5396268f75fc7191  discover-5.24.4.tar.xz
a211ab3a17be3c72023963fda8c11b311a02429a7d4c7ed8b69f9a9d27363ec5be716469e8e3625959676bb7d4ebc5d2951ea40ab3c4756ae26a9fdd7c227d6f  0001-Add-support-for-Alpine-Linux-apk-backend.patch
d9cc12a5a92df820d6d133a3698a4fbb08a97f08f00554a11d87c73c6144b42d07cecd6682bf9576d83c8e2556e35ade2fb39e77895afbbe33e2f94630441bb7  alpine-appstream-data.json
0766668630cb14f58c840ebdda8b76bd1dec98b4dd61469677d4ad6eb4966809a25dbec2a846502cad0391df5b6ca9d692bb857a6fa203b61a52e6ac044cfbf4  alpine-linux-logo-icon.png
"