Bug 2439344 - Review Request: DankMaterialShell - Desktop shell for Wayland compositors built on QuickShell
Summary: Review Request: DankMaterialShell - Desktop shell for Wayland compositors bui...
Keywords:
Status: RELEASE_PENDING
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mikel Olasagasti Uranga
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2439345 2439346 2439347 2439355
Blocks: 2436477
TreeView+ depends on / blocked
 
Reported: 2026-02-12 15:34 UTC by Neal Gompa
Modified: 2026-02-15 15:19 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
mikel: fedora-review+


Attachments (Terms of Use)

Description Neal Gompa 2026-02-12 15:34:19 UTC
Spec URL: https://download.copr.fedorainfracloud.org/results/ngompa/DankMiracleDev/fedora-rawhide-x86_64/10125116-DankMaterialShell/DankMaterialShell.spec
SRPM URL: https://download.copr.fedorainfracloud.org/results/ngompa/DankMiracleDev/fedora-rawhide-x86_64/10125116-DankMaterialShell/DankMaterialShell-1.2.3-1.fc45.src.rpm

Description:
DankMaterialShell is a complete desktop shell for Wayland compositors.
It replaces a variety of tools used to stitch together to make a desktop.

It 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.


Fedora Account System Username: ngompa

Comment 2 Mikel Olasagasti Uranga 2026-02-13 16:12:10 UTC
Spec is mostly correct, but there are some minor changes I would like to propose to improve it or make it more similar to go2rpm template.

- Order alphabetically:

> Requires:       accountsservice
> # This is built on QuickShell
> Requires:       quickshell
> 
> Requires:       hicolor-icon-theme


- Order alphabetically:

> Recommends:     cava
> Recommends:     cliphist
> Recommends:     danksearch
> Recommends:     dgop
> Recommends:     matugen
> Recommends:     wl-clipboard
> Recommends:     NetworkManager
> Recommends:     qt6-qtmultimedia
> Recommends:     qt6ct

- Why use _vpath_builddir?

> mkdir -p %{_vpath_builddir}/bin
> %gobuild -o %{_vpath_builddir}/bin/dms ./cmd/dms

%gobuild -o %{gobuilddir}/bin/dms ./cmd/dms

- Install using default template:

> # Install dms cli
> mkdir -p %{buildroot}%{_bindir}
> install -pm0755 core/%{_vpath_builddir}/bin/dms %{buildroot}%{_bindir}/dms


install -m 0755 -vd                     %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/



> mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
> mkdir -p %{buildroot}%{_datadir}/zsh/site-functions
> mkdir -p %{buildroot}%{_datadir}/fish/vendor_completions.d
> core/%{_vpath_builddir}/bin/dms completion bash > %{buildroot}%{_datadir}/bash-completion/completions/dms
> core/%{_vpath_builddir}/bin/dms completion zsh > %{buildroot}%{_datadir}/zsh/site-functions/_dms
> core/%{_vpath_builddir}/bin/dms completion fish > %{buildroot}%{_datadir}/fish/vendor_completions.d/dms.fish

You can simplify with:

%{gobuilddir}/bin/%{name} completion bash > %{name}.bash
%{gobuilddir}/bin/%{name} completion fish > %{name}.fish
%{gobuilddir}/bin/%{name} completion zsh  > %{name}.zsh
install -Dpm 0644 %{name}.bash %{buildroot}%{bash_completions_dir}/%{name}
install -Dpm 0644 %{name}.fish %{buildroot}%{fish_completions_dir}/%{name}.fish
install -Dpm 0644 %{name}.zsh  %{buildroot}%{zsh_completions_dir}/_%{name}

And this part:

> %{_datadir}/bash-completion/completions/dms
> %{_datadir}/zsh/site-functions/_dms
> %{_datadir}/fish/vendor_completions.d/dms.fish

With:

%{bash_completions_dir}/dms
%{fish_completions_dir}/dms.fish
%{zsh_completions_dir}/_dms

Comment 3 Neal Gompa 2026-02-13 17:45:03 UTC
(In reply to Mikel Olasagasti Uranga from comment #2)
> 
> - Why use _vpath_builddir?
> 

The %gobuilddir macro doesn't appear to be defined, so I swapped it.

Comment 5 Mikel Olasagasti Uranga 2026-02-15 15:16:56 UTC
Golang Package Review
==============

This package was generated using go2rpm and Go Vendor Tools, which simplifies
the review.

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


- [x] The latest version is packaged or packaging an earlier version is justified.
- [x] The License tag reflects the package contents and uses the correct identifiers.
- [x] The package builds successfully in mock.
- [x] Package is installable (checked by fedora-review).
- [x] There are no relevant rpmlint errors.
- [x] The package runs tests in %check.
- [x] `%goipath` is set correctly.
- [x] The package's binaries don't conflict with binaries already in the distribution. (Some Go projects include utility binaries with very generic names)
- [x] There are no `%{_bindir}/*` wildcards in %files. (go2rpm includes these by default)
- [x] The package does not use `%gometa -f` if it has dependents that still build for %ix86.
- [x] The package complies with the Golang and general Packaging Guidelines.
- [x] GO_LDFLAGS are set correctly.

Package approved! On import, don't forget to do the following:

- [ ] Add the package to release-monitoring.org
- [ ] Give go-sig privileges (at least commit) on the package
- [ ] Close the review bug by referencing its ID in the rpm changelog and the Bodhi ticket.
- [ ] Consider configuring Packit service to help with maintenance

Comment 6 Fedora Admin user for bugzilla script actions 2026-02-15 15:19:04 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/DankMaterialShell


Note You need to log in before you can comment on or make changes to this bug.