aports/community/plasma-workspace/APKBUILD
2024-09-13 07:25:06 +00:00

188 lines
4.0 KiB
Plaintext

# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: team/kde <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=plasma-workspace
pkgver=6.1.5
pkgrel=0
pkgdesc="KDE Plasma Workspace"
# armhf blocked by extra-cmake-modules
# s390x build failure and unsupported upstream
arch="all !armhf !s390x"
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
"
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-qtwayland-dev
wayland-dev
wayland-protocols
zlib-dev
"
makedepends="$depends_dev
extra-cmake-modules
kded
kdoctools-dev
libxtst-dev
qt6-qttools-dev
samurai
xdotool
"
checkdepends="xvfb-run"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="
$pkgname-dbg
$pkgname-dev
$pkgname-libs
$pkgname-doc
$pkgname-lang
$pkgname-zsh-completion
$pkgname-x11
"
_repo_url="https://invent.kde.org/plasma/plasma-workspace.git"
source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz"
# 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=OFF # Fails to get permissions to take control over tty
# 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() {
# nightcolortest requires running dbus
# testdesktop, lookandfeel-kcmTest, test_kio_fonts, servicerunnertest systemtraymodeltest are broken
# tst_triangleFilter requires plasma-workspace to be installed
# locationsrunnertest requires a running Wayland environment
local skipped_tests="("
local tests="
nightcolortest
testdesktop
lookandfeel-kcmTest
test_kio_fonts
servicerunnertest
systemtraymodeltest
tst_triangleFilter
locationsrunnertest
"
case "$CARCH" in
arm*|aarch64|ppc64le) tests="$tests calculatorrunnertest" ;;
esac
for test in $tests; do
skipped_tests="$skipped_tests|$test"
done
skipped_tests="$skipped_tests)"
xvfb-run -a ctest --test-dir build --output-on-failure -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
}
x11() {
pkgdesc="X11 desktop launcher for $pkgname"
depends="xorg-server"
install_if="$pkgname=$pkgver-r$pkgrel xorg-server"
amove usr/bin/startplasma-x11 usr/share/xsessions/plasmax11.desktop
}
sha512sums="
1b68ddb1d287733ec16900a14b56bf1dbdfb9bce0d10666c1a710612dee6cc786629ea0a924627d58f1268a9594e3bfae587d57bcd7c926bf48b8e914c5d9238 plasma-workspace-6.1.5.tar.xz
"