diff options
author | Thomas Tuegel <ttuegel@mailbox.org> | 2017-05-22 13:49:07 -0500 |
---|---|---|
committer | Thomas Tuegel <ttuegel@mailbox.org> | 2017-06-18 08:44:45 -0500 |
commit | faf0d3e91d7a08a95a9dd8a7faa4d2f5ee5cb4eb (patch) | |
tree | 494e37aed0ec56df26ae359a4adad7dee117420d /pkgs/development/libraries | |
parent | 087f20e8c66372bdba86fa309dd4e1be3f35d821 (diff) |
kdeFrameworks: fixup inputs and outputs
- Reduce environment pollution with a separate $bin output containing programs,
plugins, and shared data. Libraries remain in $out and are not installed into
the environment.
- Only propagate build inputs as required.
Diffstat (limited to 'pkgs/development/libraries')
74 files changed, 413 insertions, 239 deletions
diff --git a/pkgs/development/libraries/kde-frameworks/attica.nix b/pkgs/development/libraries/kde-frameworks/attica.nix index c70be1b877d8..3c725223979e 100644 --- a/pkgs/development/libraries/kde-frameworks/attica.nix +++ b/pkgs/development/libraries/kde-frameworks/attica.nix @@ -8,4 +8,5 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ qtbase ]; + outputs = [ "out" "dev" ]; } diff --git a/pkgs/development/libraries/kde-frameworks/baloo.nix b/pkgs/development/libraries/kde-frameworks/baloo.nix index 9bbb9a1101b4..d5da9f5af176 100644 --- a/pkgs/development/libraries/kde-frameworks/baloo.nix +++ b/pkgs/development/libraries/kde-frameworks/baloo.nix @@ -1,14 +1,17 @@ -{ mkDerivation, lib, extra-cmake-modules, kauth, kconfig -, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime -, kio, lmdb, qtbase, solid +{ + mkDerivation, lib, + extra-cmake-modules, + kauth, kconfig, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, + kidletime, kio, lmdb, qtbase, qtdeclarative, solid, }: mkDerivation { name = "baloo"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ - kauth kconfig kcoreaddons kcrash kdbusaddons kfilemetadata ki18n kio - kidletime lmdb qtbase solid + buildInputs = [ + kauth kconfig kcrash kdbusaddons ki18n kio kidletime lmdb qtdeclarative + solid ]; + propagatedBuildInputs = [ kcoreaddons kfilemetadata qtbase ]; } diff --git a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix index 2f3b960f3bdf..ec4deae6cb40 100644 --- a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix +++ b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix @@ -10,9 +10,10 @@ mkDerivation { broken = builtins.compareVersions qtbase.version "5.6.0" < 0; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ qtdeclarative ]; + buildInputs = [ qtdeclarative ]; + propagatedBuildInputs = [ qtbase ]; preConfigure = '' substituteInPlace CMakeLists.txt \ - --replace /lib/udev/rules.d "$out/lib/udev/rules.d" + --replace /lib/udev/rules.d "$bin/lib/udev/rules.d" ''; } diff --git a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix index 1c4ed2a99094..9e4a40b22aba 100644 --- a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix +++ b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix @@ -3,8 +3,7 @@ mkDerivation { name = "breeze-icons"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - outputs = [ "out" ]; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ qtsvg ]; - propagatedUserEnvPkgs = [ qtsvg.out ]; + outputs = [ "out" ]; # only runtime outputs } diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index 71b24a0da6ba..8ab1d1b99b65 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -39,11 +39,11 @@ let # SUPPORT let - propagateBin = + propagate = out: let setupHook = { writeScript }: writeScript "setup-hook.sh" '' - # Propagate $bin output - propagatedUserEnvPkgs+=" @bin@" + # Propagate $${out} output + propagatedUserEnvPkgs+=" @${out}@" # Propagate $dev so that this setup hook is propagated # But only if there is a separate $dev output @@ -57,9 +57,11 @@ let ''; in callPackage setupHook {}; + propagateBin = propagate "bin"; + callPackage = self.newScope { - inherit propagateBin; + inherit propagate propagateBin; mkDerivation = args: let diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index a550cda1fa23..c1b1e21852cf 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -1,17 +1,16 @@ -_ecmSetXdgDirs() { +_ecmEnvHook() { addToSearchPath XDG_DATA_DIRS "$1/share" addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg" } +envHooks+=(_ecmEnvHook) -envHooks+=(_ecmSetXdgDirs) - -_ecmConfig() { +_ecmPreConfigureHook() { # Because we need to use absolute paths here, we must set *all* the paths. cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" - cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputBin}/lib/libexec" + cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec" cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" @@ -25,7 +24,7 @@ _ecmConfig() { cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputBin}/share/kxmlgui5" cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputBin}/share/knotifications5" cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons" - cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputBin}/share/locale" + cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds" cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates" cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers" @@ -52,5 +51,4 @@ _ecmConfig() { cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" fi } - -preConfigureHooks+=(_ecmConfig) +preConfigureHooks+=(_ecmPreConfigureHook) diff --git a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix index 8f2d1446fcf0..58b064806e52 100644 --- a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix +++ b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix @@ -9,8 +9,9 @@ mkDerivation { name = "frameworkintegration"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ - kbookmarks kcompletion kconfig kconfigwidgets ki18n kio kiconthemes - knewstuff knotifications kpackage kwidgetsaddons libXcursor qtx11extras + buildInputs = [ + kbookmarks kcompletion kconfig ki18n kio knewstuff knotifications kpackage + kwidgetsaddons libXcursor qtx11extras ]; + propagatedBuildInputs = [ kconfigwidgets kiconthemes ]; } diff --git a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix index 99737ea2b833..b558306248ae 100644 --- a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix +++ b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix @@ -1,8 +1,14 @@ -{ mkDerivation, lib, extra-cmake-modules, boost, kactivities, kconfig }: +{ + mkDerivation, lib, + extra-cmake-modules, + boost, kactivities, kconfig, qtbase, +}: mkDerivation { name = "kactivities-stats"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ boost kactivities kconfig ]; + buildInputs = [ boost kactivities kconfig ]; + propagatedBuildInputs = [ qtbase ]; + outputs = [ "out" "dev" ]; } diff --git a/pkgs/development/libraries/kde-frameworks/kactivities.nix b/pkgs/development/libraries/kde-frameworks/kactivities.nix index 59b5639c24ff..eabac6aadd7e 100644 --- a/pkgs/development/libraries/kde-frameworks/kactivities.nix +++ b/pkgs/development/libraries/kde-frameworks/kactivities.nix @@ -1,14 +1,15 @@ -{ mkDerivation, lib, extra-cmake-modules, boost, kcmutils, kconfig -, kcoreaddons, kdbusaddons, kdeclarative, kglobalaccel, ki18n -, kio, kservice, kwindowsystem, kxmlgui, qtdeclarative +{ + mkDerivation, lib, + extra-cmake-modules, + boost, kconfig, kcoreaddons, kio, kwindowsystem, qtbase, qtdeclarative, }: mkDerivation { name = "kactivities"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ - boost kcmutils kconfig kcoreaddons kdbusaddons kdeclarative kglobalaccel - ki18n kio kservice kwindowsystem kxmlgui qtdeclarative + buildInputs = [ + boost kconfig kcoreaddons kio kwindowsystem qtdeclarative ]; + propagatedBuildInputs = [ qtbase ]; } diff --git a/pkgs/development/libraries/kde-frameworks/kapidox.nix b/pkgs/development/libraries/kde-frameworks/kapidox.nix index 0d3ccc276fc8..ca5e773a45b9 100644 --- a/pkgs/development/libraries/kde-frameworks/kapidox.nix +++ b/pkgs/development/libraries/kde-frameworks/kapidox.nix @@ -4,4 +4,7 @@ mkDerivation { name = "kapidox"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules python ]; + postFixup = '' + moveToOutput bin $bin + ''; } diff --git a/pkgs/development/libraries/kde-frameworks/karchive.nix b/pkgs/development/libraries/kde-frameworks/karchive.nix index 5f725a75d56d..1f90db2bc028 100644 --- a/pkgs/development/libraries/kde-frameworks/karchive.nix +++ b/pkgs/development/libraries/kde-frameworks/karchive.nix @@ -1,4 +1,8 @@ -{ mkDerivation, lib, extra-cmake-modules, qtbase }: +{ + mkDerivation, lib, + extra-cmake-modules, + bzip2, lzma, qtbase, zlib, +}: mkDerivation { name = "karchive"; @@ -7,5 +11,7 @@ mkDerivation { broken = builtins.compareVersions qtbase.version "5.6.0" < 0; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ qtbase ]; + buildInputs = [ bzip2 lzma zlib ]; + propagatedBuildInputs = [ qtbase ]; + outputs = [ "out" "dev" ]; } diff --git a/pkgs/development/libraries/kde-frameworks/kauth/default.nix b/pkgs/development/libraries/kde-frameworks/kauth/default.nix index 25cdb7f4a19c..c94c8b91ecd2 100644 --- a/pkgs/development/libraries/kde-frameworks/kauth/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kauth/default.nix @@ -1,12 +1,17 @@ { - mkDerivation, lib, copyPathsToStore, + mkDerivation, lib, copyPathsToStore, propagate, extra-cmake-modules, kcoreaddons, polkit-qt, qttools }: mkDerivation { name = "kauth"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules qttools ]; - propagatedBuildInputs = [ kcoreaddons polkit-qt ]; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ polkit-qt qttools ]; + propagatedBuildInputs = [ kcoreaddons ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + # library stores reference to plugin path, + # separating $out from $bin would create a reference cycle + outputs = [ "out" "dev" ]; + setupHook = propagate "out"; } diff --git a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix index 0873094af3df..dc2339632e45 100644 --- a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix +++ b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix @@ -1,13 +1,17 @@ { - mkDerivation, lib, extra-cmake-modules, - kcodecs, kconfig, kconfigwidgets, kcoreaddons, kiconthemes, kxmlgui + mkDerivation, lib, + extra-cmake-modules, qttools, + kcodecs, kconfig, kconfigwidgets, kcoreaddons, kiconthemes, kwidgetsaddons, + kxmlgui, qtbase, }: mkDerivation { name = "kbookmarks"; meta = { maintainers = [ lib.maintainers.ttuegel ]; }; - nativeBuildInputs = [ extra-cmake-modules ]; - propagatedBuildInputs = [ + nativeBuildInputs = [ extra-cmake-modules qttools ]; + buildInputs = [ kcodecs kconfig kconfigwidgets kcoreaddons kiconthemes kxmlgui ]; + propagatedBuildInputs = [ kwidgetsaddons qtbase ]; |