[rust-team 0/9] Adding blue-recorder

  • Open
  • quality assurance status badge
Details
2 participants
  • Divya Ranjan
  • Efraim Flashner
Owner
unassigned
Submitted by
Divya Ranjan
Severity
normal
D
D
Divya Ranjan wrote on 19 Nov 08:26 +0100
(address . guix-patches@gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119072632.22028-1-divya@subvertising.org
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 1/9] gnu: crates-graphics: Add rust-dark-light
(address . 74432@debbugs.gnu.org)
20241119073222.22383-2-divya@subvertising.org
* 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(+)

Toggle diff (40 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 5/9] gnu: crates-io: Add rust-dconf-rs
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-7-divya@subvertising.org
* 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(+)

Toggle diff (31 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 2/9] gnu: crates-gtk: rust-atk-sys: Update to 0.18
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-4-divya@subvertising.org
* 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(+)

Toggle diff (38 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 6/9] gnu: crates-io: Add rust-detect-desktop-environment
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-8-divya@subvertising.org
* 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(+)

Toggle diff (30 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 7/9] gnu: crates-io: Add rust-filename
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-9-divya@subvertising.org
* gnu/packages/crates-io.scm (rust-filename): New variable

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

Toggle diff (35 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 3/9] gnu: crates-gtk: rust-gdk-sys: Update to 0.18
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-5-divya@subvertising.org
* 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(+)

Toggle diff (43 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 8/9] gnu: crates-io: Add rust-secfmt
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-10-divya@subvertising.org
* 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(+)

Toggle diff (33 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 4/9] gnu: crates-gtk: rust-gtk-sys: Update to 0.18
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-6-divya@subvertising.org
* 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(+)

Toggle diff (44 lines)
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
D
D
Divya Ranjan wrote on 19 Nov 08:32 +0100
[rust-team 9/9] gnu: rust-apps: Add blue-recorder
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241119073222.22383-11-divya@subvertising.org
* 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(-)

Toggle diff (107 lines)
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
E
E
Efraim Flashner wrote on 19 Nov 10:57 +0100
(name . Divya Ranjan)(address . divya@subvertising.org)(address . 74432@debbugs.gnu.org)
ZzxhEmfLNOuMIU2F@3900XT
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
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmc8YRIACgkQQarn3Mo9
g1Ex0Q//RfBoPhKH8ruu299uk3GM5NKf3bZTFc0BBpmI6TM1K+eHjtt+fvvXgrA7
VKOWD75KY4GXwEJkmJgR/n3JTFoLPKZU7XjznWhNY8Zl1p5ZHh6u6ZuwysS9NI8p
envDZtK5sCSed4/8WDwEoqwapKhv+alWDR65qf0Wzzp1vtZ0rY7cH0u9aG7rciJI
d20bvrHW1fXGQXoGMwItWD7gEz+fFQjDbqda084UHmqOcrdtFXrSPmsTWAxPncHP
EJG83aiethBRCSzdHMheNdkG+W+iVbc92wgwZ+CDEL0iPnN51PY1F7cyOE1l3Esl
icp8M5vTIFuMVJqoJ0JEvldBPNidz8spbIJRwrwFa5hmnwlFViIJtKYCapvSKUug
joGEBXxPEeFddn+TNNpHnFL+Fk18ddbVzjbILJU3+/c3Pi4rcsozm0fxg7axy3ul
7P4lHBAd8L258l7LH/A+x7HxzbwY3IFy/wO28j0F8xDp8VzYg7bSlkKjsWYCDb2I
AVqXVCJB19JuGkyfOagMvDbkaiBpTqSUSEInfxyT3ZnRtIB/dIXYrFc6OwVcMdu6
ZfzrUqu8dtxz3Wrrdbfi0qwk/nV9Hql5YhF3lJ8FCIbiCuoQRU8vhjUn4VIf3piT
tBXktOuh5S8uzFncBPxgDr6C24sH1r1V55OpCVfiV8ueAsHyrAU=
=9xMW
-----END PGP SIGNATURE-----


D
(address . 74432@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
43e629efb46d2c43af0df65d2ba229c3@subvertising.org
Toggle quote (3 lines)
> I was unable to build this package, but I made some changes to it and
> I'm sending back what I currently have.

Thanks Efraim, looked at the patch and mostly it looks great. Thanks for
the changes, but what exactly was the need for the
substitute-command-block* procedure? Is it to make the dependencies
accessible? The package was working flawlessly, and also the recordings
were happening as expected without this. I’d like to know what’s the
significance of this, so that I might need to use it in later rust
packages.

Also, under what conditions should the name to be added to the copyright
list at the top? Is there a particular threshold of LOC?
--
Divya Ranjan,
Philosophy, Mathematics, Libre Software.
D
D
Divya Ranjan wrote on 11 Dec 02:22 +0100
[PATCH 01/10] gnu: Add rust-gdk4-sys-0.4.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-1-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-gdk4-sys-0.4): New variable.

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

