You are not logged in.
Hi,
This isn't my first AUR package, but it's my first non-trivial one wrt dependencies. This is a -git pkgbuild for Atlantik, a KDE client for playing Monopoly®-like board games on the monopd network. I would appreciate if someone took a look at my pkgbuild before I put it on the AUR:
PKGBUILD:
# Maintainer: robinpie <redacted@fake.email>
pkgname=atlantik-git
_pkgname=atlantik
pkgver=3.80.3.r753.gf4e092c
pkgrel=1
pkgdesc='KDE client for playing Monopoly-like board games on the monopd network'
arch=('x86_64')
url='https://invent.kde.org/games/atlantik'
license=('GPL-2.0-only' 'LGPL-2.1-only')
depends=(
'libstdc++'
'glibc'
'hicolor-icon-theme'
'kconfig'
'kconfigwidgets'
'kcoreaddons'
'kcrash'
'kdbusaddons'
'ki18n'
'kiconthemes'
'knotifications'
'knotifyconfig'
'kwidgetsaddons'
'kxmlgui'
'libkdegames'
'qt6-base'
)
makedepends=(
'cmake'
'extra-cmake-modules'
'git'
'kdoctools'
)
provides=("${pkgname%-git}=${pkgver}")
conflicts=('atlantik')
source=("${_pkgname}::git+https://invent.kde.org/games/atlantik.git")
sha256sums=('SKIP')
pkgver() {
cd "$_pkgname"
git describe --long --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
# Arch Linux kdoctools ships xsl/pt_br.xml but KDE's kde-include-common.xsl
# constructs the path as xsl/<lang>.xml from the document's lang entity, producing
# xsl/pt-BR.xml. Redirect that URI via an XML catalog so xsltproc resolves it
# correctly without needing to modify any system files.
cat > "$srcdir/kdoctools-pt-BR-catalog.xml" << 'EOF'
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<uri name="file:///usr/share/kf6/kdoctools/customization/xsl/pt-BR.xml"
uri="file:///usr/share/kf6/kdoctools/customization/xsl/pt_br.xml"/>
</catalog>
EOF
}
build() {
# Include custom catalog after system one so pt-BR.xml URI gets remapped
export XML_CATALOG_FILES="/etc/xml/catalog $srcdir/kdoctools-pt-BR-catalog.xml"
cmake -B build -S "$_pkgname" \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}.SRCINFO:
pkgbase = atlantik-git
pkgdesc = KDE client for playing Monopoly-like board games on the monopd network
pkgver = 3.80.3.r753.gf4e092c
pkgrel = 1
url = https://invent.kde.org/games/atlantik
arch = x86_64
license = GPL-2.0-only
license = LGPL-2.1-only
makedepends = cmake
makedepends = extra-cmake-modules
makedepends = git
makedepends = kdoctools
depends = libstdc++
depends = glibc
depends = hicolor-icon-theme
depends = kconfig
depends = kconfigwidgets
depends = kcoreaddons
depends = kcrash
depends = kdbusaddons
depends = ki18n
depends = kiconthemes
depends = knotifications
depends = knotifyconfig
depends = kwidgetsaddons
depends = kxmlgui
depends = libkdegames
depends = qt6-base
provides = atlantik=3.80.3.r753.gf4e092c
conflicts = atlantik
source = atlantik::git+https://invent.kde.org/games/atlantik.git
sha256sums = SKIP
pkgname = atlantik-gitLast edited by robinpie (2026-03-28 12:39:52)
Offline
Building in a clean chroot (see https://wiki.archlinux.org/title/Develo … ean_chroot ) points to a few issues :
I/O warning : failed to load "/usr/share/kf6/kdoctools/customization/xsl/pt-BR.xml": No such file or directoryOn archlinux that filename is all lowercase so /usr/share/kf6/kdoctools/customization/xsl/pt_br.xml .
Checking PKGBUILD
Checking atlantik-git-3.80.3.r753.gf4e092c-1-x86_64.pkg.tar.zst
atlantik-git W: Dependency libstdc++ detected and implicitly satisfied (libraries ['usr/lib/libstdc++.so.6'] needed in files ['usr/lib/libatlantic.so.5.0.0', 'usr/lib/libatlantikui.so.5.0.0', 'usr/lib/libatlantikclient.so.5.0.0', 'usr/bin/atlantik'])
atlantik-git W: Dependency included, but may not be needed ('gcc-libs')That is due to a change in how gcc is build on archlinux .
replace gcc-libs with libstdc++ then rebuild and verify in a clean chroot build if more is needed.
Minor issue :
use your aur username in the maintainer-field and consider adding the email you use for aur to it (or put redacted instead).
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Building in a clean chroot (see https://wiki.archlinux.org/title/Develo … ean_chroot ) points to a few issues :
[snip]
Thanks for the tips. I've updated the original post, if nobody chimes in with any other issues I'll put this on the AUR and tag this finished soon.
Edit: I'll also add a proper sha256sum first.
Last edited by robinpie (2026-03-26 11:06:01)
Offline
Edit: I'll also add a proper sha256sum first.
VCS sources can't use checksums as the checksum changes with every new commit.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Edit: I'll also add a proper sha256sum first.
VCS sources can't use checksums as the checksum changes with every new commit.
augh yeah, I don't know why I brainfarted on that. thanks for the reminder
Offline