commit:     78e377cf9dff8632741403a077eedce8405d84da
Author:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
AuthorDate: Wed Sep  3 15:05:12 2025 +0000
Commit:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
CommitDate: Wed Sep  3 15:05:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=78e377cf

gui-wm/niri: add 25.08

Signed-off-by: Takuya Wakazono <pastalian46 <AT> gmail.com>

 gui-wm/niri/Manifest          |   2 +
 gui-wm/niri/niri-25.08.ebuild | 119 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 121 insertions(+)

diff --git a/gui-wm/niri/Manifest b/gui-wm/niri/Manifest
index 92920b9dbb..86c8cdcf82 100644
--- a/gui-wm/niri/Manifest
+++ b/gui-wm/niri/Manifest
@@ -1,2 +1,4 @@
 DIST niri-25.05.1-vendored-dependencies.tar.xz 48884152 BLAKE2B 
210eff27af94a01d9058b98ae4a49fd730dabf1d571b7fc5c499522de52d84afaf2a52eabdc296f80bbcdaed15740839cbd1ae4d505f279e007b977135cfa1d1
 SHA512 
38a1448428c3bc16c238221b70a1df406b87acf72a513ad5f0babed2ac874ac11b88580e5c6a7f69a98354e20180e8a3c0f932ea35382a0254134d57578b199b
 DIST niri-25.05.1.tar.gz 716558 BLAKE2B 
012c44351e6fa0e8631b3c44243da119cd03eb41a5ab81c787961df9f3456acb73c3cbb3639d620d19d8111e954797965c2a1bf4b0b3657142e3a1ab77413d7d
 SHA512 
63f6f6e651d2a399259354f5a80fd8815c2be9c1c6b7d5038c03d89fac5966596d0da8b36d83fa7ea85b192e77e0ddfcf40ee9244a2c44cd55776a7a3f54de35
+DIST niri-25.08-vendored-dependencies.tar.xz 54415568 BLAKE2B 
906523cab0fd96ebb47c179efe93d34013ea8afc0b94603016cddfcb5fc4947610a26597c416e209aea48de3b13f8fafab821bcbeb9489135d2d5f7240a63085
 SHA512 
9d192525d5e07bffda2bfc8a0d9329055f2c3fa4ebe6b2897ec3fe9b9a74e1364120411534902eaf509e970c92d4791e676466bb9bdd0b93d7e5c5892ed11ce6
+DIST niri-25.08.tar.gz 810302 BLAKE2B 
39758d4ba4ff721d71a116cba0b8cdcd9e1f0a024257885879b5dc31bf439e91109133cc1650f3bd2376a6f8437fb07b4ee137b0b4d8ace98a1397c6b64d74ea
 SHA512 
d8a10bb726d2e79f695544130cc9f55b1ac0f76dd9a9fb1cafb16cd7934b29a4fecf88656a3bc46ab6140aef7d2c58ed87f3ba43dfe8882df50de997283f2292

diff --git a/gui-wm/niri/niri-25.08.ebuild b/gui-wm/niri/niri-25.08.ebuild
new file mode 100644
index 0000000000..8f32f7730c
--- /dev/null
+++ b/gui-wm/niri/niri-25.08.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {18..20} )
+RUST_MIN_VER="1.80.1"
+
+# used for version string
+export NIRI_BUILD_COMMIT="01be0e6"
+
+inherit cargo llvm-r2 optfeature systemd
+
+DESCRIPTION="Scrollable-tiling Wayland compositor"
+HOMEPAGE="https://github.com/YaLTeR/niri";
+SRC_URI="
+       https://github.com/YaLTeR/niri/archive/refs/tags/v${PV}.tar.gz -> 
${P}.tar.gz
+       
https://github.com/YaLTeR/niri/releases/download/v${PV}/${P}-vendored-dependencies.tar.xz
+"
+
+LICENSE="GPL-3+"
+# Dependent crate licenses
+LICENSE+="
+       Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0
+       Unicode-3.0 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+dbus screencast systemd"
+REQUIRED_USE="
+       screencast? ( dbus )
+       systemd? ( dbus )
+"
+
+DEPEND="
+       dev-libs/glib:2
+       dev-libs/libinput:=
+       dev-libs/wayland
+       <media-libs/libdisplay-info-0.3.0:=
+       media-libs/mesa
+       sys-auth/seatd:=
+       virtual/libudev:=
+       x11-libs/cairo
+       x11-libs/libxkbcommon
+       x11-libs/pango
+       x11-libs/pixman
+       screencast? ( media-video/pipewire:= )
+"
+RDEPEND="
+       ${DEPEND}
+       screencast? ( sys-apps/xdg-desktop-portal-gnome )
+"
+# libclang is required for bindgen
+BDEPEND="
+       screencast? ( $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') )
+"
+
+ECARGO_VENDOR="${WORKDIR}/vendor"
+
+QA_FLAGS_IGNORED="usr/bin/niri"
+
+pkg_setup() {
+       llvm-r2_pkg_setup
+       rust_pkg_setup
+}
+
+src_prepare() {
+       sed -i 's/git = "[^ ]*"/version = "*"/' Cargo.toml || die
+       # niri-session doesn't work on OpenRC
+       if ! use systemd; then
+               sed -i 's/niri-session/niri --session/' resources/niri.desktop 
|| die
+       fi
+       default
+}
+
+src_configure() {
+       local myfeatures=(
+               $(usev dbus)
+               $(usev screencast xdp-gnome-screencast)
+               $(usev systemd)
+       )
+       cargo_src_configure --no-default-features
+}
+
+src_install() {
+       cargo_src_install
+
+       dobin resources/niri-session
+       systemd_douserunit resources/niri{.service,-shutdown.target}
+
+       insinto /usr/share/wayland-sessions
+       doins resources/niri.desktop
+
+       insinto /usr/share/xdg-desktop-portal
+       doins resources/niri-portals.conf
+}
+
+src_test() {
+       # tests create a wayland socket in the xdg runtime dir
+       local -x XDG_RUNTIME_DIR="${T}/xdg"
+       mkdir "${XDG_RUNTIME_DIR}" || die
+       chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+       # bug 950626
+       # 
https://github.com/YaLTeR/niri/blob/main/wiki/Packaging-niri.md#running-tests
+       local -x RAYON_NUM_THREADS=2
+       local skip=(
+               # requires surfacesless EGL to be available
+               --skip=::egl
+       )
+       cargo_src_test -- --test-threads=2 "${skip[@]}"
+}
+
+pkg_postinst() {
+       optfeature "Default application launcher" "gui-apps/fuzzel"
+       optfeature "Default status bar" "gui-apps/waybar"
+       optfeature "Default terminal" "x11-terms/alacritty"
+       optfeature "Xwayland support" "gui-apps/xwayland-satellite"
+}

Reply via email to