diff --git a/pkgs/desktops/plasma-5.5/bluedevil.nix b/pkgs/desktops/plasma-5.5/bluedevil.nix new file mode 100644 index 000000000000..d099e95a16b4 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/bluedevil.nix @@ -0,0 +1,23 @@ +{ plasmaPackage, extra-cmake-modules, bluez-qt, kcoreaddons +, kdbusaddons, kded, ki18n, kiconthemes, kio, knotifications +, kwidgetsaddons, kwindowsystem, makeQtWrapper, plasma-framework +, qtdeclarative, shared_mime_info +}: + +plasmaPackage { + name = "bluedevil"; + nativeBuildInputs = [ + extra-cmake-modules makeQtWrapper shared_mime_info + ]; + buildInputs = [ + kcoreaddons kdbusaddons kded kiconthemes knotifications + kwidgetsaddons + ]; + propagatedBuildInputs = [ + bluez-qt ki18n kio kwindowsystem plasma-framework qtdeclarative + ]; + postInstall = '' + wrapQtProgram "$out/bin/bluedevil-wizard" + wrapQtProgram "$out/bin/bluedevil-sendfile" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/breeze-qt4.nix b/pkgs/desktops/plasma-5.5/breeze-qt4.nix new file mode 100644 index 000000000000..f8092bc9d376 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/breeze-qt4.nix @@ -0,0 +1,29 @@ +{ plasmaPackage +, automoc4 +, cmake +, perl +, pkgconfig +, kdelibs +, qt4 +, xproto +}: + +plasmaPackage { + 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.5/breeze-qt5.nix b/pkgs/desktops/plasma-5.5/breeze-qt5.nix new file mode 100644 index 000000000000..63ade168805d --- /dev/null +++ b/pkgs/desktops/plasma-5.5/breeze-qt5.nix @@ -0,0 +1,23 @@ +{ plasmaPackage, extra-cmake-modules, frameworkintegration +, kcmutils, kconfigwidgets, kcoreaddons, kdecoration, kguiaddons +, ki18n, kwindowsystem, makeQtWrapper, plasma-framework, qtx11extras +}: + +plasmaPackage { + name = "breeze-qt5"; + sname = "breeze"; + nativeBuildInputs = [ + extra-cmake-modules + makeQtWrapper + ]; + buildInputs = [ + kcmutils kconfigwidgets kcoreaddons kdecoration kguiaddons + ]; + propagatedBuildInputs = [ + frameworkintegration ki18n kwindowsystem plasma-framework qtx11extras + ]; + cmakeFlags = [ "-DUSE_Qt4=OFF" ]; + postInstall = '' + wrapQtProgram "$out/bin/breeze-settings5" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/default.nix b/pkgs/desktops/plasma-5.5/default.nix new file mode 100644 index 000000000000..33937aa32200 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/default.nix @@ -0,0 +1,85 @@ +# 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; + + kdeApps = pkgs.kdeApps_15_12; + + 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; + + 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 {}; + 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 {}; + kscreenlocker = callPackage ./kscreenlocker.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 {}; + milou = callPackage ./milou.nix {}; + oxygen = callPackage ./oxygen.nix {}; + plasma-desktop = callPackage ./plasma-desktop {}; + plasma-mediacenter = callPackage ./plasma-mediacenter.nix {}; + plasma-nm = callPackage ./plasma-nm {}; + 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 ({ inherit plasmaPackage; } // scope); + +in lib.makeScope newScope addPackages diff --git a/pkgs/desktops/plasma-5.5/fetchsrcs.sh b/pkgs/desktops/plasma-5.5/fetchsrcs.sh new file mode 100755 index 000000000000..e9b551f86b96 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/fetchsrcs.sh @@ -0,0 +1,57 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p coreutils findutils gawk gnused nix wget + +set -x + +# The trailing slash at the end is necessary! +RELEASE_URL="http://download.kde.org/unstable/plasma/5.4.95/" +EXTRA_WGET_ARGS='-A *.tar.xz' + +mkdir tmp; cd tmp + +rm -f ../srcs.csv + +wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS + +find . | while read src; do + if [[ -f "${src}" ]]; then + # Sanitize file name + filename=$(basename "$src" | tr '@' '_') + nameVersion="${filename%.tar.*}" + name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,') + version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') + echo "$name,$version,$src,$filename" >>../srcs.csv + fi +done + +cat >../srcs.nix <>../srcs.nix <>../srcs.nix + +rm -f ../srcs.csv + +cd .. diff --git a/pkgs/desktops/plasma-5.5/kde-cli-tools.nix b/pkgs/desktops/plasma-5.5/kde-cli-tools.nix new file mode 100644 index 000000000000..7f19af6959ec --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kde-cli-tools.nix @@ -0,0 +1,27 @@ +{ plasmaPackage, extra-cmake-modules, kcmutils, kconfig +, kdelibs4support, kdesu, kdoctools, ki18n, kiconthemes +, kwindowsystem, makeQtWrapper, qtsvg, qtx11extras +}: + +plasmaPackage { + name = "kde-cli-tools"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ + kcmutils kconfig kdesu kiconthemes + ]; + propagatedBuildInputs = [ + kdelibs4support ki18n kwindowsystem qtsvg qtx11extras + ]; + postInstall = '' + wrapQtProgram "$out/bin/kmimetypefinder5" + wrapQtProgram "$out/bin/ksvgtopng5" + wrapQtProgram "$out/bin/ktraderclient5" + wrapQtProgram "$out/bin/kioclient5" + wrapQtProgram "$out/bin/kdecp5" + wrapQtProgram "$out/bin/keditfiletype5" + wrapQtProgram "$out/bin/kcmshell5" + wrapQtProgram "$out/bin/kdemv5" + wrapQtProgram "$out/bin/kstart5" + wrapQtProgram "$out/bin/kde-open5" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch b/pkgs/desktops/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch new file mode 100644 index 000000000000..759eda4cc134 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch @@ -0,0 +1,39 @@ +From 33b25c2e3c7a002c7f726cd79fc4bab22b1299be Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Tue, 27 Oct 2015 18:07:54 -0500 +Subject: [PATCH] follow symlinks + +--- + src/appearancegtk2.cpp | 2 +- + src/iconthemesmodel.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/appearancegtk2.cpp b/src/appearancegtk2.cpp +index b1e0b52..095cddc 100644 +--- a/src/appearancegtk2.cpp ++++ b/src/appearancegtk2.cpp +@@ -73,7 +73,7 @@ QString AppearanceGTK2::themesGtkrcFile(const QString& themeName) const + QStringList themes=installedThemes(); + themes=themes.filter(QRegExp("/"+themeName+"/?$")); + if(themes.size()==1) { +- QDirIterator it(themes.first(), QDirIterator::Subdirectories); ++ QDirIterator it(themes.first(), QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while(it.hasNext()) { + it.next(); + if(it.fileName()=="gtkrc") { +diff --git a/src/iconthemesmodel.cpp b/src/iconthemesmodel.cpp +index 07c7ad7..b04d978 100644 +--- a/src/iconthemesmodel.cpp ++++ b/src/iconthemesmodel.cpp +@@ -46,7 +46,7 @@ QList IconThemesModel::installedThemesPaths() + + foreach(const QString& dir, dirs) { + QDir userIconsDir(dir); +- QDirIterator it(userIconsDir.path(), QDir::NoDotAndDotDot|QDir::AllDirs|QDir::NoSymLinks); ++ QDirIterator it(userIconsDir.path(), QDir::NoDotAndDotDot|QDir::AllDirs); + while(it.hasNext()) { + QString currentPath = it.next(); + QDir dir(currentPath); +-- +2.6.2 + diff --git a/pkgs/desktops/plasma-5.5/kde-gtk-config/default.nix b/pkgs/desktops/plasma-5.5/kde-gtk-config/default.nix new file mode 100644 index 000000000000..6b41599994d5 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kde-gtk-config/default.nix @@ -0,0 +1,28 @@ +{ plasmaPackage +, extra-cmake-modules +, glib +, gtk2 +, gtk3 +, karchive +, kcmutils +, kconfigwidgets +, ki18n +, kiconthemes +, kio +, knewstuff +}: + +plasmaPackage { + name = "kde-gtk-config"; + patches = [ ./0001-follow-symlinks.patch ]; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + glib gtk2 gtk3 karchive kcmutils kconfigwidgets kiconthemes + knewstuff + ]; + propagatedBuildInputs = [ ki18n kio ]; + 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.5/kdecoration.nix b/pkgs/desktops/plasma-5.5/kdecoration.nix new file mode 100644 index 000000000000..eb65f7f90afb --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kdecoration.nix @@ -0,0 +1,6 @@ +{ plasmaPackage, extra-cmake-modules }: + +plasmaPackage { + name = "kdecoration"; + nativeBuildInputs = [ extra-cmake-modules ]; +} diff --git a/pkgs/desktops/plasma-5.5/kdeplasma-addons.nix b/pkgs/desktops/plasma-5.5/kdeplasma-addons.nix new file mode 100644 index 000000000000..d6a96a3276d7 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kdeplasma-addons.nix @@ -0,0 +1,21 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, ibus, kconfig +, kconfigwidgets, kcoreaddons, kcmutils, kdelibs4support, ki18n +, kio, knewstuff, kross, krunner, kservice, kunitconversion +, plasma-framework, qtdeclarative, qtx11extras +}: + +plasmaPackage { + name = "kdeplasma-addons"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + ibus kconfig kconfigwidgets kcoreaddons kcmutils + knewstuff kservice kunitconversion + ]; + propagatedBuildInputs = [ + kdelibs4support kio kross krunner plasma-framework qtdeclarative + qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.5/kgamma5.nix b/pkgs/desktops/plasma-5.5/kgamma5.nix new file mode 100644 index 000000000000..965c33e6eef8 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kgamma5.nix @@ -0,0 +1,9 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kdelibs4support +, qtx11extras +}: + +plasmaPackage { + name = "kgamma5"; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + propagatedBuildInputs = [ kdelibs4support qtx11extras ]; +} diff --git a/pkgs/desktops/plasma-5.5/khelpcenter.nix b/pkgs/desktops/plasma-5.5/khelpcenter.nix new file mode 100644 index 000000000000..6ba860b9dfb2 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/khelpcenter.nix @@ -0,0 +1,20 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kconfig +, kcoreaddons, kdbusaddons, ki18n, kinit, kcmutils, kdelibs4support +, khtml, kservice, makeQtWrapper +}: + +plasmaPackage { + name = "khelpcenter"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kconfig kcoreaddons kdbusaddons kinit kcmutils kservice + ]; + propagatedBuildInputs = [ kdelibs4support khtml ki18n ]; + postInstall = '' + wrapQtProgram "$out/bin/khelpcenter" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/khotkeys.nix b/pkgs/desktops/plasma-5.5/khotkeys.nix new file mode 100644 index 000000000000..141320e6b3e6 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/khotkeys.nix @@ -0,0 +1,16 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kcmutils +, kdbusaddons, kdelibs4support, kglobalaccel, ki18n, kio, kxmlgui +, plasma-framework, plasma-workspace, qtx11extras +}: + +plasmaPackage { + name = "khotkeys"; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcmutils kdbusaddons kxmlgui + ]; + propagatedBuildInputs = [ + kdelibs4support kglobalaccel ki18n kio plasma-framework + plasma-workspace qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.5/kinfocenter.nix b/pkgs/desktops/plasma-5.5/kinfocenter.nix new file mode 100644 index 000000000000..ed717790cd0d --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kinfocenter.nix @@ -0,0 +1,24 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kcmutils +, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons +, kdeclarative, kdelibs4support, ki18n, kiconthemes, kio, kpackage +, kservice, kwidgetsaddons, kxmlgui, libraw1394, makeQtWrapper +, pciutils, solid +}: + +plasmaPackage { + name = "kinfocenter"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kcmutils kcompletion kconfig kconfigwidgets kcoreaddons + kdbusaddons kiconthemes kpackage kservice kwidgetsaddons + kxmlgui libraw1394 pciutils solid + ]; + propagatedBuildInputs = [ kdeclarative kdelibs4support ki18n kio ]; + postInstall = '' + wrapQtProgram "$out/bin/kinfocenter" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/kmenuedit.nix b/pkgs/desktops/plasma-5.5/kmenuedit.nix new file mode 100644 index 000000000000..3834ca1328f8 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kmenuedit.nix @@ -0,0 +1,19 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, ki18n, kxmlgui +, kdbusaddons, kiconthemes, kio, sonnet, kdelibs4support, makeQtWrapper +}: + +plasmaPackage { + name = "kmenuedit"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kxmlgui kdbusaddons kiconthemes + ]; + propagatedBuildInputs = [ kdelibs4support ki18n kio sonnet ]; + postInstall = '' + wrapQtProgram "$out/bin/kmenuedit" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/kscreen.nix b/pkgs/desktops/plasma-5.5/kscreen.nix new file mode 100644 index 000000000000..64fcab343e44 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kscreen.nix @@ -0,0 +1,19 @@ +{ plasmaPackage, extra-cmake-modules, kconfig, kconfigwidgets +, kdbusaddons, kglobalaccel, ki18n, kwidgetsaddons, kxmlgui +, libkscreen, makeQtWrapper, qtdeclarative +}: + +plasmaPackage { + name = "kscreen"; + nativeBuildInputs = [ + extra-cmake-modules + makeQtWrapper + ]; + buildInputs = [ + kconfig kconfigwidgets kdbusaddons kwidgetsaddons kxmlgui + ]; + propagatedBuildInputs = [ kglobalaccel ki18n libkscreen qtdeclarative ]; + postInstall = '' + wrapQtProgram "$out/bin/kscreen-console" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/kscreenlocker.nix b/pkgs/desktops/plasma-5.5/kscreenlocker.nix new file mode 100644 index 000000000000..562797b546e9 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kscreenlocker.nix @@ -0,0 +1,19 @@ +{ plasmaPackage, extra-cmake-modules, kcmutils, kcrash, kdeclarative +, kdelibs4support, kdoctools, kglobalaccel, kidletime, kwayland +, libXcursor, pam, plasma-framework, qtdeclarative, wayland +}: + +plasmaPackage { + name = "kscreenlocker"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kcmutils kcrash kdelibs4support kglobalaccel kidletime kwayland + libXcursor pam wayland + ]; + propagatedBuildInputs = [ + kdeclarative plasma-framework qtdeclarative + ]; +} diff --git a/pkgs/desktops/plasma-5.5/ksshaskpass.nix b/pkgs/desktops/plasma-5.5/ksshaskpass.nix new file mode 100644 index 000000000000..f274512e027a --- /dev/null +++ b/pkgs/desktops/plasma-5.5/ksshaskpass.nix @@ -0,0 +1,13 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kcoreaddons +, ki18n, kwallet, kwidgetsaddons, makeQtWrapper +}: + +plasmaPackage { + name = "ksshaskpass"; + nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ]; + buildInputs = [ kcoreaddons kwallet kwidgetsaddons ]; + propagatedBuildInputs = [ ki18n ]; + postInstall = '' + wrapQtProgram "$out/bin/ksshaskpass" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/ksysguard.nix b/pkgs/desktops/plasma-5.5/ksysguard.nix new file mode 100644 index 000000000000..d47f9215a41a --- /dev/null +++ b/pkgs/desktops/plasma-5.5/ksysguard.nix @@ -0,0 +1,20 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kconfig +, kcoreaddons, kdelibs4support, ki18n, kitemviews, knewstuff +, kiconthemes, libksysguard, makeQtWrapper +}: + +plasmaPackage { + name = "ksysguard"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kconfig kcoreaddons kitemviews knewstuff kiconthemes libksysguard + ]; + propagatedBuildInputs = [ kdelibs4support ki18n ]; + postInstall = '' + wrapQtProgram "$out/bin/ksysguardd" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/kwayland.nix b/pkgs/desktops/plasma-5.5/kwayland.nix new file mode 100644 index 000000000000..e4d6eb631f95 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kwayland.nix @@ -0,0 +1,14 @@ +{ plasmaPackage +, extra-cmake-modules +, wayland +}: + +plasmaPackage { + name = "kwayland"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + wayland + ]; +} diff --git a/pkgs/desktops/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..797a32fc5f83 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch @@ -0,0 +1,25 @@ +From 78a4b554187c18fd86b62089f7730c4273fadd4c Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Wed, 14 Oct 2015 07:05:22 -0500 +Subject: [PATCH] qdiriterator follow symlinks + +--- + clients/aurorae/src/aurorae.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp +index 781c960..ad5f420 100644 +--- a/clients/aurorae/src/aurorae.cpp ++++ b/clients/aurorae/src/aurorae.cpp +@@ -211,7 +211,7 @@ void Helper::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(); +-- +2.5.2 + diff --git a/pkgs/desktops/plasma-5.5/kwin/default.nix b/pkgs/desktops/plasma-5.5/kwin/default.nix new file mode 100644 index 000000000000..2e86068b486f --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kwin/default.nix @@ -0,0 +1,33 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, epoxy +, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets +, kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel +, ki18n, kiconthemes, kidletime, kinit, kio, knewstuff, knotifications +, kpackage, kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem +, kxmlgui, libinput, libICE, libSM, plasma-framework, qtdeclarative +, qtmultimedia, qtscript, qtx11extras, udev, wayland, xcb-util-cursor +, makeQtWrapper +}: + +plasmaPackage { + name = "kwin"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + epoxy kcompletion kcmutils kconfig kconfigwidgets kcoreaddons + kcrash kdecoration kiconthemes kidletime kinit knewstuff knotifications + kpackage kservice kwayland kwidgetsaddons kxmlgui libinput libICE + libSM qtscript udev wayland xcb-util-cursor + ]; + propagatedBuildInputs = [ + kactivities kdeclarative kglobalaccel ki18n kio kscreenlocker + kwindowsystem plasma-framework qtdeclarative qtmultimedia qtx11extras + ]; + patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; + postInstall = '' + wrapQtProgram "$out/bin/kwin_x11" + wrapQtProgram "$out/bin/kwin_wayland" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/kwrited.nix b/pkgs/desktops/plasma-5.5/kwrited.nix new file mode 100644 index 000000000000..a6ed9d9bb287 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/kwrited.nix @@ -0,0 +1,10 @@ +{ plasmaPackage, extra-cmake-modules, kcoreaddons, ki18n, kpty +, knotifications, kdbusaddons +}: + +plasmaPackage { + name = "kwrited"; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ kcoreaddons kpty knotifications kdbusaddons ]; + propagatedBuildInputs = [ ki18n ]; +} diff --git a/pkgs/desktops/plasma-5.5/libkscreen/default.nix b/pkgs/desktops/plasma-5.5/libkscreen/default.nix new file mode 100644 index 000000000000..9fccbd6834c3 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/libkscreen/default.nix @@ -0,0 +1,18 @@ +{ plasmaPackage +, extra-cmake-modules +, libXrandr +, qtx11extras +}: + +plasmaPackage { + name = "libkscreen"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + libXrandr + ]; + propagatedBuildInputs = [ + qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.5/libkscreen/libkscreen-backend-path.patch b/pkgs/desktops/plasma-5.5/libkscreen/libkscreen-backend-path.patch new file mode 100644 index 000000000000..d5797924d233 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/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.5/libksysguard/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch new file mode 100644 index 000000000000..fbbb11ae7556 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch @@ -0,0 +1,25 @@ +From 46164a50de4102d02ae9d1d480acdd4b12303db8 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Wed, 14 Oct 2015 07:07:22 -0500 +Subject: [PATCH] qdiriterator follow symlinks + +--- + processui/scripting.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/processui/scripting.cpp b/processui/scripting.cpp +index efed8ff..841761a 100644 +--- a/processui/scripting.cpp ++++ b/processui/scripting.cpp +@@ -167,7 +167,7 @@ void Scripting::loadContextMenu() { + QStringList scripts; + const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, "ksysguard/scripts/", QStandardPaths::LocateDirectory); + Q_FOREACH (const QString& dir, dirs) { +- QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories); ++ QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks); + while (it.hasNext()) { + scripts.append(it.next()); + } +-- +2.5.2 + diff --git a/pkgs/desktops/plasma-5.5/libksysguard/default.nix b/pkgs/desktops/plasma-5.5/libksysguard/default.nix new file mode 100644 index 000000000000..373221b2b305 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/libksysguard/default.nix @@ -0,0 +1,21 @@ +{ plasmaPackage, extra-cmake-modules, kauth, kcompletion +, kconfigwidgets, kcoreaddons, kservice, kwidgetsaddons +, kwindowsystem, plasma-framework, qtscript, qtwebkit, qtx11extras +, kconfig, ki18n, kiconthemes +}: + +plasmaPackage { + name = "libksysguard"; + patches = [ ./0001-qdiriterator-follow-symlinks.patch ]; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kcompletion kconfigwidgets kcoreaddons kservice + kwidgetsaddons qtscript qtwebkit + ]; + propagatedBuildInputs = [ + kauth kconfig ki18n kiconthemes kwindowsystem plasma-framework + qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.5/milou.nix b/pkgs/desktops/plasma-5.5/milou.nix new file mode 100644 index 000000000000..760de2d79ab4 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/milou.nix @@ -0,0 +1,17 @@ +{ plasmaPackage, extra-cmake-modules, qtscript, qtdeclarative +, kcoreaddons, ki18n, kdeclarative, kservice, plasma-framework +, krunner +}: + +plasmaPackage { + name = "milou"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + qtscript kcoreaddons kservice + ]; + propagatedBuildInputs = [ + kdeclarative ki18n krunner plasma-framework qtdeclarative + ]; +} diff --git a/pkgs/desktops/plasma-5.5/oxygen.nix b/pkgs/desktops/plasma-5.5/oxygen.nix new file mode 100644 index 000000000000..02918100408a --- /dev/null +++ b/pkgs/desktops/plasma-5.5/oxygen.nix @@ -0,0 +1,20 @@ +{ plasmaPackage, extra-cmake-modules, ki18n, kcmutils, kconfig +, kdecoration, kguiaddons, kwidgetsaddons, kservice, kcompletion +, frameworkintegration, kwindowsystem, makeQtWrapper, qtx11extras +}: + +plasmaPackage { + name = "oxygen"; + nativeBuildInputs = [ + extra-cmake-modules makeQtWrapper + ]; + buildInputs = [ + kcmutils kconfig kdecoration kguiaddons kwidgetsaddons + kservice kcompletion + ]; + propagatedBuildInputs = [ frameworkintegration ki18n kwindowsystem qtx11extras ]; + postInstall = '' + wrapQtProgram "$out/bin/oxygen-demo5" + wrapQtProgram "$out/bin/oxygen-settings5" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch b/pkgs/desktops/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch new file mode 100644 index 000000000000..ead7452daa84 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch @@ -0,0 +1,67 @@ +From 7c379686def9f15be1aa8fa4b5358124f7ed57c6 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 19 Oct 2015 18:45:36 -0500 +Subject: [PATCH 1/3] qt-5.5 QML import paths + +--- + applets/pager/package/contents/ui/main.qml | 2 +- + containments/desktop/package/contents/ui/FolderView.qml | 2 +- + containments/desktop/package/contents/ui/main.qml | 2 +- + containments/panel/contents/ui/main.qml | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/applets/pager/package/contents/ui/main.qml b/applets/pager/package/contents/ui/main.qml +index 0c367c6..c9a82be 100644 +--- a/applets/pager/package/contents/ui/main.qml ++++ b/applets/pager/package/contents/ui/main.qml +@@ -23,7 +23,7 @@ import org.kde.plasma.components 2.0 as PlasmaComponents + import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddonsComponents + import org.kde.draganddrop 2.0 + import org.kde.plasma.private.pager 2.0 +-import "utils.js" as Utils ++import "../code/utils.js" as Utils + + MouseArea { + id: root +diff --git a/containments/desktop/package/contents/ui/FolderView.qml b/containments/desktop/package/contents/ui/FolderView.qml +index 578ec87..04e088c 100644 +--- a/containments/desktop/package/contents/ui/FolderView.qml ++++ b/containments/desktop/package/contents/ui/FolderView.qml +@@ -27,7 +27,7 @@ import org.kde.plasma.extras 2.0 as PlasmaExtras + import org.kde.kquickcontrolsaddons 2.0 + + import org.kde.private.desktopcontainment.folder 0.1 as Folder +-import "FolderTools.js" as FolderTools ++import "../code/FolderTools.js" as FolderTools + + Item { + id: main +diff --git a/containments/desktop/package/contents/ui/main.qml b/containments/desktop/package/contents/ui/main.qml +index 422e8f7..3c8906e 100644 +--- a/containments/desktop/package/contents/ui/main.qml ++++ b/containments/desktop/package/contents/ui/main.qml +@@ -29,7 +29,7 @@ import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddons + + import org.kde.private.desktopcontainment.desktop 0.1 as Desktop + +-import "LayoutManager.js" as LayoutManager ++import "../code/LayoutManager.js" as LayoutManager + + DragDrop.DropArea { + id: root +diff --git a/containments/panel/contents/ui/main.qml b/containments/panel/contents/ui/main.qml +index bad6ba0..b1fc331 100644 +--- a/containments/panel/contents/ui/main.qml ++++ b/containments/panel/contents/ui/main.qml +@@ -25,7 +25,7 @@ import org.kde.plasma.components 2.0 as PlasmaComponents + import org.kde.kquickcontrolsaddons 2.0 + import org.kde.draganddrop 2.0 as DragDrop + +-import "LayoutManager.js" as LayoutManager ++import "../code/LayoutManager.js" as LayoutManager + + DragDrop.DropArea { + id: root +-- +2.6.3 + diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/0002-hwclock.patch b/pkgs/desktops/plasma-5.5/plasma-desktop/0002-hwclock.patch new file mode 100644 index 000000000000..17b01486d928 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-desktop/0002-hwclock.patch @@ -0,0 +1,36 @@ +From d0056fa6c1158408db169a7f5e6eb75691083094 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 22 Nov 2015 09:34:43 -0600 +Subject: [PATCH 2/3] 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 e955f0c..5171753 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 = QStringLiteral("/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(QStringLiteral("hwclock"), exePath); ++ QString hwclock = "@hwclock@"; + if (!hwclock.isEmpty()) { + KProcess::execute(hwclock, QStringList() << QStringLiteral("--systohc")); + } +-- +2.6.3 + diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/0003-tzdir.patch b/pkgs/desktops/plasma-5.5/plasma-desktop/0003-tzdir.patch new file mode 100644 index 000000000000..aba97b032f8a --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-desktop/0003-tzdir.patch @@ -0,0 +1,30 @@ +From 0a8e2ae5cb64c5762408df920d99459b20d52b29 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 22 Nov 2015 09:39:24 -0600 +Subject: [PATCH 3/3] tzdir + +--- + 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 5171753..92b5d9e 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; ++ QString tzdir = QString::fromLocal8Bit(qgetenv("TZDIR")); ++ QString tz = tzdir + "/" + selectedzone; ++ if (tzdir.isEmpty()) { ++ // Standard Linux path ++ tz = "/usr/share/zoneinfo/" + selectedzone; ++ } + + if (QFile::exists(tz)) { // make sure the new TZ really exists + QFile::remove(QStringLiteral("/etc/localtime")); +-- +2.6.3 + diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5.5/plasma-desktop/default.nix new file mode 100644 index 000000000000..843a7c03c43a --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-desktop/default.nix @@ -0,0 +1,59 @@ +{ plasmaPackage, 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, makeQtWrapper, utillinux +, qtquick1, qtquickcontrols +}: + +plasmaPackage rec { + name = "plasma-desktop"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + attica boost fontconfig kcmutils kdbusaddons kded kitemmodels + knewstuff knotifications knotifyconfig kwallet libcanberra_kde + libXcursor libpulseaudio libXft libxkbfile phonon + qtsvg xf86inputevdev xf86inputsynaptics + xkeyboard_config xinput + ]; + propagatedBuildInputs = [ + baloo kactivities kauth kdeclarative kdelibs4support kemoticons + kglobalaccel ki18n kpeople krunner kwin plasma-framework + plasma-workspace qtdeclarative qtquick1 qtquickcontrols + qtx11extras + ]; + # All propagatedBuildInputs should be present in the profile because + # wrappers cannot be used here. + propagatedUserEnvPkgs = propagatedBuildInputs; + patches = [ + ./0001-qt-5.5-QML-import-paths.patch + (substituteAll { + src = ./0002-hwclock.patch; + hwclock = "${utillinux}/sbin/hwclock"; + }) + ./0003-tzdir.patch + ]; + NIX_CFLAGS_COMPILE = [ "-I${xorgserver}/include/xorg" ]; + cmakeFlags = [ + "-DEvdev_INCLUDE_DIRS=${xf86inputevdev}/include/xorg" + "-DSynaptics_INCLUDE_DIRS=${xf86inputsynaptics}/include/xorg" + ]; + postInstall = '' + wrapQtProgram "$out/bin/kaccess" + wrapQtProgram "$out/bin/solid-action-desktop-gen" + wrapQtProgram "$out/bin/knetattach" + wrapQtProgram "$out/bin/krdb" + wrapQtProgram "$out/bin/kapplymousetheme" + wrapQtProgram "$out/bin/kfontinst" + wrapQtProgram "$out/bin/kcm-touchpad-list-devices" + wrapQtProgram "$out/bin/kfontview" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/plasma-mediacenter.nix b/pkgs/desktops/plasma-5.5/plasma-mediacenter.nix new file mode 100644 index 000000000000..afd8a18bbbd6 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-mediacenter.nix @@ -0,0 +1,23 @@ +{ plasmaPackage, extra-cmake-modules, baloo, kactivities, kconfig +, kcoreaddons, kdeclarative, kguiaddons, ki18n, kio, kservice +, kfilemetadata, plasma-framework, qtdeclarative, qtmultimedia +, taglib +}: + +plasmaPackage rec { + name = "plasma-mediacenter"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kconfig kcoreaddons kguiaddons kservice + qtdeclarative qtmultimedia taglib + ]; + propagatedBuildInputs = [ + baloo kactivities kdeclarative kfilemetadata ki18n kio + plasma-framework + ]; + # All propagatedBuildInputs should be present in the profile because + # wrappers cannot be used here. + propagatedUserEnvPkgs = propagatedBuildInputs; +} diff --git a/pkgs/desktops/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch b/pkgs/desktops/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch new file mode 100644 index 000000000000..79b5cfb437e2 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch @@ -0,0 +1,25 @@ +From faf13c97ff1192a201843b9d52f4002dbd9022af Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 25 Oct 2015 09:09:27 -0500 +Subject: [PATCH] mobile-broadband-provider-info path + +--- + libs/editor/mobileproviders.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libs/editor/mobileproviders.cpp b/libs/editor/mobileproviders.cpp +index 568cb34..98a5992 100644 +--- a/libs/editor/mobileproviders.cpp ++++ b/libs/editor/mobileproviders.cpp +@@ -26,7 +26,7 @@ + + #include + +-const QString MobileProviders::ProvidersFile = "/usr/share/mobile-broadband-provider-info/serviceproviders.xml"; ++const QString MobileProviders::ProvidersFile = "@mobile_broadband_provider_info@/share/mobile-broadband-provider-info/serviceproviders.xml"; + + bool localeAwareCompare(const QString & one, const QString & two) { + return one.localeAwareCompare(two) < 0; +-- +2.6.2 + diff --git a/pkgs/desktops/plasma-5.5/plasma-nm/default.nix b/pkgs/desktops/plasma-5.5/plasma-nm/default.nix new file mode 100644 index 000000000000..249c6d8aac94 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-nm/default.nix @@ -0,0 +1,36 @@ +{ plasmaPackage, substituteAll, extra-cmake-modules, kdoctools +, kcompletion, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative +, kdelibs4support, ki18n, kiconthemes, kinit, kio, kitemviews +, knotifications, kservice, kwallet, kwidgetsaddons, kwindowsystem +, kxmlgui, makeQtWrapper, mobile_broadband_provider_info +, modemmanager-qt, networkmanager-qt, openconnect, plasma-framework +, qca-qt5, qtdeclarative, solid +}: + +plasmaPackage { + name = "plasma-nm"; + patches = [ + (substituteAll { + src = ./0001-mobile-broadband-provider-info-path.patch; + inherit mobile_broadband_provider_info; + }) + ]; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kcompletion kconfigwidgets kcoreaddons kdbusaddons kiconthemes + kinit kitemviews knotifications kservice kwallet kwidgetsaddons + kxmlgui mobile_broadband_provider_info modemmanager-qt + networkmanager-qt openconnect qca-qt5 solid + ]; + propagatedBuildInputs = [ + kdeclarative kdelibs4support ki18n kio kwindowsystem plasma-framework + qtdeclarative + ]; + postInstall = '' + wrapQtProgram "$out/bin/kde5-nm-connection-editor" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/plasma-pa.nix b/pkgs/desktops/plasma-5.5/plasma-pa.nix new file mode 100644 index 000000000000..ff56d1199b15 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-pa.nix @@ -0,0 +1,18 @@ +{ plasmaPackage, extra-cmake-modules, glib, kdoctools, kconfigwidgets +, kcoreaddons, kdeclarative, kglobalaccel, ki18n, libpulseaudio +, plasma-framework +}: + +plasmaPackage { + name = "plasma-pa"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + glib kconfigwidgets kcoreaddons libpulseaudio + ]; + propagatedBuildInputs = [ + kdeclarative kglobalaccel ki18n plasma-framework + ]; +} diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace-wallpapers.nix b/pkgs/desktops/plasma-5.5/plasma-workspace-wallpapers.nix new file mode 100644 index 000000000000..bc87abcad153 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-workspace-wallpapers.nix @@ -0,0 +1,10 @@ +{ plasmaPackage +, extra-cmake-modules +}: + +plasmaPackage { + name = "plasma-workspace-wallpapers"; + nativeBuildInputs = [ + extra-cmake-modules + ]; +} diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace/0001-qt-5.5-QML-import-paths.patch b/pkgs/desktops/plasma-5.5/plasma-workspace/0001-qt-5.5-QML-import-paths.patch new file mode 100644 index 000000000000..251e1260e664 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-workspace/0001-qt-5.5-QML-import-paths.patch @@ -0,0 +1,123 @@ +From 1b95c8c95fb8ea097bb5236b19962c7feff9f333 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 19 Oct 2015 18:55:36 -0500 +Subject: [PATCH 1/2] qt-5.5 QML import paths + +--- + applets/analog-clock/contents/ui/analogclock.qml | 2 +- + applets/batterymonitor/package/contents/ui/BatteryItem.qml | 2 +- + applets/batterymonitor/package/contents/ui/CompactRepresentation.qml | 2 +- + applets/batterymonitor/package/contents/ui/PopupDialog.qml | 2 +- + applets/batterymonitor/package/contents/ui/batterymonitor.qml | 2 +- + applets/lock_logout/contents/ui/lockout.qml | 2 +- + applets/notifications/package/contents/ui/main.qml | 2 +- + applets/systemtray/package/contents/ui/main.qml | 2 +- + 8 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/applets/analog-clock/contents/ui/analogclock.qml b/applets/analog-clock/contents/ui/analogclock.qml +index edb3af9..7eb839d 100644 +--- a/applets/analog-clock/contents/ui/analogclock.qml ++++ b/applets/analog-clock/contents/ui/analogclock.qml +@@ -25,7 +25,7 @@ import org.kde.plasma.calendar 2.0 as PlasmaCalendar + import QtQuick.Layouts 1.1 + + import org.kde.plasma.core 2.0 as PlasmaCore +-import "logic.js" as Logic ++import "../code/logic.js" as Logic + + Item { + id: analogclock +diff --git a/applets/batterymonitor/package/contents/ui/BatteryItem.qml b/applets/batterymonitor/package/contents/ui/BatteryItem.qml +index 8d43797..3322369 100644 +--- a/applets/batterymonitor/package/contents/ui/BatteryItem.qml ++++ b/applets/batterymonitor/package/contents/ui/BatteryItem.qml +@@ -26,7 +26,7 @@ import org.kde.plasma.components 2.0 as PlasmaComponents + import org.kde.plasma.extras 2.0 as PlasmaExtras + import org.kde.plasma.workspace.components 2.0 + import org.kde.kcoreaddons 1.0 as KCoreAddons +-import "logic.js" as Logic ++import "../code/logic.js" as Logic + + Item { + id: batteryItem +diff --git a/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml b/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml +index b4059cb..ae8eeaf 100755 +--- a/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml ++++ b/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml +@@ -24,7 +24,7 @@ import QtQuick.Layouts 1.1 + import org.kde.plasma.core 2.0 as PlasmaCore + import org.kde.plasma.components 2.0 as Components + import org.kde.plasma.workspace.components 2.0 +-import "logic.js" as Logic ++import "../code/logic.js" as Logic + + MouseArea { + id: root +diff --git a/applets/batterymonitor/package/contents/ui/PopupDialog.qml b/applets/batterymonitor/package/contents/ui/PopupDialog.qml +index d4952c6..2b6586d 100644 +--- a/applets/batterymonitor/package/contents/ui/PopupDialog.qml ++++ b/applets/batterymonitor/package/contents/ui/PopupDialog.qml +@@ -23,7 +23,7 @@ import org.kde.plasma.core 2.0 as PlasmaCore + import org.kde.plasma.components 2.0 as Components + import org.kde.plasma.extras 2.0 as PlasmaExtras + import org.kde.kquickcontrolsaddons 2.0 +-import "logic.js" as Logic ++import "../code/logic.js" as Logic + + FocusScope { + id: dialog +diff --git a/applets/batterymonitor/package/contents/ui/batterymonitor.qml b/applets/batterymonitor/package/contents/ui/batterymonitor.qml +index a086581..6e1e8be 100755 +--- a/applets/batterymonitor/package/contents/ui/batterymonitor.qml ++++ b/applets/batterymonitor/package/contents/ui/batterymonitor.qml +@@ -25,7 +25,7 @@ import org.kde.plasma.plasmoid 2.0 + import org.kde.plasma.core 2.0 as PlasmaCore + import org.kde.kcoreaddons 1.0 as KCoreAddons + import org.kde.kquickcontrolsaddons 2.0 +-import "logic.js" as Logic ++import "../code/logic.js" as Logic + + Item { + id: batterymonitor +diff --git a/applets/lock_logout/contents/ui/lockout.qml b/applets/lock_logout/contents/ui/lockout.qml +index d32e7b7..828c5fb 100644 +--- a/applets/lock_logout/contents/ui/lockout.qml ++++ b/applets/lock_logout/contents/ui/lockout.qml +@@ -23,7 +23,7 @@ import org.kde.plasma.plasmoid 2.0 + import org.kde.plasma.core 2.0 as PlasmaCore + import org.kde.plasma.components 2.0 + import org.kde.kquickcontrolsaddons 2.0 +-import "data.js" as Data ++import "../code/data.js" as Data + + Flow { + id: lockout +diff --git a/applets/notifications/package/contents/ui/main.qml b/applets/notifications/package/contents/ui/main.qml +index 2871cdb..3f50856 100644 +--- a/applets/notifications/package/contents/ui/main.qml ++++ b/applets/notifications/package/contents/ui/main.qml +@@ -28,7 +28,7 @@ import org.kde.plasma.extras 2.0 as PlasmaExtras + + import org.kde.plasma.private.notifications 1.0 + +-import "uiproperties.js" as UiProperties ++import "../code/uiproperties.js" as UiProperties + + MouseEventListener { + id: notificationsApplet +diff --git a/applets/systemtray/package/contents/ui/main.qml b/applets/systemtray/package/contents/ui/main.qml +index 2e26455..864c9c5 100644 +--- a/applets/systemtray/package/contents/ui/main.qml ++++ b/applets/systemtray/package/contents/ui/main.qml +@@ -25,7 +25,7 @@ import org.kde.plasma.core 2.0 as PlasmaCore + // import org.kde.plasma.extras 2.0 as PlasmaExtras + + import org.kde.private.systemtray 2.0 as SystemTray +-import "Layout.js" as LayoutManager ++import "../code/Layout.js" as LayoutManager + + Item { + id: root +-- +2.6.3 + diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace/0002-startkde-NixOS-patches.patch b/pkgs/desktops/plasma-5.5/plasma-workspace/0002-startkde-NixOS-patches.patch new file mode 100644 index 000000000000..d8f3e669bc7b --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-workspace/0002-startkde-NixOS-patches.patch @@ -0,0 +1,397 @@ +From 8e5cf662d55415a838ce8c53f854202257e9feb4 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 22 Nov 2015 08:31:42 -0600 +Subject: [PATCH 2/2] startkde NixOS patches + +--- + startkde/startkde.cmake | 211 ++++++++++++++++++++---------------------------- + 1 file changed, 89 insertions(+), 122 deletions(-) + +diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake +index 41a8975..130578e 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 +193,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 +223,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 +236,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,26 +255,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 +-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 +@@ -317,11 +279,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 +@@ -331,11 +293,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 +310,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 +345,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 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS ++@kinit@/bin/kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/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 +377,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.6.3 + diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5.5/plasma-workspace/default.nix new file mode 100644 index 000000000000..bf8b0304a413 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/plasma-workspace/default.nix @@ -0,0 +1,62 @@ +{ plasmaPackage, 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, qtquick1, qtscript, qtx11extras, wayland +, libksysguard, bash, coreutils, gnused, gnugrep, socat, kconfig +, kinit, kservice, makeQtWrapper, qttools, dbus_tools, mkfontdir, xmessage +, xprop, xrdb, xset, xsetroot, solid, qtquickcontrols +}: + +plasmaPackage rec { + name = "plasma-workspace"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kcmutils kcrash kdbusaddons kdesu kdewebkit kjsembed knewstuff + knotifyconfig kpackage ktextwidgets kwallet kwayland kxmlrpcclient + libdbusmenu libSM libXcursor networkmanager-qt pam phonon + qtscript wayland + ]; + propagatedBuildInputs = [ + baloo kactivities kdeclarative kdelibs4support kglobalaccel + kidletime krunner ktexteditor kwin libkscreen libksysguard + plasma-framework qtquick1 qtquickcontrols qtx11extras solid + ]; + patches = [ + ./0001-qt-5.5-QML-import-paths.patch + ./0002-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 = '' + wrapQtProgram "$out/bin/ksmserver" + wrapQtProgram "$out/bin/plasmawindowed" + wrapQtProgram "$out/bin/kcminit_startup" + wrapQtProgram "$out/bin/ksplashqml" + wrapQtProgram "$out/bin/kcheckrunning" + wrapQtProgram "$out/bin/systemmonitor" + wrapQtProgram "$out/bin/kstartupconfig5" + wrapQtProgram "$out/bin/startplasmacompositor" + wrapQtProgram "$out/bin/kdostartupconfig5" + wrapQtProgram "$out/bin/klipper" + wrapQtProgram "$out/bin/kuiserver5" + wrapQtProgram "$out/bin/krunner" + wrapQtProgram "$out/bin/plasmashell" + + wrapQtProgram "$out/lib/libexec/drkonqi" + rm "$out/lib/libexec/startplasma" + ''; +} diff --git a/pkgs/desktops/plasma-5.5/polkit-kde-agent.nix b/pkgs/desktops/plasma-5.5/polkit-kde-agent.nix new file mode 100644 index 000000000000..0173ec655169 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/polkit-kde-agent.nix @@ -0,0 +1,31 @@ +{ plasmaPackage +, extra-cmake-modules +, ki18n +, kwindowsystem +, kdbusaddons +, kwidgetsaddons +, kcoreaddons +, kcrash +, kconfig +, kiconthemes +, knotifications +, polkitQt +}: + +plasmaPackage { + name = "polkit-kde-agent"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + buildInputs = [ + kdbusaddons + kwidgetsaddons + kcoreaddons + kcrash + kconfig + kiconthemes + knotifications + polkitQt + ]; + propagatedBuildInputs = [ ki18n kwindowsystem ]; +} diff --git a/pkgs/desktops/plasma-5.5/powerdevil.nix b/pkgs/desktops/plasma-5.5/powerdevil.nix new file mode 100644 index 000000000000..475e8878206a --- /dev/null +++ b/pkgs/desktops/plasma-5.5/powerdevil.nix @@ -0,0 +1,20 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kactivities +, kauth, kconfig, kdbusaddons, kdelibs4support, kglobalaccel, ki18n +, kidletime, kio, knotifyconfig, kwayland, libkscreen, plasma-workspace +, qtx11extras, solid, udev +}: + +plasmaPackage { + name = "powerdevil"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + buildInputs = [ + kconfig kdbusaddons knotifyconfig solid udev + ]; + propagatedBuildInputs = [ + kactivities kauth kdelibs4support kglobalaccel ki18n kio kidletime + kwayland libkscreen plasma-workspace qtx11extras + ]; +} diff --git a/pkgs/desktops/plasma-5.5/setup-hook.sh b/pkgs/desktops/plasma-5.5/setup-hook.sh new file mode 100644 index 000000000000..a8d9b7e0e36f --- /dev/null +++ b/pkgs/desktops/plasma-5.5/setup-hook.sh @@ -0,0 +1 @@ +addToSearchPath XDG_DATA_DIRS @out@/share diff --git a/pkgs/desktops/plasma-5.5/srcs.nix b/pkgs/desktops/plasma-5.5/srcs.nix new file mode 100644 index 000000000000..f8ff0be3f853 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/srcs.nix @@ -0,0 +1,309 @@ +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ + bluedevil = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/bluedevil-5.4.95.tar.xz"; + sha256 = "0ffd6vw3g0psysc4qwac55r9p32rl7jwvmwc468rpp9xvh52lx4p"; + name = "bluedevil-5.4.95.tar.xz"; + }; + }; + breeze = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/breeze-5.4.95.tar.xz"; + sha256 = "1xvxykmzp6i2qh6zgdwh1hj6pcfll7y3b63ypivnggi96crynxyr"; + name = "breeze-5.4.95.tar.xz"; + }; + }; + breeze-gtk = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/breeze-gtk-5.4.95.tar.xz"; + sha256 = "1f8qfnm6qyxkar0kw0ryls8z19hk14vlkk1zvm19h0i2fhihgnqg"; + name = "breeze-gtk-5.4.95.tar.xz"; + }; + }; + discover = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/discover-5.4.95.tar.xz"; + sha256 = "1sj2b7sg23ahjix7xnwx3yja1iz8373c3dirgzr0ggwvqb5q5miz"; + name = "discover-5.4.95.tar.xz"; + }; + }; + kde-cli-tools = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kde-cli-tools-5.4.95.tar.xz"; + sha256 = "0mh0bjjjji00nrsqr3988qh43jj7i4h7z2lpp2h1i0ykjczjmpj3"; + name = "kde-cli-tools-5.4.95.tar.xz"; + }; + }; + kdecoration = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kdecoration-5.4.95.tar.xz"; + sha256 = "1hbdr9nc50438lrrkdij7mdlg8sclaww1ky4rs0c067gnjgqlff3"; + name = "kdecoration-5.4.95.tar.xz"; + }; + }; + kde-gtk-config = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kde-gtk-config-5.4.95.tar.xz"; + sha256 = "17l9ypm5b4s8580zi2maxlszh890svcrh1jq3czz10izlmhd1zih"; + name = "kde-gtk-config-5.4.95.tar.xz"; + }; + }; + kdeplasma-addons = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kdeplasma-addons-5.4.95.tar.xz"; + sha256 = "1a3d96pii6ljvr1sv4v1n5zqmpp0iv1la8jd44bj12d2xhrng7zq"; + name = "kdeplasma-addons-5.4.95.tar.xz"; + }; + }; + kgamma5 = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kgamma5-5.4.95.tar.xz"; + sha256 = "0jpbd4342k8327ibwxwaam99gxc0h4bz3w0xk3chjv8jj2b3znnk"; + name = "kgamma5-5.4.95.tar.xz"; + }; + }; + khelpcenter = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/khelpcenter-5.4.95.tar.xz"; + sha256 = "09vrqjysz20pwcrkk2713jin062prz75h6hsc2swhz873ks3krb4"; + name = "khelpcenter-5.4.95.tar.xz"; + }; + }; + khotkeys = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/khotkeys-5.4.95.tar.xz"; + sha256 = "1haxxvs6nbva2x4i3ydx01hci2sfldqf9jdapl311hlliv7055bv"; + name = "khotkeys-5.4.95.tar.xz"; + }; + }; + kinfocenter = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kinfocenter-5.4.95.tar.xz"; + sha256 = "1xz7k8xqzhk8y652h1gixi6bkbz041k0b3di0c5a1wpa78pzxwjb"; + name = "kinfocenter-5.4.95.tar.xz"; + }; + }; + kmenuedit = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kmenuedit-5.4.95.tar.xz"; + sha256 = "1p3agzz2zp1jbdd820kql5064my9lzbk3b8yzli0242gc36sjagq"; + name = "kmenuedit-5.4.95.tar.xz"; + }; + }; + kscreen = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kscreen-5.4.95.tar.xz"; + sha256 = "1viwy2ia681nkw89n796r4irlf0za1fbhspmnsjw52i9c6ccard5"; + name = "kscreen-5.4.95.tar.xz"; + }; + }; + kscreenlocker = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kscreenlocker-5.4.95.tar.xz"; + sha256 = "08q2d39yfzfx69b6q0qsh3wlcqp6sh80jxaml2m1l8ksn354ldrg"; + name = "kscreenlocker-5.4.95.tar.xz"; + }; + }; + ksshaskpass = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/ksshaskpass-5.4.95.tar.xz"; + sha256 = "18k4200ji1k6xb6n5x3s76yx3izqaisb3m7q3icycyzxfq7y50b4"; + name = "ksshaskpass-5.4.95.tar.xz"; + }; + }; + ksysguard = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/ksysguard-5.4.95.tar.xz"; + sha256 = "1bjrap38zpvnxgvm6xnzvwjqdnbj6ygmgv2qpyl12nkv5r12rr73"; + name = "ksysguard-5.4.95.tar.xz"; + }; + }; + kwallet-pam = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kwallet-pam-5.4.95.tar.xz"; + sha256 = "0vvhx582bk8hvfw3r7518g7vw104az31w6hpah7ki8kvfh35nh65"; + name = "kwallet-pam-5.4.95.tar.xz"; + }; + }; + kwayland = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kwayland-5.4.95.tar.xz"; + sha256 = "0w4d2abxkmxgqfg1xg49x04av85lybkr6ymbpirrkfv5wwhgcnqy"; + name = "kwayland-5.4.95.tar.xz"; + }; + }; + kwayland-integration = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kwayland-integration-5.4.95.tar.xz"; + sha256 = "1c52hfshnw9b6qi0xb1vrwg39akd57q7mjc7a5wh3kn873v23jj6"; + name = "kwayland-integration-5.4.95.tar.xz"; + }; + }; + kwin = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kwin-5.4.95.tar.xz"; + sha256 = "09dw1vpcf20as8s172vf0mfxq1lrdmwl9m19b1pnpdi71fmmabhy"; + name = "kwin-5.4.95.tar.xz"; + }; + }; + kwrited = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/kwrited-5.4.95.tar.xz"; + sha256 = "1bzhx8yzwcx78mqkr24pcf9vdh9dbb0rd18pwhyw3xaib2gwiry2"; + name = "kwrited-5.4.95.tar.xz"; + }; + }; + libkscreen = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/libkscreen-5.4.95.tar.xz"; + sha256 = "1hpjylkhlfd2h9rc13widyayfgvmwy2dqkc59m1lkf8qgdq6h0sa"; + name = "libkscreen-5.4.95.tar.xz"; + }; + }; + libksysguard = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/libksysguard-5.4.95.tar.xz"; + sha256 = "0kcxl1pjakk1l27hnc819r0319gpxzrhvq31mzhdfm3lcskjngzi"; + name = "libksysguard-5.4.95.tar.xz"; + }; + }; + milou = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/milou-5.4.95.tar.xz"; + sha256 = "09dz4jjb6adsgwx5qwdzzhwaianlfzs2hwx4qc366yj3hxrch13d"; + name = "milou-5.4.95.tar.xz"; + }; + }; + oxygen = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/oxygen-5.4.95.tar.xz"; + sha256 = "0j94yabkwlgnl2zq0wrcwrh6d9j193mf68b310nz2dfskq5wgvr5"; + name = "oxygen-5.4.95.tar.xz"; + }; + }; + plasma-desktop = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/plasma-desktop-5.4.95.tar.xz"; + sha256 = "0rar2ms65jks0knkv9x0gb5f1gp0yhghpskzcpm4m0gj981vbgyp"; + name = "plasma-desktop-5.4.95.tar.xz"; + }; + }; + plasma-mediacenter = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/plasma-mediacenter-5.4.95.tar.xz"; + sha256 = "0kzghc8whc87v1ljlxva2k3sx7c2zmvgmp3i2z2lnp7h882a1hak"; + name = "plasma-mediacenter-5.4.95.tar.xz"; + }; + }; + plasma-nm = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/plasma-nm-5.4.95.tar.xz"; + sha256 = "0cwc72lklv97yahh1672bqamlhil12b4wpjy2diqmq75xmajzjds"; + name = "plasma-nm-5.4.95.tar.xz"; + }; + }; + plasma-pa = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/plasma-pa-5.4.95.tar.xz"; + sha256 = "0mvxidlzl9nw52sl9r5z180c683iz1a7rr0yh0v88gl30brrqnmw"; + name = "plasma-pa-5.4.95.tar.xz"; + }; + }; + plasma-sdk = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/plasma-sdk-5.4.95.tar.xz"; + sha256 = "1lis04qmbca8n2ly2g58xhi3znca14dmib81rfshjqp9rldc2z6k"; + name = "plasma-sdk-5.4.95.tar.xz"; + }; + }; + plasma-workspace = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/plasma-workspace-5.4.95.tar.xz"; + sha256 = "1af2qx5q5pbxyv32fjiwn7cwf5z1xrgj5n22fprsfn1pyjnz4anv"; + name = "plasma-workspace-5.4.95.tar.xz"; + }; + }; + plasma-workspace-wallpapers = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/plasma-workspace-wallpapers-5.4.95.tar.xz"; + sha256 = "0bz0hk6bnm14ppnglwjd82w9gyjm5smv7cpicj25cfwlvz3qjizz"; + name = "plasma-workspace-wallpapers-5.4.95.tar.xz"; + }; + }; + polkit-kde-agent = { + version = "1-5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/polkit-kde-agent-1-5.4.95.tar.xz"; + sha256 = "0hc4a36fxn5bw77hldpklj5dwxxx3c67pni9q8d9bpdk52d89wcg"; + name = "polkit-kde-agent-1-5.4.95.tar.xz"; + }; + }; + powerdevil = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/powerdevil-5.4.95.tar.xz"; + sha256 = "0q3a3d654f3k4qjwq8avk2n0ppila3p8l9kkayd5hcasvvhcihq7"; + name = "powerdevil-5.4.95.tar.xz"; + }; + }; + sddm-kcm = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/sddm-kcm-5.4.95.tar.xz"; + sha256 = "06i24nqn80j563cw2rsfficyd577j3v7qj83cvn6jwrkhbhc6v45"; + name = "sddm-kcm-5.4.95.tar.xz"; + }; + }; + systemsettings = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/systemsettings-5.4.95.tar.xz"; + sha256 = "0zr7chjk43mqbb74p4n5n4ny783j8bnmwa4cr86i21bcbkqgp6sq"; + name = "systemsettings-5.4.95.tar.xz"; + }; + }; + user-manager = { + version = "5.4.95"; + src = fetchurl { + url = "${mirror}/unstable/plasma/5.4.95/user-manager-5.4.95.tar.xz"; + sha256 = "1dbfqb0w3cgkhimw195gwh9cnnx83qacqdc8j5dpvrjybv3ihv3z"; + name = "user-manager-5.4.95.tar.xz"; + }; + }; +} diff --git a/pkgs/desktops/plasma-5.5/systemsettings.nix b/pkgs/desktops/plasma-5.5/systemsettings.nix new file mode 100644 index 000000000000..a921e153dbc2 --- /dev/null +++ b/pkgs/desktops/plasma-5.5/systemsettings.nix @@ -0,0 +1,21 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, kitemviews +, kcmutils, ki18n, kio, kservice, kiconthemes, kwindowsystem +, kxmlgui, kdbusaddons, kconfig, khtml, makeQtWrapper +}: + +plasmaPackage { + name = "systemsettings"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + makeQtWrapper + ]; + buildInputs = [ + kitemviews kcmutils kservice kiconthemes kxmlgui kdbusaddons + kconfig + ]; + propagatedBuildInputs = [ khtml ki18n kio kwindowsystem ]; + postInstall = '' + wrapQtProgram "$out/bin/systemsettings5" + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d8a5cf11a5c..92fc2622fd6c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14577,7 +14577,8 @@ let numix-gtk-theme = callPackage ../misc/themes/gtk3/numix-gtk-theme { }; - plasma54 = recurseIntoAttrs (callPackage ../desktops/plasma-5.4 { inherit pkgs; }); + plasma54 = recurseIntoAttrs (import ../desktops/plasma-5.4 { inherit pkgs; }); + plasma55 = recurseIntoAttrs (import ../desktops/plasma-5.5 { inherit pkgs; }); plasma5_stable = plasma54; plasma5_latest = plasma54;