Files
guru/gui-apps/dankmaterialshell/dankmaterialshell-9999.ebuild
T
2026-08-06 08:32:08 +02:00

114 lines
2.8 KiB
Bash

# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop optfeature shell-completion systemd xdg-utils go-module
DESCRIPTION="Desktop shell for wayland compositors built with Quickshell"
HOMEPAGE="https://github.com/AvengeMedia/DankMaterialShell"
inherit git-r3
EGIT_REPO_URI="https://github.com/AvengeMedia/DankMaterialShell.git"
LICENSE="MIT"
SLOT="0"
IUSE="cups"
DEPEND="
app-misc/jq
dev-cpp/cli11
dev-cpp/cpptrace[unwind]
dev-qt/qtbase:6[dbus,wayland,opengl,vulkan,widgets]
dev-qt/qtdeclarative:6[opengl,vulkan]
dev-qt/qtmultimedia:6[dbus,opengl,vulkan,wayland]
dev-qt/qtshadertools:6
dev-qt/qtwayland:6
gui-apps/quickshell
sys-apps/accountsservice
sys-apps/xdg-desktop-portal-gtk[wayland]
sys-power/upower
kde-frameworks/kimageformats
cups? ( net-print/cups-pk-helper )
"
RDEPEND="${DEPEND}"
BDEPEND="
dev-build/cmake
>=dev-lang/go-1.26.4
dev-util/pkgconf
"
# set variables
QML_DIR="${S}"/quickshell # qml assets location
CLI_DIR="${S}"/core
src_unpack() {
git-r3_src_unpack
cd "${CLI_DIR}"
ego mod vendor
rm "${QML_DIR}"/DankCommon
cp -r "${S}"/dank-qml-common/DankCommon "${QML_DIR}"/DankCommon
}
src_prepare() {
default
cd "${CLI_DIR}"
eapply "${FILESDIR}"/"${PN}-1.5.3-no-strip.patch"
}
src_configure() {
cd "${CLI_DIR}"
default
}
src_compile() {
cd "${CLI_DIR}"
# build dms distro binary
emake VERSION="${PV}" DIST_OSES="linux" dist
# generate shell completions
"${CLI_DIR}"/bin/dms-linux-"${ARCH}" completion bash > "${CLI_DIR}"/dms-bashcomp
"${CLI_DIR}"/bin/dms-linux-"${ARCH}" completion zsh > "${CLI_DIR}"/dms-zshcomp
}
src_install() {
# install dms binary
newbin "${CLI_DIR}"/bin/dms-linux-"${ARCH}" dms
# install qml sources at /usr/share/quickshell/dms
insinto /usr/share/quickshell/dms
doins -r "${QML_DIR}/."
# install shell completions
newbashcomp "${CLI_DIR}"/dms-bashcomp dms
newzshcomp "${CLI_DIR}"/dms-zshcomp _dms
# systemd unit
systemd_douserunit "${S}"/assets/systemd/dms.service
# desktop entry and icon
domenu "${S}"/assets/dms-open.desktop
doicon -s scalable "${S}"/assets/danklogo.svg
}
pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
optfeature_header "Optional programs for extra features:"
optfeature "Audio visualizer" media-sound/cava
optfeature "I2C monitor brightness control" app-misc/ddcutil
optfeature "Power profile options" sys-power/power-profiles-daemon
optfeature "Volume & Speaker control" media-video/wireplumber
optfeature "Bluetooth & file transfer" net-wireless/bluez
optfeature "Calendar integration" app-misc/khal
optfeature "Fingerprint unlock notifier" sys-auth/fprintfd
optfeature "Wallpaper based colorscheme" x11-misc/matugen
optfeature "Wifi & Ethernet connection" net-misc/networkmanager
}
pkg_postrm() {
xdg_desktop_database_update
xdg_icon_cache_update
}