aports/community/plasma-workspace/APKBUILD
2025-05-09 06:12:35 +00:00

213 lines
4.3 KiB
Text

# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
maintainer="team/kde <bribbers@disroot.org>"
pkgname=plasma-workspace
pkgver=6.3.5
pkgrel=0
pkgdesc="KDE Plasma Workspace"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="(GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-or-later AND GPL-2.0-or-later AND MIT AND LGPL-2.1-only AND LGPL-2.0-or-later AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-only"
depends="
accountsservice
fprintd
kactivitymanagerd
kde-cli-tools
kded
kio-extras
kirigami
kirigami-addons
kwin
milou
pipewire-session-manager
plasma-integration
qt6-qttools
tzdata
xdg-desktop-portal-gtk
"
depends_dev="
baloo-dev
breeze-dev
eudev-dev
gpsd-dev
icu-dev
iso-codes-dev
karchive-dev
kauth-dev
kcmutils-dev
kcoreaddons-dev
kcrash-dev
kdbusaddons-dev
kdeclarative-dev
kded-dev
kglobalaccel-dev
kglobalacceld-dev
kguiaddons-dev
kholidays-dev
ki18n-dev
kiconthemes-dev
kidletime-dev
kio-dev
kitemmodels-dev
knewstuff-dev
knotifications-dev
knotifyconfig-dev
kpackage-dev
kparts-dev
kpipewire-dev
kquickcharts-dev
krunner-dev
kscreenlocker-dev
kstatusnotifieritem-dev
ksvg-dev
ktexteditor-dev
ktextwidgets-dev
kunitconversion-dev
kuserfeedback-dev
kwayland-dev
kwin-dev
layer-shell-qt-dev
libcanberra-dev
libkexiv2-dev
libkscreen-dev
libksysguard-dev
libplasma-dev
libqalculate-dev
networkmanager-qt-dev
phonon-dev
plasma-activities-stats-dev
plasma-wayland-protocols
plasma5support-dev
prison-dev
qcoro-dev
qt6-qtpositioning-dev
qt6-qtwayland-dev
wayland-dev
wayland-protocols
zlib-dev
"
makedepends="$depends_dev
extra-cmake-modules
kded
kdoctools-dev
libxtst-dev
qt6-qtdeclarative-private-dev
qt6-qttools-dev
samurai
xdotool
"
checkdepends="
dbus
py3-gobject3
xwayland-run
"
subpackages="
$pkgname-dbg
$pkgname-dev
$pkgname-libs
$pkgname-doc
$pkgname-lang
$pkgname-zsh-completion
"
case "$pkgver" in
*.*.9*) _rel=unstable;;
*) _rel=stable;;
esac
# strip fourth version component for source URL
case "$pkgver" in
*.*.*.*) _pkgver="${pkgver%.*}" ;;
*) _pkgver="$pkgver" ;;
esac
_repo_url="https://invent.kde.org/plasma/plasma-workspace.git"
source="https://download.kde.org/$_rel/plasma/$_pkgver/plasma-workspace-$pkgver.tar.xz"
replaces="xdg-desktop-portal-kde<=6.1.5-r0"
# secfixes:
# 6.0.5.1:
# - CVE-2024-36041
build() {
# reduce size of debug syms
CFLAGS="$CFLAGS -O2 -g1" CXXFLAGS="$CXXFLAGS -O2 -g1" \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DPLASMA_X11_DEFAULT_SESSION=OFF \
-DINSTALL_SDDM_WAYLAND_SESSION=ON
# workaround for:
# https://invent.kde.org/plasma/plasma-workspace/-/issues/132
ninja -C build shell/qwayland-plasma-shell.h
ninja -C build shell/wayland-plasma-shell-client-protocol.h
cmake --build build
}
check() {
local skipped_tests="(tasktoolstest"
local tests="
dbusmethodcalltest
dbusservicewatchertest
fetchinitialplayertest
keystatetest
klipper-testHistoryCycler
klipper-testHistoryModel
klippertest
locationsrunnertest
lockedtest
mediakeystest
mprisdeclarativetest
servicerunnertest
shelltest
tasksmodeltest
testdesktop
testimagebackend
testimagefinder
testimagefrontend
testimagelistmodel
testimageproxymodel
testmediametadatafinder
testpackageimagelistmodel
testrunnermodel
testslidefiltermodel
testslidemodel
tst_triangleFilter
waylandtasksmodeltest
xwindowtasksmodeltest
"
case "$CARCH" in
loongarch64) tests="$tests servicerunnertest" ;;
s390x) tests="$tests klipper_v3migrationtest" ;;
esac
for test in $tests; do
skipped_tests="$skipped_tests|$test"
done
skipped_tests="$skipped_tests)"
dbus-run-session xwfb-run -- ctest --test-dir build -E "$skipped_tests"
}
package() {
DESTDIR="$pkgdir" cmake --install build
# We don't ship systemd
rm -r "$pkgdir"/usr/lib/systemd
if [ -d "$pkgdir"/home ]; then
rm -r "${pkgdir:?}"/home
fi
# Remove X11 support
rm \
"$pkgdir"/usr/bin/startplasma-x11 \
"$pkgdir"/usr/share/xsessions/plasmax11.desktop
}
sha512sums="
de9cdef94de4f210a0894d6be4e4dd56f37d500896f44a75115f494dc1534e8e189d8111c5e4b6b8149565f583886f11c15aa580cff9d57b6c9b5425eb4b0638 plasma-workspace-6.3.5.tar.xz
"