diff --git a/anda/system/dank-material-shell/anda.hcl b/anda/system/dank-material-shell/anda.hcl new file mode 100644 index 0000000000..4d7e6ff850 --- /dev/null +++ b/anda/system/dank-material-shell/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "dank-material-shell.spec" + } + labels { + subrepo = "extras" + } +} diff --git a/anda/system/dank-material-shell/dank-material-shell.spec b/anda/system/dank-material-shell/dank-material-shell.spec new file mode 100644 index 0000000000..7e82c8f00d --- /dev/null +++ b/anda/system/dank-material-shell/dank-material-shell.spec @@ -0,0 +1,147 @@ +%global goipath github.com/AvengeMedia/%{name}/core + +Name: DankMaterialShell +Version: 1.4.4.1 +Release: 1%{?dist} +Summary: Desktop shell for Wayland compositors built on QuickShell + +License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND GPL-3.0-only AND ISC AND MIT AND MPL-2.0 +URL: https://danklinux.com/ +Source0: https://github.com/AvengeMedia/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz + +BuildRequires: go-rpm-macros +BuildRequires: go-vendor-tools +BuildRequires: systemd-rpm-macros + +Requires: accountsservice +Requires: cups-pk-helper +Requires: hicolor-icon-theme +Requires: quickshell + +Requires: (adw-gtk3-theme if gtk3) +Requires: cava +Requires: cliphist +Requires: danksearch +Requires: dgop +Requires: kf6-kimageformats +Requires: khal +Requires: matugen +Requires: (qt5ct if qt5-qtbase) +Requires: qt6ct +Requires: qt6-qtmultimedia +Requires: qt6-qtimageformats +Requires: wl-clipboard + +Recommends: NetworkManager +Recommends: ppd-service +Suggests: tuned-ppd + +# Replace and provide the package names from avengemedia/dms +Obsoletes: dms < %{evr} +Provides: dms = %{evr} +Obsoletes: dms-cli < %{evr} +Provides: dms-cli = %{evr} + +Packager: Its-J + +%description +DankMaterialShell is a complete desktop shell for Wayland compositors. +It replaces a variety of tools used to stitch together to make a desktop. + +dms features notifications, an app launcher, wallpaper customization, and is +fully customizable with plugins. + +It includes auto-theming for GTK/Qt apps with matugen, 20+ customizable widgets, +process monitoring, notification center, clipboard history, dock, control center, +lock screen, and comprehensive plugin system. + +%prep +%autosetup -C +%goprep + +%build +pushd core +export dms_buildtime=$(date -d "@${SOURCE_DATE_EPOCH}" +%%Y-%%m-%%d_%%H:%%M:%%S) +export GO_LDFLAGS="-X main.commit=fedora \ + -X main.Version=%{evr} \ + -X main.buildTime=${dms_buildtime}" +%global gomodulesmode GO111MODULE=on +mkdir -p %{_vpath_builddir}/bin +%gobuild -o %{_vpath_builddir}/bin/dms ./cmd/dms +popd + +# Install dms cli shell completions +%pkg_completion -Bfz dms + +%install +# Install dms +install -Dm644 assets/systemd/dms.service %{buildroot}%{_userunitdir}/dms.service + +install -Dm644 assets/dms-open.desktop %{buildroot}%{_datadir}/applications/dms-open.desktop +install -Dm644 assets/danklogo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/danklogo.svg + +mkdir -p %{buildroot}%{_datadir}/quickshell/dms +cp -a quickshell/* %{buildroot}%{_datadir}/quickshell/dms/ +echo "%{evr}" > %{buildroot}%{_datadir}/quickshell/dms/VERSION + +# Install dms cli +mkdir -p %{buildroot}%{_bindir} +install -pm0755 core/%{_vpath_builddir}/bin/dms %{buildroot}%{_bindir}/dms + +# Install dms cli shell completions +mkdir -p %{buildroot}%{bash_completions_dir} +mkdir -p %{buildroot}%{fish_completions_dir} +mkdir -p %{buildroot}%{zsh_completions_dir} +core/%{_vpath_builddir}/bin/dms completion bash > %{buildroot}%{bash_completions_dir}/dms +core/%{_vpath_builddir}/bin/dms completion fish > %{buildroot}%{fish_completions_dir}/dms.fish +core/%{_vpath_builddir}/bin/dms completion zsh > %{buildroot}%{zsh_completions_dir}/_dms + +%check +pushd core +%gotest ./... +popd + +%post +%systemd_user_post dms.service + +%preun +%systemd_user_preun dms.service + +%postun +%systemd_user_postun_with_restart dms.service + +%posttrans +# Signal running DMS instances to reload +pkill -USR1 -x dms || : + + +%files +%license LICENSE +%doc README.md +%{_bindir}/dms +%{_datadir}/quickshell/dms/ +%{_userunitdir}/dms.service +%{_datadir}/applications/dms-open.desktop +%{_datadir}/icons/hicolor/scalable/apps/danklogo.svg + +%changelog +* Sat Mar 28 2026 Its-J - 1.4.4-1 +- Port to Terra + +* Mon Feb 16 2026 Neal Gompa - 1.2.3-5 +- Backport fix for screensaver inhibit support +- Add dependencies to make various wallpaper format work +- Add dependency for printer management support + +* Mon Feb 16 2026 Neal Gompa - 1.2.3-4 +- Add missing khal dependency + +* Mon Feb 16 2026 Neal Gompa - 1.2.3-3 +- Add dependency for ppd-service +- Fix string for embedded package version + +* Sun Feb 15 2026 Neal Gompa - 1.2.3-2 +- Strengthen various dependencies + +* Sun Feb 15 2026 Neal Gompa - 1.2.3-1 +- Initial package diff --git a/anda/system/dank-material-shell/update.rhai b/anda/system/dank-material-shell/update.rhai new file mode 100644 index 0000000000..3fa83f2e6c --- /dev/null +++ b/anda/system/dank-material-shell/update.rhai @@ -0,0 +1 @@ +rpm.version(gh("AvengeMedia/DankMaterialShell"));