guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 9d5cbc4ec6d56f54cb4ca58f6bac40b901afb054
Author: Noé Lopez <[email protected]>
AuthorDate: Thu Apr 23 19:58:26 2026 +0200

    gnu: Add libglycin.
    
    We split the glycin loaders from libglycin to avoid dependency circles 
between
    gdk-pixbuf and glycin:
    
    glycin-loaders depends transitively on gdk-pixbuf. And gdk-pixbuf must 
depend
    on glycin at some point, since the transition plan is that it starts using 
it
    as a backend instead of its builtin loaders.
    
    With this commit, gdk-pixbuf can depend on libglycin; avoiding the extra
    dependencies brought by the loaders.
    
    This split is also recommended in Glycin’s README.
    
    * gnu/packages/gnome.scm
    (libglycin): New variable.
    (glycin-loaders): Define as inherited package of libglycin.
    (loupe, nautilus)[inputs]: Add libglycin.
    
    Change-Id: I424b2227882b9ca1cbd9c5130ac7239c22d59e56
---
 gnu/packages/gnome.scm | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6b08743b8b..c89ce91f3e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6965,9 +6965,9 @@ side panel;
     (license license:gpl2+)))
 
 ;; Also update (@ (gnu packages rust-sources) rust-glycin-3) when updating 
this.
-(define-public glycin-loaders
+(define-public libglycin
   (package
-    (name "glycin-loaders")
+    (name "libglycin")
     (version "2.1.1")
     (source
      (origin
@@ -6984,6 +6984,10 @@ side panel;
     (build-system meson-build-system)
     (arguments
      (list
+      #:configure-flags #~(list "-Dglycin-loaders=false"
+                                "-Dglycin-thumbnailer=true"
+                                "-Dlibglycin=true"
+                                "-Dlibglycin-gtk4=true")
       #:imported-modules `(,@%meson-build-system-modules
                            ,@%cargo-build-system-modules)
       #:modules `(((guix build cargo-build-system) #:prefix cargo:)
@@ -7075,9 +7079,6 @@ side panel;
                             (base32
                              
"1jvra75kjqkndxzzpmi5lb8d3q4fi3yc4hha0r1g9brdsnbhsp6f")))))
     (inputs (cons* bubblewrap
-                   libheif
-                   libjxl
-                   librsvg
                    (cargo-inputs 'glycin)))
     ;; The following inputs are 'Required' in the pkg-config files.
     (propagated-inputs (list fontconfig glib gtk lcms libseccomp))
@@ -7088,6 +7089,22 @@ thumbnails to display untrusted content safely.  This 
package provides the
 runtime image loader executables that are used inside the sandbox.")
     (license (list license:mpl2.0 license:lgpl2.1+))))
 
+(define-public glycin-loaders
+  (package/inherit libglycin
+    (name "glycin-loaders")
+    (arguments
+     (substitute-keyword-arguments arguments
+       ((#:configure-flags original-flags #~(list))
+        #~(list "-Dglycin-loaders=true"
+                "-Dglycin-thumbnailer=false"
+                "-Dlibglycin=false"
+                "-Dlibglycin-gtk4=false"))))
+    (inputs
+     (modify-inputs inputs
+       (prepend libheif
+                libjxl
+                librsvg)))))
+
 (define-public loupe
   (package
     (name "loupe")
@@ -7158,6 +7175,7 @@ runtime image loader executables that are used inside the 
sandbox.")
             gtk
             lcms
             libadwaita
+            libglycin
             libgweather
             libseccomp
             (cargo-inputs 'loupe)))
@@ -10199,6 +10217,7 @@ through portals.")
            gst-plugins-base
            json-glib
            libadwaita
+           libglycin
            libportal
            libseccomp
            libselinux

Reply via email to