wdm-webkit-greeter
LOW
maintainer illuser
0 votes
scanned 2026-08-19 03:41:13.749572
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 rather than a split of `wdm-wayland`: WebKitGTK is the heaviest
4
# dependency in the project by a wide margin, and before the packaging was split
5
# every wdm user built against it whether or not they wanted this greeter. wdm
6
# depends on the virtual this provides, so pacman offers this as one of the
7
# choices when `wdm-wayland` is installed on its own.
8
pkgname=wdm-webkit-greeter
9
backup=('etc/wdm/webkit-greeter.toml')
10
pkgver=0.10.0
11
pkgrel=1
12
pkgdesc='WebKitGTK greeter for wdm, with themes written in HTML, CSS and JavaScript'
13
arch=('x86_64' 'aarch64')
14
url='https://github.com/quinnjr/wdm'
15
license=('MIT')
16
depends=('gtk4' 'gtk4-layer-shell' 'webkitgtk-6.0')
17
makedepends=('cargo' 'libxkbcommon' 'gtk4' 'gtk4-layer-shell' 'webkitgtk-6.0')
18
provides=('wdm-greeter-implementation')
19
source=("wdm-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
20
# See the note in the `wdm-wayland` package: this is the checksum of the tarball GitHub
21
# published, and all four wdm packages build from the same one.
22
sha256sums=('94fbfae480ddd21b18e2c7e5472e135a5a5577dcb172ace989d520170622443b')
23
24
# The tarball is the whole workspace whatever the pkgbase is, so the source
25
# directory is named for the project rather than for this package.
26
_src="wdm-$pkgver"
27
28
prepare() {
29
cd "$_src"
30
export RUSTUP_TOOLCHAIN=stable
31
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
32
}
33
34
build() {
35
cd "$_src"
36
export RUSTUP_TOOLCHAIN=stable
37
export CARGO_TARGET_DIR=target
38
# This crate only; see the GTK greeter's build() for why the scoping matters.
39
cargo build --frozen --release -p wdm-webkit-greeter
40
}
41
42
check() {
43
cd "$_src"
44
export RUSTUP_TOOLCHAIN=stable
45
# Includes the drift check that asserts the shipped theme and the docs still
46
# name every field the injected JavaScript API exposes.
47
cargo test --frozen --release -p wdm-webkit-greeter -p wdm-greeter-client
48
}
49
50
package() {
51
cd "$_src"
52
install -Dm755 target/release/wdm-webkit-greeter "$pkgdir/usr/lib/wdm/wdm-webkit-greeter"
53
54
# Fully commented out, so the defaults are also the documentation. In
55
# backup= so pacman delivers a changed default as a .pacnew instead of
56
# clobbering an edited one.
57
install -Dm644 packaging/webkit-greeter.toml.example "$pkgdir/etc/wdm/webkit-greeter.toml"
58
59
# Themes are data, not documentation: the greeter refuses to start without the
60
# one it was pointed at, and the default is the worked example of the
61
# JavaScript API a theme author copies.
62
local themes="$pkgdir/usr/share/wdm/webkit-greeter/themes"
63
install -Dm644 -t "$themes/default" \
64
crates/wdm-webkit-greeter/themes/default/index.html \
65
crates/wdm-webkit-greeter/themes/default/style.css \
66
crates/wdm-webkit-greeter/themes/default/theme.js
67
68
# The arch theme brings its own Tailwind build and Font Awesome subset. They
69
# are vendored because the greeter's content policy is `default-src file:
70
# data:` and it runs before any network exists — a CDN <link> would not
71
# degrade, it would render the login screen unstyled with every icon a
72
# missing-glyph box.
73
#
74
# Named file by file rather than with a glob, and vendor/ listed separately,
75
# because the theme is the one thing here whose failure has no log: a missing
76
# stylesheet is a login screen that looks broken and says nothing.
77
install -Dm644 -t "$themes/arch" \
78
crates/wdm-webkit-greeter/themes/arch/index.html \
79
crates/wdm-webkit-greeter/themes/arch/style.css \
80
crates/wdm-webkit-greeter/themes/arch/theme.js
81
82
# src/ and build.sh are not installed: they regenerate vendor/ and nothing
83
# reads them at runtime. The licences are, and are not optional — Font
84
# Awesome's icons are CC BY 4.0 and its fonts SIL OFL 1.1, both of which
85
# require the licence to travel with the files.
86
install -Dm644 -t "$themes/arch/vendor" \
87
crates/wdm-webkit-greeter/themes/arch/vendor/*
88
89
# The React theme, as its built artefacts only. src/, package.json and the
90
# Vite config produce vendor/ and are read by nothing at runtime — and npm is
91
# deliberately not a build dependency of this package, because a build chroot
92
# has no network and vendor/ is checked into the tree for that reason.
93
install -Dm644 -t "$themes/react" \
94
crates/wdm-webkit-greeter/themes/react/index.html
95
install -Dm644 -t "$themes/react/vendor" \
96
crates/wdm-webkit-greeter/themes/react/vendor/*
97
98
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
99
}
100
Changes since previous scan
--- PKGBUILD @ 2026-08-15 00:26+++ PKGBUILD @ 2026-08-19 03:41@@ -6,7 +6,8 @@ # depends on the virtual this provides, so pacman offers this as one of the # choices when `wdm-wayland` is installed on its own. pkgname=wdm-webkit-greeter-pkgver=0.9.0+backup=('etc/wdm/webkit-greeter.toml')+pkgver=0.10.0 pkgrel=1 pkgdesc='WebKitGTK greeter for wdm, with themes written in HTML, CSS and JavaScript' arch=('x86_64' 'aarch64')@@ -18,7 +19,7 @@ source=("wdm-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz") # 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.-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.@@ -49,6 +50,11 @@ package() { cd "$_src" install -Dm755 target/release/wdm-webkit-greeter "$pkgdir/usr/lib/wdm/wdm-webkit-greeter"++ # Fully commented out, so the defaults are also the documentation. In+ # backup= so pacman delivers a changed default as a .pacnew instead of+ # clobbering an edited one.+ install -Dm644 packaging/webkit-greeter.toml.example "$pkgdir/etc/wdm/webkit-greeter.toml" # Themes are data, not documentation: the greeter refuses to start without the # one it was pointed at, and the default is the worked example of theScan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-19 03:41:13 | Low | 1 |
| 2026-08-15 00:26:13 | Clean | 2 |
| 2026-08-14 21:29:33 | Low | 1 |