unciv
maintainer petercxy
· 17 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads source code and a Gradle distribution from GitHub and Gradle's official domain, both legitimate; the non-whitelisted host is Gradle's own services domain, which is trustworthy, and the build uses standard, transparent steps.
Triggered rules
LOW
AI review downgraded a static finding
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 and a Gradle distribution from GitHub and Gradle's official domain, both legitimate; the non-whitelisted host is Gradle's own services domain, which is trustworthy, and the build uses standard, transparent steps.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
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
1
# Maintainer: Peter Cai <peter at typeblog dot net>
2
3
pkgname=unciv
4
_pkgname=Unciv
5
_gradle_ver=8.7 # This package does not work with system gradle
6
pkgver=4.21.4.1
7
_pkgver=${pkgver%.*}-${pkgver##*.}
8
_pkgver=$(echo $_pkgver | sed -r 's/-([0-9]+)/-patch\1/g')
9
_pkgver=${_pkgver/-REL/}
10
pkgrel=1
11
_srcdir=$_pkgname-$_pkgver
12
pkgdesc="Open-source remake of Civilization V"
13
url="https://github.com/yairm210/Unciv"
14
license=('MPL-2.0')
15
depends=('jdk17-openjdk' 'bash' 'xorg-xrandr')
16
arch=('any')
17
source=(
18
"https://github.com/yairm210/Unciv/archive/$_pkgver.zip"
19
"https://services.gradle.org/distributions/gradle-$_gradle_ver-bin.zip"
20
"$_pkgname.sh"
21
"$pkgname.desktop"
22
)
23
noextract=("gradle-$_gradle_ver-bin.zip")
24
md5sums=('f71f9c50c567636582bab3f831147510'
25
'1f52d7ea57c9aad04446e00adbaac3bd'
26
'e6d812078de30b33ab4698a53118b773'
27
'42d5f7ea8ee48d2d643d070786f039ba')
28
29
prepare() {
30
# Use gradle downloaded by our pkgbuild to allow caching
31
sed -i "6s|https\\\://services.gradle.org/distributions|../../../|" $_srcdir/gradle/wrapper/gradle-wrapper.properties
32
# Get rid of the Android part (it somehow always asks for Android SDK)
33
#gawk -i inplace 'BEGIN { doPrint = 1; } /project\(":android"\) {/ { doPrint = 0; } /^}$/ { if (doPrint != 1) { doPrint = 1; next }} { if (doPrint) print $0;}' $_srcdir/build.gradle.kts
34
# We cannot just get rid of the android/ folder becuase we need assets from it
35
rm -rf $_srcdir/android/{res,src,build.gradle.kts,gradle.properties,project.properties}
36
}
37
38
build() {
39
cd $_srcdir
40
unset _JAVA_OPTIONS
41
export PATH=/usr/lib/jvm/java-11-openjdk/bin/:$PATH
42
GRADLE_USER_HOME="$srcdir" ./gradlew desktop:dist
43
}
44
45
package() {
46
install -Dm755 $_pkgname.sh "$pkgdir/usr/bin/$_pkgname"
47
install -Dm644 $pkgname.desktop "$pkgdir/usr/share/applications/$pkgname.desktop"
48
install -Dm644 $_srcdir/extraImages/Icons/"Unciv icon v6.png" "$pkgdir/usr/share/pixmaps/unciv.png"
49
install -Dm644 $_srcdir/desktop/build/libs/$_pkgname.jar "$pkgdir/usr/share/$_pkgname/$_pkgname.jar"
50
}
51
Changes since previous scan
--- PKGBUILD @ 2026-07-30 00:17+++ PKGBUILD @ 2026-08-03 00:08@@ -3,7 +3,7 @@ pkgname=unciv _pkgname=Unciv _gradle_ver=8.7 # This package does not work with system gradle-pkgver=4.21.4.REL+pkgver=4.21.4.1 _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=('db7fc2698cedc51acaa611c85e90182d'+md5sums=('f71f9c50c567636582bab3f831147510' '1f52d7ea57c9aad04446e00adbaac3bd' 'e6d812078de30b33ab4698a53118b773' '42d5f7ea8ee48d2d643d070786f039ba')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 13:14:23 | MEDIUM | 1 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 21:33:42 | MEDIUM | 1 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 21:22:00 | MEDIUM | 1 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 13:11:02 | MEDIUM | 1 |
| 2026-07-19 00:17:08 | LOW | 2 |