diff --git a/gui-wm/niri/Manifest b/gui-wm/niri/Manifest index f1fb7a8cdc..a0ca0c7ef3 100644 --- a/gui-wm/niri/Manifest +++ b/gui-wm/niri/Manifest @@ -2,3 +2,5 @@ DIST niri-0.1.10.1-vendored-dependencies.tar.xz 53928792 BLAKE2B 28eb1d090b12f8b DIST niri-0.1.10.1.tar.gz 429116 BLAKE2B 394cce3c11d19ef65d450a0e402e3c97affdff798340bb37aba90ea9b49c4cb5e7417873bd0e66bafb2ff035d71ddfca14fb91a86aa997dc23534bd1eff48035 SHA512 ba816350bad30debcb961d6c516c96a0a732621e78e08f7f04bbf3bee46cb463318a59acf532660288022a247cfcd636d59159b66fd01c1c702d58f8ddf44e6a DIST niri-0.1.9-vendored-dependencies.tar.xz 52231744 BLAKE2B c9b7a1a508f273a59219437c644bc954398277ddec772c53dc35556736244b5230ab1a0aa9e31f9b418215d634b05565e1c3331f882a6616e4036d29892a29d3 SHA512 88db732c9d2c81e4285ce0e67ef1c4778367e4ff1540b43d7922b85add199c6f2f29e03d1bc78d321f79684bd6fd0ca3b06533491a5b02cf4872e5dd661a93d2 DIST niri-0.1.9.tar.gz 409640 BLAKE2B 86caa9f2b9a468c5aef8041f902bbbd252200ab2fda4da5bf9d0997d61014b8f99336dd2b0579cf754d188ce51dfbcee0d83f413d8a10dba451c104a69f73ca0 SHA512 7436ad537b6f4e2d0b05731d94bf02594310526843083a175c061327958d7673d19ec601732969f9910c4e41b97be64a04d2a1eac3c7ec19c4d71a31fdad8d6c +DIST niri-25.01-vendored-dependencies.tar.xz 47572184 BLAKE2B d8675c7f98f43fe34ff0237b78ae772296015ff28509960b87aa828937bf541fbfeb23cadaf869bfe128fbeff8d16f362e8967a124b996cea2ed0a53036480cb SHA512 a498d667e65175190e5d60edcdb4b11defd34e76644b29f14f01dd31035ac2dc4dfa1962afa57e18d1a06c775c3e6302c3e5cbb6b1fdb3980b148c9912a1ee14 +DIST niri-25.01.tar.gz 572739 BLAKE2B b8d1b1919cc5568b38ffae225a815669dacf8fd5a9d3d6f4e3083f90e4a0ed811ffdf718166ca850655d679af428c7f4067a4973802ecdeb1e580351d2f796d9 SHA512 5c555f4410659a4301151a58938cc9880a9a244af138157c0be0fb38f0e82d20e6fccccad7e47ef515d3aaa0f7ddeef5088adad3f8d0be1a99a89f822c8b7a66 diff --git a/gui-wm/niri/niri-25.01.ebuild b/gui-wm/niri/niri-25.01.ebuild new file mode 100644 index 0000000000..6244d4f15f --- /dev/null +++ b/gui-wm/niri/niri-25.01.ebuild @@ -0,0 +1,104 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {16..19} ) +RUST_MIN_VER="1.80.0" + +# used for version string +export NIRI_BUILD_COMMIT="e05bc26" + +inherit cargo llvm-r2 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 Unicode-DFS-2016 +" +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:= + 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}" +# 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 + 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 + export XDG_RUNTIME_DIR="${T}/xdg" + mkdir "${XDG_RUNTIME_DIR}" || die + chmod 0700 "${XDG_RUNTIME_DIR}" || die + + # tests might fail when executed in parallel + # https://github.com/YaLTeR/niri/issues/953 + export RAYON_NUM_THREADS=1 + + cargo_src_test +}