meo-desktop

LOW
maintainer Shekong 0 votes scanned 2026-10-26 01:43:34.721224
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: MeoArch <https://github.com/QwQdoge>
2_srcdir=meo-kde-348a25525c52329fef6a784bb33a5d503c8fe881
3pkgname=meo-desktop
4pkgver=0.4.0
5pkgrel=23
6pkgdesc="Meo Desktop integration for MeoArch, powered by KDE Plasma"
7arch=('x86_64')
8url='https://github.com/QwQdoge/meo-kde'
9license=('GPL-3.0-or-later' 'GPL-2.0-or-later' 'MIT' 'Apache-2.0' 'OFL-1.1')
10depends=('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')
18makedepends=('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.
22optdepends=('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')
26options=('!debug')
27provides=('meo-kde-runtime=0.4.0')
28conflicts=('meo-kde-runtime')
29replaces=('meo-kde-runtime')
30install=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.
35backup=('usr/lib/qt6/plugins/org.kde.kdecoration3/org.meo.decoration.so')
36source=('meo-kde-348a25525c52329fef6a784bb33a5d503c8fe881.tar.gz::https://codeload.github.com/QwQdoge/meo-kde/tar.gz/348a25525c52329fef6a784bb33a5d503c8fe881')
37sha256sums=('9bc424d70392e7ba27d82559fa6046e690e8b472217c6997f0072126331cc39d')
38
39# The release renderer supplies a pinned source tree as $srcdir/$_srcdir. This
40# recipe intentionally never reads a developer sibling checkout.
41build() {
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
48package() {
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)SeverityRules
2026-10-26 01:43:34 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