summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/gtk.scm6
-rw-r--r--gnu/packages/pdf.scm4
2 files changed, 7 insertions, 3 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8cd2824ce3..4e58c65ead 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -173,6 +173,12 @@ affine transformation (scale, rotation, shear, etc.).")
    (license license:lgpl2.1) ; or Mozilla Public License 1.1
    (home-page "https://cairographics.org/")))
 
+(define-public cairo-sans-poppler
+  ;; Variant used to break the dependency cycle between Poppler and Cairo.
+  (package/inherit cairo
+    (inputs (alist-delete "poppler" (package-inputs cairo)))
+    (properties `((hidden? . #t)))))
+
 (define-public cairo-xcb
   (package
     (inherit cairo)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index c9cce98e7f..45bbab56c1 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -191,9 +191,7 @@ please install the @code{flyer-composer-gui} package.")))
 
              ;; To build poppler-glib (as needed by Evince), we need Cairo and
              ;; GLib.  But of course, that Cairo must not depend on Poppler.
-             ("cairo" ,(package (inherit cairo)
-                         (inputs (alist-delete "poppler"
-                                               (package-inputs cairo)))))))
+             ("cairo" ,cairo-sans-poppler)))
    (propagated-inputs
     ;; As per poppler-cairo and poppler-glib.pc.
     ;; XXX: Ideally we'd propagate Cairo too, but that would require a