From cc058eff7052be3e2cfdfc2eef5203521e34444e Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 16 Dec 2015 09:44:07 -0600 Subject: [PATCH] kde5_latest: merge all package sets The three KDE package sets now have circular dependencies between them, so they can only be built if they are merged into a single package set during evaluation. --- .../services/x11/desktop-managers/kde5.nix | 98 ++++++++-------- pkgs/applications/kde-apps-15.12/default.nix | 15 ++- pkgs/desktops/plasma-5.5/default.nix | 50 ++++---- .../libraries/kde-frameworks-5.17/default.nix | 44 ++++--- pkgs/top-level/all-packages.nix | 107 +++++++++--------- 5 files changed, 154 insertions(+), 160 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 06fc622325f7..933efa08fa35 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -8,9 +8,7 @@ let cfg = xcfg.desktopManager.kde5; xorg = pkgs.xorg; - kf5 = pkgs.kf5_stable; - plasma5 = pkgs.plasma5_stable; - kdeApps = pkgs.kdeApps_stable; + kde5 = pkgs.kde5; in @@ -57,12 +55,12 @@ in services.xserver.desktopManager.session = singleton { name = "kde5"; bgSupport = true; - start = ''exec ${plasma5.plasma-workspace}/bin/startkde;''; + start = ''exec ${kde5.plasma-workspace}/bin/startkde;''; }; security.setuidOwners = singleton { program = "kcheckpass"; - source = "${plasma5.plasma-workspace}/lib/libexec/kcheckpass"; + source = "${kde5.plasma-workspace}/lib/libexec/kcheckpass"; owner = "root"; group = "root"; setuid = true; @@ -72,61 +70,61 @@ in [ pkgs.qt4 # qtconfig is the only way to set Qt 4 theme - kf5.frameworkintegration - kf5.kinit + kde5.frameworkintegration + kde5.kinit - plasma5.breeze - plasma5.kde-cli-tools - plasma5.kdeplasma-addons - plasma5.kgamma5 - plasma5.khelpcenter - plasma5.khotkeys - plasma5.kinfocenter - plasma5.kmenuedit - plasma5.kscreen - plasma5.ksysguard - plasma5.kwayland - plasma5.kwin - plasma5.kwrited - plasma5.milou - plasma5.oxygen - plasma5.polkit-kde-agent - plasma5.systemsettings + kde5.breeze + kde5.kde-cli-tools + kde5.kdeplasma-addons + kde5.kgamma5 + kde5.khelpcenter + kde5.khotkeys + kde5.kinfocenter + kde5.kmenuedit + kde5.kscreen + kde5.ksysguard + kde5.kwayland + kde5.kwin + kde5.kwrited + kde5.milou + kde5.oxygen + kde5.polkit-kde-agent + kde5.systemsettings - plasma5.plasma-desktop - plasma5.plasma-workspace - plasma5.plasma-workspace-wallpapers + kde5.plasma-desktop + kde5.plasma-workspace + kde5.plasma-workspace-wallpapers - kdeApps.ark - kdeApps.dolphin - kdeApps.dolphin-plugins - kdeApps.ffmpegthumbs - kdeApps.gwenview - kdeApps.kate - kdeApps.kdegraphics-thumbnailers - kdeApps.konsole - kdeApps.okular - kdeApps.print-manager + kde5.ark + kde5.dolphin + kde5.dolphin-plugins + kde5.ffmpegthumbs + kde5.gwenview + kde5.kate + kde5.kdegraphics-thumbnailers + kde5.konsole + kde5.okular + kde5.print-manager # Oxygen icons moved to KDE Frameworks 5.16 and later. - (kdeApps.oxygen-icons or kf5.oxygen-icons5) + (kde5.oxygen-icons or kde5.oxygen-icons5) pkgs.hicolor_icon_theme - plasma5.kde-gtk-config + kde5.kde-gtk-config ] # Plasma 5.5 and later has a Breeze GTK theme. # If it is not available, Orion is very similar to Breeze. - ++ lib.optional (!(lib.hasAttr "breeze-gtk" plasma5)) pkgs.orion + ++ lib.optional (!(lib.hasAttr "breeze-gtk" kde5)) pkgs.orion # Install Breeze icons if available - ++ lib.optional (lib.hasAttr "breeze-icons" kf5) kf5.breeze-icons + ++ lib.optional (lib.hasAttr "breeze-icons" kde5) kde5.breeze-icons # Optional hardware support features - ++ lib.optional config.hardware.bluetooth.enable plasma5.bluedevil - ++ lib.optional config.networking.networkmanager.enable plasma5.plasma-nm - ++ lib.optional config.hardware.pulseaudio.enable plasma5.plasma-pa - ++ lib.optional config.powerManagement.enable plasma5.powerdevil + ++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil + ++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm + ++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa + ++ lib.optional config.powerManagement.enable kde5.powerdevil ++ lib.optionals cfg.phonon.gstreamer.enable [ @@ -167,13 +165,13 @@ in }; # Enable GTK applications to load SVG icons - environment.variables = mkIf (lib.hasAttr "breeze-icons" kf5) { + environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; }; - fonts.fonts = [ (plasma5.oxygen-fonts or pkgs.noto-fonts) ]; + fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ]; - programs.ssh.askPassword = "${plasma5.ksshaskpass}/bin/ksshaskpass"; + programs.ssh.askPassword = "${kde5.ksshaskpass}/bin/ksshaskpass"; # Enable helpful DBus services. services.udisks2.enable = true; @@ -185,8 +183,8 @@ in services.xserver.displayManager.sddm = { theme = "breeze"; themes = [ - plasma5.plasma-workspace - (kdeApps.oxygen-icons or kf5.oxygen-icons5) + kde5.plasma-workspace + (kde5.oxygen-icons or kde5.oxygen-icons5) ]; }; diff --git a/pkgs/applications/kde-apps-15.12/default.nix b/pkgs/applications/kde-apps-15.12/default.nix index a89f88b58faf..d5c0aa446683 100644 --- a/pkgs/applications/kde-apps-15.12/default.nix +++ b/pkgs/applications/kde-apps-15.12/default.nix @@ -21,12 +21,13 @@ let srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; mirror = "mirror://kde"; - kdeApp = import ./kde-app.nix { - inherit stdenv lib; - inherit debug srcs; - }; - packages = self: with self; { + + kdeApp = import ./kde-app.nix { + inherit stdenv lib; + inherit debug srcs; + }; + kdelibs = callPackage ./kdelibs { inherit (pkgs) attica phonon; }; ark = callPackage ./ark.nix {}; @@ -49,6 +50,4 @@ let l10n = pkgs.recurseIntoAttrs (import ./l10n.nix { inherit callPackage lib pkgs; }); }; - newScope = scope: pkgs.kf517.newScope ({ inherit kdeApp; } // scope); - -in lib.makeScope newScope packages +in packages diff --git a/pkgs/desktops/plasma-5.5/default.nix b/pkgs/desktops/plasma-5.5/default.nix index 812c70c2b004..c9fcbdd8e6a0 100644 --- a/pkgs/desktops/plasma-5.5/default.nix +++ b/pkgs/desktops/plasma-5.5/default.nix @@ -16,33 +16,33 @@ let srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; mirror = "mirror://kde"; - plasmaPackage = args: - let - inherit (args) name; - sname = args.sname or name; - inherit (srcs."${sname}") src version; - in stdenv.mkDerivation (args // { - name = "${name}-${version}"; - inherit src; + packages = self: with self; { + plasmaPackage = args: + let + inherit (args) name; + sname = args.sname or name; + inherit (srcs."${sname}") src version; + in stdenv.mkDerivation (args // { + name = "${name}-${version}"; + inherit src; - setupHook = args.setupHook or ./setup-hook.sh; + setupHook = args.setupHook or ./setup-hook.sh; - cmakeFlags = - (args.cmakeFlags or []) - ++ [ "-DBUILD_TESTING=OFF" ] - ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; + cmakeFlags = + (args.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; - 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 {}); - }); + 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 {}); + }); - addPackages = self: with self; { bluedevil = callPackage ./bluedevil.nix {}; breeze-gtk = callPackage ./breeze-gtk.nix {}; breeze-qt4 = callPackage ./breeze-qt4.nix {}; @@ -81,6 +81,4 @@ let systemsettings = callPackage ./systemsettings.nix {}; }; - newScope = scope: kdeApps.newScope ({ inherit plasmaPackage; } // scope); - -in lib.makeScope newScope addPackages +in packages diff --git a/pkgs/development/libraries/kde-frameworks-5.17/default.nix b/pkgs/development/libraries/kde-frameworks-5.17/default.nix index 6c2889aa5981..3a865b9d4040 100644 --- a/pkgs/development/libraries/kde-frameworks-5.17/default.nix +++ b/pkgs/development/libraries/kde-frameworks-5.17/default.nix @@ -14,29 +14,29 @@ let mirror = "mirror://kde"; srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; - kdeFramework = args: - let - inherit (args) name; - inherit (srcs."${name}") src version; - in stdenv.mkDerivation (args // { - name = "${name}-${version}"; - inherit src; + packages = self: with self; { + kdeFramework = args: + let + inherit (args) name; + inherit (srcs."${name}") src version; + in stdenv.mkDerivation (args // { + name = "${name}-${version}"; + inherit src; - cmakeFlags = - (args.cmakeFlags or []) - ++ [ "-DBUILD_TESTING=OFF" ] - ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; + cmakeFlags = + (args.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; - meta = { - license = with lib.licenses; [ - lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 - ]; - platforms = lib.platforms.linux; - homepage = "http://www.kde.org"; - } // (args.meta or {}); - }); + meta = { + license = with lib.licenses; [ + lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 + ]; + platforms = lib.platforms.linux; + homepage = "http://www.kde.org"; + } // (args.meta or {}); + }); - addPackages = self: with self; { attica = callPackage ./attica.nix {}; baloo = callPackage ./baloo.nix {}; bluez-qt = callPackage ./bluez-qt.nix {}; @@ -109,6 +109,4 @@ let threadweaver = callPackage ./threadweaver.nix {}; }; - newScope = scope: pkgs.qt55Libs.newScope ({ inherit kdeFramework; } // scope); - -in lib.makeScope newScope addPackages +in packages diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index efc59b70340f..b5a17114a4b1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6859,54 +6859,10 @@ let }; kf515 = recurseIntoAttrs (import ../development/libraries/kde-frameworks-5.15 { inherit pkgs; }); - kf517 = recurseIntoAttrs (import ../development/libraries/kde-frameworks-5.17 { inherit pkgs; }); + kf517 = import ../development/libraries/kde-frameworks-5.17 { inherit pkgs; }; kf5_stable = kf515; kf5_latest = kf517; - kf5PackagesFun = self: with self; { - - fcitx-qt5 = callPackage ../tools/inputmethods/fcitx/fcitx-qt5.nix { }; - - k9copy = callPackage ../applications/video/k9copy {}; - - quassel = callPackage ../applications/networking/irc/quassel/qt-5.nix { - monolithic = true; - daemon = false; - client = false; - withKDE = true; - dconf = gnome3.dconf; - tag = "-kf5"; - }; - - quasselClient = quassel.override { - monolithic = false; - client = true; - tag = "-client-kf5"; - }; - - quassel_qt5 = quassel.override { - withKDE = false; - tag = "-qt5"; - }; - - quasselClient_qt5 = quasselClient.override { - withKDE = false; - tag = "-client-qt5"; - }; - - quasselDaemon = quassel.override { - monolithic = false; - daemon = true; - tag = "-daemon-qt5"; - withKDE = false; - }; - - }; - - kf515Packages = lib.makeScope kf515.newScope kf5PackagesFun; - kf517Packages = lib.makeScope kf517.newScope kf5PackagesFun; - kf5Packages = kf515Packages; - kinetic-cpp-client = callPackage ../development/libraries/kinetic-cpp-client { }; krb5Full = callPackage ../development/libraries/kerberos/krb5.nix { @@ -12250,7 +12206,7 @@ let }; kdeApps_15_08 = recurseIntoAttrs (import ../applications/kde-apps-15.08 { inherit pkgs; }); - kdeApps_15_12 = recurseIntoAttrs (import ../applications/kde-apps-15.12 { inherit pkgs; }); + kdeApps_15_12 = import ../applications/kde-apps-15.12 { inherit pkgs; }; kdeApps_stable = kdeApps_15_08; kdeApps_latest = kdeApps_15_12; @@ -14756,11 +14712,56 @@ let numix-gtk-theme = callPackage ../misc/themes/gtk3/numix-gtk-theme { }; plasma54 = recurseIntoAttrs (import ../desktops/plasma-5.4 { inherit pkgs; }); - plasma55 = recurseIntoAttrs (import ../desktops/plasma-5.5 { inherit pkgs; }); + plasma55 = import ../desktops/plasma-5.5 { inherit pkgs; }; plasma5_stable = plasma54; plasma5_latest = plasma55; - kde5 = kf5_stable // plasma5_stable // kdeApps_stable; + kde5PackagesFun = self: with self; { + + fcitx-qt5 = callPackage ../tools/inputmethods/fcitx/fcitx-qt5.nix { }; + + k9copy = callPackage ../applications/video/k9copy {}; + + quassel = callPackage ../applications/networking/irc/quassel/qt-5.nix { + monolithic = true; + daemon = false; + client = false; + withKDE = true; + dconf = gnome3.dconf; + tag = "-kf5"; + }; + + quasselClient = quassel.override { + monolithic = false; + client = true; + tag = "-client-kf5"; + }; + + quassel_qt5 = quassel.override { + withKDE = false; + tag = "-qt5"; + }; + + quasselClient_qt5 = quasselClient.override { + withKDE = false; + tag = "-client-qt5"; + }; + + quasselDaemon = quassel.override { + monolithic = false; + daemon = true; + tag = "-daemon-qt5"; + withKDE = false; + }; + + }; + + kde5 = kf5_stable // plasma5_stable // kdeApps_stable // kde5PackagesFun kde5; + + kde5_latest = + recurseIntoAttrs + (lib.makeScope qt55Libs.newScope (self: + kf5_latest self // plasma5_latest self // kdeApps_latest self // kde5PackagesFun self)); theme-vertex = callPackage ../misc/themes/vertex { }; @@ -15784,11 +15785,11 @@ aliases = with self; rec { lttngTools = lttng-tools; # added 2014-07-31 lttngUst = lttng-ust; # added 2014-07-31 nfsUtils = nfs-utils; # added 2014-12-06 - quassel_qt5 = kf5Packages.quassel_qt5; # added 2015-09-30 - quasselClient_qt5 = kf5Packages.quasselClient_qt5; # added 2015-09-30 - quasselDaemon_qt5 = kf5Packages.quasselDaemon; # added 2015-09-30 - quassel_kf5 = kf5Packages.quassel; # added 2015-09-30 - quasselClient_kf5 = kf5Packages.quasselClient; # added 2015-09-30 + quassel_qt5 = kde5.quassel_qt5; # added 2015-09-30 + quasselClient_qt5 = kde5.quasselClient_qt5; # added 2015-09-30 + quasselDaemon_qt5 = kde5.quasselDaemon; # added 2015-09-30 + quassel_kf5 = kde5.quassel; # added 2015-09-30 + quasselClient_kf5 = kde5.quasselClient; # added 2015-09-30 rdiff_backup = rdiff-backup; # added 2014-11-23 rssglx = rss-glx; #added 2015-03-25 rxvt_unicode_with-plugins = rxvt_unicode-with-plugins; # added 2015-04-02