File PKGBUILD of Package plasma-workspace

# Maintainer: Yukari Chiba <[email protected]>

pkgname=plasma-workspace
pkgver=6.5.5
_dirver=$(echo $pkgver | cut -d. -f1-3)
pkgrel=1
pkgdesc='KDE Plasma Workspace'
arch=(x86_64 aarch64 riscv64 loongarch64)
url='https://kde.org/plasma-desktop/'
license=(LGPL-2.0-or-later)
depends=(appstream-qt
         dbus
         fontconfig
         freetype2
         icu
         kactivitymanagerd
         karchive
         kauth
         kbookmarks
         kcmutils
         kcolorscheme
         kcompletion
         kconfig
         kconfigwidgets
         kcoreaddons
         kcrash
         kde-cli-tools
         kdeclarative
         kded
         kdbusaddons
         kglobalaccel
         kguiaddons
         kholidays
         ki18n
         kiconthemes
         kio
         kio-extras
         kio-fuse
         kirigami
         kirigami-addons
         kitemmodels
         kjobwidgets
         knewstuff
         knotifications
         knotifyconfig
         kpackage
         kparts
         kpipewire
         krunner
         kquickcharts
         kservice
         kstatusnotifieritem
         ksvg
         ktexteditor
         ktextwidgets
         kunitconversion
         kuserfeedback
         kwallet
         kwayland
         kwidgetsaddons
         kwin
         kwindowsystem
         kxmlgui
         layer-shell-qt
         libcanberra
         libkexiv2
         libkscreen
         libksysguard
         libplasma
         libqalculate
         ocean-sound-theme
         phonon-qt6
         plasma-activities
         plasma-activities-stats
         prison
         plasma5support
         qt6-5compat
         qt6-base
         qt6-declarative
         qt6-location
         qt6-positioning
         qt6-svg
         qt6-tools
         qt6-virtualkeyboard
         qt6-wayland
         sh
         solid
         wayland
         zlib)
makedepends=(extra-cmake-modules
             kdoctools
             networkmanager-qt
             plasma-wayland-protocols
             qt6-base-devel
             qt6-wayland-devel
             qcoro)
optdepends=('appmenu-gtk-module: global menu support for GTK2 and some GTK3 applications'
            'baloo: Baloo search runner'
            'discover: manage applications installation from the launcher'
            'kdepim-addons: displaying PIM events in the calendar'
            'kwayland-integration: Wayland integration for Qt5 applications'
            'networkmanager-qt: IP based geolocation'
            'plasma-workspace-wallpapers: additional wallpapers'
            'plasma5-integration: use Plasma settings in Qt5 applications'
            'xdg-desktop-portal-gtk: sync font settings to Flatpak apps')
conflicts=(plasma-wayland-session)
replaces=(plasma-wayland-session)
groups=(plasma)
source=(
  https://download.kde.org/stable/plasma/$_dirver/$pkgname-$pkgver.tar.xz
  no-x11-ewe.patch
)
sha256sums=('SKIP' 'SKIP')

prepare() {
  _patch_ $pkgname-$pkgver
}

build() {
  cmake -B build -S $pkgname-$pkgver \
    -DCMAKE_INSTALL_LIBEXECDIR=lib \
    -DGLIBC_LOCALE_GEN=OFF \
    -DBUILD_TESTING=OFF \
    -DWITH_X11=OFF
  cmake --build build
}

package() {
  depends+=(plasma-integration) # Declare runtime dependency here to avoid dependency cycles at build time

  DESTDIR="$pkgdir" cmake --install build
  rm -r $pkgdir/usr/lib/systemd
  rm -r $pkgdir/usr/share/xsessions/plasmax11.desktop
}