diff options
Diffstat (limited to 'pkgs/development/libraries/kde-frameworks/default.nix')
-rw-r--r-- | pkgs/development/libraries/kde-frameworks/default.nix | 62 |
1 files changed, 58 insertions, 4 deletions
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index e5a765d7c164..abe17848f3bc 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -27,14 +27,68 @@ existing packages here and modify it as necessary. { libsForQt5, lib, fetchurl }: let + + srcs = import ./srcs.nix { + inherit fetchurl; + mirror = "mirror://kde"; + }; + + mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; + packages = self: with self; let + + propagateBin = + let setupHook = { writeScript }: + writeScript "setup-hook.sh" '' + # Propagate $bin output + propagatedUserEnvPkgs+=" @bin@" + + # Propagate $dev so that this setup hook is propagated + # But only if there is a separate $dev output + if [ "$outputDev" != out ]; then + if [ -n "$crossConfig" ]; then + propagatedBuildInputs+=" @dev@" + else + propagatedNativeBuildInputs+=" @dev@" + fi + fi + ''; + in callPackage setupHook {}; + callPackage = self.newScope { - kdeFramework = import ./build-support/framework.nix { - inherit lib fetchurl; - mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; - }; + + inherit propagateBin; + + mkDerivation = args: + let + + inherit (args) name; + inherit (srcs."${name}") src version; + + outputs = args.outputs or [ "out" "dev" "bin" ]; + hasBin = lib.elem "bin" outputs; + hasDev = lib.elem "dev" outputs; + + defaultSetupHook = if hasBin && hasDev then propagateBin else null; + setupHook = args.setupHook or defaultSetupHook; + + meta = { + homepage = "http://www.kde.org"; + license = with lib.licenses; [ + lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 + ]; + maintainers = [ lib.maintainers.ttuegel ]; + platforms = lib.platforms.linux; + } // (args.meta or {}); + + in mkDerivation (args // { + name = "${name}-${version}"; + inherit meta outputs setupHook src; + }); + }; + in { attica = callPackage ./attica.nix {}; baloo = callPackage ./baloo.nix {}; |