unciv
The package downloads the project's own source code from its official GitHub repository and a Gradle distribution from the official services.gradle.org, both of which are legitimate and expected for building; the non-standard host flag is a false positive as GitHub and Gradle's service are standard development hosts.
Triggered rules
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 package downloads the project's own source code from its official GitHub repository and a Gradle distribution from the official services.gradle.org, both of which are legitimate and expected for building; the non-standard host flag is a false positive as GitHub and Gradle's service are standard development 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:19
"https://services.gradle.org/distributions/gradle-$_gradle_ver-bin.zip"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Peter Cai <peter at typeblog dot net>
pkgname=unciv
_pkgname=Unciv
_gradle_ver=8.7 # This package does not work with system gradle
pkgver=4.22.16.REL
_pkgver=${pkgver%.*}-${pkgver##*.}
_pkgver=$(echo $_pkgver | sed -r 's/-([0-9]+)/-patch\1/g')
_pkgver=${_pkgver/-REL/}
pkgrel=1
_srcdir=$_pkgname-$_pkgver
pkgdesc="Open-source remake of Civilization V"
url="https://github.com/yairm210/Unciv"
license=('MPL-2.0')
depends=('jdk17-openjdk' 'bash' 'xorg-xrandr')
arch=('any')
source=(
"https://github.com/yairm210/Unciv/archive/$_pkgver.zip"
"https://services.gradle.org/distributions/gradle-$_gradle_ver-bin.zip"
"$_pkgname.sh"
"$pkgname.desktop"
)
noextract=("gradle-$_gradle_ver-bin.zip")
md5sums=('d1b82a4319ad73fa61334dec07406529'
'1f52d7ea57c9aad04446e00adbaac3bd'
'e6d812078de30b33ab4698a53118b773'
'42d5f7ea8ee48d2d643d070786f039ba')
prepare() {
# Use gradle downloaded by our pkgbuild to allow caching
sed -i "6s|https\\\://services.gradle.org/distributions|../../../|" $_srcdir/gradle/wrapper/gradle-wrapper.properties
# Get rid of the Android part (it somehow always asks for Android SDK)
#gawk -i inplace 'BEGIN { doPrint = 1; } /project\(":android"\) {/ { doPrint = 0; } /^}$/ { if (doPrint != 1) { doPrint = 1; next }} { if (doPrint) print $0;}' $_srcdir/build.gradle.kts
# We cannot just get rid of the android/ folder becuase we need assets from it
rm -rf $_srcdir/android/{res,src,build.gradle.kts,gradle.properties,project.properties}
}
build() {
cd $_srcdir
unset _JAVA_OPTIONS
export PATH=/usr/lib/jvm/java-11-openjdk/bin/:$PATH
GRADLE_USER_HOME="$srcdir" ./gradlew desktop:dist
}
package() {
install -Dm755 $_pkgname.sh "$pkgdir/usr/bin/$_pkgname"
install -Dm644 $pkgname.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
install -Dm644 $_srcdir/extraImages/Icons/"Unciv icon v6.png" "$pkgdir/usr/share/pixmaps/unciv.png"
install -Dm644 $_srcdir/desktop/build/libs/$_pkgname.jar "$pkgdir/usr/share/$_pkgname/$_pkgname.jar"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-31 00:07+++ PKGBUILD @ 2026-11-01 00:21@@ -3,7 +3,7 @@ pkgname=unciv _pkgname=Unciv _gradle_ver=8.7 # This package does not work with system gradle-pkgver=4.22.15.REL+pkgver=4.22.16.REL _pkgver=${pkgver%.*}-${pkgver##*.} _pkgver=$(echo $_pkgver | sed -r 's/-([0-9]+)/-patch\1/g') _pkgver=${_pkgver/-REL/}@@ -21,7 +21,7 @@ "$pkgname.desktop" ) noextract=("gradle-$_gradle_ver-bin.zip")-md5sums=('406a28c5a22c5921948c16e339e58dc1'+md5sums=('d1b82a4319ad73fa61334dec07406529' '1f52d7ea57c9aad04446e00adbaac3bd' 'e6d812078de30b33ab4698a53118b773' '42d5f7ea8ee48d2d643d070786f039ba')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Low | 2 |
| 2026-10-31 21:59:05 | Medium | 1 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 00:13:55 | Low | 2 |
| 2026-10-28 21:50:44 | Medium | 1 |
| 2026-10-28 00:06:54 | Low | 2 |
| 2026-10-27 00:23:28 | Low | 2 |
| 2026-10-26 05:43:49 | Medium | 1 |
| 2026-10-26 00:12:40 | Low | 2 |
| 2026-10-25 21:43:05 | Medium | 1 |
| 2026-10-25 00:20:48 | Low | 2 |
| 2026-10-24 21:41:28 | Medium | 1 |
| 2026-10-24 00:14:55 | Low | 2 |
| 2026-10-23 00:02:19 | Low | 2 |
| 2026-10-22 00:13:10 | Low | 2 |
| 2026-10-21 21:33:09 | Medium | 1 |
| 2026-10-21 00:12:50 | Low | 2 |
| 2026-10-20 00:10:31 | Low | 2 |
| 2026-10-19 00:03:55 | Low | 2 |