gecko-git
LOW
maintainer kekmacska
0 votes
scanned 2026-10-06 00:13:36.889724
Why flagged
The package builds from the project's own git repository, uses SKIP for checksums (common with git sources), and includes standard build optimizations; no remote code execution or untrusted binaries are involved.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Low
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package builds from the project's own git repository, uses SKIP for checksums (common with git sources), and includes standard build optimizations; no remote code execution or untrusted binaries are involved.
PKGBUILD
1
# Maintainer: kekmacska
2
3
pkgname=gecko-git
4
pkgver=1.0.0.r486.g39092141b
5
pkgrel=1
6
pkgdesc='Modern cross-platform Fallout 2 map editor'
7
arch=('any')
8
license=('Apache-2.0')
9
url='https://github.com/JanSimek/gecko'
10
source=("git+$url.git")
11
makedepends=(cmake make svgo oxipng pkgconf git vulkan-headers catch2)
12
depends=(qt6-base qt6-svg sfml fmt zlib libglvnd)
13
provides=(gecko)
14
sha256sums=('SKIP')
15
16
pkgver() {
17
cd ${pkgname%-*}
18
19
# 1. Extract the version number
20
version=$(awk '/^project\(/{flag=1} flag && /VERSION/{print $2; exit}' CMakeLists.txt | tr -d ')"')
21
22
# 2. Get git info
23
commits=$(git rev-list --count HEAD)
24
commit=$(git rev-parse --short=9 HEAD)
25
26
# 3. Print result
27
printf '%s.r%s.g%s\n' "$version" "$commits" "$commit"
28
}
29
30
prepare() {
31
cd "$srcdir/${pkgname%-*}"
32
33
git submodule update --init --recursive
34
35
# delete unnecessary files
36
rm -rf resources/{gecko.icns,Info.plist,gecko.ico,gecko.rc}
37
38
# Patch CMakeLists.txt to remove unnecessary install targets
39
# This ensures 'cmake --install' only installs Linux-relevant files
40
sed -i \
41
-e '/install.*Info\.plist/d' \
42
-e '/install.*\.icns/d' \
43
-e '/install.*\.ico/d' \
44
-e '/install.*\.rc/d' \
45
-e '/install.*DIRECTORY.*resources\/icons/d' \
46
CMakeLists.txt
47
48
svgo . -r --multipass || bun /usr/bin/svgo . -r --multipass
49
oxipng -o max -r -p -s -v -t "$(nproc)" -z --zi 100 --ziwi 10 --brute-level 5 --brute-lines 16 resources
50
}
51
52
build() {
53
cd ${pkgname%-*}
54
55
BASE_CFLAGS="-O3 -march=native -mtune=native \
56
-falign-functions=32 -falign-loops=32 \
57
-fno-math-errno -fno-trapping-math -ffast-math \
58
-fno-semantic-interposition \
59
-fomit-frame-pointer -fno-plt \
60
-pipe -flto -Wall -Wno-unused \
61
-fstrict-aliasing \
62
-fmerge-all-constants -ffunction-sections \
63
-fdata-sections -fvisibility=hidden"
64
65
BASE_CXXFLAGS="$BASE_CFLAGS"
66
BASE_LDFLAGS="-Wl,--icf=safe -Wl,--gc-sections -Wl,-O3 -flto -fno-plt"
67
68
# Clang-only flags
69
CLANG_EXTRA_CFLAGS="-fstrict-vtable-pointers -fno-asynchronous-unwind-tables"
70
CLANG_EXTRA_CXXFLAGS="$CLANG_EXTRA_CFLAGS"
71
CLANG_EXTRA_LDFLAGS="-fuse-ld=lld"
72
73
# Detect compiler
74
if command -v clang >/dev/null 2>&1; then
75
export CC=clang
76
export CXX=clang++
77
export CFLAGS="$BASE_CFLAGS $CLANG_EXTRA_CFLAGS"
78
export CXXFLAGS="$BASE_CXXFLAGS $CLANG_EXTRA_CXXFLAGS"
79
export LDFLAGS="$BASE_LDFLAGS $CLANG_EXTRA_LDFLAGS"
80
else
81
export CC=gcc
82
export CXX=g++
83
export CFLAGS="$BASE_CFLAGS"
84
export CXXFLAGS="$BASE_CXXFLAGS"
85
export LDFLAGS="$BASE_LDFLAGS"
86
fi
87
88
cmake -B build -DCMAKE_BUILD_TYPE=Release \
89
-DCMAKE_INSTALL_PREFIX=/usr \
90
-DCMAKE_INSTALL_MANDIR=share/man \
91
-DCMAKE_INSTALL_DATAROOTDIR=share \
92
-DCMAKE_INSTALL_LIBDIR=lib \
93
-DCMAKE_INSTALL_BINDIR=bin
94
95
cmake --build build --parallel "$(nproc)"
96
}
97
98
package(){
99
cd "$srcdir/${pkgname%-*}"
100
101
DESTDIR="$pkgdir" cmake --install build
102
103
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
104
}
105
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-06 00:13:36 | Low | 2 |
| 2026-10-05 23:40:58 | Low | 1 |