# Maintainer: Caleb Maclennan pkgbase=dms-shell _pkg1=DankMaterialShell _pkg2=dank-qml-common pkgname=($pkgbase $pkgbase-hyprland $pkgbase-niri) pkgver=1.6.0 pkgrel=10 pkgdesc='A Quickshell-based desktop shell with Material 3 design principles' arch=(x86_64 aarch64) url="https://github.com/AvengeMedia/$_pkg1" license=(MIT) depends=(accountsservice quickshell) optdepends=('cava: Audio visualizer' 'cups-pk-helper: Printer Management' 'i2c-tools: External monitor brightness control' 'iwd: Required for network managementa via iwd' 'matugen: Dynamic wallpaper-based theming' 'networkmanager: Required for network managementa via networkmanager' 'power-profiles-daemon: Set power profile' 'qt6-multimedia: Sound effect support' 'qt6ct: Qt6 application theming' 'systemd: Required for network managementa via systemd-networkd' 'wtype: Paste from clipboard history and plugins') makedepends=(git go) replaces=($pkgname-bin) source=("git+$url.git#tag=v$pkgver" "git+${url/$_pkg1/$_pkg2}") sha256sums=('51186d2a9af990b4640c6b0d9298ba54a1fe16becd14c527243980438eae844a' 'SKIP') prepare() { cd "$_pkg1" git submodule init git config submodule.$_pkg2.url ../$_pkg2 git -c protocol.file.allow=always submodule update sed -i \ -e '/@update-desktop-database/d' \ -e '/@gtk-update-icon-cache/d' \ -e '/^install:/s/install-shell //' \ Makefile pushd core make sync-shell } build() { cd "$_pkg1/core" export CGO_CPPFLAGS="$CPPFLAGS" export CGO_CFLAGS="$CFLAGS" export CGO_CXXFLAGS="$CXXFLAGS" go build -v \ -tags distro_binary \ -tags withshell \ -trimpath \ -buildmode=pie \ -mod=readonly \ -modcacherw \ -ldflags="-s -w -linkmode=external -extldflags \"${LDFLAGS}\" -X main.Version=v$pkgver" \ -o bin/dms ./cmd/dms } package_dms-shell() { cd "$_pkg1" depends+=(dms-shell-compositor) optdepneds+=('dms-shell-hyprland: Hyprland specific dependencies') optdepneds+=('dms-shell-niri: Niri specific dependencies') make DESTDIR="$pkgdir" PREFIX="/usr" SYSTEMD_USER_DIR="$pkgdir/usr/lib/systemd/user" install install -Dm0644 -t "$pkgdir/usr/share/doc/$pkgname/" README.md cp -r "docs/"* "$pkgdir/usr/share/doc/$pkgname/" } package_dms-shell-hyprland() { pkgdesc+=' (for Hyprland)' provides=(dms-shell-compositor) depends=(dms-shell hyprland) optdepends=() } package_dms-shell-niri() { pkgdesc+=' (for Niri)' provides=(dms-shell-compositor) depends=(niri) depends=(dms-shell niri) optdepends=() }