nixpkgs/pkgs/desktops/plasma-5/plasma-workspace/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

192 lines
3.3 KiB
Nix
Raw Normal View History

{
mkDerivation,
lib,
extra-cmake-modules,
kdoctools,
wayland-scanner,
isocodes,
libdbusmenu,
libSM,
libXcursor,
libXtst,
libXft,
pam,
wayland,
xmessage,
xsetroot,
baloo,
breeze-qt5,
kactivities,
kactivities-stats,
kcmutils,
kconfig,
kcrash,
kdbusaddons,
kdeclarative,
kdelibs4support,
kdesu,
kglobalaccel,
kidletime,
kinit,
kjsembed,
knewstuff,
knotifyconfig,
kpackage,
kpeople,
krunner,
kscreenlocker,
ktexteditor,
ktextwidgets,
kwallet,
kwayland,
kwin,
kxmlrpcclient,
libkscreen,
libksysguard,
libqalculate,
networkmanager-qt,
phonon,
plasma-framework,
prison,
solid,
kholidays,
kquickcharts,
appstream-qt,
plasma-wayland-protocols,
kpipewire,
libkexiv2,
kuserfeedback,
qtgraphicaleffects,
qtquickcontrols,
qtquickcontrols2,
qtscript,
qttools,
qtwayland,
qtx11extras,
qqc2-desktop-style,
polkit-qt,
pipewire,
libdrm,
fetchpatch,
2016-04-21 16:01:22 +00:00
}:
let
inherit (lib) getBin getLib;
in
mkDerivation {
2022-03-06 21:28:56 +00:00
pname = "plasma-workspace";
passthru.providedSessions = [
"plasma"
"plasmawayland"
];
2016-04-21 16:01:22 +00:00
nativeBuildInputs = [
extra-cmake-modules
kdoctools
wayland-scanner
];
buildInputs = [
isocodes
libdbusmenu
libSM
libXcursor
libXtst
libXft
pam
wayland
baloo
kactivities
kactivities-stats
kcmutils
kconfig
kcrash
kdbusaddons
kdeclarative
kdelibs4support
kdesu
kglobalaccel
kidletime
kjsembed
knewstuff
knotifyconfig
kpackage
kpeople
krunner
kscreenlocker
ktexteditor
ktextwidgets
kwallet
kwayland
kwin
kxmlrpcclient
libkscreen
libksysguard
libqalculate
networkmanager-qt
phonon
plasma-framework
prison
solid
kholidays
kquickcharts
appstream-qt
plasma-wayland-protocols
kpipewire
2022-09-15 16:23:51 +00:00
libkexiv2
2017-05-26 20:44:36 +00:00
kuserfeedback
qtgraphicaleffects
qtquickcontrols
qtquickcontrols2
qtscript
qtwayland
qtx11extras
qqc2-desktop-style
polkit-qt
pipewire
libdrm
2016-04-21 16:01:22 +00:00
];
propagatedUserEnvPkgs = [ qtgraphicaleffects ];
outputs = [
"out"
"dev"
];
2016-04-21 16:01:22 +00:00
cmakeFlags = [
''-DNIXPKGS_BREEZE_WALLPAPERS=${getBin breeze-qt5}/share/wallpapers''
];
patches = [
./0001-startkde.patch
./0002-absolute-wallpaper-install-dir.patch
# Backport patch for cleaner shutdowns
(fetchpatch {
url = "https://invent.kde.org/plasma/plasma-workspace/-/commit/6ce8f434139f47e6a71bf0b68beae92be8845ce4.patch";
hash = "sha256-cYw/4/9tSnCbArLr72O8F8V0NLkVXdCVnJGoGxSzZMg=";
})
];
2021-03-23 05:50:25 +00:00
# QT_INSTALL_BINS refers to qtbase, and qdbus is in qttools
postPatch = ''
2021-03-23 05:50:25 +00:00
substituteInPlace CMakeLists.txt \
--replace 'ecm_query_qt(QtBinariesDir QT_INSTALL_BINS)' 'set(QtBinariesDir "${lib.getBin qttools}/bin")'
'';
2022-09-15 16:23:51 +00:00
# work around wrapQtAppsHook double-wrapping kcminit_startup,
# which is a symlink to kcminit
postFixup = ''
ln -sf $out/bin/kcminit $out/bin/kcminit_startup
'';
env.NIX_CFLAGS_COMPILE = toString [
''-DNIXPKGS_XMESSAGE="${getBin xmessage}/bin/xmessage"''
''-DNIXPKGS_XSETROOT="${getBin xsetroot}/bin/xsetroot"''
''-DNIXPKGS_START_KDEINIT_WRAPPER="${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"''
''-DNIXPKGS_KDEINIT5_SHUTDOWN="${getBin kinit}/bin/kdeinit5_shutdown"''
];
2016-04-21 16:01:22 +00:00
}