Skip to content
Snippets Groups Projects
Verified Commit 09f14121 authored by Bart Ribbers's avatar Bart Ribbers Committed by Clayton Craft
Browse files

extra-repos/systemd/plasma*: add initial systemd Plasma packages

parent 0e1c9b37
Branches
No related tags found
1 merge request!5859Draft: ElementaryOS pantheon desktop w/ systemd
Showing
with 625 additions and 0 deletions
# 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=kactivitymanagerd
pkgver=6.0.2
pkgrel=1
pkgdesc="System service to manage user's activities and track the usage patterns"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-only OR GPL-3.0-only"
depends="qt6-qtbase-sqlite"
makedepends="
boost-dev
extra-cmake-modules
kconfig-dev
kcoreaddons-dev
kdbusaddons-dev
kglobalaccel-dev
ki18n-dev
kio-dev
kwindowsystem-dev
kxmlgui-dev
qt6-qtbase-dev
samurai
"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-lang"
_repo_url="https://invent.kde.org/plasma/kactivitymanagerd.git"
source="https://download.kde.org/stable/plasma/$pkgver/kactivitymanagerd-$pkgver.tar.xz"
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
9eff8a65c485003b01e344c48343a5e75ff350b97a8e134faaecb9b62142dbcddcd2db72d835e19cb7be5402f7a4cbaa22b0f475beaaf39c51454749ab77c4f7 kactivitymanagerd-6.0.2.tar.xz
"
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
# The group tag is just to easily find this APKBUILD by some scripts for automation
# group=kde-plasma
pkgname=kscreenlocker
pkgver=6.0.2
pkgrel=1
pkgdesc="Library and components for secure lock screen architecture"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only)"
depends="linux-pam"
depends_dev="
kcmutils-dev
kcrash-dev
kdeclarative-dev
kglobalaccel-dev
ki18n-dev
kidletime-dev
knotifications-dev
ksvg-dev
ktextwidgets-dev
kwayland-dev
kwindowsystem-dev
kxmlgui-dev
layer-shell-qt-dev
libkscreen-dev
libplasma-dev
libseccomp-dev
linux-pam-dev
qt6-qtbase-dev
solid-dev
systemd-dev
xcb-util-keysyms-dev
"
makedepends="
$depends_dev
extra-cmake-modules
samurai
"
checkdepends="xvfb-run"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
_repo_url="https://invent.kde.org/plasma/kscreenlocker.git"
source="https://download.kde.org/$_rel/plasma/$pkgver/kscreenlocker-$pkgver.tar.xz
kde.pam
kde-fingerprint.pam
kde-smartcard.pam
"
subpackages="$pkgname-dev $pkgname-lang"
options="!check" # Requires running loginctl
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
xvfb-run ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -D -m644 "$srcdir"/kde.pam "$pkgdir"/etc/pam.d/kde
install -m644 "$srcdir"/kde-fingerprint.pam "$pkgdir"/etc/pam.d/kde-fingerprint
install -m644 "$srcdir"/kde-smartcard.pam "$pkgdir"/etc/pam.d/kde-smartcard
}
sha512sums="
e303d5b2e737c2cd40e10a8b60b9ec16314739758c60f4ca44252030504b77cac513ceb738eed1034cad6e6c2f70aa7588c6fc5225fbcba2a8da2ba0020c128e kscreenlocker-6.0.2.tar.xz
cdbc45fb74a3c43fb2302fe09bf2f9f644ca93693e0110cf748c403762236aaeea8284a8d21fc495014c69b6d5fe4789aaff7687ce9f03dda270490fa5042e2b kde.pam
fe2f244b73b5cccf4b7125b9e3cac0a35566840e4ba2f69937fd8053aa56af71ee43dcbfa9c0f79de9ebe31f656e98a5d38955f77560be5c3535b08215ad8789 kde-fingerprint.pam
2ae866d25224ba345ea9d5ddb2fce668de5c51d1cfbb4d7a048c50107ccd6cffc3231a46855599c0ba3d62ff002a26e45b69d9029f88f4ab42661465a5e526c5 kde-smartcard.pam
"
auth substack fingerprint-auth
auth include postlogin
account required pam_nologin.so
account include fingerprint-auth
password include fingerprint-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
session required pam_namespace.so
session include fingerprint-auth
session include postlogin
auth substack smartcard-auth
auth include postlogin
account required pam_nologin.so
account include smartcard-auth
password include smartcard-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
session required pam_namespace.so
session include smartcard-auth
session include postlogin
#%PAM-1.0
auth include base-auth
account include base-account
password include base-password
session include base-session
# 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=kwin
pkgver=6.0.2
pkgrel=1
pkgdesc="An easy to use, but flexible, composited Window Manager"
# armhf blocked by qt6-qtdeclarative
arch="all !armhf"
url="https://kde.org/plasma-desktop/"
license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only"
depends="
hwdata
kirigami
qt6-qtmultimedia
qt6-qtwayland
xwayland
"
depends_dev="$pkgname
breeze-dev
fontconfig-dev
kcmutils-dev
kcompletion-dev
kconfig-dev
kconfigwidgets-dev
kcoreaddons-dev
kcrash-dev
kdeclarative-dev
kdecoration-dev
kglobalaccel-dev
ki18n-dev
kiconthemes-dev
kidletime-dev
kio-dev
knewstuff-dev
knotifications-dev
kpackage-dev
krunner-dev
kscreenlocker-dev
kservice-dev
ksvg-dev
ktextwidgets-dev
kwayland-dev
kwidgetsaddons-dev
kwindowsystem-dev
kxmlgui-dev
lcms2-dev
libdrm-dev
libepoxy-dev
libinput-dev
libplasma-dev
libqaccessibilityclient-dev
libxcvt-dev
libxi-dev
libxkbcommon-dev
mesa-dev
mesa-gbm
pipewire-dev
plasma-activities-dev
qt6-qtbase-dev
qt6-qtdeclarative-dev
qt6-qtsensors-dev
wayland-dev
xcb-util-cursor-dev
xcb-util-image-dev
xcb-util-wm-dev
"
makedepends="$depends_dev
extra-cmake-modules
kdoctools-dev
kglobalacceld-dev
kpipewire-dev
libcap-utils
libdisplay-info-dev
plasma-wayland-protocols
qt6-qttools-dev
samurai
systemd-dev
"
checkdepends="xvfb-run"
case "$pkgver" in
*.90*) _rel=unstable;;
*) _rel=stable;;
esac
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-lang"
_repo_url="https://invent.kde.org/plasma/kwin.git"
source="https://download.kde.org/stable/plasma/$pkgver/kwin-$pkgver.tar.xz
0001-$pkgname-Fix-building-of-tests.patch::https://invent.kde.org/plasma/kwin/-/commit/a879c59a082707e0e7dfa8ebeb7b239551ec9c71.patch
"
# Broken, fails to setup due to missing or invalid XDG_RUNTIME_DIR?
options="!check"
build() {
# significantly reduce debug symbol size
# use None here to not make cmake pass bare -g (-g2)
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
cmake --build build
}
check() {
XDG_RUNTIME_DIR="$(mktemp -p -d "$builddir")" \
xvfb-run ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
f6f82afe2f007a14114fbf18e0aba6859328d928d14bf5369e9f879ec24baa50a9a1084db49877067eab17ab3dae13991d507c85458b4a588086ecfb4924a8a6 kwin-6.0.2.tar.xz
14c4ddceca2ef51a139319bdd64bc84d7a1df7c6419e86bdbb04572be3212ca46f5c25cd61fa3b511d7644046f92a07408e472e41d95aab93ec494138a09c1a9 0001-kwin-Fix-building-of-tests.patch
"
# 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.0.2
pkgrel=1
pkgdesc="KDE Plasma Workspace"
# armhf blocked by extra-cmake-modules
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
"
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
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
systemd
"
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"
_repo_url="https://invent.kde.org/plasma/plasma-workspace.git"
source="https://download.kde.org/$_rel/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz"
replaces="plasma-desktop<5.24 breeze<5.22.90"
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_WAYLAND_DEFAULT_SESSION=TRUE
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 ctest --test-dir build --output-on-failure -E "$skipped_tests"
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
c357554537218e7f8e3e0fac0f6749c3bc8e6d79648aa30db13ed1a2699480222b49cb8b4fa651bb9a7d20c25516036b779065decf6471e56a4d9d0a7d3d4f27 plasma-workspace-6.0.2.tar.xz
"
diff --git a/services/sddm-autologin.pam b/services/sddm-autologin.pam
index b42991e..25c43d1 100644
--- a/services/sddm-autologin.pam
+++ b/services/sddm-autologin.pam
@@ -6,8 +6,8 @@ auth required pam_nologin.so
auth required pam_permit.so
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
-account include system-local-login
-password include system-local-login
-session include system-local-login
+account include base-account
+password include base-password
+session include base-session
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
diff --git a/services/sddm.pam b/services/sddm.pam
index df11003..5c2d8a6 100644
--- a/services/sddm.pam
+++ b/services/sddm.pam
@@ -1,15 +1,15 @@
#%PAM-1.0
-auth include system-login
+auth include base-auth
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
-account include system-login
+account include base-account
-password include system-login
+password include base-password
-password optional pam_gnome_keyring.so use_authtok
session optional pam_keyinit.so force revoke
-session include system-login
+session include base-session
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start
From a0dd7b641b98534961522753071fbf4143751a98 Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Mon, 24 Oct 2022 13:15:48 +0200
Subject: [PATCH] disable automatic portal launching
in Qt6 (and the KDE patch collection for Qt 5) genericunixservices will
internally attempt to probe the portal tech early on in the app life
cycle. this causes the protal system to launch app and then crash
because we aren't actually providing a fully functional session. instead
opt out of this altogether
Patch modified to apply properly on SDDM 0.19.0
---
src/greeter/GreeterApp.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp
index bbce512..183f7d1 100644
--- a/src/greeter/GreeterApp.cpp
+++ b/src/greeter/GreeterApp.cpp
@@ -334,6 +334,9 @@ int main(int argc, char **argv)
QSurfaceFormat::setDefaultFormat(format);
}
+ // Qt internally may load the xdg portal system early on, prevent this, we do not have a functional session running.
+ qputenv("QT_NO_XDG_DESKTOP_PORTAL", "1");
+
QGuiApplication app(argc, argv);
QCommandLineParser parser;
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=sddm
pkgver=0.21.0
pkgrel=1
pkgdesc="Simple Desktop Display Manager"
url="https://github.com/sddm/sddm/"
# armhf blocked by qt5-qtdeclarative
arch="all !armhf"
license="GPL-2.0-only"
depends="
dbus-x11
linux-pam
upower
xorg-server
"
makedepends="
extra-cmake-modules
libxcb-dev
linux-pam-dev
py3-docutils
qt6-qtbase-dev
qt6-qtdeclarative-dev
qt6-qttools-dev
samurai
systemd-dev
upower-dev
utmps-dev
"
subpackages="$pkgname-doc $pkgname-lang $pkgname-openrc"
install="sddm.pre-install"
langdir="/usr/share/sddm/translations"
pkgusers="sddm"
pkggroups="sddm"
source="https://github.com/sddm/sddm/archive/v$pkgver/sddm-v$pkgver.tar.gz
0001-pam-path-fix.patch
0003-disable-automatic-portal-launching.patch
sddm.initd
sddm.confd
"
# secfixes:
# 0.19.0-r0:
# - CVE-2020-28049
build() {
CXXFLAGS="$CXXFLAGS -flto=auto" \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_MAN_PAGES=ON \
-DBUILD_WITH_QT6=ON \
-DENABLE_JOURNALD=ON \
-DNO_SYSTEMD=OFF \
-DUSE_ELOGIND=OFF \
-DUID_MIN=500 \
-DUID_MAX=65000 \
-DDBUS_CONFIG_DIR=/usr/share/dbus-1/system.d
cmake --build build
}
check() {
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm755 "$srcdir"/sddm.initd "$pkgdir"/etc/init.d/sddm
install -Dm644 "$srcdir"/sddm.confd "$pkgdir"/etc/conf.d/sddm
}
lang() {
pkgdesc="Languages for package $pkgname"
install_if="$pkgname=$pkgver-r$pkgrel lang"
depends="$depends_lang"
amove usr/share/sddm/translations-qt6
}
sha512sums="
2e8e460e7f318f20a406dcbb1a9fa1dc78b6a5b8d888bfbbaae22b9c642dbc49cf2ac682b4ea9ed847bbafa9bdc361ba08795e59cad970088b370caaaa70f458 sddm-v0.21.0.tar.gz
42a0b24717820d98a42d178b5d3a40441672d496c9d8f7c2f8002d770a2718324e9d00d0f27602232b91e8bb042693125507d6cb8371b6f6f211f2b95babe666 0001-pam-path-fix.patch
bc7b572331de32245abba234e3537885a3d9dd20273a12bd7a82eb754467dd3c753fc4d90ec24cc206f7df0210cf3119dd056c477168b4173b77fc335b6546b0 0003-disable-automatic-portal-launching.patch
4876bf46790dd507f0df803987ad81d7ff2a00c22a8aabec88dd0e3a23aeda92aac59f08ef56ed1bf2b5cb9443077e77b31c9f453bafab2fd6f533be242fcbd4 sddm.initd
b841282b96110ec59a7aa539db0737327b09549d55c78dc4b2c3b28b4a6ad1facf015b3175cb6d3a38f13e47aa6314ef3dc1514a4e60dd653a97409ec54ba706 sddm.confd
"
supervisor=supervise-daemon
#!/sbin/openrc-run
name="Display Manager"
description="SDDM Display Manager"
command=/usr/bin/sddm
command_args="$sddm_opts"
depends() {
provide display-manager
needs localmount
}
start_pre() {
checkpath -d -o sddm:video -m755 /var/lib/sddm
}
#!/bin/sh
addgroup -S sddm 2>/dev/null
adduser -G video -h /var/lib/sddm -S -s /sbin/nologin sddm 2>/dev/null
exit 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment