unciv
The package downloads source code from the project's official GitHub repository and a Gradle binary from services.gradle.org, both legitimate sources; the build process uses these to compile the application, which is a normal AUR practice.
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 source code from the project's official GitHub repository and a Gradle binary from services.gradle.org, both legitimate sources; the build process uses these to compile the application, which is a normal AUR practice.
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.0.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=('818cc1588334bbeab6c4f8b1d8cefb32'
'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-09-14 00:27+++ PKGBUILD @ 2026-09-17 00:27@@ -3,7 +3,7 @@ pkgname=unciv _pkgname=Unciv _gradle_ver=8.7 # This package does not work with system gradle-pkgver=4.21.19.REL+pkgver=4.22.0.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=('cde27939bca32f388ea7c49eb2566222'+md5sums=('818cc1588334bbeab6c4f8b1d8cefb32' '1f52d7ea57c9aad04446e00adbaac3bd' 'e6d812078de30b33ab4698a53118b773' '42d5f7ea8ee48d2d643d070786f039ba')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 23:18:17 | Medium | 1 |
| 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 15:19:51 | Medium | 1 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 21:15:20 | Medium | 1 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 22:01:36 | Medium | 1 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 13:53:13 | Medium | 1 |
| 2026-09-03 00:15:47 | Low | 2 |