85 lines
3.3 KiB
Nix
85 lines
3.3 KiB
Nix
{
|
|
mkDerivation, lib, fetchpatch,
|
|
|
|
extra-cmake-modules, kdoctools,
|
|
|
|
coreutils, dbus, gnugrep, gnused, isocodes, libdbusmenu, libSM, libXcursor,
|
|
libXtst, pam, wayland, xmessage, xprop, xrdb, xsetroot,
|
|
|
|
baloo, kactivities, kcmutils, kconfig, kcrash, kdbusaddons, kdeclarative,
|
|
kdelibs4support, kdesu, kglobalaccel, kidletime, kinit, kjsembed, knewstuff,
|
|
knotifyconfig, kpackage, krunner, kscreenlocker, ktexteditor, ktextwidgets,
|
|
kwallet, kwayland, kwin, kxmlrpcclient, libkscreen, libksysguard, libqalculate,
|
|
networkmanager-qt, phonon, plasma-framework, prison, solid, kholidays,
|
|
breeze-qt5,
|
|
|
|
qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qttools,
|
|
qtwayland, qtx11extras,
|
|
}:
|
|
|
|
let inherit (lib) getBin getLib; in
|
|
|
|
mkDerivation {
|
|
name = "plasma-workspace";
|
|
|
|
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
|
buildInputs = [
|
|
isocodes libdbusmenu libSM libXcursor libXtst pam wayland
|
|
|
|
baloo kactivities kcmutils kconfig kcrash kdbusaddons kdeclarative
|
|
kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
|
|
knotifyconfig kpackage krunner kscreenlocker ktexteditor ktextwidgets
|
|
kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard libqalculate
|
|
networkmanager-qt phonon plasma-framework prison solid kholidays
|
|
|
|
qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtwayland qtx11extras
|
|
];
|
|
outputs = [ "bin" "dev" "out" ];
|
|
|
|
cmakeFlags = [
|
|
"-DNIXPKGS_XMESSAGE=${getBin xmessage}/bin/xmessage"
|
|
"-DNIXPKGS_MKDIR=${getBin coreutils}/bin/mkdir"
|
|
"-DNIXPKGS_XRDB=${getBin xrdb}/bin/xrdb"
|
|
"-DNIXPKGS_QTPATHS=${getBin qttools}/bin/qtpaths"
|
|
"-DNIXPKGS_XSETROOT=${getBin xsetroot}/bin/xsetroot"
|
|
"-DNIXPKGS_XPROP=${getBin xprop}/bin/xprop"
|
|
"-DNIXPKGS_ID=${getBin coreutils}/bin/id"
|
|
"-DNIXPKGS_DBUS_UPDATE_ACTIVATION_ENVIRONMENT=${getBin dbus}/bin/dbus-update-activation-environment"
|
|
"-DNIXPKGS_START_KDEINIT_WRAPPER=${getLib kinit}/lib/libexec/kf5/start_kdeinit_wrapper"
|
|
"-DNIXPKGS_QDBUS=${getBin qttools}/bin/qdbus"
|
|
"-DNIXPKGS_KWRAPPER5=${getBin kinit}/bin/kwrapper5"
|
|
"-DNIXPKGS_KREADCONFIG5=${getBin kconfig}/bin/kreadconfig5"
|
|
"-DNIXPKGS_GREP=${getBin gnugrep}/bin/grep"
|
|
"-DNIXPKGS_KDEINIT5_SHUTDOWN=${getBin kinit}/bin/kdeinit5_shutdown"
|
|
"-DNIXPKGS_SED=${getBin gnused}/bin/sed"
|
|
"-DNIXPKGS_WALLPAPER_INSTALL_DIR=${getBin breeze-qt5}/share/wallpapers/"
|
|
];
|
|
|
|
# To regenerate ./plasma-workspace.patch,
|
|
#
|
|
# > git clone https://github.com/ttuegel/plasma-workspace
|
|
# > cd plasma-workspace
|
|
# > git checkout nixpkgs/$x.$y # where $x.$y.$z == $version
|
|
# ... make some commits ...
|
|
# > git diff v$x.$y.$z
|
|
#
|
|
# Add upstream patches to the list below. For new patchs, particularly if not
|
|
# submitted upstream, please make a pull request and add it to
|
|
# ./plasma-workspace.patch.
|
|
patches = [
|
|
./plasma-workspace.patch
|
|
(fetchpatch {
|
|
url = "https://github.com/KDE/plasma-workspace/commit/11e570d861858f3b3e2694e5f9ec242d7f9f12b9.patch";
|
|
sha256 = "1vk9yacb59k0v5mgbpgmciflca9r0ll4wh1d83ffx2y2v8sqwiv2";
|
|
})
|
|
];
|
|
|
|
preConfigure = ''
|
|
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_KDOSTARTUPCONFIG5=\"''${!outputBin}/bin/kdostartupconfig5\""
|
|
cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/lib/libexec/startplasma"
|
|
'';
|
|
|
|
postInstall = ''
|
|
moveToOutput lib/libexec/startplasma ''${!outputBin}
|
|
'';
|
|
}
|