From a482b9be4a2481333872cf2d2fcb042529d23def Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 27 Sep 2015 10:03:00 -0500 Subject: [PATCH] plasma54: init at 5.4.1 --- pkgs/desktops/plasma-5.4/bluedevil.nix | 39 ++ pkgs/desktops/plasma-5.4/breeze-qt4.nix | 29 ++ pkgs/desktops/plasma-5.4/breeze-qt5.nix | 35 ++ pkgs/desktops/plasma-5.4/default.nix | 87 ++++ pkgs/desktops/plasma-5.4/fetchsrcs.sh | 47 ++ pkgs/desktops/plasma-5.4/kde-cli-tools.nix | 41 ++ pkgs/desktops/plasma-5.4/kde-gtk-config.nix | 26 ++ pkgs/desktops/plasma-5.4/kdecoration.nix | 6 + pkgs/desktops/plasma-5.4/kdeplasma-addons.nix | 46 ++ pkgs/desktops/plasma-5.4/kgamma5.nix | 18 + pkgs/desktops/plasma-5.4/khelpcenter.nix | 35 ++ pkgs/desktops/plasma-5.4/khotkeys.nix | 34 ++ pkgs/desktops/plasma-5.4/kinfocenter.nix | 53 +++ pkgs/desktops/plasma-5.4/kmenuedit.nix | 31 ++ pkgs/desktops/plasma-5.4/kscreen.nix | 33 ++ pkgs/desktops/plasma-5.4/ksshaskpass.nix | 25 ++ pkgs/desktops/plasma-5.4/ksysguard.nix | 34 ++ pkgs/desktops/plasma-5.4/kwayland.nix | 14 + pkgs/desktops/plasma-5.4/kwin/default.nix | 85 ++++ .../kwin-import-plugin-follow-symlinks.patch | 13 + .../plasma-5.4/kwin/libinput-0.8.patch | 25 ++ pkgs/desktops/plasma-5.4/kwrited.nix | 22 + .../plasma-5.4/libkscreen/default.nix | 16 + .../libkscreen/libkscreen-backend-path.patch | 130 ++++++ pkgs/desktops/plasma-5.4/libksysguard.nix | 42 ++ pkgs/desktops/plasma-5.4/milou.nix | 28 ++ pkgs/desktops/plasma-5.4/oxygen-fonts.nix | 12 + pkgs/desktops/plasma-5.4/oxygen.nix | 38 ++ .../plasma-desktop/0001-hwclock.patch | 36 ++ .../plasma-desktop/0002-zoneinfo.patch | 30 ++ .../plasma-5.4/plasma-desktop/default.nix | 113 +++++ .../plasma-5.4/plasma-mediacenter.nix | 40 ++ pkgs/desktops/plasma-5.4/plasma-nm.nix | 65 +++ pkgs/desktops/plasma-5.4/plasma-pa.nix | 28 ++ .../plasma-workspace-wallpapers.nix | 10 + .../0001-startkde-NixOS-patches.patch | 404 ++++++++++++++++++ .../plasma-5.4/plasma-workspace/default.nix | 125 ++++++ pkgs/desktops/plasma-5.4/polkit-kde-agent.nix | 32 ++ pkgs/desktops/plasma-5.4/powerdevil.nix | 44 ++ pkgs/desktops/plasma-5.4/setup-hook.sh | 1 + pkgs/desktops/plasma-5.4/srcs.nix | 301 +++++++++++++ pkgs/desktops/plasma-5.4/systemsettings.nix | 39 ++ pkgs/top-level/all-packages.nix | 1 + 43 files changed, 2313 insertions(+) create mode 100644 pkgs/desktops/plasma-5.4/bluedevil.nix create mode 100644 pkgs/desktops/plasma-5.4/breeze-qt4.nix create mode 100644 pkgs/desktops/plasma-5.4/breeze-qt5.nix create mode 100644 pkgs/desktops/plasma-5.4/default.nix create mode 100755 pkgs/desktops/plasma-5.4/fetchsrcs.sh create mode 100644 pkgs/desktops/plasma-5.4/kde-cli-tools.nix create mode 100644 pkgs/desktops/plasma-5.4/kde-gtk-config.nix create mode 100644 pkgs/desktops/plasma-5.4/kdecoration.nix create mode 100644 pkgs/desktops/plasma-5.4/kdeplasma-addons.nix create mode 100644 pkgs/desktops/plasma-5.4/kgamma5.nix create mode 100644 pkgs/desktops/plasma-5.4/khelpcenter.nix create mode 100644 pkgs/desktops/plasma-5.4/khotkeys.nix create mode 100644 pkgs/desktops/plasma-5.4/kinfocenter.nix create mode 100644 pkgs/desktops/plasma-5.4/kmenuedit.nix create mode 100644 pkgs/desktops/plasma-5.4/kscreen.nix create mode 100644 pkgs/desktops/plasma-5.4/ksshaskpass.nix create mode 100644 pkgs/desktops/plasma-5.4/ksysguard.nix create mode 100644 pkgs/desktops/plasma-5.4/kwayland.nix create mode 100644 pkgs/desktops/plasma-5.4/kwin/default.nix create mode 100644 pkgs/desktops/plasma-5.4/kwin/kwin-import-plugin-follow-symlinks.patch create mode 100644 pkgs/desktops/plasma-5.4/kwin/libinput-0.8.patch create mode 100644 pkgs/desktops/plasma-5.4/kwrited.nix create mode 100644 pkgs/desktops/plasma-5.4/libkscreen/default.nix create mode 100644 pkgs/desktops/plasma-5.4/libkscreen/libkscreen-backend-path.patch create mode 100644 pkgs/desktops/plasma-5.4/libksysguard.nix create mode 100644 pkgs/desktops/plasma-5.4/milou.nix create mode 100644 pkgs/desktops/plasma-5.4/oxygen-fonts.nix create mode 100644 pkgs/desktops/plasma-5.4/oxygen.nix create mode 100644 pkgs/desktops/plasma-5.4/plasma-desktop/0001-hwclock.patch create mode 100644 pkgs/desktops/plasma-5.4/plasma-desktop/0002-zoneinfo.patch create mode 100644 pkgs/desktops/plasma-5.4/plasma-desktop/default.nix create mode 100644 pkgs/desktops/plasma-5.4/plasma-mediacenter.nix create mode 100644 pkgs/desktops/plasma-5.4/plasma-nm.nix create mode 100644 pkgs/desktops/plasma-5.4/plasma-pa.nix create mode 100644 pkgs/desktops/plasma-5.4/plasma-workspace-wallpapers.nix create mode 100644 pkgs/desktops/plasma-5.4/plasma-workspace/0001-startkde-NixOS-patches.patch create mode 100644 pkgs/desktops/plasma-5.4/plasma-workspace/default.nix create mode 100644 pkgs/desktops/plasma-5.4/polkit-kde-agent.nix create mode 100644 pkgs/desktops/plasma-5.4/powerdevil.nix create mode 100644 pkgs/desktops/plasma-5.4/setup-hook.sh create mode 100644 pkgs/desktops/plasma-5.4/srcs.nix create mode 100644 pkgs/desktops/plasma-5.4/systemsettings.nix diff --git a/pkgs/desktops/plasma-5.4/bluedevil.nix b/pkgs/desktops/plasma-5.4/bluedevil.nix new file mode 100644 index 00000000000..83b0ab64b65 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/bluedevil.nix @@ -0,0 +1,39 @@ +{ mkDerivation +, extra-cmake-modules +, bluez-qt +, kcoreaddons +, kdbusaddons +, kded +, ki18n +, kiconthemes +, kio +, knotifications +, kwidgetsaddons +, kwindowsystem +, plasma-framework +, qtdeclarative +, shared_mime_info +}: + +mkDerivation { + name = "bluedevil"; + nativeBuildInputs = [ extra-cmake-modules shared_mime_info ]; + buildInputs = [ + bluez-qt + kcoreaddons + kdbusaddons + kded + ki18n + kiconthemes + kio + knotifications + kwidgetsaddons + kwindowsystem + plasma-framework + qtdeclarative + ]; + postInstall = '' + wrapKDEProgram "$out/bin/bluedevil-wizard" + wrapKDEProgram "$out/bin/bluedevil-sendfile" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/breeze-qt4.nix b/pkgs/desktops/plasma-5.4/breeze-qt4.nix new file mode 100644 index 00000000000..c7a11fa0ff1 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/breeze-qt4.nix @@ -0,0 +1,29 @@ +{ mkDerivation +, automoc4 +, cmake +, perl +, pkgconfig +, kdelibs +, qt4 +, xproto +}: + +mkDerivation { + name = "breeze-qt4"; + sname = "breeze"; + buildInputs = [ + kdelibs + qt4 + xproto + ]; + nativeBuildInputs = [ + automoc4 + cmake + perl + pkgconfig + ]; + cmakeFlags = [ + "-DUSE_KDE4=ON" + "-DQT_QMAKE_EXECUTABLE=${qt4}/bin/qmake" + ]; +} diff --git a/pkgs/desktops/plasma-5.4/breeze-qt5.nix b/pkgs/desktops/plasma-5.4/breeze-qt5.nix new file mode 100644 index 00000000000..993f0826dda --- /dev/null +++ b/pkgs/desktops/plasma-5.4/breeze-qt5.nix @@ -0,0 +1,35 @@ +{ mkDerivation +, extra-cmake-modules +, frameworkintegration +, kcmutils +, kconfigwidgets +, kcoreaddons +, kdecoration +, kguiaddons +, ki18n +, kwindowsystem +, qtx11extras +}: + +mkDerivation { + name = "breeze-qt5"; + sname = "breeze"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + frameworkintegration + kcmutils + kconfigwidgets + kcoreaddons + kdecoration + kguiaddons + ki18n + kwindowsystem + qtx11extras + ]; + cmakeFlags = [ "-DUSE_KDE4=OFF" ]; + postInstall = '' + wrapKDEProgram "$out/bin/breeze-settings5" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/default.nix b/pkgs/desktops/plasma-5.4/default.nix new file mode 100644 index 00000000000..152bc351067 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/default.nix @@ -0,0 +1,87 @@ +# Maintainer's Notes: +# +# How To Update +# 1. Edit the URL in ./manifest.sh +# 2. Run ./manifest.sh +# 3. Fix build errors. + +{ pkgs, debug ? false }: + +let + + inherit (pkgs) lib stdenv symlinkJoin; + + kf5 = pkgs.kf513; + kdeApps = pkgs.kdeApps_15_08; + + srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; + mirror = "mirror://kde"; + + mkDerivation = args: + let + inherit (stdenv) mkDerivation; + inherit (args) name; + sname = args.sname or name; + inherit (srcs."${sname}") src version; + in mkDerivation (args // { + name = "${name}-${version}"; + inherit src; + + setupHook = args.setupHook or ./setup-hook.sh; + + 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 {}); + }); + + addPackages = self: with self; { + bluedevil = callPackage ./bluedevil.nix {}; + breeze-qt4 = callPackage ./breeze-qt4.nix {}; + breeze-qt5 = callPackage ./breeze-qt5.nix {}; + breeze = + let version = (builtins.parseDrvName breeze-qt5.name).version; + in symlinkJoin "breeze-${version}" [ breeze-qt4 breeze-qt5 ]; + kde-cli-tools = callPackage ./kde-cli-tools.nix {}; + kde-gtk-config = callPackage ./kde-gtk-config.nix {}; + kdecoration = callPackage ./kdecoration.nix {}; + kdeplasma-addons = callPackage ./kdeplasma-addons.nix {}; + kgamma5 = callPackage ./kgamma5.nix {}; + khelpcenter = callPackage ./khelpcenter.nix {}; + khotkeys = callPackage ./khotkeys.nix {}; + kinfocenter = callPackage ./kinfocenter.nix {}; + kmenuedit = callPackage ./kmenuedit.nix {}; + kscreen = callPackage ./kscreen.nix {}; + ksshaskpass = callPackage ./ksshaskpass.nix {}; + ksysguard = callPackage ./ksysguard.nix {}; + kwayland = callPackage ./kwayland.nix {}; + kwin = callPackage ./kwin {}; + kwrited = callPackage ./kwrited.nix {}; + libkscreen = callPackage ./libkscreen {}; + libksysguard = callPackage ./libksysguard.nix {}; + milou = callPackage ./milou.nix {}; + oxygen = callPackage ./oxygen.nix {}; + oxygen-fonts = callPackage ./oxygen-fonts.nix {}; + plasma-desktop = callPackage ./plasma-desktop {}; + plasma-mediacenter = callPackage ./plasma-mediacenter.nix {}; + plasma-nm = callPackage ./plasma-nm.nix {}; + plasma-pa = callPackage ./plasma-pa.nix {}; + plasma-workspace = callPackage ./plasma-workspace {}; + plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {}; + polkit-kde-agent = callPackage ./polkit-kde-agent.nix {}; + powerdevil = callPackage ./powerdevil.nix {}; + systemsettings = callPackage ./systemsettings.nix {}; + }; + + newScope = scope: kdeApps.newScope (scope // { inherit mkDerivation; }); + +in lib.makeScope newScope addPackages diff --git a/pkgs/desktops/plasma-5.4/fetchsrcs.sh b/pkgs/desktops/plasma-5.4/fetchsrcs.sh new file mode 100755 index 00000000000..e2c5bdc9d69 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/fetchsrcs.sh @@ -0,0 +1,47 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p coreutils findutils gnused nix wget + +set -x + +# The trailing slash at the end is necessary! +RELEASE_URL="http://download.kde.org/stable/plasma/5.4.1/" +EXTRA_WGET_ARGS='-A *.tar.xz' + +mkdir tmp; cd tmp + +wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS + +cat >../srcs.nix <>../srcs.nix <>../srcs.nix + +cd .. diff --git a/pkgs/desktops/plasma-5.4/kde-cli-tools.nix b/pkgs/desktops/plasma-5.4/kde-cli-tools.nix new file mode 100644 index 00000000000..404d86618d9 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kde-cli-tools.nix @@ -0,0 +1,41 @@ +{ mkDerivation +, extra-cmake-modules +, kcmutils +, kconfig +, kdelibs4support +, kdesu +, kdoctools +, ki18n +, kiconthemes +, kwindowsystem +, qtsvg +, qtx11extras +}: + +mkDerivation { + name = "kde-cli-tools"; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcmutils + kconfig + kdelibs4support + kdesu + ki18n + kiconthemes + kwindowsystem + qtsvg + qtx11extras + ]; + postInstall = '' + wrapKDEProgram "$out/bin/kmimetypefinder5" + wrapKDEProgram "$out/bin/ksvgtopng5" + wrapKDEProgram "$out/bin/ktraderclient5" + wrapKDEProgram "$out/bin/kioclient5" + wrapKDEProgram "$out/bin/kdecp5" + wrapKDEProgram "$out/bin/keditfiletype5" + wrapKDEProgram "$out/bin/kcmshell5" + wrapKDEProgram "$out/bin/kdemv5" + wrapKDEProgram "$out/bin/kstart5" + wrapKDEProgram "$out/bin/kde-open5" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/kde-gtk-config.nix b/pkgs/desktops/plasma-5.4/kde-gtk-config.nix new file mode 100644 index 00000000000..7be329eb016 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kde-gtk-config.nix @@ -0,0 +1,26 @@ +{ mkDerivation +, extra-cmake-modules +, glib +, gtk2 +, gtk3 +, karchive +, kcmutils +, kconfigwidgets +, ki18n +, kiconthemes +, kio +, knewstuff +}: + +mkDerivation { + name = "kde-gtk-config"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + glib gtk2 gtk3 karchive kcmutils kconfigwidgets ki18n kiconthemes + kio knewstuff + ]; + cmakeFlags = [ + "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include" + "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include" + ]; +} diff --git a/pkgs/desktops/plasma-5.4/kdecoration.nix b/pkgs/desktops/plasma-5.4/kdecoration.nix new file mode 100644 index 00000000000..7e2ebb705a7 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kdecoration.nix @@ -0,0 +1,6 @@ +{ mkDerivation, extra-cmake-modules }: + +mkDerivation { + name = "kdecoration"; + nativeBuildInputs = [ extra-cmake-modules ]; +} diff --git a/pkgs/desktops/plasma-5.4/kdeplasma-addons.nix b/pkgs/desktops/plasma-5.4/kdeplasma-addons.nix new file mode 100644 index 00000000000..335e5d3298c --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kdeplasma-addons.nix @@ -0,0 +1,46 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, ibus +, kconfig +, kconfigwidgets +, kcoreaddons +, kcmutils +, kdelibs4support +, ki18n +, kio +, knewstuff +, kross +, krunner +, kservice +, kunitconversion +, plasma-framework +, qtdeclarative +, qtx11extras +}: + +mkDerivation { + name = "kdeplasma-addons"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + ibus + kconfig + kconfigwidgets + kcoreaddons + kcmutils + kdelibs4support + ki18n + kio + knewstuff + kross + krunner + kservice + kunitconversion + plasma-framework + qtdeclarative + qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.4/kgamma5.nix b/pkgs/desktops/plasma-5.4/kgamma5.nix new file mode 100644 index 00000000000..a82673fc7fa --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kgamma5.nix @@ -0,0 +1,18 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kdelibs4support +, qtx11extras +}: + +mkDerivation { + name = "kgamma5"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kdelibs4support + qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.4/khelpcenter.nix b/pkgs/desktops/plasma-5.4/khelpcenter.nix new file mode 100644 index 00000000000..75a713090b7 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/khelpcenter.nix @@ -0,0 +1,35 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kconfig +, kcoreaddons +, kdbusaddons +, ki18n +, kinit +, kcmutils +, kdelibs4support +, khtml +, kservice +}: + +mkDerivation { + name = "khelpcenter"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kconfig + kcoreaddons + kdbusaddons + ki18n + kinit + kcmutils + kdelibs4support + khtml + kservice + ]; + postInstall = '' + wrapKDEProgram "$out/bin/khelpcenter" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/khotkeys.nix b/pkgs/desktops/plasma-5.4/khotkeys.nix new file mode 100644 index 00000000000..b1061861495 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/khotkeys.nix @@ -0,0 +1,34 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kcmutils +, kdbusaddons +, kdelibs4support +, kglobalaccel +, ki18n +, kio +, kxmlgui +, plasma-framework +, plasma-workspace +, qtx11extras +}: + +mkDerivation { + name = "khotkeys"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcmutils + kdbusaddons + kdelibs4support + kglobalaccel + ki18n + kio + kxmlgui + plasma-framework + plasma-workspace + qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.4/kinfocenter.nix b/pkgs/desktops/plasma-5.4/kinfocenter.nix new file mode 100644 index 00000000000..0c71ee022da --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kinfocenter.nix @@ -0,0 +1,53 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kcmutils +, kcompletion +, kconfig +, kconfigwidgets +, kcoreaddons +, kdbusaddons +, kdeclarative +, kdelibs4support +, ki18n +, kiconthemes +, kio +, kpackage +, kservice +, kwidgetsaddons +, kxmlgui +, libraw1394 +, pciutils +, solid +}: + +mkDerivation { + name = "kinfocenter"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcmutils + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kdbusaddons + kdeclarative + kdelibs4support + ki18n + kiconthemes + kio + kpackage + kservice + kwidgetsaddons + kxmlgui + libraw1394 + pciutils + solid + ]; + postInstall = '' + wrapKDEProgram "$out/bin/kinfocenter" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/kmenuedit.nix b/pkgs/desktops/plasma-5.4/kmenuedit.nix new file mode 100644 index 00000000000..043ef0407ac --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kmenuedit.nix @@ -0,0 +1,31 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, ki18n +, kxmlgui +, kdbusaddons +, kiconthemes +, kio +, sonnet +, kdelibs4support +}: + +mkDerivation { + name = "kmenuedit"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + ki18n + kxmlgui + kdbusaddons + kiconthemes + kio + sonnet + kdelibs4support + ]; + postInstall = '' + wrapKDEProgram "$out/bin/kmenuedit" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/kscreen.nix b/pkgs/desktops/plasma-5.4/kscreen.nix new file mode 100644 index 00000000000..caf84e96a0a --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kscreen.nix @@ -0,0 +1,33 @@ +{ mkDerivation +, extra-cmake-modules +, kconfig +, kconfigwidgets +, kdbusaddons +, kglobalaccel +, ki18n +, kwidgetsaddons +, kxmlgui +, libkscreen +, qtdeclarative +}: + +mkDerivation { + name = "kscreen"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kconfig + kconfigwidgets + kdbusaddons + kglobalaccel + ki18n + kwidgetsaddons + kxmlgui + libkscreen + qtdeclarative + ]; + postInstall = '' + wrapKDEProgram "$out/bin/kscreen-console" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/ksshaskpass.nix b/pkgs/desktops/plasma-5.4/ksshaskpass.nix new file mode 100644 index 00000000000..5593cebabf3 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/ksshaskpass.nix @@ -0,0 +1,25 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kcoreaddons +, ki18n +, kwallet +, kwidgetsaddons +}: + +mkDerivation { + name = "ksshaskpass"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcoreaddons + ki18n + kwallet + kwidgetsaddons + ]; + postInstall = '' + wrapKDEProgram "$out/bin/ksshaskpass" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/ksysguard.nix b/pkgs/desktops/plasma-5.4/ksysguard.nix new file mode 100644 index 00000000000..8e6dc42c77b --- /dev/null +++ b/pkgs/desktops/plasma-5.4/ksysguard.nix @@ -0,0 +1,34 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kconfig +, kcoreaddons +, kdelibs4support +, ki18n +, kitemviews +, knewstuff +, kiconthemes +, libksysguard +}: + +mkDerivation { + name = "ksysguard"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kconfig + kcoreaddons + kdelibs4support + ki18n + kitemviews + knewstuff + kiconthemes + libksysguard + ]; + postInstall = '' + wrapKDEProgram "$out/bin/ksysguardd" + wrapKDEProgram "$out/bin/ksysguard" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/kwayland.nix b/pkgs/desktops/plasma-5.4/kwayland.nix new file mode 100644 index 00000000000..bb18e31d3ab --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kwayland.nix @@ -0,0 +1,14 @@ +{ mkDerivation +, extra-cmake-modules +, wayland +}: + +mkDerivation { + name = "kwayland"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + wayland + ]; +} diff --git a/pkgs/desktops/plasma-5.4/kwin/default.nix b/pkgs/desktops/plasma-5.4/kwin/default.nix new file mode 100644 index 00000000000..b4663e3c437 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kwin/default.nix @@ -0,0 +1,85 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, epoxy +, kactivities +, kcompletion +, kcmutils +, kconfig +, kconfigwidgets +, kcoreaddons +, kcrash +, kdeclarative +, kdecoration +, kglobalaccel +, ki18n +, kiconthemes +, kinit +, kio +, knewstuff +, knotifications +, kpackage +, kservice +, kwayland +, kwidgetsaddons +, kwindowsystem +, kxmlgui +, libinput +, libICE +, libSM +, plasma-framework +, qtdeclarative +, qtscript +, qtx11extras +, udev +, wayland +, xcb-util-cursor +}: + +mkDerivation { + name = "kwin"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + epoxy + kactivities + kcompletion + kcmutils + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdeclarative + kdecoration + kglobalaccel + ki18n + kiconthemes + kinit + kio + knewstuff + knotifications + kpackage + kservice + kwayland + kwidgetsaddons + kwindowsystem + kxmlgui + libinput + libICE + libSM + plasma-framework + qtdeclarative + qtscript + qtx11extras + udev + wayland + xcb-util-cursor + ]; + patches = [ ./kwin-import-plugin-follow-symlinks.patch ]; + postInstall = '' + wrapKDEProgram "$out/bin/kwin_x11" + wrapKDEProgram "$out/bin/kwin_wayland" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/kwin/kwin-import-plugin-follow-symlinks.patch b/pkgs/desktops/plasma-5.4/kwin/kwin-import-plugin-follow-symlinks.patch new file mode 100644 index 00000000000..fd1f35d717e --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kwin/kwin-import-plugin-follow-symlinks.patch @@ -0,0 +1,13 @@ +diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp +index 26b44a9..d14e226 100644 +--- a/clients/aurorae/src/aurorae.cpp ++++ b/clients/aurorae/src/aurorae.cpp +@@ -73,7 +73,7 @@ void AuroraeFactory::init() + // so let's try to locate our plugin: + QString pluginPath; + for (const QString &path : m_engine->importPathList()) { +- QDirIterator it(path, QDirIterator::Subdirectories); ++ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + it.next(); + QFileInfo fileInfo = it.fileInfo(); diff --git a/pkgs/desktops/plasma-5.4/kwin/libinput-0.8.patch b/pkgs/desktops/plasma-5.4/kwin/libinput-0.8.patch new file mode 100644 index 00000000000..d0b9658b3bf --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kwin/libinput-0.8.patch @@ -0,0 +1,25 @@ +commit a93a2ab1918630c6d571b5a24379c15a0458d1fa +Author: Martin Gräßlin +Date: Wed Jan 28 16:20:57 2015 +0100 + + Disable libinput integration if >= 0.8 is found + + libinput 0.8 is incompatible causing the build to fail. As we are in + dependency freeze the only option is to disable the build. + + BUG: 342893 + FIXED-IN: 5.2.1 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 550ef57..8d9c593 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -145,7 +145,7 @@ set_package_properties(UDev PROPERTIES URL "http://www.freedesktop.org/software + PURPOSE "Required for input handling on Wayland." + ) + set(HAVE_INPUT FALSE) +-if (Libinput_FOUND AND UDEV_FOUND) ++if (Libinput_FOUND AND UDEV_FOUND AND Libinput_VERSION VERSION_LESS 0.8) + set(HAVE_INPUT TRUE) + endif() + diff --git a/pkgs/desktops/plasma-5.4/kwrited.nix b/pkgs/desktops/plasma-5.4/kwrited.nix new file mode 100644 index 00000000000..7ab1de77760 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/kwrited.nix @@ -0,0 +1,22 @@ +{ mkDerivation +, extra-cmake-modules +, kcoreaddons +, ki18n +, kpty +, knotifications +, kdbusaddons +}: + +mkDerivation { + name = "kwrited"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kcoreaddons + ki18n + kpty + knotifications + kdbusaddons + ]; +} diff --git a/pkgs/desktops/plasma-5.4/libkscreen/default.nix b/pkgs/desktops/plasma-5.4/libkscreen/default.nix new file mode 100644 index 00000000000..ea6a0b0b0fb --- /dev/null +++ b/pkgs/desktops/plasma-5.4/libkscreen/default.nix @@ -0,0 +1,16 @@ +{ mkDerivation +, extra-cmake-modules +, libXrandr +, qtx11extras +}: + +mkDerivation { + name = "libkscreen"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + libXrandr + qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.4/libkscreen/libkscreen-backend-path.patch b/pkgs/desktops/plasma-5.4/libkscreen/libkscreen-backend-path.patch new file mode 100644 index 00000000000..d5797924d23 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/libkscreen/libkscreen-backend-path.patch @@ -0,0 +1,130 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 460022f..422a708 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,5 +1,7 @@ + include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDES}) + ++configure_file(config-libkscreen.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-libkscreen.h) ++ + set(libkscreen_SRCS + backendloader.cpp + config.cpp +diff --git a/src/backendloader.cpp b/src/backendloader.cpp +index b93e469..8aebc14 100644 +--- a/src/backendloader.cpp ++++ b/src/backendloader.cpp +@@ -16,6 +16,7 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * + *************************************************************************************/ + ++#include "config-libkscreen.h" + #include "backendloader.h" + #include "debug_p.h" + #include "backends/abstractbackend.h" +@@ -40,55 +41,54 @@ bool BackendLoader::init() + const QString backend = qgetenv("KSCREEN_BACKEND").constData(); + const QString backendFilter = QString::fromLatin1("KSC_%1*").arg(backend); + +- const QStringList paths = QCoreApplication::libraryPaths(); +- Q_FOREACH (const QString &path, paths) { +- const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"), +- backendFilter, +- QDir::SortFlags(QDir::QDir::NoSort), +- QDir::NoDotAndDotDot | QDir::Files); +- const QFileInfoList finfos = dir.entryInfoList(); +- Q_FOREACH (const QFileInfo &finfo, finfos) { +- // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND +- if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) { +- continue; +- } ++ QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" PLUGIN_INSTALL_DIR "/"); + +- // When on X11, skip the QScreen backend, instead use the XRandR backend, +- // if not specified in KSCREEN_BACKEND +- if (backend.isEmpty() && +- finfo.fileName().contains(QLatin1String("KSC_QScreen")) && +- QX11Info::isPlatformX11()) { +- continue; +- } ++ const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"), ++ backendFilter, ++ QDir::SortFlags(QDir::QDir::NoSort), ++ QDir::NoDotAndDotDot | QDir::Files); ++ const QFileInfoList finfos = dir.entryInfoList(); ++ Q_FOREACH (const QFileInfo &finfo, finfos) { ++ // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND ++ if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) { ++ continue; ++ } + +- // When not on X11, skip the XRandR backend, and fall back to QSCreen +- // if not specified in KSCREEN_BACKEND +- if (backend.isEmpty() && +- finfo.fileName().contains(QLatin1String("KSC_XRandR")) && +- !QX11Info::isPlatformX11()) { +- continue; +- } ++ // When on X11, skip the QScreen backend, instead use the XRandR backend, ++ // if not specified in KSCREEN_BACKEND ++ if (backend.isEmpty() && ++ finfo.fileName().contains(QLatin1String("KSC_QScreen")) && ++ QX11Info::isPlatformX11()) { ++ continue; ++ } ++ ++ // When not on X11, skip the XRandR backend, and fall back to QSCreen ++ // if not specified in KSCREEN_BACKEND ++ if (backend.isEmpty() && ++ finfo.fileName().contains(QLatin1String("KSC_XRandR")) && ++ !QX11Info::isPlatformX11()) { ++ continue; ++ } + +- QPluginLoader loader(finfo.filePath()); +- loader.load(); +- QObject *instance = loader.instance(); +- if (!instance) { ++ QPluginLoader loader(finfo.filePath()); ++ loader.load(); ++ QObject *instance = loader.instance(); ++ if (!instance) { ++ loader.unload(); ++ continue; ++ } ++ ++ s_backend = qobject_cast< AbstractBackend* >(instance); ++ if (s_backend) { ++ if (!s_backend->isValid()) { ++ qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend"; ++ delete s_backend; ++ s_backend = 0; + loader.unload(); + continue; + } +- +- s_backend = qobject_cast< AbstractBackend* >(instance); +- if (s_backend) { +- if (!s_backend->isValid()) { +- qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend"; +- delete s_backend; +- s_backend = 0; +- loader.unload(); +- continue; +- } +- qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend"; +- return true; +- } ++ qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend"; ++ return true; + } + } + +diff --git a/src/config-libkscreen.h.cmake b/src/config-libkscreen.h.cmake +new file mode 100644 +index 0000000..a99f3d1 +--- /dev/null ++++ b/src/config-libkscreen.h.cmake +@@ -0,0 +1,2 @@ ++#define CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ++#define PLUGIN_INSTALL_DIR "${PLUGIN_INSTALL_DIR}" diff --git a/pkgs/desktops/plasma-5.4/libksysguard.nix b/pkgs/desktops/plasma-5.4/libksysguard.nix new file mode 100644 index 00000000000..ab8a1f3323e --- /dev/null +++ b/pkgs/desktops/plasma-5.4/libksysguard.nix @@ -0,0 +1,42 @@ +{ mkDerivation +, extra-cmake-modules +, kauth +, kcompletion +, kconfigwidgets +, kcoreaddons +, kservice +, kwidgetsaddons +, kwindowsystem +, plasma-framework +, qtscript +, qtwebkit +, qtx11extras +, kconfig +, ki18n +, kiconthemes +}: + +mkDerivation { + name = "libksysguard"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kauth + kcompletion + kconfigwidgets + kcoreaddons + kservice + kwidgetsaddons + kwindowsystem + plasma-framework + qtscript + qtwebkit + qtx11extras + ]; + propagatedBuildInputs = [ + kconfig + ki18n + kiconthemes + ]; +} diff --git a/pkgs/desktops/plasma-5.4/milou.nix b/pkgs/desktops/plasma-5.4/milou.nix new file mode 100644 index 00000000000..c9219a1d9f2 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/milou.nix @@ -0,0 +1,28 @@ +{ mkDerivation +, extra-cmake-modules +, qtscript +, qtdeclarative +, kcoreaddons +, ki18n +, kdeclarative +, kservice +, plasma-framework +, krunner +}: + +mkDerivation { + name = "milou"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + qtscript + qtdeclarative + kcoreaddons + ki18n + kdeclarative + kservice + plasma-framework + krunner + ]; +} diff --git a/pkgs/desktops/plasma-5.4/oxygen-fonts.nix b/pkgs/desktops/plasma-5.4/oxygen-fonts.nix new file mode 100644 index 00000000000..627cc9e420f --- /dev/null +++ b/pkgs/desktops/plasma-5.4/oxygen-fonts.nix @@ -0,0 +1,12 @@ +{ mkDerivation +, extra-cmake-modules +, fontforge +}: + +mkDerivation { + name = "oxygen-fonts"; + nativeBuildInputs = [ + extra-cmake-modules + fontforge + ]; +} diff --git a/pkgs/desktops/plasma-5.4/oxygen.nix b/pkgs/desktops/plasma-5.4/oxygen.nix new file mode 100644 index 00000000000..445cb673f4e --- /dev/null +++ b/pkgs/desktops/plasma-5.4/oxygen.nix @@ -0,0 +1,38 @@ +{ mkDerivation +, extra-cmake-modules +, ki18n +, kcmutils +, kconfig +, kdecoration +, kguiaddons +, kwidgetsaddons +, kservice +, kcompletion +, frameworkintegration +, kwindowsystem +, qtx11extras +}: + +mkDerivation { + name = "oxygen"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + ki18n + kcmutils + kconfig + kdecoration + kguiaddons + kwidgetsaddons + kservice + kcompletion + frameworkintegration + kwindowsystem + qtx11extras + ]; + postInstall = '' + wrapKDEProgram "$out/bin/oxygen-demo5" + wrapKDEProgram "$out/bin/oxygen-settings5" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/plasma-desktop/0001-hwclock.patch b/pkgs/desktops/plasma-5.4/plasma-desktop/0001-hwclock.patch new file mode 100644 index 00000000000..1a0ca99113d --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-desktop/0001-hwclock.patch @@ -0,0 +1,36 @@ +From bce620c9dcb25a4e603b22ead5c004b053dae7bf Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Fri, 28 Aug 2015 10:16:38 -0500 +Subject: [PATCH 1/2] hwclock + +--- + kcms/dateandtime/helper.cpp | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/kcms/dateandtime/helper.cpp b/kcms/dateandtime/helper.cpp +index cec5ab8..fc4a6b9 100644 +--- a/kcms/dateandtime/helper.cpp ++++ b/kcms/dateandtime/helper.cpp +@@ -48,10 +48,6 @@ + #include + #endif + +-// We cannot rely on the $PATH environment variable, because D-Bus activation +-// clears it. So we have to use a reasonable default. +-static const QString exePath = QLatin1String("/usr/sbin:/usr/bin:/sbin:/bin"); +- + int ClockHelper::ntp( const QStringList& ntpServers, bool ntpEnabled ) + { + int ret = 0; +@@ -227,7 +223,7 @@ int ClockHelper::tzreset() + + void ClockHelper::toHwclock() + { +- QString hwclock = KStandardDirs::findExe("hwclock", exePath); ++ QString hwclock = "@hwclock@"; + if (!hwclock.isEmpty()) { + KProcess::execute(hwclock, QStringList() << "--systohc"); + } +-- +2.5.0 + diff --git a/pkgs/desktops/plasma-5.4/plasma-desktop/0002-zoneinfo.patch b/pkgs/desktops/plasma-5.4/plasma-desktop/0002-zoneinfo.patch new file mode 100644 index 00000000000..321bf083ae2 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-desktop/0002-zoneinfo.patch @@ -0,0 +1,30 @@ +From 2778186be31a8f949135ed99232eafee201a668d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Fri, 28 Aug 2015 10:16:53 -0500 +Subject: [PATCH 2/2] zoneinfo + +--- + kcms/dateandtime/helper.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/kcms/dateandtime/helper.cpp b/kcms/dateandtime/helper.cpp +index fc4a6b9..7b64d05 100644 +--- a/kcms/dateandtime/helper.cpp ++++ b/kcms/dateandtime/helper.cpp +@@ -181,7 +181,12 @@ int ClockHelper::tz( const QString& selectedzone ) + + val = selectedzone; + #else +- QString tz = "/usr/share/zoneinfo/" + selectedzone; ++ // NixOS-specific path ++ QString tz = "/etc/zoneinfo/" + selectedzone; ++ if (!QFile::exists(tz)) { ++ // Standard Linux path ++ tz = "/usr/share/zoneinfo/" + selectedzone; ++ } + + if (QFile::exists(tz)) { // make sure the new TZ really exists + QFile::remove("/etc/localtime"); +-- +2.5.0 + diff --git a/pkgs/desktops/plasma-5.4/plasma-desktop/default.nix b/pkgs/desktops/plasma-5.4/plasma-desktop/default.nix new file mode 100644 index 00000000000..2051a5060b8 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-desktop/default.nix @@ -0,0 +1,113 @@ +{ mkDerivation +, substituteAll +, extra-cmake-modules +, kdoctools +, attica +, baloo +, boost +, fontconfig +, kactivities +, kauth +, kcmutils +, kdbusaddons +, kdeclarative +, kded +, kdelibs4support +, kemoticons +, kglobalaccel +, ki18n +, kitemmodels +, knewstuff +, knotifications +, knotifyconfig +, kpeople +, krunner +, kwallet +, kwin +, phonon +, plasma-framework +, plasma-workspace +, qtdeclarative +, qtx11extras +, qtsvg +, libXcursor +, libXft +, libxkbfile +, xf86inputevdev +, xf86inputsynaptics +, xinput +, xkeyboard_config +, xorgserver +, libcanberra_kde +, libpulseaudio +, utillinux +}: + +mkDerivation { + name = "plasma-desktop"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + attica + baloo + boost + fontconfig + kactivities + kauth + kcmutils + kdbusaddons + kdeclarative + kded + kdelibs4support + kemoticons + kglobalaccel + ki18n + kitemmodels + knewstuff + knotifications + knotifyconfig + kpeople + krunner + kwallet + kwin + libcanberra_kde + libXcursor + libpulseaudio + libXft + libxkbfile + phonon + plasma-framework + plasma-workspace + qtdeclarative + qtx11extras + qtsvg + xf86inputevdev + xf86inputsynaptics + xkeyboard_config + xinput + ]; + patches = [ + (substituteAll { + src = ./0001-hwclock.patch; + hwclock = "${utillinux}/sbin/hwclock"; + }) + ./0002-zoneinfo.patch + ]; + NIX_CFLAGS_COMPILE = [ "-I${xorgserver}/include/xorg" ]; + cmakeFlags = [ + "-DEvdev_INCLUDE_DIRS=${xf86inputevdev}/include/xorg" + "-DSynaptics_INCLUDE_DIRS=${xf86inputsynaptics}/include/xorg" + ]; + postInstall = '' + wrapKDEProgram "$out/bin/kaccess" + wrapKDEProgram "$out/bin/solid-action-desktop-gen" + wrapKDEProgram "$out/bin/knetattach" + wrapKDEProgram "$out/bin/krdb" + wrapKDEProgram "$out/bin/kapplymousetheme" + wrapKDEProgram "$out/bin/kfontinst" + wrapKDEProgram "$out/bin/kcm-touchpad-list-devices" + wrapKDEProgram "$out/bin/kfontview" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/plasma-mediacenter.nix b/pkgs/desktops/plasma-5.4/plasma-mediacenter.nix new file mode 100644 index 00000000000..6db9ec9289b --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-mediacenter.nix @@ -0,0 +1,40 @@ +{ mkDerivation +, extra-cmake-modules +, baloo +, kactivities +, kconfig +, kcoreaddons +, kdeclarative +, kguiaddons +, ki18n +, kio +, kservice +, kfilemetadata +, plasma-framework +, qtdeclarative +, qtmultimedia +, taglib +}: + +mkDerivation { + name = "plasma-mediacenter"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + baloo + kactivities + kconfig + kcoreaddons + kdeclarative + kguiaddons + ki18n + kio + kservice + kfilemetadata + plasma-framework + qtdeclarative + qtmultimedia + taglib + ]; +} diff --git a/pkgs/desktops/plasma-5.4/plasma-nm.nix b/pkgs/desktops/plasma-5.4/plasma-nm.nix new file mode 100644 index 00000000000..fc0d9b670a4 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-nm.nix @@ -0,0 +1,65 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kcompletion +, kconfigwidgets +, kcoreaddons +, kdbusaddons +, kdeclarative +, kdelibs4support +, ki18n +, kiconthemes +, kinit +, kio +, kitemviews +, knotifications +, kservice +, kwallet +, kwidgetsaddons +, kwindowsystem +, kxmlgui +, mobile_broadband_provider_info +, modemmanager-qt +, networkmanager-qt +, openconnect +, plasma-framework +, qtdeclarative +, solid +}: + +mkDerivation { + name = "plasma-nm"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcompletion + kconfigwidgets + kcoreaddons + kdbusaddons + kdeclarative + kdelibs4support + ki18n + kiconthemes + kinit + kio + kitemviews + knotifications + kservice + kwallet + kwidgetsaddons + kwindowsystem + kxmlgui + mobile_broadband_provider_info + modemmanager-qt + networkmanager-qt + openconnect + plasma-framework + qtdeclarative + solid + ]; + postInstall = '' + wrapKDEProgram "$out/bin/kde5-nm-connection-editor" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/plasma-pa.nix b/pkgs/desktops/plasma-5.4/plasma-pa.nix new file mode 100644 index 00000000000..c7fe02952cd --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-pa.nix @@ -0,0 +1,28 @@ +{ mkDerivation +, extra-cmake-modules +, glib +, kconfigwidgets +, kcoreaddons +, kdeclarative +, kglobalaccel +, ki18n +, libpulseaudio +, plasma-framework +}: + +mkDerivation { + name = "plasma-pa"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + glib + kconfigwidgets + kcoreaddons + kdeclarative + kglobalaccel + ki18n + libpulseaudio + plasma-framework + ]; +} diff --git a/pkgs/desktops/plasma-5.4/plasma-workspace-wallpapers.nix b/pkgs/desktops/plasma-5.4/plasma-workspace-wallpapers.nix new file mode 100644 index 00000000000..f3cfd16e299 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-workspace-wallpapers.nix @@ -0,0 +1,10 @@ +{ mkDerivation +, extra-cmake-modules +}: + +mkDerivation { + name = "plasma-workspace-wallpapers"; + nativeBuildInputs = [ + extra-cmake-modules + ]; +} diff --git a/pkgs/desktops/plasma-5.4/plasma-workspace/0001-startkde-NixOS-patches.patch b/pkgs/desktops/plasma-5.4/plasma-workspace/0001-startkde-NixOS-patches.patch new file mode 100644 index 00000000000..6752258112e --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-workspace/0001-startkde-NixOS-patches.patch @@ -0,0 +1,404 @@ +From d34575dc1edb9fcc8e7608e82e63c6c9d20f37ea Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Thu, 27 Aug 2015 20:36:39 -0500 +Subject: [PATCH] startkde NixOS patches + +--- + startkde/startkde.cmake | 219 ++++++++++++++++++++---------------------------- + 1 file changed, 89 insertions(+), 130 deletions(-) + +diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake +index cfbe227..999dd8f 100644 +--- a/startkde/startkde.cmake ++++ b/startkde/startkde.cmake +@@ -1,8 +1,31 @@ +-#!/bin/sh ++#!@bash@/bin/bash + # + # DEFAULT KDE STARTUP SCRIPT ( @PROJECT_VERSION@ ) + # + ++set -x ++ ++# The KDE icon cache is supposed to update itself ++# automatically, but it uses the timestamp on the icon ++# theme directory as a trigger. Since in Nix the ++# timestamp is always the same, this doesn't work. So as ++# a workaround, nuke the icon cache on login. This isn't ++# perfect, since it may require logging out after ++# installing new applications to update the cache. ++# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html ++rm -fv $HOME/.cache/icon-cache.kcache ++ ++# Qt writes a weird ‘libraryPath’ line to ++# ~/.config/Trolltech.conf that causes the KDE plugin ++# paths of previous KDE invocations to be searched. ++# Obviously using mismatching KDE libraries is potentially ++# disastrous, so here we nuke references to the Nix store ++# in Trolltech.conf. A better solution would be to stop ++# Qt from doing this wackiness in the first place. ++if [ -e $HOME/.config/Trolltech.conf ]; then ++ @gnused@/bin/sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf ++fi ++ + if test "x$1" = x--failsafe; then + KDE_FAILSAFE=1 # General failsafe flag + KWIN_COMPOSE=N # Disable KWin's compositing +@@ -16,29 +39,16 @@ trap 'echo GOT SIGHUP' HUP + # we have to unset this for Darwin since it will screw up KDE's dynamic-loading + unset DYLD_FORCE_FLAT_NAMESPACE + +-# in case we have been started with full pathname spec without being in PATH +-bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'` +-if [ -n "$bindir" ]; then +- qbindir=`qtpaths --binaries-dir` +- qdbus=$qbindir/qdbus +- case $PATH in +- $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;; +- *) PATH=$bindir:$PATH; export PATH;; +- esac +-else +- qdbus=qdbus +-fi +- + # Check if a KDE session already is running and whether it's possible to connect to X +-kcheckrunning ++@out@/bin/kcheckrunning + kcheckrunning_result=$? + if test $kcheckrunning_result -eq 0 ; then +- echo "KDE seems to be already running on this display." +- xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null ++ echo "KDE seems to be already running on this display." ++ @xmessage@/bin/xmessage -geometry 500x100 "KDE seems to be already running on this display." + exit 1 + elif test $kcheckrunning_result -eq 2 ; then + echo "\$DISPLAY is not set or cannot connect to the X server." +- exit 1 ++ exit 1 + fi + + # Boot sequence: +@@ -56,13 +66,8 @@ fi + # * Then ksmserver is started which takes control of the rest of the startup sequence + + # We need to create config folder so we can write startupconfigkeys +-if [ ${XDG_CONFIG_HOME} ]; then +- configDir=$XDG_CONFIG_HOME; +-else +- configDir=${HOME}/.config; #this is the default, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html +-fi +- +-mkdir -p $configDir ++configDir=$(@qttools@/bin/qtpaths --writable-path GenericConfigLocation) ++mkdir -p "$configDir" + + #This is basically setting defaults so we can use them with kstartupconfig5 + cat >$configDir/startupconfigkeys </dev/null 2>/dev/null; then ++ : # ok ++else ++ echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 ++ test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null ++ @xmessage@/bin/xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" ++ exit 1 ++fi ++ + ksplash_pid= + if test -z "$dl"; then + # the splashscreen and progress indicator + case "$ksplashrc_ksplash_engine" in + KSplashQML) +- ksplash_pid=`ksplashqml "${ksplashrc_ksplash_theme}" --pid` ++ ksplash_pid=`@out@/bin/ksplashqml "${ksplashrc_ksplash_theme}" --pid` + ;; + None) + ;; +@@ -200,8 +189,7 @@ fi + # For anything else (that doesn't set env vars, or that needs a window manager), + # better use the Autostart folder. + +-# TODO: Use GenericConfigLocation once we depend on Qt 5.4 +-scriptpath=`qtpaths --paths ConfigLocation | tr ':' '\n' | sed 's,$,/plasma-workspace,g'` ++scriptpath=$(@qttools@/bin/qtpaths --paths GenericConfigLocation | tr ':' '\n' | @gnused@/bin/sed 's,$,/plasma-workspace,g') + + # Add /env/ to the directory to locate the scripts to be sourced + for prefix in `echo $scriptpath`; do +@@ -231,7 +219,7 @@ usr_odir=$HOME/.fonts/kde-override + usr_fdir=$HOME/.fonts + + if test -n "$KDEDIRS"; then +- kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'` ++ kdedirs_first=`echo "$KDEDIRS" | @gnused@/bin/sed -e 's/:.*//'` + sys_odir=$kdedirs_first/share/fonts/override + sys_fdir=$kdedirs_first/share/fonts + else +@@ -244,23 +232,13 @@ fi + # add the user's dirs to the font path, as they might simply have been made + # read-only by the administrator, for whatever reason. + +-test -d "$sys_odir" && xset +fp "$sys_odir" +-test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir") +-test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir") +-test -d "$sys_fdir" && xset fp+ "$sys_fdir" ++test -d "$sys_odir" && @xset@/bin/xset +fp "$sys_odir" ++test -d "$usr_odir" && ( @mkfontdir@/bin/mkfontdir "$usr_odir" ; @xset@/bin/xset +fp "$usr_odir" ) ++test -d "$usr_fdir" && ( @mkfontdir@/bin/mkfontdir "$usr_fdir" ; @xset@/bin/xset fp+ "$usr_fdir" ) ++test -d "$sys_fdir" && @xset@/bin/xset fp+ "$sys_fdir" + + # Ask X11 to rebuild its font list. +-xset fp rehash +- +-# Set a left cursor instead of the standard X11 "X" cursor, since I've heard +-# from some users that they're confused and don't know what to do. This is +-# especially necessary on slow machines, where starting KDE takes one or two +-# minutes until anything appears on the screen. +-# +-# If the user has overwritten fonts, the cursor font may be different now +-# so don't move this up. +-# +-xsetroot -cursor_name left_ptr ++@xset@/bin/xset fp rehash + + # Get Ghostscript to look into user's KDE fonts dir for additional Fontmap + if test -n "$GS_LIB" ; then +@@ -273,30 +251,6 @@ fi + + echo 'startkde: Starting up...' 1>&2 + +-# Make sure that the KDE prefix is first in XDG_DATA_DIRS and that it's set at all. +-# The spec allows XDG_DATA_DIRS to be not set, but X session startup scripts tend +-# to set it to a list of paths *not* including the KDE prefix if it's not /usr or +-# /usr/local. +-if test -z "$XDG_DATA_DIRS"; then +- XDG_DATA_DIRS="@CMAKE_INSTALL_PREFIX@/@SHARE_INSTALL_PREFIX@:/usr/share:/usr/local/share" +-fi +-export XDG_DATA_DIRS +- +-# Make sure that D-Bus is running +-# D-Bus autolaunch is broken +-if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then +- eval `dbus-launch --sh-syntax --exit-with-session` +-fi +-if $qdbus >/dev/null 2>/dev/null; then +- : # ok +-else +- echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 +- test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null +- xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" +- exit 1 +-fi +- +- + # Mark that full KDE session is running (e.g. Konqueror preloading works only + # with full KDE running). The KDE_FULL_SESSION property can be detected by + # any X client connected to the same X session, even if not launched +@@ -321,11 +275,11 @@ fi + # + KDE_FULL_SESSION=true + export KDE_FULL_SESSION +-xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true ++@xprop@/bin/xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true + + KDE_SESSION_VERSION=5 + export KDE_SESSION_VERSION +-xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 ++@xprop@/bin/xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 + + KDE_SESSION_UID=`id -ru` + export KDE_SESSION_UID +@@ -335,11 +289,11 @@ export XDG_CURRENT_DESKTOP + + # At this point all the environment is ready, let's send it to kwalletd if running + if test -n "$PAM_KWALLET_LOGIN" ; then +- env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN ++ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN + fi + # ...and also to kwalletd5 + if test -n "$PAM_KWALLET5_LOGIN" ; then +- env | socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN ++ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN + fi + + # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment +@@ -348,21 +302,26 @@ if test $? -ne 0; then + # Startup error + echo 'startkde: Could not sync environment to dbus.' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null +- xmessage -geometry 500x100 "Could not sync environment to dbus." ++ @xmessage@/bin/xmessage -geometry 500x100 "Could not sync environment to dbus." + exit 1 + fi + + # We set LD_BIND_NOW to increase the efficiency of kdeinit. + # kdeinit unsets this variable before loading applications. +-LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup ++LD_BIND_NOW=true @kinit@/lib/libexec/kf5/start_kdeinit_wrapper --kded +kcminit_startup + if test $? -ne 0; then + # Startup error + echo 'startkde: Could not start kdeinit5. Check your installation.' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null +- xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." ++ @xmessage@/bin/xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." + exit 1 + fi + ++# (NixOS) We run kbuildsycoca5 before starting the user session because things ++# may be missing or moved if they have run nixos-rebuild and it may not be ++# possible for them to start Konsole to run it manually! ++@kservice@/bin/kbuildsycoca5 ++ + # finally, give the session control to the session manager + # see kdebase/ksmserver for the description of the rest of the startup sequence + # if the KDEWM environment variable has been set, then it will be used as KDE's +@@ -378,27 +337,27 @@ test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM" + # lock now and do the rest of the KDE startup underneath the locker. + KSMSERVEROPTIONS="" + test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen" +-kwrapper5 ksmserver $KDEWM $KSMSERVEROPTIONS ++@kinit@/bin/kwrapper5 ksmserver $KDEWM $KSMSERVEROPTIONS + if test $? -eq 255; then + # Startup error + echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null +- xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." ++ @xmessage@/bin/xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." + fi + +-wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` ++wait_drkonqi=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` + + if test x"$wait_drkonqi"x = x"true"x ; then + # wait for remaining drkonqi instances with timeout (in seconds) +- wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` ++ wait_drkonqi_timeout=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` + wait_drkonqi_counter=0 +- while $qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do ++ while @qttools@/bin/qdbus | @gnugrep@/bin/grep "^[^w]*org.kde.drkonqi" > /dev/null ; do + sleep 5 + wait_drkonqi_counter=$((wait_drkonqi_counter+5)) + if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then + # ask remaining drkonqis to die in a graceful way +- $qdbus | grep 'org.kde.drkonqi-' | while read address ; do +- $qdbus "$address" "/MainApplication" "quit" ++ @qttools@/bin/qdbus | @gnugrep@/bin/grep 'org.kde.drkonqi-' | while read address ; do ++ @qttools@/bin/qdbus "$address" "/MainApplication" "quit" + done + break + fi +@@ -410,21 +369,21 @@ echo 'startkde: Shutting down...' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null + + # Clean up +-kdeinit5_shutdown ++@kinit@/bin/kdeinit5_shutdown + + echo 'startkde: Running shutdown scripts...' 1>&2 + + # Run scripts found in /plasma-workspace/shutdown + for prefix in `echo "$scriptpath"`; do +- for file in `ls "$prefix"/shutdown 2> /dev/null | egrep -v '(~|\.bak)$'`; do ++ for file in `ls "$prefix"/shutdown 2> /dev/null | @gnugrep@/bin/egrep -v '(~|\.bak)$'`; do + test -x "$prefix/shutdown/$file" && "$prefix/shutdown/$file" + done + done + + unset KDE_FULL_SESSION +-xprop -root -remove KDE_FULL_SESSION ++@xprop@/bin/xprop -root -remove KDE_FULL_SESSION + unset KDE_SESSION_VERSION +-xprop -root -remove KDE_SESSION_VERSION ++@xprop@/bin/xprop -root -remove KDE_SESSION_VERSION + unset KDE_SESSION_UID + + echo 'startkde: Done.' 1>&2 +-- +2.5.0 + diff --git a/pkgs/desktops/plasma-5.4/plasma-workspace/default.nix b/pkgs/desktops/plasma-5.4/plasma-workspace/default.nix new file mode 100644 index 00000000000..39c77862a76 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/plasma-workspace/default.nix @@ -0,0 +1,125 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, baloo +, kactivities +, kcmutils +, kcrash +, kdbusaddons +, kdeclarative +, kdelibs4support +, kdesu +, kdewebkit +, kglobalaccel +, kidletime +, kjsembed +, knewstuff +, knotifyconfig +, kpackage +, krunner +, ktexteditor +, ktextwidgets +, kwallet +, kwayland +, kwin +, kxmlrpcclient +, libdbusmenu +, libkscreen +, libSM +, libXcursor +, networkmanager-qt +, pam +, phonon +, plasma-framework +, qtscript +, qtx11extras +, wayland +, libksysguard +, bash +, coreutils +, gnused +, gnugrep +, socat +, kconfig +, kinit +, kservice +, qttools +, dbus_tools +, mkfontdir +, xmessage +, xprop +, xrdb +, xset +, xsetroot +}: + +mkDerivation { + name = "plasma-workspace"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + baloo + kactivities + kcmutils + kcrash + kdbusaddons + kdeclarative + kdelibs4support + kdesu + kdewebkit + kglobalaccel + kidletime + kjsembed + knewstuff + knotifyconfig + kpackage + krunner + ktexteditor + ktextwidgets + kwallet + kwayland + kwin + kxmlrpcclient + libdbusmenu + libkscreen + libSM + libXcursor + networkmanager-qt + pam + phonon + plasma-framework + qtscript + qtx11extras + wayland + ]; + propagatedBuildInputs = [ + libksysguard + ]; + patches = [ ./0001-startkde-NixOS-patches.patch ]; + + inherit bash coreutils gnused gnugrep socat; + inherit kconfig kinit kservice qttools; + inherit dbus_tools mkfontdir xmessage xprop xrdb xset xsetroot; + postPatch = '' + substituteAllInPlace startkde/startkde.cmake + substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \ + --replace kdostartupconfig5 $out/bin/kdostartupconfig5 + ''; + postInstall = '' + wrapKDEProgram "$out/bin/ksmserver" + wrapKDEProgram "$out/bin/plasmawindowed" + wrapKDEProgram "$out/bin/kcminit_startup" + wrapKDEProgram "$out/bin/ksplashqml" + wrapKDEProgram "$out/bin/kcheckrunning" + wrapKDEProgram "$out/bin/systemmonitor" + wrapKDEProgram "$out/bin/kstartupconfig5" + wrapKDEProgram "$out/bin/startplasmacompositor" + wrapKDEProgram "$out/bin/kdostartupconfig5" + wrapKDEProgram "$out/bin/klipper" + wrapKDEProgram "$out/bin/kuiserver5" + wrapKDEProgram "$out/bin/krunner" + wrapKDEProgram "$out/bin/plasmashell" + ''; +} diff --git a/pkgs/desktops/plasma-5.4/polkit-kde-agent.nix b/pkgs/desktops/plasma-5.4/polkit-kde-agent.nix new file mode 100644 index 00000000000..e4075c0776e --- /dev/null +++ b/pkgs/desktops/plasma-5.4/polkit-kde-agent.nix @@ -0,0 +1,32 @@ +{ mkDerivation +, extra-cmake-modules +, ki18n +, kwindowsystem +, kdbusaddons +, kwidgetsaddons +, kcoreaddons +, kcrash +, kconfig +, kiconthemes +, knotifications +, polkitQt +}: + +mkDerivation { + name = "polkit-kde-agent"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + ki18n + kwindowsystem + kdbusaddons + kwidgetsaddons + kcoreaddons + kcrash + kconfig + kiconthemes + knotifications + polkitQt + ]; +} diff --git a/pkgs/desktops/plasma-5.4/powerdevil.nix b/pkgs/desktops/plasma-5.4/powerdevil.nix new file mode 100644 index 00000000000..b3ce095f5db --- /dev/null +++ b/pkgs/desktops/plasma-5.4/powerdevil.nix @@ -0,0 +1,44 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kactivities +, kauth +, kconfig +, kdbusaddons +, kdelibs4support +, kglobalaccel +, ki18n +, kidletime +, kio +, knotifyconfig +, libkscreen +, plasma-workspace +, qtx11extras +, solid +, udev +}: + +mkDerivation { + name = "powerdevil"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kactivities + kauth + kconfig + kdbusaddons + kdelibs4support + kglobalaccel + ki18n + kidletime + kio + knotifyconfig + libkscreen + plasma-workspace + qtx11extras + solid + udev + ]; +} diff --git a/pkgs/desktops/plasma-5.4/setup-hook.sh b/pkgs/desktops/plasma-5.4/setup-hook.sh new file mode 100644 index 00000000000..a8d9b7e0e36 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/setup-hook.sh @@ -0,0 +1 @@ +addToSearchPath XDG_DATA_DIRS @out@/share diff --git a/pkgs/desktops/plasma-5.4/srcs.nix b/pkgs/desktops/plasma-5.4/srcs.nix new file mode 100644 index 00000000000..f9fa3250938 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/srcs.nix @@ -0,0 +1,301 @@ +# DO NOT EDIT! This file is generated automatically by manifest.sh +{ fetchurl, mirror }: + +{ + plasma-nm = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/plasma-nm-5.4.1.tar.xz"; + sha256 = "02rx63ff95nhq2i5hndk93mxixkzf46gp792768i93ss50wjr1li"; + name = "plasma-nm-5.4.1.tar.xz"; + }; + }; + kmenuedit = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kmenuedit-5.4.1.tar.xz"; + sha256 = "1h0zv6ksfw3ym88y3v5yxwwmw8m9cqbwbrsca0rxa4dc43vinn5m"; + name = "kmenuedit-5.4.1.tar.xz"; + }; + }; + kdecoration = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kdecoration-5.4.1.tar.xz"; + sha256 = "04jz0b0cx5hwiws5f5d72zd6rr3hqchlbm5qd3xjhq9m8rdb28yv"; + name = "kdecoration-5.4.1.tar.xz"; + }; + }; + user-manager = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/user-manager-5.4.1.tar.xz"; + sha256 = "19srb9dxl1693grjjbqbb4wl1bg7vp50dhsx82mgg09b4vs2szcp"; + name = "user-manager-5.4.1.tar.xz"; + }; + }; + powerdevil = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/powerdevil-5.4.1.tar.xz"; + sha256 = "1l467ijhn7h6b0v5ms8vxpjprd4hjdnhplf0k5k0ynj5cgyk96vh"; + name = "powerdevil-5.4.1.tar.xz"; + }; + }; + libkscreen = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/libkscreen-5.4.1.tar.xz"; + sha256 = "07m340kcajhf0dslcy68msh1zn6gnc58nsxyqasbkikwv9sx4v7r"; + name = "libkscreen-5.4.1.tar.xz"; + }; + }; + kwallet-pam = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kwallet-pam-5.4.1.tar.xz"; + sha256 = "0y9b2r4cpmj8gidqzc2j9ki09fb76gp1958v2kkbalma9g0689kc"; + name = "kwallet-pam-5.4.1.tar.xz"; + }; + }; + plasma-pa = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/plasma-pa-5.4.1.tar.xz"; + sha256 = "0c0lzhv8fnkb1359n181ys5bwm9pzfw6g4f7pxrx9vlqqhjbr06p"; + name = "plasma-pa-5.4.1.tar.xz"; + }; + }; + ksysguard = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/ksysguard-5.4.1.tar.xz"; + sha256 = "1n9sddx54i6xnr8xk65wbdyl6mpnfmdgzqllc534zj2nq9lgcpfj"; + name = "ksysguard-5.4.1.tar.xz"; + }; + }; + bluedevil = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/bluedevil-5.4.1.tar.xz"; + sha256 = "1sy3v1fq2mw2mjy3xd183g8fpkjwlmz6sp384qzk55nav7clbjfq"; + name = "bluedevil-5.4.1.tar.xz"; + }; + }; + milou = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/milou-5.4.1.tar.xz"; + sha256 = "0n2c94d8kza8m0gl93waa66r52ncn6b0yjbks7lszl0zwzi3wqyx"; + name = "milou-5.4.1.tar.xz"; + }; + }; + plasma-workspace-wallpapers = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/plasma-workspace-wallpapers-5.4.1.tar.xz"; + sha256 = "0p92p3d4m6d8jnbwgfrk8hqij67aa9pvqhzlccn29gr88f1j7wii"; + name = "plasma-workspace-wallpapers-5.4.1.tar.xz"; + }; + }; + kde-cli-tools = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kde-cli-tools-5.4.1.tar.xz"; + sha256 = "02b6w8hxz05s10ajb4vnasy1ayh8a9skw26asy20zvkm3xn32pc1"; + name = "kde-cli-tools-5.4.1.tar.xz"; + }; + }; + kwin = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kwin-5.4.1.tar.xz"; + sha256 = "0mx95pwlvx7kfzmp6jcihaw3dmgjjrsizmv5baq8mgravp9zzglw"; + name = "kwin-5.4.1.tar.xz"; + }; + }; + muon = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/muon-5.4.1.tar.xz"; + sha256 = "0g229c2h4k3qdhzhc4sq0vlnwvbmb6qp3d4lix4q65mgnamz4lwc"; + name = "muon-5.4.1.tar.xz"; + }; + }; + oxygen = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/oxygen-5.4.1.tar.xz"; + sha256 = "0a880jm8islbcqp08vwd9srn2kqgrn27lsz7wr0mq2b622hsyk1p"; + name = "oxygen-5.4.1.tar.xz"; + }; + }; + plasma-mediacenter = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/plasma-mediacenter-5.4.1.tar.xz"; + sha256 = "1rnmjhyn83ic77sxybz042ghlzrrfh8ig3ivh9nnshzv8gf58bpx"; + name = "plasma-mediacenter-5.4.1.tar.xz"; + }; + }; + kwrited = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kwrited-5.4.1.tar.xz"; + sha256 = "0y1ag8syf1g3mmzyr0hci4xcpxs85qh54jzwkj98xghb316akdrs"; + name = "kwrited-5.4.1.tar.xz"; + }; + }; + plasma-sdk = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/plasma-sdk-5.4.1.tar.xz"; + sha256 = "03qazkqi3x5r8bsf7v73qsqnfgv60q12bv2hmg7rf637rbk1ys7s"; + name = "plasma-sdk-5.4.1.tar.xz"; + }; + }; + ksshaskpass = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/ksshaskpass-5.4.1.tar.xz"; + sha256 = "1yjp78p4r5a9ldba5nda8ly8r71zm8niyd0vz262cr14n36l0j52"; + name = "ksshaskpass-5.4.1.tar.xz"; + }; + }; + plasma-desktop = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/plasma-desktop-5.4.1.tar.xz"; + sha256 = "1a3jllmyk12smpf9fczwkkvfp6ljcsy4m271d9wfahl4adwiycjq"; + name = "plasma-desktop-5.4.1.tar.xz"; + }; + }; + sddm-kcm = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/sddm-kcm-5.4.1.tar.xz"; + sha256 = "1vpwn7ybcz5qpx3v2yvhpdcwlicw34gmfy8yi6j199i4kba2c38l"; + name = "sddm-kcm-5.4.1.tar.xz"; + }; + }; + systemsettings = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/systemsettings-5.4.1.tar.xz"; + sha256 = "0nadq4gsv3caz8x237hvphc05zl15fpaanr1m0s2svg84k251k5l"; + name = "systemsettings-5.4.1.tar.xz"; + }; + }; + kwayland-integration = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kwayland-integration-5.4.1.tar.xz"; + sha256 = "1hcvnbfzzc7rrbi48ar6hjlvj7mhii23lzlbvaizaqv3x8bgpvd7"; + name = "kwayland-integration-5.4.1.tar.xz"; + }; + }; + polkit-kde-agent = { + version = "1-5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/polkit-kde-agent-1-5.4.1.tar.xz"; + sha256 = "1g11kdv9wkqcn4gaijw7j71hkbfg5vi7vci8n880w536l173aa2i"; + name = "polkit-kde-agent-1-5.4.1.tar.xz"; + }; + }; + libksysguard = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/libksysguard-5.4.1.tar.xz"; + sha256 = "03vffsn2bnx26svmm7rpl4rlvnb8kmrqmivqdi55q69fsxdrz1wp"; + name = "libksysguard-5.4.1.tar.xz"; + }; + }; + plasma-workspace = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/plasma-workspace-5.4.1.tar.xz"; + sha256 = "158p70m0dda84c2mskw5xczqr5p8773nb3fibl8h2lw1bn4db130"; + name = "plasma-workspace-5.4.1.tar.xz"; + }; + }; + kgamma5 = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kgamma5-5.4.1.tar.xz"; + sha256 = "1402cvwl9xjlzqi2z6hx59w388xqhh88igaxz0mwmfnlk6fdvrkv"; + name = "kgamma5-5.4.1.tar.xz"; + }; + }; + kde-gtk-config = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kde-gtk-config-5.4.1.tar.xz"; + sha256 = "0g86ij6pqlmcjvaw7gc1n7mqf6v6nywsq874nkvja18k9yvr2cc3"; + name = "kde-gtk-config-5.4.1.tar.xz"; + }; + }; + kscreen = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kscreen-5.4.1.tar.xz"; + sha256 = "00kb1jrdq2hklkq5svjfpmfd4jj8c9mzi5r3kx96hlnwz9abfjcv"; + name = "kscreen-5.4.1.tar.xz"; + }; + }; + kdeplasma-addons = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kdeplasma-addons-5.4.1.tar.xz"; + sha256 = "0fn5z1p5hs9l0ggi62b0wyqpc4wyaaf49921zjn11nb8qs4y0vg1"; + name = "kdeplasma-addons-5.4.1.tar.xz"; + }; + }; + khotkeys = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/khotkeys-5.4.1.tar.xz"; + sha256 = "07wsf7257b48adn22x7dkws3ifdp9flw51spxk5nqyscs15dljm2"; + name = "khotkeys-5.4.1.tar.xz"; + }; + }; + oxygen-fonts = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/oxygen-fonts-5.4.1.tar.xz"; + sha256 = "0qybgwqz7v37mlqs2gprmxaz5k2dlya3fvcq4kz96zmgrskwlv6v"; + name = "oxygen-fonts-5.4.1.tar.xz"; + }; + }; + breeze = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/breeze-5.4.1.tar.xz"; + sha256 = "0dram0iy3ym4rhxbmv1ssv52avmmqk694b7ja7b9zr7krm1n8gyh"; + name = "breeze-5.4.1.tar.xz"; + }; + }; + kinfocenter = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kinfocenter-5.4.1.tar.xz"; + sha256 = "17j7akqi3av4b790c40cva2b9vissyzv8kf1mj5b4mxwhrjlhbrj"; + name = "kinfocenter-5.4.1.tar.xz"; + }; + }; + khelpcenter = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/khelpcenter-5.4.1.tar.xz"; + sha256 = "11aszn2ha1wjpdyfr25by963krsmgflqj30fmkns2la1axqq19x9"; + name = "khelpcenter-5.4.1.tar.xz"; + }; + }; + kwayland = { + version = "5.4.1"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.4.1/kwayland-5.4.1.tar.xz"; + sha256 = "0irw68c9vn4c2jaqll442wr3f6wzj9q2z2qfl5qpq3vb9lpzfafg"; + name = "kwayland-5.4.1.tar.xz"; + }; + }; +} diff --git a/pkgs/desktops/plasma-5.4/systemsettings.nix b/pkgs/desktops/plasma-5.4/systemsettings.nix new file mode 100644 index 00000000000..45821aaf934 --- /dev/null +++ b/pkgs/desktops/plasma-5.4/systemsettings.nix @@ -0,0 +1,39 @@ +{ mkDerivation +, extra-cmake-modules +, kdoctools +, kitemviews +, kcmutils +, ki18n +, kio +, kservice +, kiconthemes +, kwindowsystem +, kxmlgui +, kdbusaddons +, kconfig +, khtml +}: + +mkDerivation { + name = "systemsettings"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kitemviews + kcmutils + ki18n + kio + kservice + kiconthemes + kwindowsystem + kxmlgui + kdbusaddons + kconfig + khtml + ]; + postInstall = '' + wrapKDEProgram "$out/bin/systemsettings5" + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ea911ba4630..bcabace3677 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14132,6 +14132,7 @@ let plasma53 = recurseIntoAttrs (callPackage ../desktops/plasma-5.3 { }); plasma5_latest = plasma53; plasma5_stable = plasma53; + plasma54 = recurseIntoAttrs (callPackage ../desktops/plasma-5.4 { inherit pkgs; }); kde5 = kf5_stable // plasma5_stable // kdeApps_stable;