* [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).