Subject: [PATCH] gnu: Add rivercarro layout generator for river wayland compositor

From: Alec Barreto <[email-masked]>
Date: Thu, 2 Nov 2023 06:15:26 +0000

Change-Id: Id9d1d808fae3ac6e0469cbe294a9a3652ce19101
---
 gnu/packages/zig-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/zig-xyz.scm b/gnu/packages/zig-xyz.scm
index 200b5c9940..540c96860b 100644
--- a/gnu/packages/zig-xyz.scm
+++ b/gnu/packages/zig-xyz.scm
@@ -70,6 +70,31 @@ (define-public river
 directly from a tty using KMS/DRM.")
     (license license:gpl3)))
 
+(define-public rivercarro
+  (package
+    (name "rivercarro")
+    (version "0.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+	     (url "https://git.sr.ht/~novakane/rivercarro")
+	     (commit (string-append "v" version))
+	     (recursive? #t)))
+       (file-name (git-file-name name version))
+       (sha256
+	(base32 "1a852hkakha3f5djnd8jrmkcq0xcdxbcbidr2kkfbqrhni9p33cl"))))
+    (build-system zig-build-system)
+    (arguments
+     `(#:tests? #f
+       #:phases (modify-phases %standard-phases (delete 'validate-runpath))))
+    (native-inputs (list pkg-config wayland wayland-protocols))
+    (home-page "https://git.sr.ht/~novakane/rivercarro")
+    (synopsis "A slightly modified version of rivertile layout generator for river")
+    (description
+     "A modified version of rivertile which adds: monocle layout, gaps rather than padding, gap size modification at run time, and smart gaps.")
+    (license license:gpl3)))
+
 (define-public tigerbeetle
   (package
     (name "tigerbeetle")

base-commit: 0647f308b46b7ba7aa136068712f8d82d69d1a35
-- 
This is my first git email patch, so pardon any mistakes.
Rivercarro is a simple package which adds additional ways to generate layouts for the river wayland compositor.
This version, 0.2.1, is not the newest version, it is about 9 months old. The newest version, 0.3.0, requires zig 0.11 to build, but the newest version of zig packaged for guix is 0.10. I would have updated zig mysmelf first, but the move from zig 0.10 -> 0.11 is rather complicated. It's unlikely anyone will update zig for guix in the near future. I was going to package rivercarro before then at least for myself, so I figured I'd do the checks and submit it.
It builds reproducibly and without error on my machine (x86_64). I also use it daily and have encountered no issues.