unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#74432] [rust-team 0/9] Adding blue-recorder
@ 2024-11-19  7:26 Divya Ranjan via Guix-patches via
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
  0 siblings, 1 reply; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:26 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

This series of patches adds the blue-recorder application which is built primarily in rust. The patches begin with adding the necessary dependencies and then finally add the definition for blue-recorder.

I'm a bit skeptial if I got the commit messages for the updating patches to be corect, let me know if there's anything to be changed.

Divya Ranjan (9):
  gnu: crates-graphics: Add rust-dark-light
  gnu: crates-gtk: rust-atk-sys: Update to 0.18
  gnu: crates-gtk: rust-gdk-sys: Update to 0.18
  gnu: crates-gtk: rust-gtk-sys: Update to 0.18
  gnu: crates-io: Add rust-dconf-rs
  gnu: crates-io: Add rust-detect-desktop-environment
  gnu: crates-io: Add rust-filename
  gnu: crates-io: Add rust-secfmt
  gnu: rust-apps: Add blue-recorder

 gnu/packages/crates-graphics.scm | 27 ++++++++++
 gnu/packages/crates-gtk.scm      | 86 ++++++++++++++++++++++++++++++
 gnu/packages/crates-io.scm       | 77 +++++++++++++++++++++++++++
 gnu/packages/rust-apps.scm       | 90 +++++++++++++++++++++++++++++++-
 4 files changed, 279 insertions(+), 1 deletion(-)

Regards
--
2.46.0




^ permalink raw reply	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light
  2024-11-19  7:26 [bug#74432] [rust-team 0/9] Adding blue-recorder Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32 ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 2/9] gnu: crates-gtk: rust-atk-sys: Update to 0.18 Divya Ranjan via Guix-patches via
                     ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: efraim.flashner, Divya Ranjan

* gnu/packages/crates-graphics.scm (rust-dark-light-1): New variable

Change-Id: Idb780255b8dcc96658858edbb2e5ed8e0876e5f3
---
 gnu/packages/crates-graphics.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index a534375012..f1b97ee6f6 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -956,6 +956,33 @@ (define-public rust-d3d12-0.7
     (description "Low level D3D12 API wrapper.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-dark-light-1
+  (package
+    (name "rust-dark-light")
+    (version "1.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dark-light" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g1sq0byf5h9w12b02aza8vbrq81as4yh67yvgf419vz2sbzlxia"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-dconf-rs" ,rust-dconf-rs-0.3)
+                       ("rust-detect-desktop-environment" ,rust-detect-desktop-environment-1)
+                       ("rust-dirs" ,rust-dirs-4)
+                       ("rust-objc" ,rust-objc-0.2)
+                       ("rust-rust-ini" ,rust-rust-ini-0.18)
+                       ("rust-web-sys" ,rust-web-sys-0.3)
+                       ("rust-winreg" ,rust-winreg-0.10)
+                       ("rust-zbus" ,rust-zbus-4))))
+    (home-page "https://github.com/frewsxcv/rust-dark-light")
+    (synopsis "Detect if dark mode or light mode is enabled")
+    (description
+     "This package provides Detect if dark mode or light mode is enabled.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-dav1d-0.10
   (package
     (name "rust-dav1d")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 2/9] gnu: crates-gtk: rust-atk-sys: Update to 0.18
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 3/9] gnu: crates-gtk: rust-gdk-sys: " Divya Ranjan via Guix-patches via
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/crates-gtk.scm (rust-atk-sys-0.18): New variable

Change-Id: I8eb3c1b0df359f77e13e88126b811ab9e49f3cbc
---
 gnu/packages/crates-gtk.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 35b213159e..bdec0f475e 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -71,6 +71,31 @@ (define-public rust-atk-sys-0.14
     (description "FFI bindings to libatk-1")
     (license license:expat)))
 
