diff options
Diffstat (limited to 'pkgs/desktops/plasma-5/default.nix')
-rw-r--r-- | pkgs/desktops/plasma-5/default.nix | 60 |
1 files changed, 56 insertions, 4 deletions
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 1a8f1ed064b0..e101d4e14c57 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -25,19 +25,71 @@ existing packages here and modify it as necessary. */ { - libsForQt5, kdeDerivation, lib, fetchurl, + libsForQt5, lib, fetchurl, gconf, debug ? false, }: let + srcs = import ./srcs.nix { + inherit fetchurl; + mirror = "mirror://kde"; + }; + + mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; + packages = self: with self; let + + propagate = out: + let setupHook = { writeScript }: + writeScript "setup-hook.sh" '' + # Propagate $${out} output + propagatedUserEnvPkgs+=" @${out}@" + + # 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 {}; + + propagateBin = propagate "bin"; + callPackage = self.newScope { - plasmaPackage = import ./build-support/package.nix { - inherit kdeDerivation lib fetchurl; - }; + mkDerivation = args: + let + inherit (args) name; + sname = args.sname or name; + inherit (srcs."${sname}") src version; + + outputs = args.outputs or [ "out" ]; + hasBin = lib.elem "bin" outputs; + hasDev = lib.elem "dev" outputs; + + defaultSetupHook = if hasBin && hasDev then propagateBin else null; + setupHook = args.setupHook or defaultSetupHook; + + meta = { + license = with lib.licenses; [ + lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 + ]; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ ttuegel ]; + homepage = "http://www.kde.org"; + } // (args.meta or {}); + in + mkDerivation (args // { + name = "${name}-${version}"; + inherit meta outputs setupHook src; + }); }; + in { bluedevil = callPackage ./bluedevil.nix {}; breeze-gtk = callPackage ./breeze-gtk.nix {}; |