SHA256
1
0
forked from pool/river

- Restrict wlroots requirement to >= 0.18.x. This

should fail if this was not met. But seems upstream has no
  code to detect wlroots version. Allow this failure for now
  until 0.18.0 is merged to Factory.

OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/river?expand=0&rev=65
This commit is contained in:
Soc Virnyl Estela 2024-07-22 02:24:32 +00:00 committed by Git OBS Bridge
commit f491b7d697
13 changed files with 755 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,24 @@
# VENDOR
1. Extract source tarball
2. Read the PACKAGING.md file in the extracted source
OR this hack
```
zig fetch . --global-cache-dir vendor/
cd vendor
rm -rfv z
```
Then create vendored tarball from vendor e.g. zstd compressed tarball
# BUILD
Do note the change of the build in the specfile itself
```
%zig_build -Dxwayland --global-cache-dir vendor/
```
It's much like Rust or Go now

3
river-0.3.3.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:13c26b010968d949aca0ab537cfb0582cbb8e15e5f5c589208a0d4ea57ceb1c5
size 172148

BIN
river-0.3.3.tar.gz.sig Normal file

Binary file not shown.

3
river-0.3.4.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aae765ec46cd2f286527cdf09123d701136f57c88f70cb49739b9703184723e5
size 174912

BIN
river-0.3.4.tar.gz.sig Normal file

Binary file not shown.

2
river-portals.conf Normal file
View File

@ -0,0 +1,2 @@
[preferred]
default=wlr;gtk

16
river-run.sh Normal file
View File

@ -0,0 +1,16 @@
#!/bin/sh
export MOZ_ENABLE_WAYLAND=1
# Let the windows decide to use Wayland
# export QT_QPA_PLATFORM=wayland
export CLUTTER_BACKEND=wayland
export ECORE_EVAS_ENGINE=wayland
export ELM_ENGINE=wayland
export SDL_VIDEODRIVER=wayland
export _JAVA_AWT_WM_NONREPARENTING=1
export NO_AT_BRIDGE=1
export XDG_SESSION_TYPE=wayland
export XDG_SESSION_DESKTOP=river
export XDG_CURRENT_DESKTOP=river
systemd-cat --identifier=river /usr/bin/river -log-level debug $@

401
river.changes Normal file
View File

@ -0,0 +1,401 @@
-------------------------------------------------------------------
Mon Jul 22 02:21:36 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
- Restrict wlroots requirement to >= 0.18.x. This
should fail if this was not met. But seems upstream has no
code to detect wlroots version. Allow this failure for now
until 0.18.0 is merged to Factory.
-------------------------------------------------------------------
Wed Jul 10 17:02:36 UTC 2024 - Joshua Smith <smolsheep@opensuse.org>
- Enable tests
- Move %prep down and add sed to fix env-script-interpreter badness
- Change README-suse-maintenance.md to use zig fetch
- Update to version 0.3.4:
* docs: mention zig build -h in readme
* docs: tweak repology link wording in readme
* input: apply map-to-output on output activation
* layer-shell: fix on_demand keyboard focus
* Output: fix Wayland backend support
* Output: flag gamma as dirty on enable
* PointerConstraint: fix assertion failure
* SceneNodeData: fix fromSurface() use after free
* XdgPopup: send configure after initial commit
* Xwayland: fix unsound cast
-------------------------------------------------------------------
Sat Jun 15 12:13:44 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
- Update to version 0.3.3:
* build: update to Zig 0.13.0
-------------------------------------------------------------------
Tue May 21 15:04:57 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0.3.2:
* build: update to Zig 0.12
* build: add -Dno-llvm build option
* build: switch to the Zig package manager
- Add ./README-suse-maintenance.md
- Add ./vendor.tar.zst. Zig uses a package manager now.
- Only do LLVM builds for aarch64
- Changes since 0.3.1:
* input: prevent duplicate input configs
* input: fix scroll-factor resetting if unspecified
* input: change ScrollFactor and MapToOutput to align with other options
* XdgToplevel: don't update geometry if configure inflight
* XdgToplevel: update clip on geometry x/y change
* Cursor: don't hide while pointer constraint active
* Keyboard: fix redundant leave/enter on creation
* Server: fix filtering of newly created globals
* InputPopup: fix naming
* TextInput: ignore enable requests without focus
* InputPopup: fix minor issues, simplify code
* PointerConstraint: remove overly tight assert
* PointerConstraint: remove overly tight assert 2
* bulid: bump version to 0.3.1
* input-method-v2: Implement popups
* command/swap: fix cursor warp on focus change
-------------------------------------------------------------------
Tue Apr 16 16:56:50 UTC 2024 - Joshua Smith <smolsheep@opensuse.org>
- Update to version 0.3.0:
New changes:
* Better rendering performance due to the new wlroots rendering
API and gles2 renderer improvements.
* Finely-grained damage tracking leveraging the wlroots scene
graph API.
* Interactive resize of windows with the cursor from all
edges/corners.
* Basic tablet input support
* Only the tablet-v2 protocol is is supported, no pointer
emulation is done.
* Drawing with a tablet tool works in inkscape, libreoffice, etc.
* Rules system to apply settings to windows with a matching
app-id/title. See rule-add in the riverctl(1) man page.
* New -current-tags flag for send-to-output
* New -no-xwayland flag for starting river with xwayland disabled
even if built with support.
* New above, below and after <N> attach modes plus the ability to
configure attach mode per output with the new
output-attach-mode riverctl command.
* New -skip-floating flag for focus-view
* New scroll-factor input configuration option
* input-method-v2 and text-input-v3 protocols are supported, with
the exception of input-method popups.
* presentation-time protocol is supported.
* fractional-scale-v1 protocol is supported.
* cursor-shape-v1 protocol is supported.
* xdg-shell protocol version 5 is supported, up from version 2.
Breaking changes:
* River now honors the client-side vs server-side decoration
wishes of clients by default instead of attempting to force
server-side decorations everywhere. To approximate the old
behavior the command riverctl rule-add ssd may be used.
* The float-filter-add and csd-filter-add riverctl commands have
been removed, use rule-add instead and see the riverctl(1) man
page for documentation.
* The attach-mode riverctl command is deprecated and currently
aliased to the new default-attach-mode command. The alias may
be removed in the future.
* Rendering order has changed slightly and and is now based off
of focus order instead of window management stack order.
* Pointer constraints have been reimplemented and the new
implementation does less automatic warping of the cursor.
Packaging changes:
* wlroots 0.17.2 is required.
* The official upstream river repository has moved to codeberg
-------------------------------------------------------------------
Thu Jan 4 15:44:48 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Fix supplements in contrib package in the specfile.
-------------------------------------------------------------------
Sat Dec 16 12:05:17 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Set minimum wlroots version to 0.16.0. Add build conflicts if it is 0.17.0
-------------------------------------------------------------------
Sat Nov 25 13:35:32 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0.2.6:
* InputDevice: fix identifier generation
-------------------------------------------------------------------
Fri Nov 24 14:25:45 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update sources
* Add river.keyring
* Add river-0.2.5.tar.gz properly
* Add river-0.2.5.tar.gz.sig
-------------------------------------------------------------------
Fri Nov 24 13:58:47 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0.2.5:
* No changes. Just a new tagged release
-------------------------------------------------------------------
Sat Nov 18 13:58:37 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0.2.4+985:
* session-lock: fix pointer focus handling on map
-------------------------------------------------------------------
Fri Nov 17 10:05:35 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0.2.4+984:
* Cursor: fix high polling rate resize regression
* Cursor: clamp cursor movement to resize bounds
* View: handle map while no outputs are available
* keyboard: add the ability to load layout from file
* river: remove dead code
* xdg-toplevel: ignore redundant move/resize requests
* rules: rename "tag" action to "tags"
* river: add fullscreen rule
* river: add position and dimensions rules
-------------------------------------------------------------------
Tue Nov 7 02:16:42 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0.2.4+g976:
* pointer-constraints: fix assertion failure
* XdgToplevel: tweak fullscreen state policy
* Cursor: use inflight_mode as needed in updateState()
* riverctl(1): add a section on terminology
* rivertile: eliminate an @intCast()
* DragIcon: set position on creation
-------------------------------------------------------------------
Sat Oct 21 04:57:12 UTC 2023 - socvirnyl.estela@gmail.com
- Update to version 0.2.4+g970:
* completions/zsh: Fix incomplete input names
* completions: Rewrite zsh
* Cursor: use total delta for resize calculation
* riverctl: rule-{add,del}: reorder parameters
* View: clean up after Zig update
* build: update to Zig 0.11.0
* Cursor: keep focus_follows_cursor_target updated
* Root: fix inflight_layout_demands counting
* Root: migrate {all,active}_outputs to wl.list
* Root: make 'fallback output empty' assertion stricter
* Root: rename field outputs to active_outputs
* river: update some comments
* river: fix spatial direction focusing / swapping
* river: focus-view and swap by spatial direction
* river: fix crash when trying to add tag rule without tag argument
* river: add tags rule
* river: change order of colums in list-rules command
* river: allow settings child type of RuleList
* river-layout: Remove incorrect assertion
-------------------------------------------------------------------
Thu Oct 5 08:45:27 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Remove dbus-run-session in the script. Portals can still work without it.
-------------------------------------------------------------------
Thu Oct 5 01:47:08 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Edit river-portals.conf
* default to wlr -> fallback to gtk
- Always use dbus-run-session now since this is required to start portals
-------------------------------------------------------------------
Mon Sep 25 03:10:09 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- XDP 0.18.0 requires desktop and other environments to have their own portals.conf
by adding river-portals.conf, we will avoid some of the problems for portals for
* File picker -> We default to xdp-gtk since xdp-wlr does not have it.
* For screenshots/screenshare, we use the wlr supplied interfaces
For more information, see https://github.com/flatpak/xdg-desktop-portal/issues/1077
and the release statement for 0.18.0
This is a workaround for boo#1215641
-------------------------------------------------------------------
Sun Sep 17 10:17:30 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Update to version 0.2.4+g960:
* wlr-output-management: apply adaptive sync state
* ci: Use meson setup command
* View: fix pointer comparison in notifyTitle()
* rivertile: fix code to disallow 0 main count
* session-lock: wait for present before locking
* session-lock: fix assertion failure due to race
* session-lock: fix assertion failure on abnormal client behavior
* render: fix rounding for fractional scaling
* deps: update to Zig 0.10
* flags: further cleanup after Zig 0.10
* deps: update zig-wayland to fix build on aarch64
* Seat: rework Xwayland Override Redirect focus
* command/layout: fix a memory leak
* session-lock: properly handle disabled outputs
* idle-inhibit: fix use-after-free
* wlr-output-management: leverage new wlroots APIs
* session-lock: fix assertion failure on hot-plug while locked
* wlr-output-management: fix bug due to zig miscompilation
* docs: fix typos in riverctl man page
* docs: remove repology badge from readme
* Seat: guard setFocusRaw() usage while locked
* deps: update to latest zig-wayland/zig-wlroots
* deps: update to latest zig-wayland/zig-wlroots
* Keyboard: fix keyboard-layout mapping crash
* pointer-constraints: remove protocol
* render: remove damage tracking
* wlr-foreign-toplevel-management: remove protocol
* render: use wlr_scene to render views
* Cursor: remove surfaceAt()
* session-lock: use the scene graph
-------------------------------------------------------------------
Wed Aug 16 13:43:16 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Add subpackage river-contrib.
-------------------------------------------------------------------
Sun Aug 13 13:26:50 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Replace obsoleted `disabled` option with `manual`
-------------------------------------------------------------------
Sat Jun 10 01:44:52 UTC 2023 - socvirnyl.estela@gmail.com
- Update to version 0.2.4+g953:
* riverctl: Add error messages for failed connections
* XdgToplevel: store scene node in wlr_surface data
* XdgToplevel: keep wlroots updated on view sizes
-------------------------------------------------------------------
Sun Apr 16 09:25:44 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Change requirement of xdg-desktop-portal-wlr as a suggestion. This is
for if an alternative exists e.g. xdg-desktop-portal-hyprland
-------------------------------------------------------------------
Thu Apr 6 12:44:13 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Fix installation of manpages.
-------------------------------------------------------------------
Mon Mar 27 14:14:50 UTC 2023 - socvirnyl.estela@gmail.com
- Update to version 0.2.4+g109:
* command/send-to-output: add -current-tags flag
* Server: remove debug leftover
* session-lock: fix assertion failures and clean up
* LayerSurface: fix surfaces on multiple outputs at once
* LayerSurface: handle focus when switching outputs
* build: work around zig 0.10.0 bug to fix CI
* Cursor: apply x/y change during resize on commit
* Cursor: lock to current geometry during move/resize
* XdgToplevel: ensure view dimensions match geometry
-------------------------------------------------------------------
Sat Mar 18 13:32:14 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Update to version 0.2.4+g106:
* LayerSurface: fix surfaces on multiple outputs at once
* LayerSurface: handle focus when switching outputs
* Cursor: apply x/y change during resize on commit
-------------------------------------------------------------------
Wed Mar 15 01:13:12 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Update to version 0.2.4+g32:
* Cursor: fix warp on output change with no views
* Root: separate fallback list to handle 0 outputs
* Root: remove incorrect assertions in addOutput()
* Output: reinitialize output_status, cleanup
-------------------------------------------------------------------
Sun Mar 05 04:40:56 UTC 2023 - socvirnyl.estela@gmail.com
- Update to version 0.2.4+g30:
* Keyboard: fix keyboard-layout mapping crash
* deps: update to latest zig-wayland/zig-wlroots
* deps: update to latest zig-wayland/zig-wlroots
* Seat: guard setFocusRaw() usage while locked
* docs: remove repology badge from readme
* docs: fix typos in riverctl man page
* wlr-output-management: fix bug due to zig miscompilation
* session-lock: fix assertion failure on hot-plug while locked
* wlr-output-management: leverage new wlroots APIs
* wlr-output-management: apply adaptive sync state
* idle-inhibit: fix use-after-free
* session-lock: properly handle disabled outputs
* View: fix pointer comparison in notifyTitle()
* Cursor: fix incorrect lock manager state assertion
* command/layout: fix a memory leak
* Seat: rework Xwayland Override Redirect focus
* Seat: keep parent Xwayland view of a focused OR surface activated
* deps: update zig-wayland to fix build on aarch64
* flags: further cleanup after Zig 0.10
* deps: update to Zig 0.10
* render: fix rounding for fractional scaling
* session-lock: fix assertion failure on abnormal client behavior
* session-lock: fix assertion failure due to race
* session-lock: wait for present before locking
* rivertile: fix code to disallow 0 main count
* render: premultiply alpha for user-provided colors
* completions: add keyboard-layout
* ci: Use meson setup command
* river: fix bug in snap down / right
* build: bump version to 0.3.0-dev
-------------------------------------------------------------------
Sun Feb 12 20:49:58 UTC 2023 - socvirnyl.estela@gmail.com
- Update to version 0.2.4:
* build: bump version to 0.2.4
* Seat: guard setFocusRaw() usage while locked
* docs: remove repology badge from readme
* docs: fix typos in riverctl man page
* session-lock: fix assertion failure on hot-plug while locked
* wlr-output-management: apply adaptive sync state
* build: bump version to 0.2.4-dev
* build: bump version to 0.2.3
* idle-inhibit: fix use-after-free
* session-lock: properly handle disabled outputs
* View: fix pointer comparison in notifyTitle()
* Cursor: fix incorrect lock manager state assertion
* command/layout: fix a memory leak
* Seat: rework Xwayland Override Redirect focus
* Seat: keep parent Xwayland view of a focused OR surface activated
* deps: update zig-wayland to fix build on aarch64
* build: bump version to 0.2.3-dev
* build: bump version to 0.2.2
* flags: further cleanup after Zig 0.10
* deps: update to Zig 0.10
* build: bump version to 0.2.2-dev
* build: bump version to 0.2.1
* render: fix rounding for fractional scaling
* session-lock: fix assertion failure on abnormal client behavior
* session-lock: fix assertion failure due to race
* session-lock: wait for present before locking
* rivertile: fix code to disallow 0 main count
* render: premultiply alpha for user-provided colors
* completions: add keyboard-layout
* ci: Use meson setup command
* river: fix bug in snap down / right
* build: bump version to 0.2.1-dev
-------------------------------------------------------------------
Wed Feb 8 08:34:01 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Fix group name of river-devel as "Development/Libraries/Other"
-------------------------------------------------------------------
Thu Feb 2 11:30:54 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Only exclusive arches are supported.
-------------------------------------------------------------------
Tue Jan 31 12:01:45 UTC 2023 - Soc Virnyl Estela <socvirnyl.estela@gmail.com>
- Initial spec for river version 0.2.0+g24

