gecko-git

LOW
maintainer kekmacska 0 votes scanned 2026-10-06 00:13:36.889724
View on AUR
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
3pkgname=gecko-git
4pkgver=1.0.0.r486.g39092141b
5pkgrel=1
6pkgdesc='Modern cross-platform Fallout 2 map editor'
7arch=('any')
8license=('Apache-2.0')
9url='https://github.com/JanSimek/gecko'
10source=("git+$url.git")
11makedepends=(cmake make svgo oxipng pkgconf git vulkan-headers catch2)
12depends=(qt6-base qt6-svg sfml fmt zlib libglvnd)
13provides=(gecko)
14sha256sums=('SKIP')
15
16pkgver() {
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
30prepare() {
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
52build() {
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
98package(){
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)SeverityRules
2026-10-06 00:13:36 Low 2
2026-10-05 23:40:58 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion