diff --git a/gui-apps/wayle/Manifest b/gui-apps/wayle/Manifest new file mode 100644 index 0000000000..4375cc0b68 --- /dev/null +++ b/gui-apps/wayle/Manifest @@ -0,0 +1,2 @@ +DIST wayle-0.6.0-crates.tar.xz 49164096 BLAKE2B ffc034b381148b80147ee6e1379de2f8be3c50849e08e81a9ba3e4ab79e5c1dca3b7505f1a3f0c7237b86e7aec2b8eee9770ec9dec6b258f7457f455518fb102 SHA512 63310eaa336af405d0bf6e558823badefa5e946b1da9c558abe81d446558dfff6b07a6c7ba9090b35b75c823e7486b54fc2e33ab14cb6c55a0e8ace34128d315 +DIST wayle-0.6.0.tar.gz 6011771 BLAKE2B 5aedc30c5bab5d3e8d6872aefe923b9880c8318111b0e729f85c07d16e643e0e7280fe2e25778c37af07ea060654c3e295575543b7681c5c03341c06568fabdf SHA512 0350dfbc523f25569a236fd77f9c5f4b17cd89cdf183c738fe55a23c87561f6bbb443238801ec3d1e2f55e731beb4a1ad7a868586fd1fdadbae26cf1bf98c5f7 diff --git a/gui-apps/wayle/metadata.xml b/gui-apps/wayle/metadata.xml new file mode 100644 index 0000000000..a2ea783f36 --- /dev/null +++ b/gui-apps/wayle/metadata.xml @@ -0,0 +1,15 @@ + + + + + Jonas Frei + freijon@pm.me + + + wayle-rs/wayle + https://github.com/wayle-rs/wayle/issues + + + Build the settings GUI + + diff --git a/gui-apps/wayle/wayle-0.6.0.ebuild b/gui-apps/wayle/wayle-0.6.0.ebuild new file mode 100644 index 0000000000..2c6e438de3 --- /dev/null +++ b/gui-apps/wayle/wayle-0.6.0.ebuild @@ -0,0 +1,82 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo desktop shell-completion systemd xdg + +RUST_MIN_VER="1.93.0" + +DESCRIPTION="A configurable desktop shell for Wayland compositors" +HOMEPAGE="https://wayle.app" +SRC_URI=" + https://github.com/wayle-rs/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/gentoo-crate-dist/${PN}/releases/download/v${PV}/${P}-crates.tar.xz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + CDLA-Permissive-2.0 GPL-3+ ISC MIT openssl Unicode-3.0 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+settings" + +BDEPEND="virtual/pkgconfig" +DEPEND=" + dev-db/sqlite:3= + gui-libs/gtk:4=[wayland] + gui-libs/gtk4-layer-shell + sci-libs/fftw + media-video/pipewire + media-libs/libpulse + virtual/libudev + settings? ( + gui-libs/gtksourceview:5 + media-libs/graphene + ) +" +RDEPEND="${DEPEND}" + +src_configure() { + # high magic to allow system-libs + export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 + + default +} + +src_install() { + cargo_src_install --path wayle + use settings && cargo_src_install --path crates/wayle-settings + + local WAYLE_BIN="$(cargo_target_dir)/${PN}" + + mkdir completions || die + for shell in bash fish zsh; do + ${WAYLE_BIN} completions ${shell} > "completions/${PN}.${shell}" || die + done + + newbashcomp "completions/${PN}.bash" "${PN}" + dofishcomp "completions/${PN}.fish" + newzshcomp "completions/${PN}.zsh" "_${PN}" + + # Install module icons + insinto /usr/share/icons/hicolor/scalable + doins -r resources/icons/hicolor/scalable/actions/ + + doicon -s scalable resources/wayle-settings.svg + domenu resources/com.wayle.settings.desktop + + systemd_douserunit resources/wayle.service + + local DOCS=( + README.md + ) + local HTML_DOCS=( + docs/ + ) + einstalldocs +}