diff options
Diffstat (limited to 'pkgs/development/libraries/kde-frameworks/kde-wrapper.nix')
-rw-r--r-- | pkgs/development/libraries/kde-frameworks/kde-wrapper.nix | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix b/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix index 153ca31fd625..3591e20d11fb 100644 --- a/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix +++ b/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix @@ -1,17 +1,14 @@ -{ stdenv, lib, makeWrapper, kdeEnv }: +{ stdenv, lib, makeWrapper }: drv: { targets, paths ? [] }: -let - env = kdeEnv drv paths; -in stdenv.mkDerivation { - inherit (drv) name; + inherit (drv) name meta; - drv = lib.getBin drv; - inherit env targets; + paths = builtins.map lib.getBin ([drv] ++ paths); + inherit drv targets; passthru = { unwrapped = drv; }; nativeBuildInputs = [ makeWrapper ]; @@ -21,16 +18,36 @@ stdenv.mkDerivation { buildPhase = "true"; installPhase = '' + propagated= + for p in $drv $paths; do + findInputs $p propagated propagated-user-env-packages + done + + wrap_PATH="$out/bin" + wrap_XDG_DATA_DIRS= + wrap_XDG_CONFIG_DIRS= + wrap_QML_IMPORT_PATH= + wrap_QML2_IMPORT_PATH= + wrap_QT_PLUGIN_PATH= + for p in $propagated; do + addToSearchPath wrap_PATH "$p/bin" + addToSearchPath wrap_XDG_DATA_DIRS "$p/share" + addToSearchPath wrap_XDG_CONFIG_DIRS "$p/etc/xdg" + addToSearchPath wrap_QML_IMPORT_PATH "$p/lib/qt5/imports" + addToSearchPath wrap_QML2_IMPORT_PATH "$p/lib/qt5/qml" + addToSearchPath wrap_QT_PLUGIN_PATH "$p/lib/qt5/plugins" + done + for t in $targets; do if [ -a "$drv/$t" ]; then makeWrapper "$drv/$t" "$out/$t" \ --argv0 '"$0"' \ - --suffix PATH : "$out/bin:$env/bin" \ - --prefix XDG_CONFIG_DIRS : "$env/etc/xdg" \ - --prefix XDG_DATA_DIRS : "$env/share" \ - --set QML_IMPORT_PATH "$env/lib/qt5/imports" \ - --set QML2_IMPORT_PATH "$env/lib/qt5/qml" \ - --set QT_PLUGIN_PATH "$env/lib/qt5/plugins" + --suffix PATH : "$wrap_PATH" \ + --prefix XDG_CONFIG_DIRS : "$wrap_XDG_CONFIG_DIRS" \ + --prefix XDG_DATA_DIRS : "$wrap_XDG_DATA_DIRS" \ + --set QML_IMPORT_PATH "$wrap_QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH "$wrap_QML2_IMPORT_PATH" \ + --set QT_PLUGIN_PATH "$wrap_QT_PLUGIN_PATH" else echo "no such file or directory: $drv/$t" exit 1 |