+(define-public rust-atk-sys-0.18
+  (package
+    (inherit rust-atk-sys-0.14)
+    (name "rust-atk-sys")
+    (version "0.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "atk-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0280k0xw21n3zzri8ynk5mxy7v1mk9d506l962lhngp3j1yhn7i5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.18)
+                       ("rust-gobject-sys" ,rust-gobject-sys-0.18)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-system-deps" ,rust-system-deps-6))
+       #:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
+                                   ("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://gtk-rs.org/")
+    (synopsis "FFI bindings to libatk-1")
+    (description "This package provides FFI bindings to libatk-1.")
+    (license license:expat)))
+
 (define-public rust-atk-sys-0.10
   (package
     (inherit rust-atk-sys-0.14)
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 3/9] gnu: crates-gtk: rust-gdk-sys: Update to 0.18
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 2/9] gnu: crates-gtk: rust-atk-sys: Update to 0.18 Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 4/9] gnu: crates-gtk: rust-gtk-sys: " Divya Ranjan via Guix-patches via
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/crates-gtk.scm (rust-gdk-sys-0.18): New variable

Change-Id: Icfb1415f563a8cf18c07603ba632df57f4b7d98b
---
 gnu/packages/crates-gtk.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index bdec0f475e..edf3d09759 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1110,6 +1110,36 @@ (define-public rust-gdk-sys-0.10
        (("rust-shell-words" ,rust-shell-words-0.1)
         ("rust-tempfile" ,rust-tempfile-3))))))
 
+(define-public rust-gdk-sys-0.18
+  (package
+    (inherit rust-gdk-sys-0.14)
+    (name "rust-gdk-sys")
+    (version "0.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gdk-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1whznljhqqni5sk1qwazkc75ik5gmc1zh8590cbswv9qndn8bzri"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.18)
+                       ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.18)
+                       ("rust-gio-sys" ,rust-gio-sys-0.18)
+                       ("rust-glib-sys" ,rust-glib-sys-0.18)
+                       ("rust-gobject-sys" ,rust-gobject-sys-0.18)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-pango-sys" ,rust-pango-sys-0.18)
+                       ("rust-pkg-config" ,rust-pkg-config-0.3)
+                       ("rust-system-deps" ,rust-system-deps-6))
+       #:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
+                                   ("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://gtk-rs.org/")
+    (synopsis "FFI bindings to libgdk-3")
+    (description "This package provides FFI bindings to libgdk-3.")
+    (license license:expat)))
+
 (define-public rust-gdk-sys-0.9
   (package
     (inherit rust-gdk-sys-0.10)
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 4/9] gnu: crates-gtk: rust-gtk-sys: Update to 0.18
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 2/9] gnu: crates-gtk: rust-atk-sys: Update to 0.18 Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 3/9] gnu: crates-gtk: rust-gdk-sys: " Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 5/9] gnu: crates-io: Add rust-dconf-rs Divya Ranjan via Guix-patches via
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/crates-gtk.scm (rust-gtk-sys-0.18): New variable

Change-Id: I4a2ed868b593e30e6508ad82bea23f8f57e7baa8
---
 gnu/packages/crates-gtk.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index edf3d09759..b00ae407e4 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -3710,6 +3710,37 @@ (define-public rust-gtk-sys-0.10
     (inputs
      (list gtk+))))
 
