Subject: [bug#78100] [PATCH] guix: gtk-icon-themes: Generate output if no icons

From: Rutherther <[email-masked]>
Date: Sun, 27 Apr 2025 23:05:25 +0200

When there are no icon themes, but gtk+ is referenced in the manifest,
the output won't be produced in the gtk-icon-themes derivation.
This will lead to an error.

The problem has been reported by lilyp on IRC. I can't find any packages in
Guix that use gtk+ in inputs and don't have any icons, but this low-effort
package replicates the issue:
```
(package
  (inherit bash)
  (inputs
    (modify-inputs
      (package-inputs bash)
      (append gtk+))))
```

* guix/profiles.scm (gtk-icon-themes): Produce output when no icon cache is created.

Change-Id: I2aa5ab0023c9c584182c67f79102fb66b46a3a7d
---
 guix/profiles.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 64d669c353..086280329e 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1379,6 +1379,9 @@ (define* (gtk-icon-themes manifest #:optional system)
                          (srfi srfi-26)
                          (ice-9 ftw))
 
+            ;; Ensure output is produced when no cache files are created.
+            (mkdir-p #$output)
+
             (let* ((destdir  (string-append #$output "/share/icons"))
                    (icondirs (filter file-exists?
                                      (map (cut string-append <> "/share/icons")

base-commit: 4e79ec48af8173f0f2a86fa2c8f971dc8234b941
-- 
2.49.0