50
river.keyring Normal file
View File

@ -0,0 +1,50 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=wZyR
-----END PGP PUBLIC KEY BLOCK-----

229
river.spec Normal file
View File

@ -0,0 +1,229 @@
#
# spec file for package river
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: river
Version: 0.3.4
Release: 0
Summary: A dynamic tiling Wayland compositor
License: GPL-3.0-only
URL: https://codeberg.org/river/river
Source0: https://codeberg.org/river/river/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: https://codeberg.org/river/river/releases/download/v%{version}/%{name}-%{version}.tar.gz.sig
Source2: vendor.tar.zst
Source3: river-run.sh
Source4: river-portals.conf
Source5: https://isaacfreund.com/public_key.txt#/%{name}.keyring
Source6: README-suse-maintenance.md
BuildRequires: libevdev-devel
BuildRequires: libpixman-1-0-devel
BuildRequires: pkgconfig
BuildRequires: scdoc >= 1.9.2
BuildRequires: zig
BuildRequires: zig-rpm-macros
BuildRequires: zstd
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(dbus-1) >= 1.10
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(json-c) >= 0.12.1
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(libinput) >= 1.6.0
BuildRequires: pkgconfig(libpcre)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-protocols) >= 1.24
BuildRequires: pkgconfig(wayland-server) >= 1.20.0
BuildConflicts: pkgconfig(wlroots) < 0.18.0
BuildRequires: pkgconfig(wlroots) >= 0.18.0
BuildRequires: pkgconfig(xkbcommon)
Recommends: xorg-x11-server-wayland
# To make Qt apps work somewhat okay on Wayland and auto use it
# Otherwise, it will try to run under XWayland
Recommends: libqt5-qtwayland
Recommends: libqt5-qtwayland-32bit
Requires: river-riverctl
Requires: river-rivertile
Recommends: river-contrib
# For file picker and other stuff and for the sway-portal.conf
Recommends: xdg-desktop-portal-gtk
# Users may want to use XDP-hyprland
# Only suggest XDP-wlroots since river-portals.conf requires it
Suggests: xdg-desktop-portal-wlr
ExclusiveArch: x86_64 aarch64 riscv64 %{mips64}
%description
River is a dynamic tiling Wayland compositor with flexible runtime configuration.
%package riverctl
Summary: Command-line interface for controlling river
Group: System/GUI/Other
Requires: %{name}
%description riverctl
A command-line utility used to control and configure river over the Wayland protocol.
%package rivertile
Summary: Tiled layout generator for river
Group: System/GUI/Other
Requires: %{name}
%description rivertile
A layout generator for river. It provides a simple tiled layout with split main/secondary stacks.
The initial state may be configured with various options passed on startup. Some values may additionally be modified while rivertile is running with the help of riverctl.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/Other
Requires: %{name}
BuildArch: noarch
%description devel
Modules for interacting or modifying the River Wayland compositor.
%package fish-completion
Summary: Fish Completion for %{name}
Group: System/Shells
Supplements: (%{name} and fish)
Requires: fish
BuildArch: noarch
%description fish-completion
Fish command-line completion support for %{name}.
%package zsh-completion
Summary: Zsh Completion for %{name}
Group: System/Shells
Supplements: (%{name} and zsh)
Requires: zsh
BuildArch: noarch
%description zsh-completion
Zsh command-line completion support for %{name}.
%package bash-completion
Summary: Bash Completion for %{name}
Group: System/Shells
Supplements: (%{name} and bash-completion)
Requires: bash-completion
BuildArch: noarch
%description bash-completion
Bash command-line completion support for %{name}.
%package contrib
Summary: Helper files for making river easy to use
Supplements: (%{name} and river-contrib)
Requires: river
BuildArch: noarch
%description contrib
This package contains files that make river easier to use such as
listing it to a Display Manager such as GDM with a desktop file or
setting up sane environmental variables before running river in
`river.sh`. These files are not part of the river project.
%prep
%autosetup -n %{name}-%{version} -a2
# env-script-interpreter fix
sed -i 's|/bin/env |/bin/|' contrib/*
%build
%ifarch aarch64
%zig_build -Dpie -Dxwayland --global-cache-dir vendor/
%else
%zig_build -Dno-llvm -Dpie -Dxwayland --global-cache-dir vendor/
%endif
%check
%ifarch aarch64
%zig_test -Dpie -Dxwayland --global-cache-dir vendor/
%else
%zig_test -Dno-llvm -Dpie -Dxwayland --global-cache-dir vendor/
%endif
%install
mkdir -p %{buildroot}%{_datadir}/wayland-sessions
mkdir -p %{buildroot}%{_datadir}/river
%ifarch aarch64
%zig_install -Dpie -Dxwayland --global-cache-dir vendor/
%else
%zig_install -Dno-llvm -Dpie -Dxwayland --global-cache-dir vendor/
%endif
# Installing the desktop file for easy login manager access
sed -i 's|Exec=river|Exec=river-run.sh|' contrib/river.desktop
install -Dpm 0644 contrib/river.desktop %{buildroot}%{_datadir}/wayland-sessions
cp -rv contrib %{buildroot}%{_datadir}/river/contrib
cp -v %{SOURCE2} %{buildroot}%{_datadir}/river/contrib/
# Install convenient script to run river
install -Dpm 0755 %{SOURCE3} %{buildroot}%{_bindir}
# XDP >= 0.18.0 requires a portal for the environment and onwards
install -Dpm 0644 -t %{buildroot}%{_datadir}/xdg-desktop-portal/ %{SOURCE4}
%files
%license LICENSE
%doc README.md CONTRIBUTING.md example PACKAGING.md
%{_bindir}/river
%{_bindir}/river-run.sh
%dir %{_datadir}/wayland-sessions
%{_datadir}/wayland-sessions/river.desktop
%{_mandir}/man1/river.1%{?ext_man}
%dir %{_datadir}/xdg-desktop-portal
%{_datadir}/xdg-desktop-portal/%{name}-portals.conf
%files riverctl
%{_bindir}/riverctl
%{_mandir}/man1/riverctl.1%{?ext_man}
%files rivertile
%{_bindir}/rivertile
%{_mandir}/man1/rivertile.1%{?ext_man}
%files devel
%{_datadir}/pkgconfig/river-protocols.pc
%dir %{_datadir}/river-protocols
%{_datadir}/river-protocols/river-layout-v3.xml
%files bash-completion
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/riverctl
%files fish-completion
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/riverctl.fish
%files zsh-completion
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_riverctl
%files contrib
%dir %{_datadir}/river
%dir %{_datadir}/river/contrib
%{_datadir}/river/contrib/*
%changelog

3
vendor.tar.zst Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af2556b4cc3bef946a03c88bb59f3ab29a48df2f8ffe963d34b141abd3c85de9
size 130214