meo-desktop
LOW
maintainer Shekong
0 votes
scanned 2026-10-26 01:43:34.721224
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: MeoArch <https://github.com/QwQdoge>
2
_srcdir=meo-kde-348a25525c52329fef6a784bb33a5d503c8fe881
3
pkgname=meo-desktop
4
pkgver=0.4.0
5
pkgrel=23
6
pkgdesc="Meo Desktop integration for MeoArch, powered by KDE Plasma"
7
arch=('x86_64')
8
url='https://github.com/QwQdoge/meo-kde'
9
license=('GPL-3.0-or-later' 'GPL-2.0-or-later' 'MIT' 'Apache-2.0' 'OFL-1.1')
10
depends=('meoui-qml>=1.0.4beta1' 'meo-icons>=0.4.0' 'plasma-desktop' 'plasma-workspace>=6.8'
11
'plasma-nm' 'plasma-pa' 'powerdevil' 'bluedevil' 'systemsettings' 'dolphin'
12
'konsole' 'breeze' 'kwallet-pam' 'polkit-kde-agent' 'networkmanager-qt' 'bluez-qt'
13
'solid' 'pulseaudio-qt' 'kguiaddons' 'kwindowsystem' 'kconfig' 'kirigami'
14
'libplasma>=6.8' 'kdecoration' 'kcmutils' 'kcolorscheme' 'kio' 'kservice'
15
'fcitx5' 'fcitx5-qt' 'fcitx5-gtk'
16
'system76-scheduler' 'zram-generator' 'dbus-broker-units'
17
'power-profiles-daemon' 'gamemode')
18
makedepends=('cmake' 'ninja' 'extra-cmake-modules' 'qt6-base' 'qt6-declarative' 'polkit-qt6')
19
# Release-train companion: 'meo-plasma-login-manager'. It intentionally stays
20
# out of depends= so installing Meo Desktop beside an existing KDE environment
21
# never replaces that system's display manager.
22
optdepends=('meo-plasma-login-manager: MeoArch login experience; the Meo session works with other display managers'
23
'preload-ng: optional learned application prefetching (disabled by default)'
24
'prelockd: optional bounded desktop memory locking (disabled by default)'
25
'fcitx5-configtool: advanced Fcitx configuration fallback')
26
options=('!debug')
27
provides=('meo-kde-runtime=0.4.0')
28
conflicts=('meo-kde-runtime')
29
replaces=('meo-kde-runtime')
30
install=meo-desktop.install
31
# Temporary one-cycle adoption path for installations that predate pacman
32
# ownership of the KDecoration plugin. If an unowned legacy copy exists,
33
# pacman writes the reviewed package payload as .pacnew and the install hook
34
# below atomically adopts it during the same transaction.
35
backup=('usr/lib/qt6/plugins/org.kde.kdecoration3/org.meo.decoration.so')
36
source=('meo-kde-348a25525c52329fef6a784bb33a5d503c8fe881.tar.gz::https://codeload.github.com/QwQdoge/meo-kde/tar.gz/348a25525c52329fef6a784bb33a5d503c8fe881')
37
sha256sums=('9bc424d70392e7ba27d82559fa6046e690e8b472217c6997f0072126331cc39d')
38
39
# The release renderer supplies a pinned source tree as $srcdir/$_srcdir. This
40
# recipe intentionally never reads a developer sibling checkout.
41
build() {
42
cmake -S "$srcdir/$_srcdir/native" -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
43
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_SYSCONFDIR=/etc \
44
-DBUILD_TESTING=OFF
45
cmake --build build --parallel "${MEO_BUILD_PARALLEL_LEVEL:-1}"
46
}
47
48
package() {
49
# Use the existing KDE polkit agent for this E2E candidate. Do not install a
50
# second agent's overlapping service/autostart paths into the same target.
51
# The standalone Layer Shell dock is retired and disabled in current MeoKDE.
52
for component in system dynamic-color decoration application-style airouter lockscreen translations; do
53
DESTDIR="$pkgdir" cmake --install "build/$component"
54
done
55
local source="$srcdir/$_srcdir"
56
install -d "$pkgdir/usr/lib/qt6/qml/MeoKDE" "$pkgdir/usr/share/plasma/look-and-feel" \
57
"$pkgdir/usr/share/plasma/desktoptheme" "$pkgdir/usr/share/plasma/plasmoids" \
58
"$pkgdir/usr/share/color-schemes" "$pkgdir/usr/share/fonts/meo" \
59
"$pkgdir/usr/share/meo-desktop/session-defaults/fcitx5/conf" \
60
"$pkgdir/usr/share/wayland-sessions"
61
cp -a "$source/qml/MeoKDE/." "$pkgdir/usr/lib/qt6/qml/MeoKDE/"
62
cp -a "$source/themes/look-and-feel/org.meo.desktop" "$pkgdir/usr/share/plasma/look-and-feel/"
63
install -d "$pkgdir/usr/share/plasma/shells"
64
cp -a "$source/themes/shells/org.meo.shell" "$pkgdir/usr/share/plasma/shells/"
65
install -Dm644 "$source/themes/look-and-feel/org.meo.desktop/contents/lockscreen/config.xml" \
66
"$pkgdir/usr/share/plasma/shells/org.meo.shell/contents/lockscreen/config.xml"
67
for theme in MeoLight MeoDark; do
68
cp -a "$source/themes/desktoptheme/$theme" "$pkgdir/usr/share/plasma/desktoptheme/"
69
done
70
# The default layout remains defined by the source layout script. Install
71
# every supported Meo top-bar applet so optional variants are available from
72
# Plasma's Widget Explorer without rewriting an existing user panel.
73
for plasmoid in org.meo.topbar org.meo.timecenter org.meo.notifications \
74
org.meo.time-notifications org.meo.shelf org.meo.toptasks \
75
org.meo.systemmenu org.meo.time org.meo.widgetexplorer \
76
org.meo.widget.clock org.meo.widget.media org.meo.widget.performance; do
77
[ ! -d "$source/plasmoids/$plasmoid" ] || \
78
cp -a "$source/plasmoids/$plasmoid" "$pkgdir/usr/share/plasma/plasmoids/"
79
done
80
install -m644 "$source"/themes/color-schemes/*.colors "$pkgdir/usr/share/color-schemes/"
81
install -m644 "$source"/assets/fonts/*.ttf "$pkgdir/usr/share/fonts/meo/"
82
install -Dm644 "$source/LICENSE" \
83
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
84
install -Dm644 "$source/assets/licenses/GPL-2.0-or-later.txt" \
85
"$pkgdir/usr/share/licenses/$pkgname/GPL-2.0-or-later.txt"
86
install -Dm644 "$source/THIRD_PARTY_NOTICES.md" \
87
"$pkgdir/usr/share/licenses/$pkgname/THIRD_PARTY_NOTICES.md"
88
install -Dm644 "$source/assets/fonts/OFL-Roboto.txt" \
89
"$pkgdir/usr/share/licenses/$pkgname/OFL-Roboto.txt"
90
install -Dm644 "$source/assets/fonts/OFL-Comfortaa.txt" \
91
"$pkgdir/usr/share/licenses/$pkgname/OFL-Comfortaa.txt"
92
install -Dm644 "$source/assets/licenses/Material-Symbols-Apache-2.0.txt" \
93
"$pkgdir/usr/share/licenses/$pkgname/Material-Symbols-Apache-2.0.txt"
94
install -Dm644 "$source/native/third_party/material-color-utilities/LICENSE" \
95
"$pkgdir/usr/share/licenses/$pkgname/Material-Color-Utilities-Apache-2.0.txt"
96
install -Dm644 "$source/assets/licenses/DankMaterialShell-MIT.txt" \
97
"$pkgdir/usr/share/licenses/$pkgname/DankMaterialShell-MIT.txt"
98
install -Dm644 "$source/assets/wallpapers/installer_background.png" "$pkgdir/usr/share/wallpapers/MeoArch/installer_background.png"
99
install -Dm644 "$source/assets/wallpapers/meoarch_default.jpg" "$pkgdir/usr/share/wallpapers/MeoArch/meoarch_default.jpg"
100
install -Dm644 "$source/assets/icons/meoarch-logo.svg" "$pkgdir/usr/share/pixmaps/meoarch-logo.svg"
101
install -Dm644 "$source/assets/icons/meoarch-logo.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/meoarch-logo.svg"
102
install -Dm755 "$source/tools/theme/apply-meo-mode.sh" "$pkgdir/usr/bin/meo-theme-mode"
103
install -Dm755 "$source/tools/theme/apply-meo-desktop.sh" "$pkgdir/usr/bin/meo-desktop-apply"
104
install -Dm755 "$source/tools/shell/apply-meo-panel-layout.sh" "$pkgdir/usr/bin/meo-desktop-layout"
105
install -Dm755 "$source/tools/input-method/meo-input-method.sh" "$pkgdir/usr/bin/meo-input-method"
106
install -Dm755 "$source/tools/session/startmeo-wayland" "$pkgdir/usr/bin/startmeo-wayland"
107
install -Dm644 "$source/data/wayland-sessions/meo.desktop" "$pkgdir/usr/share/wayland-sessions/meo.desktop"
108
109
# Meo Desktop is a separate login session. Keep all shell/application
110
# defaults in a session-owned seed directory; startmeo-wayland copies only
111
# missing files into ~/.config/meo-desktop. Installing this package must not
112
# change the user's ordinary Plasma configuration under ~/.config or /etc/xdg.
113
install -Dm644 "$source/defaults/kde/kdeglobals" \
114
"$pkgdir/usr/share/meo-desktop/session-defaults/kdeglobals"
115
if [ -f "$source/defaults/kde/kglobalshortcutsrc" ]; then
116
install -Dm644 "$source/defaults/kde/kglobalshortcutsrc" \
117
"$pkgdir/usr/share/meo-desktop/session-defaults/kglobalshortcutsrc"
118
fi
119
install -Dm644 "$source/defaults/kwin/kwinrc" \
120
"$pkgdir/usr/share/meo-desktop/session-defaults/kwinrc"
121
install -Dm644 "$source/defaults/plasma/plasmarc" \
122
"$pkgdir/usr/share/meo-desktop/session-defaults/plasmarc"
123
install -Dm644 "$source/defaults/kde/kscreenlockerrc" \
124
"$pkgdir/usr/share/meo-desktop/session-defaults/kscreenlockerrc"
125
install -Dm644 "$source/defaults/plasma/plasma-welcomerc" \
126
"$pkgdir/usr/share/meo-desktop/session-defaults/plasma-welcomerc"
127
install -Dm644 "$source/defaults/plasma/meo-shellrc" \
128
"$pkgdir/usr/share/meo-desktop/session-defaults/meo-shellrc"
129
install -Dm644 "$source/defaults/input-method/fcitx5/conf/classicui.conf" \
130
"$pkgdir/usr/share/meo-desktop/session-defaults/fcitx5/conf/classicui.conf"
131
132
# os-release is target branding, not an overwrite of Arch filesystem's
133
# package-owned symlink. The Installer applies this packaged template.
134
install -Dm644 "$source/defaults/system/os-release" "$pkgdir/usr/share/meo-desktop/os-release"
135
136
install -d "$pkgdir/usr/share/fcitx5/themes"
137
cp -a "$source/themes/input-method/fcitx5/MeoInputMethod-Light" "$source/themes/input-method/fcitx5/MeoInputMethod-Dark" "$pkgdir/usr/share/fcitx5/themes/"
138
for file in gtk.css.in index.theme; do
139
install -Dm644 "$source/themes/input-method/ibus/$file" "$pkgdir/usr/share/meo-desktop/input-method/ibus/$file"
140
done
141
for unit in \
142
meo-dynamic-colors.path meo-dynamic-colors.service \
143
meo-session-dynamic-colors.path meo-session-dynamic-colors.service \
144
meo-weather-refresh.service meo-weather-refresh.timer; do
145
install -Dm644 "$source/defaults/systemd/$unit" "$pkgdir/usr/lib/systemd/user/$unit"
146
done
147
# The session-specific color units are conditioned on MEO_DESKTOP_SESSION=1
148
# (exported by startmeo-wayland and imported into the user manager before
149
# graphical-session.target), so enabling them leaves a normal Plasma login
150
# unchanged. They are the only Meo user units started by the package.
151
install -d "$pkgdir/usr/lib/systemd/user/graphical-session.target.wants"
152
for unit in meo-session-dynamic-colors.path meo-session-dynamic-colors.service; do
153
ln -s "../$unit" "$pkgdir/usr/lib/systemd/user/graphical-session.target.wants/$unit"
154
done
155
sed -i 's|%h/.local/bin/|/usr/bin/|g' "$pkgdir/usr/lib/systemd/user/meo-dynamic-colors.service"
156
# Deliberately do not enable Meo user units globally. A normal Plasma login
157
# must remain unchanged merely because meo-desktop is installed. The Meo
158
# session/runtime can opt into its own path/timer lifecycle.
159
# Keep the installed package consistent with the target responsiveness contract.
160
install -Dm644 "$source/defaults/responsiveness/zram-generator.conf" "$pkgdir/usr/lib/systemd/zram-generator.conf.d/50-meo-desktop.conf"
161
install -Dm644 "$source/defaults/responsiveness/gamemode.ini" "$pkgdir/etc/gamemode.ini"
162
install -Dm644 "$source/defaults/responsiveness/cachyos-ananicy.kdl" "$pkgdir/etc/system76-scheduler/process-scheduler/meo-cachyos.kdl"
163
install -Dm644 "$source/defaults/responsiveness/preload-ng-meo.toml" "$pkgdir/usr/share/meo-desktop/optional/preload-ng.toml"
164
install -Dm644 "$source/defaults/responsiveness/prelockd-meo.conf" "$pkgdir/usr/share/meo-desktop/optional/prelockd.conf"
165
install -Dm644 "$source/defaults/systemd/50-meo-responsiveness.preset" "$pkgdir/usr/lib/systemd/system-preset/50-meo-responsiveness.preset"
166
install -Dm644 "$source/defaults/fonts/50-meo-fonts.conf" "$pkgdir/etc/fonts/conf.avail/50-meo-fonts.conf"
167
# Only defines the "Meo Sans"/"Meo Brand" family aliases, so enabling it does
168
# not alter ordinary Plasma text.
169
install -d "$pkgdir/etc/fonts/conf.d"
170
ln -s ../conf.avail/50-meo-fonts.conf "$pkgdir/etc/fonts/conf.d/50-meo-fonts.conf"
171
}
172
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-26 01:43:34 | Low | 1 |