diff options
author | Thomas Tuegel <ttuegel@gmail.com> | 2015-10-18 11:57:50 -0500 |
---|---|---|
committer | Thomas Tuegel <ttuegel@gmail.com> | 2015-10-30 16:10:37 -0500 |
commit | 03ed16a1c4a706f9f0dedf593b6863e99bb3edb3 (patch) | |
tree | c9f8e83d978cba6eca23f6c2acffd6168bc5fbef /pkgs/development | |
parent | e2383b1f0848e5af5ecf55c7d2983d0ab18a7a6b (diff) | |
download | nixlib-03ed16a1c4a706f9f0dedf593b6863e99bb3edb3.tar nixlib-03ed16a1c4a706f9f0dedf593b6863e99bb3edb3.tar.gz nixlib-03ed16a1c4a706f9f0dedf593b6863e99bb3edb3.tar.bz2 nixlib-03ed16a1c4a706f9f0dedf593b6863e99bb3edb3.tar.lz nixlib-03ed16a1c4a706f9f0dedf593b6863e99bb3edb3.tar.xz nixlib-03ed16a1c4a706f9f0dedf593b6863e99bb3edb3.tar.zst nixlib-03ed16a1c4a706f9f0dedf593b6863e99bb3edb3.zip |
kservice: propagate service providers
Diffstat (limited to 'pkgs/development')
-rw-r--r-- | pkgs/development/libraries/kde-frameworks-5.15/kservice/default.nix | 6 | ||||
-rw-r--r-- | pkgs/development/libraries/kde-frameworks-5.15/kservice/setup-hook.sh | 43 |
2 files changed, 47 insertions, 2 deletions
diff --git a/pkgs/development/libraries/kde-frameworks-5.15/kservice/default.nix b/pkgs/development/libraries/kde-frameworks-5.15/kservice/default.nix index 5c7727cdb647..03b7c7c2f51d 100644 --- a/pkgs/development/libraries/kde-frameworks-5.15/kservice/default.nix +++ b/pkgs/development/libraries/kde-frameworks-5.15/kservice/default.nix @@ -4,9 +4,11 @@ kdeFramework { name = "kservice"; + setupHook = ./setup-hook.sh; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kcoreaddons kcrash kdbusaddons ]; - propagatedBuildInputs = [ kconfig ki18n kwindowsystem ]; + buildInputs = [ kcrash kdbusaddons ]; + propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ]; + propagatedUserEnvPkgs = [ kcoreaddons ]; patches = [ ./0001-qdiriterator-follow-symlinks.patch ./0002-no-canonicalize-path.patch diff --git a/pkgs/development/libraries/kde-frameworks-5.15/kservice/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.15/kservice/setup-hook.sh new file mode 100644 index 000000000000..c28e862ff8ae --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.15/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 |