summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/build-support/setup-hooks/wrap-gapps-hook.sh16
1 files changed, 10 insertions, 6 deletions
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
index 82cc7ec330d6..9e0cd22c1198 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh
@@ -8,9 +8,11 @@ find_gio_modules() {
 
 envHooks+=(find_gio_modules)
 
+# Note: $gappsWrapperArgs still gets defined even if $dontWrapGApps is set.
 wrapGAppsHook() {
-  [ -z "$dontWrapGApps" ] || return
-  dontWrapGApps=1 # guard against running multiple times (e.g. due to propagation)
+  # guard against running multiple times (e.g. due to propagation)
+  [ -z "$wrapGAppsHookHasRun" ] || return
+  wrapGAppsHookHasRun=1
 
   if [ -n "$GDK_PIXBUF_MODULE_FILE" ]; then
     gappsWrapperArgs+=(--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE")
@@ -33,10 +35,12 @@ wrapGAppsHook() {
     gappsWrapperArgs+=(--prefix $v : "$dummy")
   done
 
-  for i in $prefix/bin/* $prefix/libexec/*; do
-    echo "Wrapping app $i"
-    wrapProgram "$i" "${gappsWrapperArgs[@]}"
-  done
+  if [ -z "$dontWrapGApps" ]; then
+    for i in $prefix/bin/* $prefix/libexec/*; do
+      echo "Wrapping app $i"
+      wrapProgram "$i" "${gappsWrapperArgs[@]}"
+    done
+  fi
 }
 
 fixupOutputHooks+=(wrapGAppsHook)