1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-29 06:22:07 -04:00

distros(Void): Prep DMS to host Void packages

This commit is contained in:
purian23
2026-06-28 19:54:24 -04:00
parent 6bee1b2c86
commit afa6fd9e2e
3 changed files with 322 additions and 8 deletions
+33 -8
View File
@@ -13,16 +13,41 @@ All build from source.
## Distribution
These packages target the official
[`void-linux/void-packages`](https://github.com/void-linux/void-packages)
repository, so they install with a plain `xbps-install dms` and no extra setup.
Most dependencies (`quickshell`, `matugen`, `cava`, `niri`, `greetd`, …) are
already in Void; `dgop` and `danksearch` are packaged alongside in the
[danklinux repo](https://github.com/AvengeMedia/danklinux/tree/master/distro/void).
This is a DMS maintained repo for VoidLinux until these packages are officially merged upstream in the Void Linux repositories, you can install them from our self-hosted custom XBPS repositories served via GitHub Pages.
### Using the Self-Hosted Repositories
We serve both stable release and development packages directly from our repository branches.
#### 1. Add Repository Configurations
Create configuration files in `/etc/xbps.d/` pointing to our repositories (needed for both stable and git/nightly variants):
```sh
echo "repository=https://avengemedia.github.io/DankMaterialShell/current" | sudo tee /etc/xbps.d/dms.conf
echo "repository=https://avengemedia.github.io/DankLinux/current" | sudo tee /etc/xbps.d/danklinux.conf
```
#### 2. Install DMS
Synchronize repositories and install the package:
* For the **stable** variant:
```sh
sudo xbps-install -S dms
```
* For the **git/nightly** variant (this will conflict with and replace the stable package):
```sh
sudo xbps-install -S dms-git
```
*Note: On the first sync, `xbps-install` will output our signing key fingerprint and ask you to type `y` to trust and import it. Verify that the key matches our official signing fingerprint.*
The templates here are the source of truth: copy each into a void-packages
checkout at `srcpkgs/<pkg>/template` to build or submit it. Only tagged releases
are packaged (no `-git`/nightly variant).
checkout at `srcpkgs/<pkg>/template` to build or submit it.
## Dependencies
+59
View File
@@ -0,0 +1,59 @@
# Template file for 'dms-git'
#
# DankMaterialShell git development release
#
# NOTE: This template is built exclusively by CI. The workflow stages a local
# source tarball and dynamically patches version, checksum, and distfiles
# before calling xbps-src. Do not attempt to build this template manually
# without first providing the source archive.
#
# The binary is built with the `distro_binary` build tag (drops the in-app
# self-update command).
pkgname=dms-git
version=1.4.6.git
revision=1
create_wrksrc=yes
build_style=go
build_wrksrc="core"
go_import_path="github.com/AvengeMedia/DankMaterialShell/core"
go_package="${go_import_path}/cmd/dms"
go_build_tags="distro_binary"
go_ldflags="-X main.Version=${version}"
short_desc="DankMaterialShell — Material 3 desktop shell for Wayland (git variant)"
maintainer="AvengeMedia <AvengeMedia.US@gmail.com>"
license="MIT"
homepage="https://danklinux.com"
# CI populates distfiles/checksum dynamically; these are placeholders.
distfiles="https://github.com/AvengeMedia/DankMaterialShell/archive/refs/tags/v${version}.tar.gz"
checksum=badbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadb
# Conflicts and provides
conflicts="dms"
provides="dms-${version}_${revision}"
# Optional feature deps (XBPS has no "recommends") are listed in distro/void/README.md.
depends="quickshell accountsservice dgop matugen"
post_install() {
# QML shell tree (build_style=go already installed the dms binary)
vmkdir usr/share/quickshell/dms
vcopy "${wrksrc}/quickshell/*" usr/share/quickshell/dms
echo "${version}" > "${DESTDIR}/usr/share/quickshell/dms/VERSION"
# Desktop entry + icon
vinstall "${wrksrc}/assets/dms-open.desktop" 644 usr/share/applications
vinstall "${wrksrc}/assets/com.danklinux.dms.desktop" 644 usr/share/applications
vinstall "${wrksrc}/assets/danklogo.svg" 644 usr/share/icons/hicolor/scalable/apps
# Shell completions (generated by the built binary; skip when cross-building)
vmkdir usr/share/bash-completion/completions
vmkdir usr/share/zsh/site-functions
vmkdir usr/share/fish/vendor_completions.d
if [ -z "$CROSS_BUILD" ]; then
"${DESTDIR}/usr/bin/dms" completion bash > "${DESTDIR}/usr/share/bash-completion/completions/dms"
"${DESTDIR}/usr/bin/dms" completion zsh > "${DESTDIR}/usr/share/zsh/site-functions/_dms"
"${DESTDIR}/usr/bin/dms" completion fish > "${DESTDIR}/usr/share/fish/vendor_completions.d/dms.fish"
fi
vlicense "${wrksrc}/LICENSE"
}