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.
This commit is contained in:
Thomas Tuegel 2015-12-16 09:44:07 -06:00
parent da89338993
commit cc058eff70
5 changed files with 154 additions and 160 deletions

View File

@ -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)
];
};

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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