diff --git a/pkgs/development/libraries/kde-frameworks-5.15/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks-5.15/extra-cmake-modules/default.nix index 3c5b4155fa4..4e1b1aff3bd 100644 --- a/pkgs/development/libraries/kde-frameworks-5.15/extra-cmake-modules/default.nix +++ b/pkgs/development/libraries/kde-frameworks-5.15/extra-cmake-modules/default.nix @@ -4,6 +4,8 @@ kdeFramework { name = "extra-cmake-modules"; patches = [ ./0001-extra-cmake-modules-paths.patch ]; + setupHook = ./setup-hook.sh; + # It is OK to propagate these inputs as long as # extra-cmake-modules is never a propagated input # of some other derivation. diff --git a/pkgs/development/libraries/kde-frameworks-5.15/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.15/extra-cmake-modules/setup-hook.sh new file mode 100644 index 00000000000..a6fa6189240 --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.15/extra-cmake-modules/setup-hook.sh @@ -0,0 +1,27 @@ +addMimePkg() { + local propagated + + if [[ -d "$1/share/mime" ]]; then + propagated= + for pkg in $propagatedBuildInputs; do + if [[ "z$pkg" == "z$1" ]]; then + propagated=1 + fi + done + if [[ -z $propagated ]]; then + propagatedBuildInputs="$propagatedBuildInputs $1" + fi + + propagated= + for pkg in $propagatedUserEnvPkgs; do + if [[ "z$pkg" == "z$1" ]]; then + propagated=1 + fi + done + if [[ -z $propagated ]]; then + propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1" + fi + fi +} + +envHooks+=(addMimePkg)