diff mbox series

[bug#51428,core-update-frozen,01/13] build: glib-or-gtk-build-system: Simplify the wrap-all-programs phase.

Message ID 20211027045151.9889-1-maxim.cournoyer@gmail.com
State Accepted
Headers show
Series [bug#51428,core-update-frozen,01/13] build: glib-or-gtk-build-system: Simplify the wrap-all-programs phase. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Maxim Cournoyer Oct. 27, 2021, 4:51 a.m. UTC
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs)
<handle-output>: Precisely build the list of variable specifications, rather
than relying on a bunch of conditionals.
---
 guix/build/glib-or-gtk-build-system.scm | 59 ++++++-------------------
 1 file changed, 13 insertions(+), 46 deletions(-)
diff mbox series

Patch

diff --git a/guix/build/glib-or-gtk-build-system.scm b/guix/build/glib-or-gtk-build-system.scm
index 9f4cc09eeb..655f20cd12 100644
--- a/guix/build/glib-or-gtk-build-system.scm
+++ b/guix/build/glib-or-gtk-build-system.scm
@@ -169,52 +169,19 @@  (define handle-output
                               (alist-cons output directory inputs)))
                (gio-mod-dirs (gio-module-directories
                               (alist-cons output directory inputs)))
-               (data-env-var
-                (if (not (null? datadirs))
-                    `("XDG_DATA_DIRS" ":" prefix ,datadirs)
-                    #f))
-               (gtk-mod-env-var
-                (if (not (null? gtk-mod-dirs))
-                    `("GTK_PATH" ":" prefix ,gtk-mod-dirs)
-                    #f))
-               (gio-mod-env-var 
-                (if (not (null? gio-mod-dirs))
-                    `("GIO_EXTRA_MODULES" ":" prefix ,gio-mod-dirs)
-                    #f)))
-          (cond
-           ((and data-env-var gtk-mod-env-var gio-mod-env-var)
-            (for-each (cut wrap-program <> #:sh (sh)
-                           data-env-var
-                           gtk-mod-env-var
-                           gio-mod-env-var)
-                      bin-list))
-           ((and data-env-var gtk-mod-env-var (not gio-mod-env-var))
-            (for-each (cut wrap-program <> #:sh (sh)
-                           data-env-var
-                           gtk-mod-env-var)
-                      bin-list))
-           ((and data-env-var (not gtk-mod-env-var) gio-mod-env-var)
-            (for-each (cut wrap-program <> #:sh (sh)
-                           data-env-var
-                           gio-mod-env-var)
-                      bin-list))
-           ((and (not data-env-var) gtk-mod-env-var gio-mod-env-var)
-            (for-each (cut wrap-program <> #:sh (sh)
-                           gio-mod-env-var
-                           gtk-mod-env-var)
-                      bin-list))
-           ((and data-env-var (not gtk-mod-env-var) (not gio-mod-env-var))
-            (for-each (cut wrap-program <> #:sh (sh)
-                           data-env-var)
-                      bin-list))
-           ((and (not data-env-var) gtk-mod-env-var (not gio-mod-env-var))
-            (for-each (cut wrap-program <> #:sh (sh)
-                           gtk-mod-env-var)
-                      bin-list))
-           ((and (not data-env-var) (not gtk-mod-env-var) gio-mod-env-var)
-            (for-each (cut wrap-program <> #:sh (sh)
-                           gio-mod-env-var)
-                      bin-list))))))))
+               (env-vars `(,@(if (not (null? datadirs))
+                                 (list `("XDG_DATA_DIRS" ":" prefix ,datadirs))
+                                 '())
+                           ,@(if (not (null? gtk-mod-dirs))
+                                 (list `("GTK_PATH" ":" prefix ,gtk-mod-dirs))
+                                 '())
+                           ,@(if (not (null? gio-mod-dirs))
+                                 (list `("GIO_EXTRA_MODULES" ":"
+                                         prefix ,gio-mod-dirs))
+                                 '()))))
+          (for-each (lambda (program)
+                      (apply wrap-program program #:sh (sh) env-vars))
+                    bin-list))))))
 
   (for-each handle-output outputs)
   #t)