nixpkgs-suyu/pkgs/desktops/plasma-5/plasma-workspace/default.nix
Tuomas Tynkkynen fd29f6685f qt5, plasma-5: Make 'bin' output the first one
Stay consistent with other multiple output packages.
2017-10-24 23:48:49 +03:00

77 lines
3 KiB
Nix

{
mkDerivation, lib,
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,
networkmanager-qt, phonon, plasma-framework, prison, solid,
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
networkmanager-qt phonon plasma-framework prison solid
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"
];
# 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 ];
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_KDOSTARTUPCONFIG5=\"''${!outputBin}/bin/kdostartupconfig5\""
cmakeFlags+=" -DNIXPKGS_STARTPLASMA=''${!outputBin}/lib/libexec/startplasma"
'';
postInstall = ''
moveToOutput lib/libexec/startplasma ''${!outputBin}
'';
}