coolvlviewer
The source is a tarball from the project's own domain (sldev.free.fr), which is plausibly the official source; building from project-owned infrastructure is normal for AUR packages, even on non-whitelisted hosts.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a tarball from the project's own domain (sldev.free.fr), which is plausibly the official source; building from project-owned infrastructure is normal for AUR packages, even on non-whitelisted hosts.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:65
"http://sldev.free.fr/sources/CoolVLViewer-src-${pkgver//./}.tar.bz2"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Alex Tharp <alex at toastercup dot io>
_appname="coolvlviewer"
pkgname="${_appname}"
provides=("${_appname}")
conflicts=("${_appname}")
pkgver=1.32.2.44
pkgrel=1
pkgdesc="A third-party viewer for Second Life and OpenSim grids (built from source)"
url="http://sldev.free.fr"
license=("GPL-2.0-or-later")
arch=("x86_64")
depends=(
"apr-util"
"atk"
"gconf"
"glib2>=2.32"
"glu"
"lib32-libidn"
"lib32-libsndfile"
"lib32-util-linux"
"lib32-zlib"
"libcups"
"libgl"
"libidn"
"libxcomposite"
"libxcrypt-compat"
"libxcursor"
"libxrandr"
"libxss"
"libxtst"
"mesa"
"pangox-compat"
"sdl"
)
optdepends=(
"alsa-lib: for ALSA support"
"gst-plugins-bad: for video support"
"gst-plugins-good: for video support"
"gst-plugins-ugly: for video support"
"lib32-alsa-lib: for ALSA support"
"lib32-freealut: for OpenAL support"
"lib32-libidn11: for voice support"
"libpulse: for PulseAudio support"
"nvidia-utils: for NVIDIA support"
"pepper-flash: for inworld Flash support"
"wine: for SLVoice support"
)
makedepends=(
"bison"
"bzip2"
"cmake"
"flex"
"glibc"
"lib32-libxinerama"
"libgl"
"libidn"
"libx11"
"libxinerama"
"libxrender"
"make"
"python"
)
install="${_appname}.install"
source=(
"http://sldev.free.fr/sources/CoolVLViewer-src-${pkgver//./}.tar.bz2"
"${_appname}.desktop"
)
sha1sums=(
"392cfbef689c3a65ebe374ad6cfa03456942abb4"
"314763ee16ca2e2224c402ec18bf5b24157ce8b8"
)
build() {
cd "${srcdir}/linden"
# TODO: Investigate optimizations, e.g. --tune --usesystemlib --lto
# See what can be gleaned from e.g. https://github.com/secondlife/viewer/blob/88a2e54/.github/workflows/build.yaml
./linux-build.sh
}
package() {
install -D -m644 "${srcdir}/${_appname}.desktop" "${pkgdir}/usr/share/applications/${_appname}.desktop"
install -D -m755 "${srcdir}/linden/indra/viewer-linux-x86_64-release/newview/CoolVLViewer-x86_64-${pkgver}/cvlv_icon.png" "${pkgdir}/usr/share/pixmaps/clvl_icon.png"
install -D -m644 "${srcdir}/linden/indra/viewer-linux-x86_64-release/newview/CoolVLViewer-x86_64-${pkgver}/licenses.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# Move Data to Destination Directory
install -d "${pkgdir}/opt/"
mv "${_appname}/" "${pkgdir}/opt/"
# Change Permissions of files to root:games
chown -R root:games "${pkgdir}/opt/${_appname}"
chmod -R g+rw "${pkgdir}/opt/${_appname}"
# Make Binary Group-Executable
chmod g+x "${pkgdir}/opt/${_appname}/cool_vl_viewer"
install -d "${pkgdir}/usr/bin"
ln -s "/opt/${_appname}/cool_vl_viewer" "${pkgdir}/usr/bin/${_appname}"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 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 |
| 2026-08-29 00:29:17 | Low | 2 |