guix_mirror_bot pushed a commit to branch gnome-team
in repository guix.
commit 117229f238c880a92017ea125c66425782fdea7d
Author: Noé Lopez <[email protected]>
AuthorDate: Sat Nov 8 11:56:14 2025 +0100
gnu: Add rust-glycin-3.
* gnu/packages/rust-crates.scm (rust-glycin-3.0.7)
(rust-glycin-common-1.0.3, rust-glycin-utils-4.0.4): New variables.
* gnu/packages/rust-sources.scm (rust-glycin-3): New variable.
* gnu/packages/gnome.scm (glycin-loaders): Add reminder to update related
glycin packages.
Change-Id: Id60cd2cfbaef98f87037ccfde9da33135fa9813f
Signed-off-by: Liliana Marie Prikler <[email protected]>
---
gnu/packages/gnome.scm | 1 +
gnu/packages/rust-crates.scm | 6 ++++
gnu/packages/rust-sources.scm | 80 ++++++++++++++++++++++++++++++++++++++++++-
3 files changed, 86 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8f33f511c1..9b2164cb74 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6947,6 +6947,7 @@ side panel;
;; ".gresource.eog_postasa_plugin" ELF section.
(license license:gpl2+)))
+;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating
this.
(define-public glycin-loaders
(package
(name "glycin-loaders")
diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm
index 9ff548c4e5..f17af6916d 100644
--- a/gnu/packages/rust-crates.scm
+++ b/gnu/packages/rust-crates.scm
@@ -10304,6 +10304,12 @@
(crate-source "glutin_wgl_sys" "0.6.1"
"0gng2810jb5x133lmy17qifjx6s90lnprm86afg7mfls505y0kic"))
+(define rust-glycin-3.0.7 package:rust-glycin-3)
+
+(define rust-glycin-common-1.0.3 package:rust-glycin-3)
+
+(define rust-glycin-utils-4.0.4 package:rust-glycin-3)
+
(define rust-gobject-sys-0.10.0
(crate-source "gobject-sys" "0.10.0"
"1311d3zbdhl1g7ibj1iy1650513yrhxbjxgfhazn52ii1jv368cm"))
diff --git a/gnu/packages/rust-sources.scm b/gnu/packages/rust-sources.scm
index 378ac797d1..1c87eacb0e 100644
--- a/gnu/packages/rust-sources.scm
+++ b/gnu/packages/rust-sources.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2025 Hilton Chain <[email protected]>
;;; Copyright © 2023-2025 Efraim Flashner <[email protected]>
+;;; Copyright © 2025 Noé Lopez <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,8 +24,10 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix search-paths)
#:use-module (guix build-system cargo)
#:use-module (guix build-system trivial)
+ #:use-module ((guix config) #:select (%storedir))
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
@@ -36,7 +39,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rust)
- #:use-module (gnu packages textutils))
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages virtualization))
;;;
;;; Cargo workspaces and Rust libraries requiring external inputs to unbundle.
@@ -673,6 +677,35 @@ intelligence.")
(inputs (cons oniguruma
(cargo-inputs 'rust-syntect-5.3))))))
+(define-public rust-web-view-0.7.3.82d7cbc
+ (let ((commit "82d7cbce6228b1a964673cc0f22944ad808eab42")
+ (revision "0"))
+ (hidden-package
+ (package
+ (name "rust-web-view")
+ (version (git-version "0.7.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Boscop/web-view")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1cl65wabbx9cd97qdmbq22d4whqrdsfykm8pbafh67srqjj1qlvr"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-package-crates ''("webview-sys" "web-view")))
+ (inputs (cargo-inputs 'rust-web-view-0.7.3.82d7cbc))
+ (home-page "https://github.com/Boscop/web-view")
+ (synopsis "Rust bindings for webview.")
+ (description
+ "This library provides a Rust binding to the original implementation of
+webview, a tiny cross-platform library to render web-based GUIs as desktop
+applications.")
+ (license license:expat)))))
+
(define-public rust-codex-0.0.0.785c0c43
(let ((commit "785c0c43df941e6997ff3a9e8a9dd48da2661f20")
(revision "0"))
@@ -778,3 +811,48 @@ intelligence.")
"This package provides the workspace crates for the Zed Codex CLI
and runtime for AI-assisted coding.")
(license license:asl2.0)))))
+
+;; Also update (@ (gnu packages gnome) glycin-loaders) when updating this.
+(define-public rust-glycin-3
+ (package
+ (name "rust-glycin")
+ (version "3.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/glycin.git")
+ ;; Rust library version is different from the tagged version.
+ (commit "2.0.7")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0v6szxk5h8a4b28xb0lrhqrq6b4vka2ha4qgpdp35f6c49v9pdyp"))
+ (patches (search-patches
"glycin-sandbox-Adapt-bwrap-invocation.patch"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:skip-build? #t
+ #:cargo-package-crates ''("glycin-common" "glycin-utils" "glycin")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-bin-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "glycin/src/sandbox.rs"
+ (("@bwrap@")
+ (search-input-file inputs "bin/bwrap"))
+ (("@storedir@")
+ #$%storedir)
+ (("/usr/bin/true")
+ (search-input-file inputs "bin/true"))))))))
+ (inputs (cons* bubblewrap (cargo-inputs 'glycin)))
+ ;; Uses XDG_DATA_DIRS to search for the loaders. See Config::data_dirs() in
+ ;; config.rs. Using a specific search path was discussed in
+ ;; <https://codeberg.org/guix/guix/pulls/1653> and
+ ;; <https://gitlab.gnome.org/GNOME/glycin/-/merge_requests/343>.
+ (native-search-paths (list $XDG_DATA_DIRS))
+ (home-page "https://gitlab.gnome.org/GNOME/glycin")
+ (synopsis "Rust library for sandboxed image decoding")
+ (description "Glycin is a sandbox image decoder for image viewers and
+thumbnails to display untrusted content safely.")
+ (license (list license:mpl2.0 license:lgpl2.1+))))