+(define-public rust-gtk-sys-0.18
+  (package
+    (inherit rust-gtk-sys-0.14)
+    (name "rust-gtk-sys")
+    (version "0.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gtk-sys" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "08kpdl7ldj8lyv4dyhp9pdk61qj8yyyha5f1jssc1hg23nzkf53p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-atk-sys" ,rust-atk-sys-0.18)
+                       ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.18)
+                       ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.18)
+                       ("rust-gdk-sys" ,rust-gdk-sys-0.18)
+                       ("rust-gio-sys" ,rust-gio-sys-0.18)
+                       ("rust-glib-sys" ,rust-glib-sys-0.18)
+                       ("rust-gobject-sys" ,rust-gobject-sys-0.18)
+                       ("rust-libc" ,rust-libc-0.2)
+                       ("rust-pango-sys" ,rust-pango-sys-0.18)
+                       ("rust-system-deps" ,rust-system-deps-6))
+       #:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
+                                   ("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://gtk-rs.org/")
+    (synopsis "FFI bindings to libgtk-3")
+    (description "This package provides FFI bindings to libgtk-3.")
+    (license license:expat)))
+
 (define-public rust-gtk-sys-0.9
   (package
     (inherit rust-gtk-sys-0.14)
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 5/9] gnu: crates-io: Add rust-dconf-rs
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
                     ` (2 preceding siblings ...)
  2024-11-19  7:32   ` [bug#74432] [rust-team 4/9] gnu: crates-gtk: rust-gtk-sys: " Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 6/9] gnu: crates-io: Add rust-detect-desktop-environment Divya Ranjan via Guix-patches via
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/crates-io.scm (rust-dconf-rs-0.3): New variable

Change-Id: I121d13e3fc5acd135874474ca26fd954f2e96e3c
---
 gnu/packages/crates-io.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 35ae618c4b..0424cdc6a5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20545,6 +20545,24 @@ (define-public rust-dbus-tree-0.9
      "This crate is a framework for writing D-Bus method handlers (legacy).")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-dconf-rs-0.3
+  (package
+    (name "rust-dconf-rs")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "dconf_rs" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "12swi0npq88kbdwnc3n324dzknir674agrh13h305876h654cikh"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/kylecorry31/dconf_rs")
+    (synopsis "Rust API for interacting with dconf.")
+    (description
+     "This package provides a Rust API for interacting with dconf.")
+    (license license:expat)))
+
 (define-public rust-deadpool-0.9
   (package
     (name "rust-deadpool")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 6/9] gnu: crates-io: Add rust-detect-desktop-environment
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
                     ` (3 preceding siblings ...)
  2024-11-19  7:32   ` [bug#74432] [rust-team 5/9] gnu: crates-io: Add rust-dconf-rs Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 7/9] gnu: crates-io: Add rust-filename Divya Ranjan via Guix-patches via
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/crates-io.scm (rust-detect-desktop-environment-1): New variable

Change-Id: I1f9eabb6c98bdea85b57d71a504088e79d5f6264
---
 gnu/packages/crates-io.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0424cdc6a5..37bef67027 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21808,6 +21808,23 @@ (define-public rust-deser-hjson-1
     (description "This package provides an Hjson deserializer for Serde.")
     (license license:expat)))
 
+(define-public rust-detect-desktop-environment-1
+  (package
+    (name "rust-detect-desktop-environment")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "detect-desktop-environment" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1crybsn50nax07zz2sxyi88nfq05yyqicqqa6ni03j8swfxs29yg"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/demurgos/detect-desktop-environment")
+    (synopsis "Autodetect the desktop environment")
+    (description "This package provides Autodetect the desktop environment.")
+    (license license:expat)))
+
 (define-public rust-detone-1
   (package
     (name "rust-detone")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 7/9] gnu: crates-io: Add rust-filename
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
                     ` (4 preceding siblings ...)
  2024-11-19  7:32   ` [bug#74432] [rust-team 6/9] gnu: crates-io: Add rust-detect-desktop-environment Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 8/9] gnu: crates-io: Add rust-secfmt Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 9/9] gnu: rust-apps: Add blue-recorder Divya Ranjan via Guix-patches via
  7 siblings, 0 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/crates-io.scm (rust-filename): New variable

Change-Id: Iab7def60b569282c46ef5fdc50e265a3e2b8eeea
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 37bef67027..f40a8da4d5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -27424,6 +27424,28 @@ (define-public rust-filedescriptor-0.8
      "More ergonomic wrappers around @code{RawFd} and @code{RawHandle}.")
     (license license:expat)))
 
+(define-public rust-filename-0.1
+  (package
+    (name "rust-filename")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "filename" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1s7byy8c939qrm6hsjqq0vicfv6rkxb3yrhslg7zkggyxw1xzr33"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)
+                       ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://github.com/flier/rust-filename")
+    (synopsis "Get filename from a raw file descriptor")
+    (description
+     "This package provides Get filename from a raw file descriptor.")
+    (license license:expat)))
+
 (define-public rust-filesize-0.2
   (package
     (name "rust-filesize")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 8/9] gnu: crates-io: Add rust-secfmt
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
                     ` (5 preceding siblings ...)
  2024-11-19  7:32   ` [bug#74432] [rust-team 7/9] gnu: crates-io: Add rust-filename Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  7:32   ` [bug#74432] [rust-team 9/9] gnu: rust-apps: Add blue-recorder Divya Ranjan via Guix-patches via
  7 siblings, 0 replies; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/crates-io.scm (rust-secfmt-0.1): New variable

Change-Id: I73a390d3890f7963f5da38623c5c933d6b66349e
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f40a8da4d5..7fcba22e77 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71001,6 +71001,26 @@ (define-public rust-seccomp-sys-0.1
     (description "This package provides low-level bindings to libseccomp.")
     (license license:lgpl2.1)))
 
+(define-public rust-secfmt-0.1
+  (package
+    (name "rust-secfmt")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "secfmt" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0710fwskvbgz5kzsa3c29j47bs5lbhkn27qabmy9j48phqr39iy8"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/secfmt")
+    (synopsis
+     "Converts seconds into a human readable format (struct) containing years, days, hours, minutes and seconds")
+    (description
+     "This package provides Converts seconds into a human readable format (struct) containing years, days,
+hours, minutes and seconds.")
+    (license license:expat)))
+
 (define-public rust-secrecy-0.8
   (package
     (name "rust-secrecy")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 9/9] gnu: rust-apps: Add blue-recorder
  2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
                     ` (6 preceding siblings ...)
  2024-11-19  7:32   ` [bug#74432] [rust-team 8/9] gnu: crates-io: Add rust-secfmt Divya Ranjan via Guix-patches via
@ 2024-11-19  7:32   ` Divya Ranjan via Guix-patches via
  2024-11-19  9:57     ` Efraim Flashner
  7 siblings, 1 reply; 11+ messages in thread
From: Divya Ranjan via Guix-patches via @ 2024-11-19  7:32 UTC (permalink / raw)
  To: 74432; +Cc: Divya Ranjan

* gnu/packages/rust-apps.scm (blue-recorder): New variable

Change-Id: Ic282f69fa2b5b4ffce938d106961c4df5e491cd3
---
 gnu/packages/rust-apps.scm | 90 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 303fe44995..3f4e78a59c 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -106,7 +106,10 @@ (define-module (gnu packages rust-apps)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages webkit)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages video))
 
 (define-public aardvark-dns
   (package
@@ -3889,3 +3892,88 @@ (define-public htmlq
     (synopsis "Like jq, but for HTML")
     (description "Extract content from HTML files using CSS selectors.")
     (license license:expat)))
+
+(define-public blue-recorder
+  (package
+    (name "blue-recorder")
+    (version "0.2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/xlmnxp/blue-recorder")
+             (commit "1cfa3bbb1b5ea845b3e4c51eba269745f0c3e271")))
+       ;; The original Cargo.toml tries to pull gdk from git, which is impossible
+       ;; during guix build.
+       (snippet #~(begin
+                    (use-modules (guix build utils))
+                    (substitute* "Cargo.toml"
+                      (("gdk = \\{ git =.+")
+                       "gdk = { version = \"0.7.3\", package = \"gdk4\" }
+"))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0fz5l1z5rq8gx2vhrpfnf5l5karlqa7m8fdwx7ixlvy5klywwa5y"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-build-flags '("--release")
+       #:phases ,#~(modify-phases %standard-phases
+                     ;; As per the application’s build instructions the binary
+                     ;; needs to be wrapped with po and data paths as environment
+                     ;; variables.
+                     (add-after 'install 'wrap-paths
+                       (lambda _
+                         (let* ((bin (string-append #$output "/bin"))
+                                (name-version (string-append #$name "-"
+                                                             #$version))
+                                (blue-recorder (string-append bin
+                                                "/blue-recorder"))
+                                (src (string-append #$output
+                                                    "/share/cargo/src/"))
+                                (po (string-append src name-version "/po/"))
+                                (data (string-append src name-version "/data/")))
+                           (wrap-program blue-recorder
+                             `("PO_DIR" prefix
+                               (,po))
+                             `("DATA_DIR" prefix
+                               (,data)))))))
+       #:cargo-inputs (("rust-async-std" ,rust-async-std-1)
+                       ("rust-chrono" ,rust-chrono-0.4)
+                       ("rust-dark-light" ,rust-dark-light-1)
+                       ("rust-dirs" ,rust-dirs-4)
+                       ("rust-filename" ,rust-filename-0.1)
+                       ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
+                       ("rust-gdk4" ,rust-gdk4-0.7)
+                       ("rust-gettext-rs" ,rust-gettext-rs-0.7)
+                       ("rust-gio" ,rust-gio-0.15)
+                       ("rust-glib" ,rust-glib-0.10)
+                       ("rust-gstreamer" ,rust-gstreamer-0.21)
+                       ("rust-gtk-sys" ,rust-gtk-sys-0.18)
+                       ("rust-gtk4" ,rust-gtk4-0.8)
+                       ("rust-regex" ,rust-regex-1)
+                       ("rust-rust-ini" ,rust-rust-ini-0.18)
+                       ("rust-secfmt" ,rust-secfmt-0.1)
+                       ("rust-subprocess" ,rust-subprocess-0.2)
+                       ("rust-tempfile" ,rust-tempfile-3)
+                       ("rust-zbus" ,rust-zbus-3))))
+    (native-inputs (list pkg-config
+                         glib
+                         graphene
+                         gstreamer
+                         gnu-gettext
+                         libappindicator
+                         xz))
+    (inputs (list glib bash-minimal))
+    (propagated-inputs (list ffmpeg
+                             gtk
+                             gtk+
+                             xwininfo
+                             libappindicator
+                             pulseaudio))
+    (home-page "https://github.com/xlmnxp/blue-recorder/")
+    (synopsis "Simple Screen Recorder written in Rust based on Green Recorder")
+    (description
+     "A simple desktop recorder for Linux systems.
+Built using GTK4 and ffmpeg.  It supports recording audio and video on almost all Linux
+interfaces with support for Wayland display server on GNOME session.")
+    (license license:gpl3)))
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [bug#74432] [rust-team 9/9] gnu: rust-apps: Add blue-recorder
  2024-11-19  7:32   ` [bug#74432] [rust-team 9/9] gnu: rust-apps: Add blue-recorder Divya Ranjan via Guix-patches via
@ 2024-11-19  9:57     ` Efraim Flashner
  0 siblings, 0 replies; 11+ messages in thread
From: Efraim Flashner @ 2024-11-19  9:57 UTC (permalink / raw)
  To: Divya Ranjan; +Cc: 74432


[-- Attachment #1.1: Type: text/plain, Size: 325 bytes --]

I was unable to build this package, but I made some changes to it and
I'm sending back what I currently have.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #1.2: 0001-gnu-Add-blue-recorder.patch --]
[-- Type: text/plain, Size: 8063 bytes --]

From bff03992bdb1a77f860773f348823837f373788b Mon Sep 17 00:00:00 2001
Message-ID: <bff03992bdb1a77f860773f348823837f373788b.1732010097.git.efraim@flashner.co.il>
From: Divya Ranjan <divya@subvertising.org>
Date: Tue, 19 Nov 2024 07:32:17 +0000
Subject: [PATCH] gnu: Add blue-recorder.

* gnu/packages/rust-apps.scm (blue-recorder): New variable.

Change-Id: Ic282f69fa2b5b4ffce938d106961c4df5e491cd3
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
---
 gnu/packages/rust-apps.scm | 104 +++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 303fe44995e..2b368924730 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -80,8 +80,10 @@ (define-module (gnu packages rust-apps)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages ibus)
   #:use-module (gnu packages icu4c)
@@ -105,6 +107,7 @@ (define-module (gnu packages rust-apps)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages webkit)
   #:use-module (gnu packages xorg))
 
@@ -366,6 +369,107 @@ (define-public bat
 paging.")
     (license (list license:expat license:asl2.0))))
 
+(define-public blue-recorder
+  ;; Tagged releases are infrequent.
+  (let ((commit "1cfa3bbb1b5ea845b3e4c51eba269745f0c3e271")
+        (revision "1"))
+    (package
+      (name "blue-recorder")
+      (version (git-version "0.2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/xlmnxp/blue-recorder")
+               (commit commit)))
+         (snippet
+          #~(begin (use-modules (guix build utils))
+                   (substitute* "Cargo.toml"
+                     (("gdk = \\{ git =.*\\}")
+                      "gdk = { version = \"0.7.3\", package = \"gdk4\" }"))))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0fz5l1z5rq8gx2vhrpfnf5l5karlqa7m8fdwx7ixlvy5klywwa5y"))))
+      (build-system cargo-build-system)
+      (arguments
+       `(;#:cargo-build-flags '("--release")
+         #:install-source? #t   ; Needed to wrap the binary.
+         #:phases
+         ,#~(modify-phases %standard-phases
+              ;; As per the application’s build instructions the binary needs
+              ;; to be wrapped with po and data paths as environment variables.
+              (add-after 'install 'wrap-paths
+                (lambda _
+                  (let* ((bin (string-append #$output "/bin"))
+                         (name-version (string-append #$name "-" #$version))
+                         (blue-recorder (string-append bin "/blue-recorder"))
+                         (src (string-append #$output "/share/cargo/src/"))
+                         (po (string-append src name-version "/po/"))
+                         (data (string-append src name-version "/data/")))
+                    (wrap-program blue-recorder
+                      `("PO_DIR" prefix (,po))
+                      `("DATA_DIR" prefix (,data))))))
+              (add-after 'unpack 'substitute-package-paths
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (define* (substitute-command-block* file command full-command)
+                    (substitute* file
+                      (((string-append "Command::new\\(\"" command "\"\\)"))
+                       (string-append "Command::new(\"" full-command "\")"))))
+                  (substitute-command-block* "src/area_capture.rs"
+                    "xwininfo" (search-input-file inputs "/bin/xwininfo"))
+                  (substitute-command-block* "src/ffmpeg_interface.rs"
+                    "ffmpeg" (search-input-file inputs "/bin/ffmpeg"))
+                  (substitute-command-block* "src/ffmpeg_interface.rs"
+                    "kill" (search-input-file inputs "/bin/kill"))
+                  (substitute-command-block* "src/ffmpeg_interface.rs"
+                    "mv" (search-input-file inputs "/bin/mv"))
+                  (substitute-command-block* "src/ffmpeg_interface.rs"
+                    "xdg-open" (search-input-file inputs "/bin/xdg-open"))
+                  (substitute-command-block* "src/main.rs"
+                    "pactl" (search-input-file inputs "/bin/pactl"))
+                  (substitute-command-block* "src/main.rs"
+                    "grep" (search-input-file inputs "/bin/grep")))))
+         #:cargo-inputs (("rust-async-std" ,rust-async-std-1)
+                         ("rust-chrono" ,rust-chrono-0.4)
+                         ("rust-dark-light" ,rust-dark-light-1)
+                         ("rust-dirs" ,rust-dirs-4)
+                         ("rust-filename" ,rust-filename-0.1)
+                         ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
+                         ("rust-gdk4" ,rust-gdk4-0.7)
+                         ("rust-gettext-rs" ,rust-gettext-rs-0.7)
+                         ("rust-gio" ,rust-gio-0.15)
+                         ("rust-glib" ,rust-glib-0.10)
+                         ("rust-gstreamer" ,rust-gstreamer-0.20)
+                         ;("rust-gtk-sys" ,rust-gtk-sys-0.15)
+                         ;("rust-gtk4" ,rust-gtk4-0.4)
+                         ("rust-regex" ,rust-regex-1)
+                         ;("rust-rust-ini" ,rust-rust-ini-0.16)
+                         ("rust-secfmt" ,rust-secfmt-0.1)
+                         ("rust-subprocess" ,rust-subprocess-0.2)
+                         ("rust-tempfile" ,rust-tempfile-3)
+                         ("rust-zbus" ,rust-zbus-3))))
+      (native-inputs (list pkg-config
+                           gettext-minimal))
+      (inputs (list bash-minimal
+                    ;cairo
+                    coreutils-minimal
+                    ffmpeg
+                    ;gdk-pixbuf
+                    ;glib
+                    ;gstreamer
+                    ;gtk
+                    ;libappindicator
+                    pulseaudio
+                    xdg-utils
+                    xwininfo))
+      (home-page "https://github.com/xlmnxp/blue-recorder/")
+      (synopsis "Simple Screen Recorder written in Rust based on Green Recorder")
+      (description
+       "A desktop recorder built using GTK4 and ffmpeg.  It supports recording
+audio and video on almost all Linux interfaces with support for Wayland display
+server on GNOME session.")
+      (license license:gpl3))))
+
 (define-public cargo-machete
   (package
     (name "cargo-machete")

base-commit: 406a07e84984a97a078d142a7deda04a75474e90
prerequisite-patch-id: 5528ac34a2e9edbb4551fe61741e67446cfaff1c
prerequisite-patch-id: c2b361484623db22fa104a33e7d59fa8aed259e8
prerequisite-patch-id: 910a312afd5d003e1b9591ff30b59f47278446fc
prerequisite-patch-id: 5fb0c1e3aa96b1adf0fd775e9ded8e11e25ca1a0
prerequisite-patch-id: d5a3482cbeeb58f664c6ff0b9c0af5083582d6f6
prerequisite-patch-id: 2cf976884dc74e65c91ccea8ca6e0dc232dbc75c
prerequisite-patch-id: d27004116348a6b66b80db84c0d1bd0c417b6f99
prerequisite-patch-id: e6b57f9e8d22465c670d35dbe1682b740a4faaa3
prerequisite-patch-id: 0b4fc99585afa49b0b26d3a493d1307710b8a0a5
prerequisite-patch-id: 01982f6adcd279ec2fe77dea8e508849607f8bea
prerequisite-patch-id: bb31aceb5f2a598c7298149f70d22146dfa44c18
-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-11-19  9:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-19  7:26 [bug#74432] [rust-team 0/9] Adding blue-recorder Divya Ranjan via Guix-patches via
2024-11-19  7:32 ` [bug#74432] [rust-team 1/9] gnu: crates-graphics: Add rust-dark-light Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 2/9] gnu: crates-gtk: rust-atk-sys: Update to 0.18 Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 3/9] gnu: crates-gtk: rust-gdk-sys: " Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 4/9] gnu: crates-gtk: rust-gtk-sys: " Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 5/9] gnu: crates-io: Add rust-dconf-rs Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 6/9] gnu: crates-io: Add rust-detect-desktop-environment Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 7/9] gnu: crates-io: Add rust-filename Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 8/9] gnu: crates-io: Add rust-secfmt Divya Ranjan via Guix-patches via
2024-11-19  7:32   ` [bug#74432] [rust-team 9/9] gnu: rust-apps: Add blue-recorder Divya Ranjan via Guix-patches via
2024-11-19  9:57     ` Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).