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

pkgname=('thedesk' 'td-polkitagent' 'xdg-desktop-portal-td' 'thedesk-platform' 'libthedesk' 'thedesk-wayland')
pkgver=2.0
pkgrel=1
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' 'xf86-input-libinput' 'libxi' 'libx11' 'qrencode' 'wayfire' 'glm')
source=("thedesk-$pkgver"::"https://github.com/theCheeseboard/thedesk/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('3d89ff199f908cb16443caf900b9f0de03af6d0837c0528135b66f01d0bf3334')

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

build() {
	export XDG_DATA_DIRS=/usr/share
	cmake -B build -S "$pkgname-$pkgver" \
		-DCMAKE_INSTALL_PREFIX=/usr \
                -DQT_WAYLAND_SCANNER=/usr/lib/qt6/qtwaylandscanner \
                -DCMAKE_CXX_FLAGS="-isystem /usr/include/wlroots0.16" \
		-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' $_pkg_bluez 'qrencode' 'thedesk-xdg-utils' 'xdg-desktop-portal-td' 'qt6-positioning')
    
    doInstallModule 'desktop';
    doInstallModule 'plugins';
    doInstallModule 'startdesk';
    doInstallModule 'locker';
    
    rm $pkgdir/usr/share/wayland-sessions/thedesk-wayland.desktop
}

package_thedesk-wayland() {
    depends=('wayfire' 'wayfire-plugins-dbusqt' 'thedesk' 'glm')
    
    doInstallModule 'wayfire-plugins'
    
    mkdir -p $pkgdir/usr/share/wayland-sessions/
    cp $srcdir/build/thedesk-wayland.desktop $pkgdir/usr/share/wayland-sessions/
}