diff --git a/pkgs/desktops/kde-5/plasma-5.6/default.nix b/pkgs/desktops/kde-5/plasma-5.6/default.nix index 89e822fe45f..587d2cb520a 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.6/default.nix @@ -77,7 +77,7 @@ let plasma-mediacenter = callPackage ./plasma-mediacenter.nix {}; plasma-nm = callPackage ./plasma-nm {}; plasma-pa = callPackage ./plasma-pa.nix {}; - plasma-workspace = callPackage ./plasma-workspace {}; + plasma-workspace = callPackage ./plasma-workspace.nix {}; plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {}; polkit-kde-agent = callPackage ./polkit-kde-agent.nix {}; powerdevil = callPackage ./powerdevil.nix {}; diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/default.nix b/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace.nix similarity index 92% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/default.nix rename to pkgs/desktops/kde-5/plasma-5.6/plasma-workspace.nix index 1a96c1eced2..462378aae88 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace.nix @@ -1,4 +1,4 @@ -{ plasmaPackage, lib, copyPathsToStore +{ plasmaPackage, lib , extra-cmake-modules, kdoctools , baloo, kactivities, kcmutils, kcrash, kdbusaddons, kdeclarative , kdelibs4support, kdesu, kdewebkit, kglobalaccel, kidletime @@ -29,8 +29,6 @@ plasmaPackage { plasma-framework qtquick1 qtquickcontrols qtx11extras solid ]; - patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); - postPatch = '' substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \ --replace kdostartupconfig5 $out/bin/kdostartupconfig5 diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/qml-import-path.patch b/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/qml-import-path.patch deleted file mode 100644 index 1d34001be59..00000000000 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/qml-import-path.patch +++ /dev/null @@ -1,104 +0,0 @@ -Index: plasma-workspace-5.5.1/applets/analog-clock/contents/ui/analogclock.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/analog-clock/contents/ui/analogclock.qml -+++ plasma-workspace-5.5.1/applets/analog-clock/contents/ui/analogclock.qml -@@ -25,7 +25,7 @@ import org.kde.plasma.calendar 2.0 as Pl - 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 -Index: plasma-workspace-5.5.1/applets/batterymonitor/package/contents/ui/BatteryItem.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/batterymonitor/package/contents/ui/BatteryItem.qml -+++ plasma-workspace-5.5.1/applets/batterymonitor/package/contents/ui/BatteryItem.qml -@@ -26,7 +26,7 @@ import org.kde.plasma.components 2.0 as - 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 -Index: plasma-workspace-5.5.1/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml -+++ plasma-workspace-5.5.1/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 -Index: plasma-workspace-5.5.1/applets/batterymonitor/package/contents/ui/PopupDialog.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/batterymonitor/package/contents/ui/PopupDialog.qml -+++ plasma-workspace-5.5.1/applets/batterymonitor/package/contents/ui/PopupDialog.qml -@@ -23,7 +23,7 @@ import org.kde.plasma.core 2.0 as Plasma - 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 -Index: plasma-workspace-5.5.1/applets/batterymonitor/package/contents/ui/batterymonitor.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/batterymonitor/package/contents/ui/batterymonitor.qml -+++ plasma-workspace-5.5.1/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 -Index: plasma-workspace-5.5.1/applets/lock_logout/contents/ui/lockout.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/lock_logout/contents/ui/lockout.qml -+++ plasma-workspace-5.5.1/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 -Index: plasma-workspace-5.5.1/applets/notifications/package/contents/ui/main.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/notifications/package/contents/ui/main.qml -+++ plasma-workspace-5.5.1/applets/notifications/package/contents/ui/main.qml -@@ -28,7 +28,7 @@ import org.kde.plasma.extras 2.0 as Plas - - import org.kde.plasma.private.notifications 1.0 - --import "uiproperties.js" as UiProperties -+import "../code/uiproperties.js" as UiProperties - - MouseEventListener { - id: notificationsApplet -Index: plasma-workspace-5.5.1/applets/systemtray/package/contents/ui/main.qml -=================================================================== ---- plasma-workspace-5.5.1.orig/applets/systemtray/package/contents/ui/main.qml -+++ plasma-workspace-5.5.1/applets/systemtray/package/contents/ui/main.qml -@@ -25,7 +25,7 @@ import org.kde.plasma.core 2.0 as Plasma - // 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 diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/series b/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/series deleted file mode 100644 index b9081298bd6..00000000000 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/series +++ /dev/null @@ -1 +0,0 @@ -qml-import-path.patch diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/startkde.patch b/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/startkde.patch deleted file mode 100644 index eea0ae4c199..00000000000 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/startkde.patch +++ /dev/null @@ -1,372 +0,0 @@ -Index: plasma-workspace-5.5.5/startkde/startkde.cmake -=================================================================== ---- plasma-workspace-5.5.5.orig/startkde/startkde.cmake -+++ plasma-workspace-5.5.5/startkde/startkde.cmake -@@ -1,8 +1,36 @@ --#!/bin/sh -+#!@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 -+ @sed@ -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf -+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! -+@kbuildsycoca5@ -+ - if test "x$1" = x--failsafe; then - KDE_FAILSAFE=1 # General failsafe flag - KWIN_COMPOSE=N # Disable KWin's compositing -@@ -17,29 +45,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 -+@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@ -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: -@@ -57,13 +72,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=$(@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@ -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) - ;; -@@ -201,8 +199,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=$(@qtpaths@ --paths GenericConfigLocation | tr ':' '\n' | @sed@ 's,$,/plasma-workspace,g') - - # Add /env/ to the directory to locate the scripts to be sourced - for prefix in `echo $scriptpath`; do -@@ -232,7 +229,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" | @sed@ -e 's/:.*//'` - sys_odir=$kdedirs_first/share/fonts/override - sys_fdir=$kdedirs_first/share/fonts - else -@@ -245,23 +242,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@ +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" - - # 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@ fp rehash - - # Get Ghostscript to look into user's KDE fonts dir for additional Fontmap - if test -n "$GS_LIB" ; then -@@ -274,26 +261,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 -@@ -318,11 +285,11 @@ fi - # - KDE_FULL_SESSION=true - export KDE_FULL_SESSION --xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true -+@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@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 - - KDE_SESSION_UID=`id -ru` - export KDE_SESSION_UID -@@ -332,11 +299,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@ 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@ 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 -@@ -349,18 +316,18 @@ 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@ -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 @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@ -geometry 500x100 "Could not start kdeinit5. Check your installation." - exit 1 - fi - -@@ -379,27 +346,27 @@ test -n "$KDEWM" && KDEWM="--windowmanag - # 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 -+@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@ -geometry 500x100 "Could not start ksmserver. Check your installation." - fi - --wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` -+wait_drkonqi=`@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=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Timeout --default 900` - wait_drkonqi_counter=0 -- while $qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do -+ while @qdbus@ | @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" -+ @qdbus@ | @grep@ 'org.kde.drkonqi-' | while read address ; do -+ @qdbus@ "$address" "/MainApplication" "quit" - done - break - fi -@@ -411,12 +378,12 @@ echo 'startkde: Shutting down...' 1>&2 - test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - - # Clean up --kdeinit5_shutdown -+@kdeinit5_shutdown@ - - unset KDE_FULL_SESSION --xprop -root -remove KDE_FULL_SESSION -+@xprop@ -root -remove KDE_FULL_SESSION - unset KDE_SESSION_VERSION --xprop -root -remove KDE_SESSION_VERSION -+@xprop@ -root -remove KDE_SESSION_VERSION - unset KDE_SESSION_UID - - echo 'startkde: Done.' 1>&2