about summary refs log tree commit diff
path: root/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix
blob: 01c5c63ce0aa861e30d35c67343e300de5777b16 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{ plasmaPackage, lib, copyPathsToStore
, extra-cmake-modules, kdoctools, makeQtWrapper
, 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, qttools, dbus_tools, mkfontdir, xmessage
, xprop, xrdb, xset, xsetroot, solid, qtquickcontrols
}:

plasmaPackage {
  name = "plasma-workspace";

  nativeBuildInputs = [
    extra-cmake-modules
    kdoctools
    makeQtWrapper
  ];
  buildInputs = [
    dbus_tools kcmutils kconfig kcrash kdbusaddons kdesu kdewebkit
    kinit kjsembed knewstuff knotifyconfig kpackage kservice
    ktextwidgets kwallet kwayland kxmlrpcclient libdbusmenu libSM
    libXcursor mkfontdir networkmanager-qt pam phonon qtscript qttools
    socat wayland xmessage xprop xset xsetroot
  ];
  propagatedBuildInputs = [
    baloo kactivities kdeclarative kdelibs4support kglobalaccel
    kidletime krunner ktexteditor kwin libkscreen libksysguard
    plasma-framework qtquick1 qtquickcontrols qtx11extras solid
  ];

  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);

  postPatch = ''
    substituteInPlace startkde/startkde.cmake \
        --subst-var-by bash $(type -P bash) \
        --subst-var-by sed $(type -P sed) \
        --subst-var-by grep $(type -P grep) \
        --subst-var-by socat $(type -P socat) \
        --subst-var-by kcheckrunning $(type -P kcheckrunning) \
        --subst-var-by xmessage $(type -P xmessage) \
        --subst-var-by tr $(type -P tr) \
        --subst-var-by qtpaths $(type -P qtpaths) \
        --subst-var-by qdbus $(type -P qdbus) \
        --subst-var-by dbus-launch $(type -P dbus-launch) \
        --subst-var-by mkfontdir $(type -P mkfontdir) \
        --subst-var-by xset $(type -P xset) \
        --subst-var-by xsetroot $(type -P xsetroot) \
        --subst-var-by xprop $(type -P xprop) \
        --subst-var-by start_kdeinit_wrapper "${kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper" \
        --subst-var-by kwrapper5 $(type -P kwrapper5) \
        --subst-var-by kdeinit5_shutdown $(type -P kdeinit5_shutdown) \
        --subst-var-by kbuildsycoca5 $(type -P kbuildsycoca5) \
        --subst-var-by kreadconfig5 $(type -P kreadconfig5) \
        --subst-var out
    substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
        --replace kdostartupconfig5 $out/bin/kdostartupconfig5
  '';

  postInstall = ''
    rm "$out/bin/startplasmacompositor"
    rm "$out/lib/libexec/startplasma"
    rm -r "$out/share/wayland-sessions"
  '';

  postFixup = ''
    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/kdostartupconfig5"
    wrapQtProgram "$out/bin/klipper"
    wrapQtProgram "$out/bin/kuiserver5"
    wrapQtProgram "$out/bin/krunner"
    wrapQtProgram "$out/bin/plasmashell"
    wrapQtProgram "$out/lib/libexec/drkonqi"
  '';
}