about summary refs log tree commit diff
path: root/pkgs/development/libraries/qt-5/5.4/make-qt-wrapper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/qt-5/5.4/make-qt-wrapper.sh')
-rw-r--r--pkgs/development/libraries/qt-5/5.4/make-qt-wrapper.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-5/5.4/make-qt-wrapper.sh b/pkgs/development/libraries/qt-5/5.4/make-qt-wrapper.sh
new file mode 100644
index 000000000000..d61665455bf4
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/make-qt-wrapper.sh
@@ -0,0 +1,42 @@
+addQtDependency() {
+    addToSearchPath QT_PLUGIN_PATH "$1/lib/qt5/plugins"
+    addToSearchPath QML_IMPORT_PATH "$1/lib/qt5/imports"
+    addToSearchPath QML2_IMPORT_PATH "$1/lib/qt5/qml"
+    addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg"
+    addToSearchPath XDG_DATA_DIRS "$1/share"
+}
+
+wrapQtProgram() {
+    local prog="$1"
+    shift
+    wrapProgram "$prog" \
+        --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
+        --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
+        --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
+        --prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \
+        --prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \
+        "$@"
+}
+
+makeQtWrapper() {
+    local old="$1"
+    local new="$2"
+    shift
+    shift
+    makeWrapper "$old" "$new" \
+        --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
+        --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
+        --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
+        --prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \
+        --prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \
+        "$@"
+}
+
+# cannot use addToSearchPath because these directories may not exist yet
+export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}$out/lib/qt5/plugins"
+export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}$out/lib/qt5/imports"
+export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}$out/lib/qt5/qml"
+export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}$out/etc/xdg"
+export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}$out/share"
+
+envHooks+=(addQtDependency)