l2mapconv
LOW
maintainer guglovich
0 votes
scanned 2026-11-04 18:07:34.859631
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
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.
PKGBUILD
1
# Maintainer: guglovich <https://github.com/guglovich>
2
# Created with assistance from Qwen3.8 Flash Next.
3
# Lineage II map previewer, geodata generator and map/radar renderer.
4
# Upstream has no tagged releases yet: the package pins the current master commit
5
# and downloads the submodules as tarballs at their pinned SHAs (real checksums,
6
# no git clones during the build).
7
# The application resolves its resources (shaders, textures) relative to the
8
# executable, so the whole ready package installs into /opt/l2mapconv with a
9
# /usr/bin symlink; job outputs go to XDG_DATA_HOME when /opt is read-only.
10
pkgname=l2mapconv
11
_commit=474ffe9c74353efb85e2c77c00be0a6ceceb526d
12
pkgver=r164.g474ffe9
13
pkgrel=1
14
pkgdesc='Lineage II map previewer, geodata generator and map/radar renderer'
15
arch=('x86_64')
16
url='https://github.com/guglovich/l2mapconv-linux'
17
license=('MIT')
18
options=('!debug')
19
depends=('gcc-libs' 'glibc' 'libglvnd' 'libx11' 'libxcursor' 'libxext' 'libxi'
20
'libxinerama' 'libxkbcommon' 'libxrandr' 'wayland' 'zlib')
21
makedepends=('cmake' 'git' 'ninja')
22
optdepends=('zenity: folder and file dialogs (or kdialog)'
23
'java-runtime: Pathfinding Lab backend')
24
source=("l2mapconv-$_commit.tar.gz::https://codeload.github.com/guglovich/l2mapconv-linux/tar.gz/$_commit"
25
"cxxopts.tar.gz::https://codeload.github.com/jarro2783/cxxopts/tar.gz/a70771ae894c787337e6393ff016c8e93e4237a3"
26
"glew.tar.gz::https://codeload.github.com/Perlmint/glew-cmake/tar.gz/7c2b7514f64234756f7df051b9316f1e46f5a6e7"
27
"glfw.tar.gz::https://codeload.github.com/glfw/glfw/tar.gz/da6713cd096a40a4512f468b34c189017e73f987"
28
"glm.tar.gz::https://codeload.github.com/g-truc/glm/tar.gz/cc98465e3508535ba8c7f6208df934c156a018dc"
29
"imgui.tar.gz::https://codeload.github.com/ocornut/imgui/tar.gz/467a1cd4a583edd55db310c82e2823692616e108"
30
"recast.tar.gz::https://codeload.github.com/recastnavigation/recastnavigation/tar.gz/c187b7e88bfc922bca2175e3751881bdf378ff0d"
31
"stb.tar.gz::https://codeload.github.com/nothings/stb/tar.gz/af1a5bc352164740c1cc1354942b1c6b72eacb8a")
32
sha256sums=('68b9e9b3a5640a87ac8fa72c50e87ab6663ed6023db1f288363abc51a2d958ae'
33
'17bcd0bde7796e821fe548853a951da667abc8b22ca336f707986b153e87dc59'
34
'3d92d6e350c37e53d199f80604a502c4ded7b628344f64338e40d23ebed889ca'
35
'b6e26bae80b3461ddc50fb6430e3fb5240a01dbba966ca7335a0c7f4bb1b3a5c'
36
'9d4d3e5eddb7d334777cb6bccded313dc7b4f2ee4b21abf27c07639efa419720'
37
'c6a586ef65756631c9367d900f17ade5771b0a6120d03b0ab6bb998195616493'
38
'cbdeb85b8d6703168545ef6c2c96ab79c2b28863fdecb2664bd1031a389d04bf'
39
'936b4e506b5f55db178207e528ecdf5a411f67431447767d06c9b7061765cd7e')
40
41
# srcdir is not set when the PKGBUILD is parsed: resolve the tree inside functions
42
_l2src() { printf '%s/l2mapconv-linux-%s' "$srcdir" "$_commit"; }
43
44
_prepare_submodule() {
45
# $1: extracted archive dir prefix, $2: submodule path inside the tree
46
local prefix="$1" path="$2" main
47
main="$(_l2src)"
48
rm -rf "$main/$path"
49
mkdir -p "$main/$path"
50
cp -a "$srcdir/$prefix"-*/. "$main/$path/"
51
}
52
53
prepare() {
54
_prepare_submodule cxxopts libs/cxxopts
55
_prepare_submodule glew-cmake libs/glew
56
_prepare_submodule glfw libs/glfw
57
_prepare_submodule glm libs/glm
58
_prepare_submodule imgui libs/imgui/imgui
59
_prepare_submodule recastnavigation libs/recast
60
_prepare_submodule stb libs/stb/stb
61
}
62
63
build() {
64
cmake -S "$(_l2src)" -B build -G Ninja \
65
-D CMAKE_BUILD_TYPE=Release \
66
-D BUILD_TESTING=ON \
67
-D BUILD_SHARED_LIBS=OFF \
68
-D L2MAPCONV_LOAD_TERRAIN=ON \
69
-D L2MAPCONV_LOAD_TEXTURES=OFF
70
cmake --build build --parallel
71
}
72
73
check() {
74
# headless-safe engine tests only: the window/UI/live-visual suites need a display
75
ctest --test-dir build --output-on-failure -E '(window_system|ui_settings|live_visual)_tests'
76
}
77
78
package() {
79
DESTDIR="$pkgdir" cmake --install build --component Runtime \
80
--prefix "/opt/$pkgname"
81
82
install -d "$pkgdir/usr/bin"
83
ln -s "/opt/$pkgname/l2mapconv" "$pkgdir/usr/bin/l2mapconv"
84
85
install -Dm644 "$(_l2src)/map.png" \
86
"$pkgdir/usr/share/pixmaps/$pkgname.png"
87
install -Dm644 "$(_l2src)/LICENSE" \
88
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
89
90
install -d "$pkgdir/usr/share/applications"
91
cat > "$pkgdir/usr/share/applications/$pkgname.desktop" <<EOF
92
[Desktop Entry]
93
Type=Application
94
Name=l2mapconv
95
GenericName=Lineage II map tools
96
Comment=Lineage II map previewer, geodata generator and radar renderer
97
Exec=l2mapconv
98
Icon=l2mapconv
99
Categories=Game;Utility;
100
Keywords=Lineage;l2j;geodata;navmesh;
101
EOF
102
}
103
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-04 18:07:34 | Low | 1 |