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:
+33
-8
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user