nixpkgs/pkgs/desktops/plasma-5/kwin/default.nix
V 79921889a0 treewide: convert patch series files to Nix expressions
Nix expressions provide all the features that Quilt series files have,
so using those instead is pointless. Also, lib.readPathsFromFile
(the function used to read series files) has the following warning:

> NOTE: This function is not performant and should be avoided.

This also removes some orphaned series files, and unused references to
copyPathsToStore (which were probably missed in previous commits
where calls to lib.readPathsFromFile were removed)
2020-09-03 19:15:05 +02:00

53 lines
1.9 KiB
Nix

{
mkDerivation, lib,
extra-cmake-modules, kdoctools,
epoxy,libICE, libSM, libinput, libxkbcommon, udev, wayland, xcb-util-cursor,
xwayland,
qtdeclarative, qtmultimedia, qtquickcontrols2, qtscript, qtsensors,
qtvirtualkeyboard, qtx11extras,
breeze-qt5, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets,
kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n,
kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage,
kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem, kxmlgui,
plasma-framework, libcap, libdrm, mesa
}:
# TODO (ttuegel): investigate qmlplugindump failure
mkDerivation {
name = "kwin";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
epoxy libICE libSM libinput libxkbcommon udev wayland xcb-util-cursor
xwayland
qtdeclarative qtmultimedia qtquickcontrols2 qtscript qtsensors
qtvirtualkeyboard qtx11extras
breeze-qt5 kactivities kcmutils kcompletion kconfig kconfigwidgets
kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
kidletime kinit kio knewstuff knotifications kpackage kscreenlocker kservice
kwayland kwidgetsaddons kwindowsystem kxmlgui plasma-framework
libcap libdrm mesa
];
outputs = [ "bin" "dev" "out" ];
patches = [
./0001-follow-symlinks.patch
./0002-xwayland.patch
];
CXXFLAGS = [
''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
];
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" ];
postInstall = ''
# Some package(s) refer to these service types by the wrong name.
# I would prefer to patch those packages, but I cannot find them!
ln -s ''${!outputBin}/share/kservicetypes5/kwineffect.desktop \
''${!outputBin}/share/kservicetypes5/kwin-effect.desktop
ln -s ''${!outputBin}/share/kservicetypes5/kwinscript.desktop \
''${!outputBin}/share/kservicetypes5/kwin-script.desktop
'';
}