Toggle diff (44 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index ed3c919b78..737e428171 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1362,6 +1362,37 @@ (define-public rust-gdk4-sys-0.7
#:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-gdk4-sys-0.4
+ (package
+ (name "rust-gdk4-sys")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gdk4-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wnfv62n9dmpzg9rpy3hj1aldpkkavyans9zzymsw02w9ysdrrzg"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15)
+ ("rust-gio-sys" ,rust-gio-sys-0.15)
+ ("rust-glib-sys" ,rust-glib-sys-0.15)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.15)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.15)
+ ("rust-pkg-config" ,rust-pkg-config-0.3)
+ ("rust-system-deps" ,rust-system-deps-6))))
+ (home-page "https://gtk-rs.org/gtk4-rs")
+ (synopsis "FFI bindings of GDK 4")
+ (description
+ "This package provides FFI bindings of GDK 4.")
+ (license license:expat)))
+
(define-public rust-gdk4-wayland-0.7
(package
(name "rust-gdk4-wayland")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:22 +0100
[PATCH 02/10] gnu: Add rust-graphene-rs-0.15.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-2-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-graphene-rs-0.15): New variable.

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

Toggle diff (39 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 737e428171..73acd5e3c2 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2887,6 +2887,32 @@ (define-public rust-graphene-rs-0.18
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
+(define-public rust-graphene-rs-0.15
+ (package
+ (name "rust-graphene-rs")
+ (version "0.15.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "graphene-rs" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0w2mz098dr8mlz18ssmlnln1x6c3byizqbc9kz4n5nzgpvxzjm3w"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib" ,rust-glib-0.15)
+ ("rust-graphene-sys" ,rust-graphene-sys-0.15)
+ ("rust-libc" ,rust-libc-0.2))))
+ (home-page "https://gtk-rs.org/")
+ (synopsis
+ "Rust bindings for the Graphene library")
+ (description
+ "This package provides Rust bindings for the Graphene library.")
+ (license license:expat)))
+
(define-public rust-graphene-sys-0.19
(package
(name "rust-graphene-sys")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:22 +0100
[PATCH 03/10] gnu: Add rust-graphene-sys-0.15.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-3-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-graphene-sys-0.15): New variable.

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

Toggle diff (39 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 73acd5e3c2..e5a52555d9 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2959,6 +2959,32 @@ (define-public rust-graphene-sys-0.18
#:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-graphene-sys-0.15
+ (package
+ (name "rust-graphene-sys")
+ (version "0.15.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "graphene-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12h2qcdhvzxhkc75fqkky6rz212wp2yc6mgvk9cxz8bv6g3iysgs"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.15)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3)
+ ("rust-system-deps" ,rust-system-deps-6))))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "FFI bindings to libgraphene-1.0")
+ (description
+ "This package provides FFI bindings to libgraphene-1.0.")
+ (license license:expat)))
+
(define-public rust-gsk4-0.8
(package
(name "rust-gsk4")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:23 +0100
[PATCH 04/10] gnu: Add rust-gsk4-0.4.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-4-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-gsk4-0.4): New variable.

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

Toggle diff (43 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index e5a52555d9..b1b8115ea8 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -3038,6 +3038,36 @@ (define-public rust-gsk4-0.7
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
+(define-public rust-gsk4-0.4
+ (package
+ (name "rust-gsk4")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gsk4" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1r0vnrgdpkavxkq67bgixcp72l4vz9dlk5nl72mb701j6c6h5s85"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.15)
+ ("rust-gdk4" ,rust-gdk4-0.4)
+ ("rust-glib" ,rust-glib-0.15)
+ ("rust-graphene-rs" ,rust-graphene-rs-0.15)
+ ("rust-gsk4-sys" ,rust-gsk4-sys-0.4)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.15))))
+ (home-page "https://gtk-rs.org/gtk4-rs")
+ (synopsis "Rust bindings of the GSK 4 library")
+ (description
+ "This package provides Rust bindings of the GSK 4 library.")
+ (license license:expat)))
+
(define-public rust-gsk4-sys-0.8
(package
(name "rust-gsk4-sys")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:23 +0100
[PATCH 07/10] gnu: Add rust-gtk4-0.4.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-7-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-gtk4-0.4): New variable.

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

Toggle diff (51 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 9a778a059a..3646bc9a8c 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -4179,6 +4179,44 @@ (define-public rust-gtk4-0.7
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
+(define-public rust-gtk4-0.4
+ (package
+ (name "rust-gtk4")
+ (version "0.4.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk4" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1g5v9wwf9sgz9vx0vwfc3sxm9pm5cah3ypjy3daw6fvryapfb2jf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.15)
+ ("rust-field-offset" ,rust-field-offset-0.3)
+ ("rust-futures-channel"
+ ,rust-futures-channel-0.3)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.15)
+ ("rust-gdk4" ,rust-gdk4-0.4)
+ ("rust-gio" ,rust-gio-0.15)
+ ("rust-glib" ,rust-glib-0.15)
+ ("rust-graphene-rs" ,rust-graphene-rs-0.15)
+ ("rust-gsk4" ,rust-gsk4-0.4)
+ ("rust-gtk4-macros" ,rust-gtk4-macros-0.4)
+ ("rust-gtk4-sys" ,rust-gtk4-sys-0.4)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-pango" ,rust-pango-0.15))))
+ (home-page "https://gtk-rs.org/gtk4-rs")
+ (synopsis "Rust bindings of the GTK 4 library")
+ (description
+ "This package provides Rust bindings of the GTK 4 library.")
+ (license license:expat)))
+
(define-public rust-gtk4-macros-0.8
(package
(name "rust-gtk4-macros")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:23 +0100
[PATCH 05/10] gnu: Add rust-gsk4-sys-0.4.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-5-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-gsk4-sys-0.4): New variable.

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

Toggle diff (43 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index b1b8115ea8..b7c650a10c 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -3123,6 +3123,36 @@ (define-public rust-gsk4-sys-0.7
#:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-gsk4-sys-0.4
+ (package
+ (name "rust-gsk4-sys")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gsk4-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sizv9dy5ch1nxmfmdb3xm35q10zr7fa4hw6hf650y00yv63kpbs"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20)
+ ("rust-gdk4-sys" ,rust-gdk4-sys-0.4)
+ ("rust-glib-sys" ,rust-glib-sys-0.15)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.15)
+ ("rust-graphene-sys" ,rust-graphene-sys-0.15)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.15)
+ ("rust-system-deps" ,rust-system-deps-6))))
+ (home-page "https://gtk-rs.org/gtk4-rs")
+ (synopsis "FFI bindings of GSK 4")
+ (description
+ "This package provides FFI bindings of GSK 4.")
+ (license license:expat)))
+
(define-public rust-gst-plugin-version-helper-0.8
(package
(name "rust-gst-plugin-version-helper")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:23 +0100
[PATCH 06/10] gnu: Add rust-gtk-sys-0.15.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-6-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-gtk-sys-0.15): New variable.

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

Toggle diff (45 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index b7c650a10c..9a778a059a 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -3961,6 +3961,38 @@ (define-public rust-gtk-sys-0.18
(description "This package provides FFI bindings to libgtk-3.")
(license license:expat)))
+(define-public rust-gtk-sys-0.15
+ (package
+ (name "rust-gtk-sys")
+ (version "0.15.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "113wp3x7xh2zjv8i5pn3mcz77yr5zq8wm8260bv4g8nbhw2jzg6m"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-atk-sys" ,rust-atk-sys-0.15)
+ ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.15)
+ ("rust-gio-sys" ,rust-gio-sys-0.15)
+ ("rust-glib-sys" ,rust-glib-sys-0.15)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.15)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.15)
+ ("rust-system-deps" ,rust-system-deps-6))))
+ (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.14
(package
(inherit rust-gtk-sys-0.18)
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:23 +0100
[PATCH 10/10] gnu: Add blue-recorder.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-10-divya@subvertising.org
* gnu/packages/rust-apps.scm (blue-recorder): New variable.

Change-Id: I898203189f8febd1dcf23cd01456bfe5fbe26c10
---
gnu/packages/rust-apps.scm | 182 ++++++++++++++++++++++++++++---------
1 file changed, 138 insertions(+), 44 deletions(-)

Toggle diff (218 lines)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 297111d867..f6425333bc 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 Jordan Moore <lockbox@struct.foo>
;;; Copyright © 2024 normally_js <normally_js@posteo.net>
+;;; Copyright © 2024 Divya Ranjan Pattanaik <divya@subvertising.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -82,8 +83,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)
@@ -106,6 +109,7 @@ (define-module (gnu packages rust-apps)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
#:use-module (gnu packages version-control)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))
@@ -368,50 +372,140 @@ (define-public bat
paging.")
(license (list license:expat license:asl2.0))))
-(define-public cargo-machete
- (package
- (name "cargo-machete")
- (version "0.7.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri name version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0ha5z1xr26mjprk4vbiy2v9wcwr7ww2jxiamlc8fqwi3d5hvhk1n"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-test-flags
- '("--release" "--"
- "--skip=search_unused::test_crate_renaming_works"
- "--skip=search_unused::test_false_positive_macro_use"
- "--skip=search_unused::test_ignore_deps_works"
- "--skip=search_unused::test_ignore_deps_workspace_works"
- "--skip=search_unused::test_just_unused"
- "--skip=search_unused::test_just_unused_with_manifest"
- "--skip=search_unused::test_unused_kebab_spec"
- "--skip=search_unused::test_unused_renamed_in_registry"
- "--skip=search_unused::test_unused_renamed_in_spec"
- "--skip=search_unused::test_unused_transitive"
- "--skip=search_unused::test_with_bench"
- "--skip=test_ignore_target")
- #:install-source? #f
- #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
- ("rust-argh" ,rust-argh-0.1)
- ("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
- ("rust-cargo-toml" ,rust-cargo-toml-0.20)
- ("rust-grep" ,rust-grep-0.3)
- ("rust-ignore" ,rust-ignore-0.4)
- ("rust-log" ,rust-log-0.4)
- ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.5)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-serde" ,rust-serde-1)
- ("rust-toml-edit" ,rust-toml-edit-0.22)
- ("rust-walkdir" ,rust-walkdir-2))))
- (home-page "https://github.com/bnjbvr/cargo-machete")
- (synopsis "Find unused dependencies in Cargo.toml")
- (description "@code{cargo-machete} finds unused dependencies in Cargo.toml.")
- (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)))
+ ;; 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.15)
+ ("rust-gtk4" ,rust-gtk4-0.4)
+ ("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
+ gettext-minimal
+ 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))))
+
+ (define-public cargo-machete
+ (package
+ (name "cargo-machete")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri name version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0ha5z1xr26mjprk4vbiy2v9wcwr7ww2jxiamlc8fqwi3d5hvhk1n"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-test-flags
+ '("--release" "--"
+ "--skip=search_unused::test_crate_renaming_works"
+ "--skip=search_unused::test_false_positive_macro_use"
+ "--skip=search_unused::test_ignore_deps_works"
+ "--skip=search_unused::test_ignore_deps_workspace_works"
+ "--skip=search_unused::test_just_unused"
+ "--skip=search_unused::test_just_unused_with_manifest"
+ "--skip=search_unused::test_unused_kebab_spec"
+ "--skip=search_unused::test_unused_renamed_in_registry"
+ "--skip=search_unused::test_unused_renamed_in_spec"
+ "--skip=search_unused::test_unused_transitive"
+ "--skip=search_unused::test_with_bench"
+ "--skip=test_ignore_target")
+ #:install-source? #f
+ #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-argh" ,rust-argh-0.1)
+ ("rust-cargo-metadata" ,rust-cargo-metadata-0.18)
+ ("rust-cargo-toml" ,rust-cargo-toml-0.20)
+ ("rust-grep" ,rust-grep-0.3)
+ ("rust-ignore" ,rust-ignore-0.4)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.5)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-toml-edit" ,rust-toml-edit-0.22)
+ ("rust-walkdir" ,rust-walkdir-2))))
+ (home-page "https://github.com/bnjbvr/cargo-machete")
+ (synopsis "Find unused dependencies in Cargo.toml")
+ (description "@code{cargo-machete} finds unused dependencies in Cargo.toml.")
+ (license (list license:expat license:asl2.0))))
(define-public complgen
(package
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:23 +0100
[PATCH 09/10] gnu: Add rust-gtk4-sys-0.4.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-9-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-gtk4-sys-0.4): New variable.

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

Toggle diff (46 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 7272c55689..026d0bc518 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -4370,6 +4370,39 @@ (define-public rust-gtk4-sys-0.7
#:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-gtk4-sys-0.4
+ (package
+ (name "rust-gtk4-sys")
+ (version "0.4.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk4-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0qqgxfbmygsl3xd3qal37cdz4ibfc0j9xxrzv9r7qjv3x9p01j2v"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15)
+ ("rust-gdk4-sys" ,rust-gdk4-sys-0.4)
+ ("rust-gio-sys" ,rust-gio-sys-0.15)
+ ("rust-glib-sys" ,rust-glib-sys-0.15)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.15)
+ ("rust-graphene-sys" ,rust-graphene-sys-0.15)
+ ("rust-gsk4-sys" ,rust-gsk4-sys-0.4)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.15)
+ ("rust-system-deps" ,rust-system-deps-6))))
+ (home-page "https://gtk-rs.org/gtk4-rs")
+ (synopsis "FFI bindings of GTK 4")
+ (description
+ "This package provides FFI bindings of GTK 4.")
+ (license license:expat)))
+
(define-public rust-libadwaita-0.6
(package
(name "rust-libadwaita")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:23 +0100
[PATCH 08/10] gnu: Add rust-gtk4-macros-0.4.
(address . 74432@debbugs.gnu.org)(name . Divya Ranjan)(address . divya@subvertising.org)
20241211012311.14618-8-divya@subvertising.org
* gnu/packages/crates-gtk.scm (rust-gtk4-macros-0.4): New variable.

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

Toggle diff (44 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 3646bc9a8c..7272c55689 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -4277,6 +4277,37 @@ (define-public rust-gtk4-macros-0.7
("rust-gtk4" ,rust-gtk4-0.7)
("rust-trybuild2" ,rust-trybuild2-1))))))
+(define-public rust-gtk4-macros-0.4
+ (package
+ (name "rust-gtk4-macros")
+ (version "0.4.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk4-macros" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0v42i8xpg9f84iq1d0k2sb7vh94n9v9rk7i7iq3579wi9ra0pfka"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-proc-macro-crate"
+ ,rust-proc-macro-crate-1)
+ ("rust-proc-macro-error"
+ ,rust-proc-macro-error-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quick-xml" ,rust-quick-xml-0.22)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://gtk-rs.org/gtk4-rs")
+ (synopsis "Macros helpers for GTK 4 bindings")
+ (description
+ "This package provides Macros helpers for GTK 4 bindings.")
+ (license license:expat)))
+
(define-public rust-gtk4-sys-0.8
(package
(name "rust-gtk4-sys")
--
2.46.0
D
D
Divya Ranjan wrote on 11 Dec 02:31 +0100
Re: bug#74432: [rust-team 0/9] Adding blue-recorder
(address . 74432@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
87ed2f57ka.fsf_-_@subvertising.org
Hello again Efraim, got busy with other things. Adding another patch series, this adds different versions of the gtk dependencies and now the blue-recorder should build.

Divya Ranjan <divya@subvertising.org> writes:

Toggle quote (50 lines)
> * gnu/packages/crates-gtk.scm (rust-gdk4-sys-0.4): New variable.
>
> Change-Id: I5e2151b64f99acdd296772b1bd72df4ba9585922
> ---
> 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 ed3c919b78..737e428171 100644
> --- a/gnu/packages/crates-gtk.scm
> +++ b/gnu/packages/crates-gtk.scm
> @@ -1362,6 +1362,37 @@ (define-public rust-gdk4-sys-0.7
> #:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
> ("rust-tempfile" ,rust-tempfile-3))))))
>
> +(define-public rust-gdk4-sys-0.4
> + (package
> + (name "rust-gdk4-sys")
> + (version "0.4.8")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "gdk4-sys" version))
> + (file-name
> + (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1wnfv62n9dmpzg9rpy3hj1aldpkkavyans9zzymsw02w9ysdrrzg"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20)
> + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15)
> + ("rust-gio-sys" ,rust-gio-sys-0.15)
> + ("rust-glib-sys" ,rust-glib-sys-0.15)
> + ("rust-gobject-sys" ,rust-gobject-sys-0.15)
> + ("rust-libc" ,rust-libc-0.2)
> + ("rust-pango-sys" ,rust-pango-sys-0.15)
> + ("rust-pkg-config" ,rust-pkg-config-0.3)
> + ("rust-system-deps" ,rust-system-deps-6))))
> + (home-page "https://gtk-rs.org/gtk4-rs")
> + (synopsis "FFI bindings of GDK 4")
> + (description
> + "This package provides FFI bindings of GDK 4.")
> + (license license:expat)))
> +
> (define-public rust-gdk4-wayland-0.7
> (package
> (name "rust-gdk4-wayland")

--
Divya Ranjan,
Philosophy, Mathematics, Libre Software.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 74432@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 74432
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch