2016-08-04 16:46:35 +02:00
|
|
|
{
|
2021-09-27 21:52:37 +02:00
|
|
|
mkDerivation, lib,
|
2021-10-30 14:05:59 +02:00
|
|
|
extra-cmake-modules, kdoctools, fetchpatch,
|
2017-05-26 22:44:36 +02:00
|
|
|
|
2021-11-11 05:35:34 +01:00
|
|
|
libepoxy, lcms2, libICE, libSM, libcap, libdrm, libinput, libxkbcommon, mesa,
|
2021-05-07 17:59:45 +02:00
|
|
|
pipewire, udev, wayland, xcb-util-cursor, xwayland,
|
2022-05-20 18:13:19 +02:00
|
|
|
plasma-wayland-protocols, wayland-protocols, libxcvt,
|
2017-05-26 22:44:36 +02:00
|
|
|
|
2020-09-01 12:27:19 +02:00
|
|
|
qtdeclarative, qtmultimedia, qtquickcontrols2, qtscript, qtsensors,
|
|
|
|
qtvirtualkeyboard, qtx11extras,
|
2017-05-26 22:44:36 +02:00
|
|
|
|
|
|
|
breeze-qt5, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets,
|
|
|
|
kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n,
|
|
|
|
kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage,
|
2022-05-20 18:13:19 +02:00
|
|
|
krunner, kscreenlocker, kservice, kwayland, kwidgetsaddons,
|
2021-11-02 22:10:33 +01:00
|
|
|
kwindowsystem, kxmlgui, plasma-framework, libqaccessibilityclient,
|
2022-05-20 18:13:19 +02:00
|
|
|
python3
|
2016-04-21 18:01:22 +02:00
|
|
|
}:
|
|
|
|
|
2020-01-27 15:29:51 +01:00
|
|
|
# TODO (ttuegel): investigate qmlplugindump failure
|
|
|
|
|
2017-05-15 18:44:58 +02:00
|
|
|
mkDerivation {
|
2022-03-06 22:28:56 +01:00
|
|
|
pname = "kwin";
|
2017-05-26 22:44:36 +02:00
|
|
|
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
|
|
|
buildInputs = [
|
2021-11-11 05:35:34 +01:00
|
|
|
libepoxy lcms2 libICE libSM libcap libdrm libinput libxkbcommon mesa pipewire
|
2021-05-07 17:59:45 +02:00
|
|
|
udev wayland xcb-util-cursor xwayland
|
2022-05-20 18:13:19 +02:00
|
|
|
libxcvt plasma-wayland-protocols wayland-protocols
|
2017-05-26 22:44:36 +02:00
|
|
|
|
2020-09-01 12:27:19 +02:00
|
|
|
qtdeclarative qtmultimedia qtquickcontrols2 qtscript qtsensors
|
|
|
|
qtvirtualkeyboard qtx11extras
|
2017-05-26 22:44:36 +02:00
|
|
|
|
|
|
|
breeze-qt5 kactivities kcmutils kcompletion kconfig kconfigwidgets
|
2016-08-04 16:46:35 +02:00
|
|
|
kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
|
2021-05-07 17:57:25 +02:00
|
|
|
kidletime kinit kio knewstuff knotifications kpackage krunner kscreenlocker
|
2022-05-20 18:13:19 +02:00
|
|
|
kservice kwayland kwidgetsaddons kwindowsystem kxmlgui
|
2021-11-02 22:10:33 +01:00
|
|
|
plasma-framework libqaccessibilityclient
|
2021-05-07 17:57:25 +02:00
|
|
|
|
2016-04-21 18:01:22 +02:00
|
|
|
];
|
2021-11-10 01:23:53 +01:00
|
|
|
outputs = [ "out" "dev" ];
|
2022-05-20 18:13:19 +02:00
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
patchShebangs src/effects/strip-effect-metadata.py
|
|
|
|
'';
|
|
|
|
|
2020-01-27 15:29:51 +01:00
|
|
|
patches = [
|
|
|
|
./0001-follow-symlinks.patch
|
|
|
|
./0002-xwayland.patch
|
2020-12-23 16:08:07 +01:00
|
|
|
./0003-plugins-qpa-allow-using-nixos-wrapper.patch
|
2021-03-16 20:09:32 +01:00
|
|
|
./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
|
2021-10-30 14:05:59 +02:00
|
|
|
# Pass special environments through arguemnts to `kwin_wayland`, bypassing
|
|
|
|
# ld.so(8) environment stripping due to `kwin_wayland`'s capabilities.
|
|
|
|
# We need this to have `TZDIR` correctly set for `plasmashell`, or
|
|
|
|
# everything related to timezone, like clock widgets, will be broken.
|
|
|
|
# https://invent.kde.org/plasma/kwin/-/merge_requests/1590
|
|
|
|
(fetchpatch {
|
|
|
|
url = "https://invent.kde.org/plasma/kwin/-/commit/9a008b223ad696db3bf5692750f2b74e578e08b8.diff";
|
|
|
|
sha256 = "sha256-f35G+g2MVABLDbAkCed3ZmtDWrzYn1rdD08mEx35j4k=";
|
|
|
|
})
|
2020-01-27 15:29:51 +01:00
|
|
|
];
|
2018-01-16 14:38:07 +01:00
|
|
|
CXXFLAGS = [
|
|
|
|
''-DNIXPKGS_XWAYLAND=\"${lib.getBin xwayland}/bin/Xwayland\"''
|
2017-05-26 22:44:07 +02:00
|
|
|
];
|
2017-04-14 13:31:19 +02:00
|
|
|
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!
|
2017-05-26 22:44:36 +02:00
|
|
|
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
|
2017-04-14 13:31:19 +02:00
|
|
|
'';
|
2016-04-21 18:01:22 +02:00
|
|
|
}
|