Subject: [PATCH rust-team v2 117/117] WIP: gnu: Add fractal.

From: Herman Rimm <[email-masked]>
Date: Sun, 28 Apr 2024 20:59:01 +0200

* gnu/packages/rust-apps.scm (fractal): Add variable.

Change-Id: I2a787e60e9f1a3aaa4ab92c33c6fb6203ab3f898
---
 gnu/packages/rust-apps.scm | 65 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 8da7b827e7..ae0ce69659 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -66,6 +66,7 @@ (define-module (gnu packages rust-apps)
   #:use-module (gnu packages crates-crypto)
   #:use-module (gnu packages crates-io)
   #:use-module (gnu packages crates-graphics)
+  #:use-module (gnu packages crates-gtk)
   #:use-module (gnu packages crates-tls)
   #:use-module (gnu packages crates-vcs)
   #:use-module (gnu packages crates-web)
@@ -732,6 +733,70 @@ (define-public fd
 defaults for 80% of the use cases.")
      (license (list license:expat license:asl2.0))))
 
+(define-public fractal
+  (package
+    (name "fractal")
+    (version "6.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.gnome.org/World/fractal")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "11n32kkfwlv38mj9018hp5rbg4w3d1vq9f6x8rhqahs19mm5amqa"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-ashpd" ,rust-ashpd-0.6)
+                       ("rust-djb-hash" ,rust-djb-hash-0.1)
+                       ("rust-eyeball-im" ,rust-eyeball-im-0.4)
+                       ("rust-futures-channel" ,rust-futures-channel-0.3)
+                       ("rust-futures-util" ,rust-futures-util-0.3)
+                       ("rust-geo-uri" ,rust-geo-uri-0.2)
+                       ;("rust-gstreamer" ,rust-gstreamer-0.21)
+                       ;("rust-gstreamer-base" ,rust-gstreamer-base-0.21)
+                       ;("rust-gstreamer-pbutils" ,rust-gstreamer-pbutils-0.21)
+                       ;("rust-gstreamer-play" ,rust-gstreamer-play-0.21)
+                       ;("rust-gstreamer-video" ,rust-gstreamer-video-0.21)
+                       ("rust-gtk" ,rust-gtk4-0.7)
+                       ("rust-html-escape" ,rust-html-escape-0.2)
+                       ("rust-html2pango" ,rust-html2pango-0.6)
+                       ("rust-html5gum" ,rust-html5gum-0.5)
+                       ("rust-image" ,rust-image-0.24)
+                       ("rust-indexmap" ,rust-indexmap-2)
+                       ("rust-libadwaita" ,rust-libadwaita-0.5)
+                       ("rust-libshumate" ,rust-libshumate-0.4)
+                       ("rust-matrix-sdk" ,rust-matrix-sdk-0.7)
+                       ("rust-matrix-sdk-ui" ,rust-matrix-sdk-ui-0.7)
+                       ("rust-mime" ,rust-mime-0.3)
+                       ("rust-mime-guess" ,rust-mime-guess-2)
+                       ("rust-once-cell" ,rust-once-cell-1)
+                       ("rust-oo7" ,rust-oo7-0.2)
+                       ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.9)
+                       ("rust-qrcode" ,rust-qrcode-0.12)
+                       ("rust-rand" ,rust-rand-0.8)
+                       ("rust-regex" ,rust-regex-1)
+                       ("rust-rmp-serde" ,rust-rmp-serde-1)
+                       ("rust-rqrr" ,rust-rqrr-0.6)
+                       ("rust-ruma" ,rust-ruma-0.9)
+                       ("rust-secular" ,rust-secular-1)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-sourceview5" ,rust-sourceview5-0.7)
+                       ("rust-strum" ,rust-strum-0.25)
+                       ("rust-thiserror" ,rust-thiserror-1)
+                       ("rust-tokio" ,rust-tokio-1)
+                       ("rust-tracing" ,rust-tracing-0.1)
+                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
+                       ("rust-url" ,rust-url-2))))
+    (home-page "https://gitlab.gnome.org/World/fractal")
+    (synopsis "Matrix messaging app for GNOME written in Rust")
+    (description "Fractal is a Matrix messaging app for GNOME written in
+Rust. Its interface is optimized for collaboration in large groups, such
+as free software projects, and will fit all screens, big or small.")
+    (license license:gpl3+)))
+
 (define-public gitui
   (package
     (name "gitui")
-- 
2.41.0