llavon-ime-fcitx5-preview-git
Triggered rules
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-sonnet-4.6) reviewed the full PKGBUILD and judged it LOW (confidence 70%): The package builds from the project's own GitHub source and downloads a GGUF model file from HuggingFace (a plausible official model host for this project); both have SKIP'd checksums which is sloppy but the model is installed as a data file (not executed directly), and the build process uses the project's own vcpkg/cmake infrastructure without any obfuscated payloads or exfiltration.
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:23
"${_model_file}::https://huggingface.co/tony65535/llavon-ime-llama-250m-GGUF/resolve/main/${_model_file}"
PKGBUILD
1 offending line(s) highlighted# Maintainer: llavon-ime contributors
_pkgname=llavon-ime-fcitx5
_srcname=ime-fcitx5
_model_file=llavon-ime-llama-250m-Q4_K_M.gguf
pkgname=${_pkgname}-preview-git
pkgver=0.2.2.r15.g7ee1e51
pkgrel=1
pkgdesc='Preview branch of the Fcitx5 frontend and local inference service for Llavon IME'
arch=('x86_64' 'aarch64')
url='https://github.com/llavon-ime/ime-fcitx5/tree/preview'
license=('BSD-2-Clause' 'MIT' 'Apache-2.0' 'BSL-1.0' 'CC-BY-NC-4.0')
depends=('fcitx5' 'glibc' 'libgcc' 'libstdc++' 'vulkan-icd-loader')
makedepends=('cmake' 'curl' 'git' 'ninja' 'python' 'tar' 'unzip' 'zip')
optdepends=(
'fcitx5-configtool: graphical configuration for fcitx5'
'vulkan-driver: Vulkan GPU acceleration'
)
provides=("${_pkgname}")
conflicts=("${_pkgname}" "${_pkgname}-git")
source=(
"${_srcname}::git+https://github.com/llavon-ime/ime-fcitx5.git#branch=preview"
"${_model_file}::https://huggingface.co/tony65535/llavon-ime-llama-250m-GGUF/resolve/main/${_model_file}"
)
sha256sums=('SKIP' 'SKIP')
pkgver() {
cd "${_srcname}"
local describe base_version
describe="$(git describe --long --tags --abbrev=7 2>/dev/null || true)"
if [[ -n "${describe}" ]]; then
printf '%s\n' "${describe}" | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
return
fi
base_version="$(sed -n 's/^project(llavon-ime VERSION \([^ ]*\).*/\1/p' fcitx5/CMakeLists.txt)"
base_version="${base_version:-0.1.0}"
printf '%s.r%s.g%s\n' "${base_version}" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}
build() {
git -C "${_srcname}" submodule update --init --recursive
"${srcdir}/${_srcname}/vcpkg/bootstrap-vcpkg.sh" -disableMetrics
cmake -S "${_srcname}/ime-unix-service" -B unix-service-build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_TOOLCHAIN_FILE="${srcdir}/${_srcname}/vcpkg/scripts/buildsystems/vcpkg.cmake" \
-DVCPKG_MANIFEST_FEATURES=llama-vulkan \
-DIME_UNIX_SERVICE_BUILD_TESTS=ON
cmake --build unix-service-build
ctest --test-dir unix-service-build --output-on-failure
cmake -S "${_srcname}/fcitx5" -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_TOOLCHAIN_FILE="${srcdir}/${_srcname}/vcpkg/scripts/buildsystems/vcpkg.cmake" \
-DIME_FCITX5_INSTALLED_MODEL_PATH="/usr/share/llavon-ime/models/${_model_file}" \
-DIME_FCITX5_DISPLAY_VERSION="${pkgver}" \
-DIME_FCITX5_BUILD_TESTS=ON
cmake --build build
ctest --test-dir build --output-on-failure
}
package() {
DESTDIR="${pkgdir}" cmake --install unix-service-build
DESTDIR="${pkgdir}" cmake --install build
install -Dm644 "${srcdir}/${_model_file}" \
"${pkgdir}/usr/share/llavon-ime/models/${_model_file}"
cmake \
-DVCPKG_INSTALLED_DIR="${srcdir}/unix-service-build/vcpkg_installed" \
-DDESTINATION="${pkgdir}/usr/share/licenses/${pkgname}" \
-DPROJECT_ROOT="${srcdir}/${_srcname}" \
-P "${srcdir}/${_srcname}/scripts/install-licenses.cmake"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 3 |
| 2026-08-02 00:16:08 | LOW | 3 |
| 2026-08-01 13:20:32 | MEDIUM | 2 |
| 2026-08-01 11:24:03 | LOW | 3 |
| 2026-08-01 11:20:22 | MEDIUM | 2 |