summary refs log tree commit diff
path: root/pkgs/development/libraries/kde-frameworks-5.17/kservice/setup-hook.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/kde-frameworks-5.17/kservice/setup-hook.sh')
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.17/kservice/setup-hook.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/development/libraries/kde-frameworks-5.17/kservice/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.17/kservice/setup-hook.sh
new file mode 100644
index 00000000000..c28e862ff8a
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.17/kservice/setup-hook.sh
@@ -0,0 +1,43 @@
+addServicePkg() {
+    local propagated
+    for dir in "share/kservices5" "share/kservicetypes5"; do
+        if [[ -d "$1/$dir" ]]; then
+            propagated=
+            for pkg in $propagatedBuildInputs; do
+                if [[ "z$pkg" == "z$1" ]]; then
+                    propagated=1
+                    break
+                fi
+            done
+            if [[ -z $propagated ]]; then
+                propagatedBuildInputs="$propagatedBuildInputs $1"
+            fi
+
+            propagated=
+            for pkg in $propagatedUserEnvPkgs; do
+                if [[ "z$pkg" == "z$1" ]]; then
+                    propagated=1
+                    break
+                fi
+            done
+            if [[ -z $propagated ]]; then
+                propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1"
+            fi
+
+            break
+        fi
+    done
+}
+
+envHooks+=(addServicePkg)
+
+local propagated
+for pkg in $propagatedBuildInputs; do
+    if [[ "z$pkg" == "z@out@" ]]; then
+        propagated=1
+        break
+    fi
+done
+if [[ -z $propagated ]]; then
+    propagatedBuildInputs="$propagatedBuildInputs @out@"
+fi