summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: c0c5d6a70a4e28d63eca657cc3f3c0c698c764d9 (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
# Maintainer: Victor Tran <vicr12345 at gmail dot com>
_pkg_networkmanager='networkmanager-qt6'
_pkg_modemmanager='modemmanager-qt6'
_pkg_bluez='bluez-qt6'
_pkg_pulseaudio='pulseaudio-qt6-git'
_pkg_polkit='polkit-qt6-git'

pkgname=('thedesk' 'td-polkitagent' 'xdg-desktop-portal-td' 'thedesk-platform' 'libthedesk')
pkgver=1.0
pkgrel=0
pkgdesc="Desktop Environment built on Qt"
arch=("x86_64" "aarch64")
url="https://github.com/theCheeseboard/thedesk"
license=('GPL3')
makedepends=('git' 'qt6-tools' 'qt6-positioning' 'cmake' 'clang' $_pkg_polkit 'libtdesktopenvironment' $_pkg_pulseaudio $_pkg_networkmanager $_pkg_modemmanager $_pkg_bluez 'qrencode' 'libthefile' 'contemporary-icons' 'contemporary-widgets' 'ttf-contemporary')
source=("thedesk-$pkgver"::"https://github.com/theCheeseboard/thedesk/archive/refs/tags/v$pkgver.tar.gz"
        "kf6-patch.patch")
sha256sums=("d9594530e6efce439d98888f9e0ea4e4ec23e9eee1f6c7591c3f3e31ee92546c"
            "SKIP")

doInstallModule() {
	DESTDIR="$pkgdir" cmake --install "build/$1"
}

prepare() {
    cd "$pkgname-$pkgver"
    patch --forward --strip=1 --input="${srcdir}/kf6-patch.patch"
}

build() {
	cmake -B build -S "$pkgname-$pkgver" \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_PREFIX_PATH='/opt/KF5-qt6/lib/pkgconfig;/opt/KF5-qt6/lib/cmake' \
		-DKF5BluezQt_DIR=/opt/KF5-qt6/lib/cmake/KF5BluezQt \
		-DKF5ModemManagerQt_DIR=/opt/KF5-qt6/lib/cmake/KF5ModemManagerQt \
		-DKF5NetworkManagerQt_DIR=/opt/KF5-qt6/lib/cmake/KF5NetworkManagerQt \
		-DKF5PulseAudioQt_DIR=/opt/KF5-qt6/lib/cmake/KF5PulseAudioQt \
		-DKF_VERSION_MAJOR=5 \
		-DFORCE_STABLE=ON
	cmake --build build
}

package_libthedesk() {
    depends=('libtdesktopenvironment')
    
    doInstallModule 'libthedesk';
}

package_thedesk-platform() {
    depends=('libcontemporary' 'libx11' 'contemporary-widgets' 'contemporary-icons' 'ttf-contemporary')
    
    doInstallModule 'platform'
}

package_td-polkitagent() {
    depends=($_pkg_polkit 'libtdesktopenvironment')

    doInstallModule 'polkitagent';
}

package_xdg-desktop-portal-td() {
    depends=('libthefile')

    doInstallModule 'desktop-portal'
}

package_thedesk() {
    depends=('kwin' 'libtdesktopenvironment' 'td-polkitagent' 'libthedesk' 'thedesk-platform' $_pkg_pulseaudio 'libx11' 'libxi' 'xf86-input-libinput' $_pkg_networkmanager $_pkg_modemmanager 'accountsservice' 'libtwebservices' $_pkg_bluez 'qrencode' 'thedesk-xdg-utils' 'xdg-desktop-portal-td' 'qt6-positioning')
    
    doInstallModule 'desktop';
    doInstallModule 'plugins';
    doInstallModule 'startdesk';
    doInstallModule 'locker';
}