mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-08 06:25:37 -05:00
feat: Mult-Distro support - Debian, Ubuntu, OpenSuse
This commit is contained in:
5
distro/ubuntu/dms/debian/changelog
Normal file
5
distro/ubuntu/dms/debian/changelog
Normal file
@@ -0,0 +1,5 @@
|
||||
dms (0.6.2ppa3) questing; urgency=medium
|
||||
|
||||
* Rebuild for packaging fixes (ppa3)
|
||||
|
||||
-- Avenge Media <AvengeMedia.US@gmail.com> Sun, 23 Nov 2025 00:40:41 -0500
|
||||
47
distro/ubuntu/dms/debian/control
Normal file
47
distro/ubuntu/dms/debian/control
Normal file
@@ -0,0 +1,47 @@
|
||||
Source: dms
|
||||
Section: x11
|
||||
Priority: optional
|
||||
Maintainer: Avenge Media <AvengeMedia.US@gmail.com>
|
||||
Build-Depends: debhelper-compat (= 13)
|
||||
Standards-Version: 4.6.2
|
||||
Homepage: https://github.com/AvengeMedia/DankMaterialShell
|
||||
Vcs-Browser: https://github.com/AvengeMedia/DankMaterialShell
|
||||
Vcs-Git: https://github.com/AvengeMedia/DankMaterialShell.git
|
||||
|
||||
Package: dms
|
||||
Architecture: amd64
|
||||
Depends: ${misc:Depends},
|
||||
quickshell-git | quickshell,
|
||||
accountsservice,
|
||||
cava,
|
||||
cliphist,
|
||||
danksearch,
|
||||
dgop,
|
||||
matugen,
|
||||
qml6-module-qtcore,
|
||||
qml6-module-qtmultimedia,
|
||||
qml6-module-qtqml,
|
||||
qml6-module-qtquick,
|
||||
qml6-module-qtquick-controls,
|
||||
qml6-module-qtquick-dialogs,
|
||||
qml6-module-qtquick-effects,
|
||||
qml6-module-qtquick-layouts,
|
||||
qml6-module-qtquick-templates,
|
||||
qml6-module-qtquick-window,
|
||||
qt6ct,
|
||||
wl-clipboard
|
||||
Conflicts: dms-git
|
||||
Replaces: dms-git
|
||||
Description: DankMaterialShell - Modern Wayland Desktop Shell
|
||||
DMS (DankMaterialShell) is a feature-rich desktop shell built on
|
||||
Quickshell, providing a modern and customizable user interface for
|
||||
Wayland compositors like niri, hyprland, and sway.
|
||||
.
|
||||
Features include:
|
||||
- Material Design inspired UI
|
||||
- Customizable themes and appearance
|
||||
- Built-in application launcher
|
||||
- System tray and notifications
|
||||
- Network and Bluetooth management
|
||||
- Audio controls
|
||||
- Systemd integration
|
||||
27
distro/ubuntu/dms/debian/copyright
Normal file
27
distro/ubuntu/dms/debian/copyright
Normal file
@@ -0,0 +1,27 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: dms
|
||||
Upstream-Contact: Avenge Media LLC <AvengeMedia.US@gmail.com>
|
||||
Source: https://github.com/AvengeMedia/DankMaterialShell
|
||||
|
||||
Files: *
|
||||
Copyright: 2025 Avenge Media LLC
|
||||
License: MIT
|
||||
|
||||
License: MIT
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
1
distro/ubuntu/dms/debian/files
Normal file
1
distro/ubuntu/dms/debian/files
Normal file
@@ -0,0 +1 @@
|
||||
dms_0.6.2ppa3_source.buildinfo x11 optional
|
||||
63
distro/ubuntu/dms/debian/rules
Executable file
63
distro/ubuntu/dms/debian/rules
Executable file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DH_VERBOSE = 1
|
||||
|
||||
# Extract version from debian/changelog
|
||||
DEB_VERSION := $(shell dpkg-parsechangelog -S Version)
|
||||
# Get upstream version (strip -1ppa1 suffix)
|
||||
UPSTREAM_VERSION := $(shell echo $(DEB_VERSION) | sed 's/-[^-]*$$//')
|
||||
# Strip ppa suffix and handle git versions
|
||||
# Examples: 0.5.2ppa9 -> 0.5.2, 0.5.2+git20251116 -> 0.5.2
|
||||
BASE_VERSION := $(shell echo $(UPSTREAM_VERSION) | sed 's/ppa[0-9]*$$//' | sed 's/+git.*//')
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_build:
|
||||
# All files are included in source package (downloaded by build-source.sh)
|
||||
# Launchpad build environment has no internet access
|
||||
test -f dms-distropkg-amd64.gz || (echo "ERROR: dms-distropkg-amd64.gz not found!" && exit 1)
|
||||
test -f dms-source.tar.gz || (echo "ERROR: dms-source.tar.gz not found!" && exit 1)
|
||||
|
||||
# Extract pre-built binary
|
||||
gunzip -c dms-distropkg-amd64.gz > dms
|
||||
chmod +x dms
|
||||
|
||||
# Extract source tarball for QML files
|
||||
tar -xzf dms-source.tar.gz
|
||||
# Find the extracted directory (it might have various names)
|
||||
# and create a symlink to expected name for consistent install
|
||||
SOURCE_DIR=$$(find . -maxdepth 1 -type d -name "DankMaterialShell*" | head -n1); \
|
||||
if [ -n "$$SOURCE_DIR" ]; then \
|
||||
ln -sf $$SOURCE_DIR DankMaterialShell-$(BASE_VERSION); \
|
||||
fi
|
||||
|
||||
override_dh_auto_install:
|
||||
# Install binary
|
||||
install -Dm755 dms debian/dms/usr/bin/dms
|
||||
|
||||
# Install QML files from source tarball
|
||||
mkdir -p debian/dms/usr/share/quickshell/dms
|
||||
cp -r DankMaterialShell-$(BASE_VERSION)/* debian/dms/usr/share/quickshell/dms/
|
||||
|
||||
# Remove unnecessary directories
|
||||
rm -rf debian/dms/usr/share/quickshell/dms/core
|
||||
rm -rf debian/dms/usr/share/quickshell/dms/distro
|
||||
|
||||
# Install systemd user service
|
||||
install -Dm644 DankMaterialShell-$(BASE_VERSION)/quickshell/assets/systemd/dms.service \
|
||||
debian/dms/usr/lib/systemd/user/dms.service
|
||||
|
||||
# Generate and install shell completions (if applicable)
|
||||
# Uncomment if dms supports completion generation
|
||||
# ./dms completion bash > dms.bash
|
||||
# ./dms completion zsh > dms.zsh
|
||||
# install -Dm644 dms.bash debian/dms/usr/share/bash-completion/completions/dms
|
||||
# install -Dm644 dms.zsh debian/dms/usr/share/zsh/vendor-completions/_dms
|
||||
|
||||
override_dh_auto_clean:
|
||||
rm -f dms
|
||||
rm -rf DankMaterialShell-*
|
||||
# Don't remove dms-distropkg-amd64.gz and dms-source.tar.gz
|
||||
# They need to be included in the source package for Launchpad builds
|
||||
dh_auto_clean
|
||||
1
distro/ubuntu/dms/debian/source/format
Normal file
1
distro/ubuntu/dms/debian/source/format
Normal file
@@ -0,0 +1 @@
|
||||
3.0 (native)
|
||||
2
distro/ubuntu/dms/debian/source/include-binaries
Normal file
2
distro/ubuntu/dms/debian/source/include-binaries
Normal file
@@ -0,0 +1,2 @@
|
||||
dms-distropkg-amd64.gz
|
||||
dms-source.tar.gz
|
||||
4
distro/ubuntu/dms/debian/source/options
Normal file
4
distro/ubuntu/dms/debian/source/options
Normal file
@@ -0,0 +1,4 @@
|
||||
# Include files that are normally excluded by .gitignore
|
||||
# These are needed for the build process on Launchpad (which has no internet access)
|
||||
tar-ignore = !dms-distropkg-amd64.gz
|
||||
tar-ignore = !dms-source.tar.gz
|
||||
Reference in New Issue
Block a user