about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/plasma-5/plasma-desktop/default.nix
blob: e6b161a0723238f2bf8dc5de6d9cddbb8c3afb04 (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
{
  mkDerivation, lib,
  extra-cmake-modules, kdoctools,

  boost, fontconfig, ibus, libXcursor, libXft, libcanberra_kde, libpulseaudio,
  libxkbfile, xf86inputevdev, xf86inputsynaptics, xinput, xkeyboard_config,
  xorgserver, util-linux,

  accounts-qt, qtdeclarative, qtquickcontrols, qtquickcontrols2, qtsvg,
  qtx11extras,

  attica, baloo, kaccounts-integration, kactivities, kactivities-stats, kauth,
  kcmutils, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons,
  kglobalaccel, ki18n, kitemmodels, knewstuff, knotifications, knotifyconfig,
  kpeople, krunner, kscreenlocker, ksysguard, kwallet, kwin, phonon,
  plasma-framework, plasma-workspace, qqc2-desktop-style, xf86inputlibinput
}:

mkDerivation {
  name = "plasma-desktop";
  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
  buildInputs = [
    boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft xorgserver
    libxkbfile phonon xf86inputevdev xf86inputsynaptics xinput xkeyboard_config

    accounts-qt qtdeclarative qtquickcontrols qtquickcontrols2 qtsvg qtx11extras

    attica baloo kaccounts-integration kactivities kactivities-stats kauth
    kcmutils kdbusaddons kdeclarative kded kdelibs4support kemoticons
    kglobalaccel ki18n kitemmodels knewstuff knotifications knotifyconfig
    kpeople krunner kscreenlocker ksysguard kwallet kwin plasma-framework
    plasma-workspace qqc2-desktop-style
  ];

  patches = [
    ./hwclock-path.patch
    ./tzdir.patch
  ];
  postPatch = ''
    sed '1i#include <cmath>' -i kcms/touchpad/backends/x11/synapticstouchpad.cpp
  '';
  CXXFLAGS = [
    "-I${lib.getDev xorgserver}/include/xorg"
    ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"''
  ];
  cmakeFlags = [
    "-DEvdev_INCLUDE_DIRS=${lib.getDev xf86inputevdev}/include/xorg"
    "-DSynaptics_INCLUDE_DIRS=${lib.getDev xf86inputsynaptics}/include/xorg"
    "-DXORGLIBINPUT_INCLUDE_DIRS=${lib.getDev xf86inputlibinput}/include/xorg"
  ];
  postInstall = ''
    # Display ~/Desktop contents on the desktop by default.
    sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \
        -e 's/Containment=org.kde.desktopcontainment/Containment=org.kde.plasma.folder/'
  '';
}