owlry

LOW
maintainer vikingowl 3 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The source is a tarball from the project's own git host (somegit.dev/Owlibou/owlry), which is plausibly the official source; building from such a host is normal for AUR packages, even if not on a whitelist.

Triggered rules

Low AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a tarball from the project's own git host (somegit.dev/Owlibou/owlry), which is plausibly the official source; building from such a host is normal for AUR packages, even if not on a whitelist.

1 higher static finding superseded - not the current verdict (shown for transparency)
Medium source=() URL on a non-standard host source_untrusted_domain

One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).

  • PKGBUILD:91 source=("$pkgname-$pkgver.tar.gz::https://somegit.dev/Owlibou/owlry/archive/owlry-v$pkgver.tar.gz")

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: vikingowl <christian@nachtigall.dev>
2pkgname=owlry
3pkgver=2.7.0
4pkgrel=1
5pkgdesc="Lightweight Wayland application launcher — UI, daemon, and providers in one binary"
6arch=('x86_64')
7url="https://somegit.dev/Owlibou/owlry"
8license=('GPL-3.0-or-later')
9depends=(
10 'gcc-libs'
11 'gtk4'
12 'gtk4-layer-shell'
13)
14makedepends=('cargo')
15optdepends=(
16 'cliphist: clipboard history provider'
17 'wl-clipboard: clipboard write and emoji copy'
18 'rofimoji: emoji, kaomoji, and Unicode character picker'
19 'xdotool: optional X11 rofimoji typer'
20 'wtype: optional Wayland rofimoji typer'
21 'ydotool: optional fallback Wayland rofimoji typer'
22 'wl-ime-type: optional Wayland IME rofimoji typer'
23 'fd: filesystem search provider (primary backend)'
24 'plocate: filesystem search provider (fallback backend)'
25)
26# v2.0 replaces the entire pre-collapse package set. paru/pacman -Syu
27# transparently swaps the old packages for owlry-2.0.0 via these arrays.
28# Notes:
29# - owlry-{core,lua,rune}: functionality merged into owlry; Lua runtime
30# deferred to a later release with the Lua config layer (D4 / Phase 3).
31# - owlry-plugin-*: every plugin became a feature-gated module in owlry.
32# This PKGBUILD builds with --features full so all of them are present.
33# - owlry-plugin-{weather,media,pomodoro}: widgets are deferred per D20.
34# Listed here so users on those packages get a clean upgrade; widget
35# functionality returns in a later 2.x release.
36# - owlry-plugin-scripts: replaced by user Lua config (D12), Phase 3+.
37# - owlry-meta-*: superseded by the single owlry package.
38_v2_retired=(
39 'owlry-core'
40 'owlry-lua'
41 'owlry-rune'
42 # Plugins folded into owlry as feature-gated modules.
43 'owlry-plugin-clipboard'
44 'owlry-plugin-emoji'
45 'owlry-plugin-filesearch'
46 'owlry-plugin-ssh'
47 'owlry-plugin-systemd'
48 'owlry-plugin-websearch'
49 # Deferred providers (D20+); package replaced so users get a clean
50 # transition. Functionality returns in a later 2.x release.
51 'owlry-plugin-bookmarks'
52 'owlry-plugin-media'
53 'owlry-plugin-pomodoro'
54 'owlry-plugin-weather'
55 # Replaced by user Lua config (D12), Phase 3+.
56 'owlry-plugin-scripts'
57 # Pre-v2 transitional stubs (pkgrel -99) where calc/conv/power were
58 # already folded into owlry-core. Listed so any straggler installs
59 # are swept up by the v2 upgrade.
60 'owlry-plugin-calculator'
61 'owlry-plugin-converter'
62 'owlry-plugin-system'
63 # Meta-bundles superseded by the single owlry package.
64 'owlry-meta-essentials'
65 'owlry-meta-widgets'
66 'owlry-meta-tools'
67 'owlry-meta-full'
68)
69replaces=("${_v2_retired[@]}")
70conflicts=("${_v2_retired[@]}")
71
72# Only claim packages whose functionality is present in this build. The
73# remaining retired packages above stay in replaces/conflicts solely so
74# upgrades from the pre-v2 package split remain automatic.
75provides=(
76 'owlry-core'
77 'owlry-lua'
78 'owlry-plugin-clipboard'
79 'owlry-plugin-emoji'
80 'owlry-plugin-filesearch'
81 'owlry-plugin-ssh'
82 'owlry-plugin-systemd'
83 'owlry-plugin-websearch'
84 'owlry-plugin-calculator'
85 'owlry-plugin-converter'
86 'owlry-plugin-system'
87)
88
89install=owlry.install
90
91source=("$pkgname-$pkgver.tar.gz::https://somegit.dev/Owlibou/owlry/archive/owlry-v$pkgver.tar.gz")
92b2sums=('369d1e5beb847b5b755e251b2b4ee834554a0547c0c2bfcbe40dfc84f48e9f3b9c807d8fdce9c7064e9673a84df3c2cbe0773cca9e41e0a4964ab6b48d0efdeb')
93
94prepare() {
95 cd "owlry"
96 export RUSTUP_TOOLCHAIN=stable
97 cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
98}
99
100build() {
101 cd "owlry"
102 export RUSTUP_TOOLCHAIN=stable
103 export CARGO_TARGET_DIR=target
104 # Force GNU ld.bfd. Arch's `extra/rust` defaults rustc to `-fuse-ld=lld`,
105 # and LLD's single-pass arg processing can't satisfy `-llua5.4` because
106 # mlua-sys+lua-src emit the `-l` flag before their `-L $OUT_DIR/lib`
107 # search path in the final link line (cargo:rustc-link-lib emitted
108 # before cargo:rustc-link-search). BFD does multi-pass and finds the
109 # archive regardless. RUSTFLAGS env-var beats any cargo config rustflags,
110 # which is necessary here because Arch's rust pkg appears to set its own
111 # RUSTFLAGS that we need to fully override.
112 export RUSTFLAGS="-C link-arg=-fuse-ld=bfd"
113 # 'full' enables every optional provider — the AUR binary is the
114 # batteries-included experience. cargo install consumers can still opt
115 # to --no-default-features and pick their own subset.
116 cargo build --frozen --release --features full
117}
118
119check() {
120 cd "owlry"
121 export RUSTUP_TOOLCHAIN=stable
122 export CARGO_TARGET_DIR=target
123 export RUSTFLAGS="-C link-arg=-fuse-ld=bfd"
124 cargo test --frozen --release --features full
125}
126
127package() {
128 cd "owlry"
129
130 # Single binary.
131 install -Dm755 "target/release/$pkgname" "$pkgdir/usr/bin/$pkgname"
132
133 # systemd user units (renamed from owlryd.* in v2 — see D15).
134 install -Dm644 systemd/owlry.service "$pkgdir/usr/lib/systemd/user/owlry.service"
135 install -Dm644 systemd/owlry.socket "$pkgdir/usr/lib/systemd/user/owlry.socket"
136
137 # Documentation + example configuration.
138 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
139 install -Dm644 data/owlry.example.lua "$pkgdir/usr/share/doc/$pkgname/owlry.example.lua"
140 install -Dm644 data/config.example.toml "$pkgdir/usr/share/doc/$pkgname/config.example.toml"
141 install -Dm644 data/style.example.css "$pkgdir/usr/share/doc/$pkgname/style.example.css"
142
143 # Man page.
144 install -Dm644 data/owlry.1 "$pkgdir/usr/share/man/man1/owlry.1"
145
146 # Themes.
147 install -d "$pkgdir/usr/share/$pkgname/themes"
148 install -Dm644 data/themes/*.css "$pkgdir/usr/share/$pkgname/themes/"
149}
150

Changes since previous scan

--- PKGBUILD @ 2026-09-02 00:02
+++ PKGBUILD @ 2026-09-17 00:27
@@ -1,6 +1,6 @@
# Maintainer: vikingowl <christian@nachtigall.dev>
pkgname=owlry
-pkgver=2.6.0
+pkgver=2.7.0
pkgrel=1
pkgdesc="Lightweight Wayland application launcher — UI, daemon, and providers in one binary"
arch=('x86_64')
@@ -89,7 +89,7 @@
install=owlry.install
source=("$pkgname-$pkgver.tar.gz::https://somegit.dev/Owlibou/owlry/archive/owlry-v$pkgver.tar.gz")
-b2sums=('cb51cf15a454684e257f08d7f68de85b26a3706e5e93885469e137dbdceb3879b8637c1f83d7b80757567239ee44cc5c9e54c66d2a5361315cdaa0f591eb9083')
+b2sums=('369d1e5beb847b5b755e251b2b4ee834554a0547c0c2bfcbe40dfc84f48e9f3b9c807d8fdce9c7064e9673a84df3c2cbe0773cca9e41e0a4964ab6b48d0efdeb')
prepare() {
cd "owlry"

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 2
2026-09-16 00:03:17 Low 2
2026-09-15 00:25:31 Low 2
2026-09-14 00:27:57 Low 2
2026-09-13 00:19:54 Low 2
2026-09-12 00:25:17 Low 2
2026-09-11 00:19:22 Low 2
2026-09-10 00:22:44 Low 2
2026-09-09 00:04:09 Low 2
2026-09-08 00:18:08 Low 2
2026-09-07 00:30:15 Low 2
2026-09-06 00:17:06 Low 2
2026-09-05 00:16:27 Low 2
2026-09-04 00:03:13 Low 2
2026-09-03 00:15:47 Low 2
2026-09-02 07:50:36 Medium 1
2026-09-02 00:02:31 Low 2
2026-09-01 00:11:19 Low 2
2026-08-31 00:19:57 Low 2
2026-08-30 00:04:14 Low 2

Report a package

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

0 / 4000
Your suggestion