wdm-plasma-greeter

LOW
maintainer illuser 0 votes scanned 2026-08-19 03:41:13.749572
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: Joseph R. Quinn <quinn.josephr@protonmail.com>
2
3# Its own AUR package for the same reason the other two greeters are: nobody who
4# wants the GTK or the WebKitGTK greeter should have Qt 6 and LayerShellQt in
5# their build chroot, and nobody who wants this one should have GTK4 or
6# WebKitGTK in theirs. wdm depends on the virtual this provides, so pacman offers
7# this as one of the choices when `wdm-wayland` is installed on its own.
8#
9# The one package in the set that is not built with cargo. greeters/plasma is a
10# standalone CMake project that the Rust workspace deliberately does not know
11# about — a build.rs shelling out to cmake would make `cargo test --workspace`
12# fail on every machine without Qt — so there is no `cargo fetch --locked` and no
13# RUSTUP_TOOLCHAIN here, and rust is not a build dependency at all.
14pkgname=wdm-plasma-greeter
15# The CMake install rules place /etc/wdm/plasma-greeter.ini; backup= is what
16# keeps pacman from clobbering an edited one on upgrade.
17backup=('etc/wdm/plasma-greeter.ini')
18# All four wdm packages share a pkgver, because they are built from one tarball
19# and share one checksum. v0.8.0 was the first release containing
20# greeters/plasma, so nothing earlier than that is installable here.
21pkgver=0.10.0
22pkgrel=1
23pkgdesc='Qt6/QML greeter for wdm, with themes written in QML'
24arch=('x86_64' 'aarch64')
25url='https://github.com/quinnjr/wdm'
26license=('MIT')
27# qt6-base is not just QtCore and QtGui here: on current Arch it is also where
28# libQt6WaylandClient and the wayland QPA platform plugin live, and this greeter
29# has no other platform it can run on. layer-shell-qt is not optional for the
30# same reason gtk4-layer-shell is not optional for the GTK greeter — wdm
31# advertises no xdg_toplevel at all, so a window that is not a layer surface is
32# closed the moment it is created. wayland is named explicitly because the
33# executable links libwayland-client directly: it speaks wdm_greeter_v1 on the
34# same connection Qt renders on, rather than through Qt.
35depends=('qt6-base' 'qt6-declarative' 'layer-shell-qt' 'wayland')
36# cmake and ninja rather than cmake alone: ninja is the generator CI configures
37# with, so the build that is checked on every push and the build that produces
38# this package are the same one. wayland is here for wayland-scanner as well as
39# for the library — the protocol bindings are generated at build time from wdm's
40# own XML, because a greeter and the compositor disagreeing about an opcode is
41# not a compile error anywhere, it is a login screen that hangs.
42#
43# catch2 is what makes check() a check rather than a no-op. A missing Catch2
44# does not fail the configure — it skips every test target with a STATUS message
45# and leaves a ctest that finds nothing and exits 0 — so leaving it out here
46# would produce a package built with its whole test suite silently unbuilt.
47#
48# wayland-protocols is deliberately absent: this project's XML is wdm's own, and
49# nothing in the build reaches for a stock protocol definition.
50makedepends=('cmake' 'ninja' 'pkgconf' 'wayland' 'catch2' 'qt6-base'
51 'qt6-declarative' 'layer-shell-qt')
52provides=('wdm-greeter-implementation')
53source=("wdm-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
54# See the note in the `wdm-wayland` package: this is the checksum of the tarball GitHub
55# published, and all four wdm packages build from the same one. Never SKIP —
56# for a source that is a URL, SKIP means makepkg builds whatever arrives.
57sha256sums=('94fbfae480ddd21b18e2c7e5472e135a5a5577dcb172ace989d520170622443b')
58
59# The tarball is the whole workspace whatever the pkgbase is, so the source
60# directory is named for the project rather than for this package.
61_src="wdm-$pkgver"
62
63build() {
64 # Configured against greeters/plasma rather than against the tarball root, and
65 # the tarball root is still what has to be unpacked: the CMakeLists reaches up
66 # to crates/wdm-protocol for the XML it generates bindings from, and refuses to
67 # configure if it is not there.
68 #
69 # -DCMAKE_BUILD_TYPE=None so that makepkg.conf's CFLAGS, CXXFLAGS and LDFLAGS
70 # are the only ones used; any other build type appends CMake's own optimisation
71 # and debug flags on top and quietly overrides the distribution's.
72 cmake -B build -S "$_src/greeters/plasma" -G Ninja \
73 -DCMAKE_BUILD_TYPE=None \
74 -DCMAKE_INSTALL_PREFIX=/usr \
75 -DBUILD_TESTING=ON \
76 -DWDM_PLASMA_QT=ON
77
78 cmake --build build
79}
80
81check() {
82 # --no-tests=error and not the default. See the makedepends comment: a ctest
83 # that finds nothing to run exits 0, so without this a build whose test targets
84 # were skipped reports the same green as one that passed 56 cases.
85 #
86 # No display is needed for any of it. The Qt-free suites construct no Qt object
87 # at all, and the Qt ones drive the whole state machine under a
88 # QCoreApplication with no QPA platform plugin and no window — which is the
89 # property the greeter's layering exists for, and the reason this runs in a
90 # build chroot.
91 ctest --test-dir build --output-on-failure --no-tests=error
92}
93
94package() {
95 # The install rules are the CMakeLists', not this file's, so that the four
96 # greeters cannot drift apart on where a greeter lives: the binary goes to a
97 # literal /usr/lib/wdm/wdm-plasma-greeter — not CMAKE_INSTALL_LIBDIR, which is
98 # multiarch and would be lib64 on Fedora and lib/x86_64-linux-gnu on Debian —
99 # and the default theme to /usr/share/wdm/plasma-greeter/themes/default. An
100 # administrator writes that binary path into `greeter.command` by hand, and a
101 # greeter.command naming a path that does not exist is a startup failure with
102 # no greeter left on screen to report it.
103 DESTDIR="$pkgdir" cmake --install build
104
105 install -Dm644 "$_src/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
106}
107

Changes since previous scan

--- PKGBUILD @ 2026-08-15 00:26
+++ PKGBUILD @ 2026-08-19 03:41
@@ -12,10 +12,13 @@
# fail on every machine without Qt — so there is no `cargo fetch --locked` and no
# RUSTUP_TOOLCHAIN here, and rust is not a build dependency at all.
pkgname=wdm-plasma-greeter
+# The CMake install rules place /etc/wdm/plasma-greeter.ini; backup= is what
+# keeps pacman from clobbering an edited one on upgrade.
+backup=('etc/wdm/plasma-greeter.ini')
# All four wdm packages share a pkgver, because they are built from one tarball
# and share one checksum. v0.8.0 was the first release containing
# greeters/plasma, so nothing earlier than that is installable here.
-pkgver=0.9.0
+pkgver=0.10.0
pkgrel=1
pkgdesc='Qt6/QML greeter for wdm, with themes written in QML'
arch=('x86_64' 'aarch64')
@@ -51,7 +54,7 @@
# See the note in the `wdm-wayland` package: this is the checksum of the tarball GitHub
# published, and all four wdm packages build from the same one. Never SKIP —
# for a source that is a URL, SKIP means makepkg builds whatever arrives.
-sha256sums=('49e70b577665bf4fb7c78f5d9319febaf0a8268a80bdb8eb01ff95ed0db8b9f7')
+sha256sums=('94fbfae480ddd21b18e2c7e5472e135a5a5577dcb172ace989d520170622443b')
# The tarball is the whole workspace whatever the pkgbase is, so the source
# directory is named for the project rather than for this package.

Scan history

Scanned at (UTC)SeverityRules
2026-08-19 03:41:13 Low 1
2026-08-15 00:26:13 Clean 2
2026-08-14 21:29:33 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion