nixpkgs-suyu/pkgs/desktops/plasma-5/plasma-desktop/default.nix
2018-02-14 17:24:20 +08:00

51 lines
2.1 KiB
Nix

{
mkDerivation, lib, copyPathsToStore,
extra-cmake-modules, kdoctools,
boost, fontconfig, ibus, libXcursor, libXft, libcanberra_kde, libpulseaudio,
libxkbfile, xf86inputevdev, xf86inputsynaptics, xinput, xkeyboard_config,
xorgserver, utillinux,
qtdeclarative, qtquickcontrols, qtquickcontrols2, qtsvg, qtx11extras,
attica, baloo, 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, xf86inputlibinput
}:
mkDerivation rec {
name = "plasma-desktop";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft
libxkbfile phonon xf86inputevdev xf86inputsynaptics xinput xkeyboard_config
qtdeclarative qtquickcontrols qtquickcontrols2 qtsvg qtx11extras
attica baloo 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
];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
postPatch = ''
sed '1i#include <cmath>' -i kcms/touchpad/src/backends/x11/synapticstouchpad.cpp
'';
CXXFLAGS = [
"-I${lib.getDev xorgserver}/include/xorg"
''-DNIXPKGS_HWCLOCK=\"${lib.getBin utillinux}/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/'
'';
}