linuxvr-viewshot
LOW
maintainer yakuda
0 votes
scanned 2026-09-27 19:19:18.915602
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: yakuda <yakuda@outlook.de>
2
pkgname=linuxvr-viewshot
3
pkgver=0.4.1
4
pkgrel=1
5
pkgdesc="Take photos in VR with a hand-frame gesture on Linux (WiVRn / Monado) - OpenXR API layer + desktop app"
6
# Der OpenXR-Layer ist eine native .so (Rust) -> nicht 'any'
7
arch=('x86_64')
8
url="https://github.com/yakuda-stack/LinuxVR-ViewShot"
9
license=('GPL-3.0-or-later')
10
# Laufzeit: der Layer braucht libvulkan (dlopen), die App PyQt6.
11
# xcb-util-cursor & Co: Qt >= 6.5 braucht sie fuer das xcb-Plugin (X11/XWayland).
12
# python-setproctitle: Name "LinuxVR-ViewShot" im Taskmanager (ginge auch ohne).
13
depends=('glibc' 'gcc-libs' 'vulkan-icd-loader'
14
'python' 'python-pyqt6' 'python-setproctitle'
15
'xcb-util-cursor' 'xcb-util-wm' 'xcb-util-image' 'xcb-util-keysyms'
16
'xcb-util-renderutil' 'libxkbcommon-x11')
17
makedepends=('cargo')
18
optdepends=('python-opencv: QR code detection in photos'
19
'python-onnxruntime-cpu: text recognition for the translation (plus "pip install --user rapidocr")'
20
'wayvr: open the app from the WayVR watch (Options -> General)'
21
'glib2: move deleted photos to the trash via gio (fallback)')
22
# Git-Tag darf einen Bindestrich haben (v0.5.0-alpha), pkgver nicht
23
_tag="v${pkgver/_/-}"
24
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/${_tag}.tar.gz")
25
sha256sums=('150b079f165ff61cc8611beede785169115ce0a418eba3abebeca4d242e70145')
26
27
_srcdir() { echo "LinuxVR-ViewShot-${_tag#v}"; }
28
29
prepare() {
30
cd "$(_srcdir)"
31
export RUSTUP_TOOLCHAIN=stable
32
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
33
}
34
35
build() {
36
cd "$(_srcdir)"
37
export RUSTUP_TOOLCHAIN=stable
38
export CARGO_TARGET_DIR=target
39
cargo build --frozen --release
40
}
41
42
check() {
43
cd "$(_srcdir)"
44
export RUSTUP_TOOLCHAIN=stable
45
export CARGO_TARGET_DIR=target
46
cargo test --frozen --release
47
}
48
49
package() {
50
cd "$(_srcdir)"
51
52
# OpenXR-Layer + systemweites Manifest (gilt fuer alle Benutzer)
53
local lib="/usr/lib/${pkgname}/liblinuxvr_viewshot_layer.so"
54
install -Dm755 target/release/liblinuxvr_viewshot_layer.so "${pkgdir}${lib}"
55
install -dm755 "${pkgdir}/usr/share/openxr/1/api_layers/implicit.d"
56
sed "s|@LIBRARY_PATH@|${lib}|" manifest/linuxvr_viewshot.json.in \
57
> "${pkgdir}/usr/share/openxr/1/api_layers/implicit.d/linuxvr_viewshot.json"
58
59
# App nach /usr/share/linuxvr-viewshot/UI (Struktur bleibt, core/paths.py
60
# findet Icon & Co. relativ zu sich selbst). Ohne scripts/ erkennt die App,
61
# dass sie aus einem Paket kommt, und blendet "Neu bauen/Entfernen" aus.
62
local app="${pkgdir}/usr/share/${pkgname}/UI"
63
install -Dm644 UI/main.py "${app}/main.py"
64
install -Dm644 UI/starter.py "${app}/starter.py"
65
install -Dm755 UI/start.sh "${app}/start.sh"
66
cp -r UI/core UI/ui UI/assets "${app}/"
67
find "${app}" -name '__pycache__' -type d -exec rm -rf {} + 2>/dev/null || true
68
69
# Launcher (voller Pfad zu starter.py = Platz fuer den Prozessnamen)
70
install -dm755 "${pkgdir}/usr/bin"
71
cat > "${pkgdir}/usr/bin/${pkgname}" << 'LAUNCH'
72
#!/usr/bin/env bash
73
exec python3 /usr/share/linuxvr-viewshot/UI/starter.py "$@"
74
LAUNCH
75
chmod 755 "${pkgdir}/usr/bin/${pkgname}"
76
77
# Desktop-Eintrag + Icon
78
sed "s|@START@|${pkgname}|" packaging/${pkgname}.desktop.in > "${srcdir}/${pkgname}.desktop"
79
install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
80
install -Dm644 UI/assets/${pkgname}.png "${pkgdir}/usr/share/icons/hicolor/512x512/apps/${pkgname}.png"
81
82
# Lizenz + Doku
83
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
84
install -Dm644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
85
install -Dm644 CHANGELOG.md "${pkgdir}/usr/share/doc/${pkgname}/CHANGELOG.md"
86
}
87
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-27 19:19:18 | Low | 1 |