lundukecity-git
- Category:
maintained/, same convention as [[lunduke-edit-git]] and [lunduke-paint-git]. Created 2026-09-28. New AUR submission, not yet pushed to AUR. - Requested pkgname was literally “lundukecity-git” (no hyphen between
“lunduke” and “city”), even though upstream’s own
meson.buildproject name islunduke-city(hyphenated) – kept the requested spelling rather than “fixing” it to match, since the user asked for it explicitly.provides/conflictsuse the same unhyphenatedlundukecitybase name for consistency with the pkgname. - meson + gtkmm-3.0 (
gtkmm3covers it – no extra direct deps unlikelunduke-paint-git, since this package doesn’t link cairomm/gdk-pixbuf2/pugixml/etc directly, onlygtkmm_dep+micropolis_dep(bundled,subdir('third_party/micropolis')) +thread_dep).third_party/micropolisandthird_party/micropolis-assetsare vendored directly in the repo (not git submodules), so a plain non-recursive clone already has everything. - PulseAudio is
dlopen’d at runtime (src/sound_player.cpp), not linked –optdepends=('libpulse: sound effects'), no makedepends needed, matches upstream’s own Debian packaging (Recommends: libpulse0vsDepends:). - License:
GPL-3.0-or-later(COPYING is GPLv3, NOTICE confirms “or-later” for both the Micropolis engine and the original gtkmm UI, with additional EA-derived terms on top – kept the license array as a plain SPDX id matching sibling packages’ own convention, same simplification they already made). - Asset path note (not a bug, verified before building):
meson.buildbakesmeson.project_source_root()/third_party/micropolis-assetsinto the binary via-DLUNDUKE_CITY_ASSET_DIR=..., which is a build-tree path –makepkgflags this at packaging time (WARNING: Package contains reference to $srcdir, harmless, not a build failure). Confirmed insrc/assets.cppthis doesn’t break the installed binary:asset_root()tries that macro’s path first, but falls through (viais_asset_root()’s existence check) to an exe-relative candidate (exe_dir() + "/../share/lunduke-city/micropolis-assets") that correctly resolves to/usr/share/lunduke-city/micropolis-assetsfor an installed/usr/bin/lunduke-city– matchesmeson.build’s owninstall_subdir(...)target exactly. An$LUNDUKE_CITY_ASSETSenv var override also exists for advanced use. No PKGBUILD workaround needed. check()runs upstream’smeson testunconditionally (unlikelunduke-paint-git, which has to guard forDISPLAY) – bothengine_smoke/featurestests are headless (nogtkmm_depintests/meson.build), confirmed by reading the test sources before relying on it, not just copyinglunduke-paint-git’s pattern blind.- First real build:
pkgver()’s placeholder guess (r1.b5272fb, from a shallow--depth 1probe clone used only to inspect the repo before writing the PKGBUILD) was superseded during the actual build by a full clone’s realgit rev-list --count(r14.b5272fb) – expected/normal for a fresh-gitpackage, not a discrepancy to chase. - Built + published cleanly first try, x86_64 only (
r14.b5272fb-1,- debug package). User asked about extending
arch=()to match the project’s other supported archs, then said to leave it for now – x86_64-only stays the status quo pending a future session.
- debug package). User asked about extending
Other lunduke-* packages’ arch coverage (checked 2026-09-28, not changed)
Both siblings are also arch=('x86_64') only:
lunduke-edit-git: genuinely constrained, not just untested – its dependencygtksourceviewmm3(a custom-maintained package pinning the old GTK3-eragtksourceviewmm-3.0API) is itself x86_64-only, never built for any other arch.lunduke-paint-git: looks like it was just never tried elsewhere – its deps (gtkmm3cairommgdk-pixbuf2glib2libarchivepugixmlpango) are all standard official Arch packages likely available broadly, no known blocker like the compiler-backend cases (lacc-git/slimcc-git) or thegtksourceviewmm3case above.