guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

103/203: build: glib-or-gtk-build-system: Simplify the wrap-all-programs


From: guix-commits
Subject: 103/203: build: glib-or-gtk-build-system: Simplify the wrap-all-programs phase.
Date: Wed, 3 Nov 2021 21:10:12 -0400 (EDT)

apteryx pushed a commit to branch core-updates-frozen-batched-changes
in repository guix.

commit 385f6eaf5043f26f101af11cfa2f3731e41b47f1
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Sun Oct 3 21:11:37 2021 -0400

    build: glib-or-gtk-build-system: Simplify the wrap-all-programs phase.
    
    * 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 --git a/guix/build/glib-or-gtk-build-system.scm 
b/guix/build/glib-or-gtk-build-system.scm
index 9f4cc09..655f20c 100644
--- a/guix/build/glib-or-gtk-build-system.scm
+++ b/guix/build/glib-or-gtk-build-system.scm
@@ -169,52 +169,19 @@ add a dependency of that output on GLib and GTK+."
                               (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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]