File niri-git.spec of Package niri-git

Name:           niri-git
Version:        25.11+git2691.b07bde3e
Release:        2%{?dist}
Epoch:          1
Summary:        Scrollable-tiling Wayland compositor (nightly)

License:        GPL-3.0
URL:            https://github.com/YaLTeR/niri
Source0:        niri.tar.xz

BuildRequires:  cargo >= 1.80.1
BuildRequires:  rust >= 1.80.1
BuildRequires:  clang-devel
BuildRequires:  pkgconfig
BuildRequires:  wayland-devel
BuildRequires:  pkgconfig(cairo-gobject)
BuildRequires:  pkgconfig(dbus-1)
BuildRequires:  pkgconfig(egl)
BuildRequires:  pkgconfig(gbm)
BuildRequires:  pkgconfig(libdisplay-info)
BuildRequires:  pkgconfig(libinput)
BuildRequires:  pkgconfig(libseat)
BuildRequires:  pkgconfig(systemd)
BuildRequires:  pkgconfig(udev)
BuildRequires:  pkgconfig(xkbcommon)
BuildRequires:  pango-devel
BuildRequires:  pipewire-devel
BuildRequires:  libdisplay-info-devel

Recommends:     alacritty
Recommends:     fuzzel
Recommends:     xdg-desktop-portal-gtk
Recommends:     xdg-desktop-portal-gnome
Recommends:     gnome-keyring
Recommends:     xwayland-satellite-git

Conflicts:      niri
Provides:       niri

%description
niri is a scrollable-tiling Wayland compositor. It provides a unique
scrollable tiling layout that allows for infinite workspace scrolling.

This is the nightly/git version with the latest development features.
For stable releases, use the 'niri' package instead.

%prep
%setup -q -n niri -a 0

%build
for checksum in vendor/*/.cargo-checksum.json; do
    if [ -f "$checksum" ]; then
        pkg=$(cat "$checksum" | grep -o '"package":"[^"]*"' | cut -d'"' -f4)
        echo "{\"files\":{},\"package\":\"$pkg\"}" > "$checksum"
    fi
done

cargo build --offline --release --features default

for shell in bash fish zsh; do
    ./target/release/niri completions $shell > $shell-completions
done

%install
install -Dm755 target/release/niri %{buildroot}%{_bindir}/niri
install -Dm755 resources/niri-session %{buildroot}%{_bindir}/niri-session
install -Dm644 resources/niri.service %{buildroot}%{_userunitdir}/niri.service
install -Dm644 resources/niri-shutdown.target %{buildroot}%{_userunitdir}/niri-shutdown.target
install -Dm644 resources/niri.desktop %{buildroot}%{_datadir}/wayland-sessions/niri.desktop
install -Dm644 resources/niri-portals.conf %{buildroot}%{_datadir}/xdg-desktop-portal/niri-portals.conf
install -Dm644 resources/default-config.kdl %{buildroot}%{_docdir}/niri-git/default-config.kdl
install -Dm644 README.md %{buildroot}%{_docdir}/niri-git/README.md
install -Dm644 bash-completions %{buildroot}%{_datadir}/bash-completion/completions/niri
install -Dm644 fish-completions %{buildroot}%{_datadir}/fish/vendor_completions.d/niri.fish
install -Dm644 zsh-completions %{buildroot}%{_datadir}/zsh/site-functions/_niri

%files
%license LICENSE
%doc README.md
%{_bindir}/niri
%{_bindir}/niri-session
%{_userunitdir}/niri.service
%{_userunitdir}/niri-shutdown.target
%dir %{_datadir}/wayland-sessions
%{_datadir}/wayland-sessions/niri.desktop
%dir %{_datadir}/xdg-desktop-portal
%{_datadir}/xdg-desktop-portal/niri-portals.conf
%{_docdir}/niri-git/
%{_datadir}/bash-completion/completions/niri
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/niri.fish
%{_datadir}/zsh/site-functions/_niri

%changelog
* Tue Mar 17 2026 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2691.b07bde3e-2
- Rebuild #2
* Sun Dec 14 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2576.7c089857-1
- Git snapshot (commit 2576: 7c089857)
* Sat Dec 13 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2575.d1fc1ab7-1
- Git snapshot (commit 2575: d1fc1ab7)
* Fri Dec 12 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2571.c22d8358-1
- Git snapshot (commit 2571: c22d8358)
* Wed Dec 10 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2570.4d058e61-1
- Git snapshot (commit 2570: 4d058e61)
* Tue Dec 09 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2569.83a733e0-1
- Git snapshot (commit 2569: 83a733e0)
* Sat Dec 06 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2568.ba29735f-1
- Git snapshot (commit 2568: ba29735f)
* Tue Dec 02 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2566.f874b2fc-1
- Git snapshot (commit 2566: f874b2fc)
* Sun Nov 30 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2565.311ca6b5-1
- Git snapshot (commit 2565: 311ca6b5)
* Sat Nov 29 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.11+git2564.b35bcae3-1
- Git snapshot (commit 2564: b35bcae3)
* Fri Nov 28 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.08+git2561.0652342d-1
- Git snapshot (commit 2561: 0652342d)
* Thu Nov 27 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.08+git2560.e863f52f-1
- Git snapshot (commit 2560: e863f52f)
* Wed Nov 26 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.08+git2559.8370c539-1
- Git snapshot (commit 2559: 8370c539)
* Tue Nov 25 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.08+git2557.54c7fdcd-1
- Git snapshot (commit 2557: 54c7fdcd)
* Wed Nov 20 2025 Avenge Media <AvengeMedia.US@gmail.com> - 25.08+git-1
- Initial OBS package (nightly builds)
openSUSE Build Service is sponsored by