plasma5: fixup inputs and outputs

This commit is contained in:
Thomas Tuegel 2017-05-26 15:44:36 -05:00
parent 7f95d4834f
commit 8538d75734
No known key found for this signature in database
GPG key ID: 22CBF5249D4B4D59
24 changed files with 162 additions and 127 deletions

View file

@ -4,7 +4,6 @@
mkDerivation {
name = "breeze-grub";
outputs = [ "out" ];
installPhase = ''
runHook preInstall

View file

@ -5,10 +5,10 @@ let inherit (lib) getLib; in
mkDerivation {
name = "breeze-gtk";
nativeBuildInputs = [ extra-cmake-modules ];
cmakeFlags = [ "-DWITH_GTK3_VERSION=3.22" ];
buildInputs = [ qtbase ];
postPatch = ''
sed -i cmake/FindGTKEngine.cmake \
-e "s|\''${KDE_INSTALL_FULL_LIBDIR}|${getLib gtk2}/lib|"
'';
cmakeFlags = [ "-DWITH_GTK3_VERSION=3.22" ];
}

View file

@ -8,7 +8,6 @@ mkDerivation {
name = "breeze-plymouth";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ plymouth ];
outputs = [ "out" ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
postPatch = ''
substituteInPlace cmake/FindPlymouth.cmake --subst-var out

View file

@ -9,6 +9,7 @@ mkDerivation {
sname = "breeze";
buildInputs = [ kdelibs4 qt4 xproto ];
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
outputs = [ "out" "dev" ];
cmakeFlags = [
"-DUSE_KDE4=ON"
"-DQT_QMAKE_EXECUTABLE=${qt4}/bin/qmake"

View file

@ -15,5 +15,6 @@ mkDerivation {
kguiaddons ki18n kwayland kwindowsystem plasma-framework qtdeclarative
qtx11extras
];
outputs = [ "out" "dev" "bin" ];
cmakeFlags = [ "-DUSE_Qt4=OFF" ];
}

View file

@ -36,21 +36,44 @@ let
mirror = "mirror://kde";
};
mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
packages = self: with self;
let
propagate = out:
let setupHook = { writeScript }:
writeScript "setup-hook.sh" ''
# Propagate $${out} output
propagatedUserEnvPkgs+=" @${out}@"
# Propagate $dev so that this setup hook is propagated
# But only if there is a separate $dev output
if [ "$outputDev" != out ]; then
if [ -n "$crossConfig" ]; then
propagatedBuildInputs+=" @dev@"
else
propagatedNativeBuildInputs+=" @dev@"
fi
fi
'';
in callPackage setupHook {};
propagateBin = propagate "bin";
callPackage = self.newScope {
mkDerivation = args:
let
inherit (args) name;
sname = args.sname or name;
inherit (srcs."${sname}") src version;
mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {};
in
mkDerivation (args // {
name = "${name}-${version}";
inherit src;
outputs = args.outputs or [ "out" "dev" ];
outputs = args.outputs or [ "out" ];
hasBin = lib.elem "bin" outputs;
hasDev = lib.elem "dev" outputs;
defaultSetupHook = if hasBin && hasDev then propagateBin else null;
setupHook = args.setupHook or defaultSetupHook;
meta = {
license = with lib.licenses; [
@ -60,8 +83,13 @@ let
maintainers = with lib.maintainers; [ ttuegel ];
homepage = "http://www.kde.org";
} // (args.meta or {});
in
mkDerivation (args // {
name = "${name}-${version}";
inherit meta outputs setupHook src;
});
};
in {
bluedevil = callPackage ./bluedevil.nix {};
breeze-gtk = callPackage ./breeze-gtk.nix {};

View file

@ -1,7 +1,8 @@
{ mkDerivation
, extra-cmake-modules
, boost, kconfig, kcoreaddons, kdbusaddons, ki18n, kio, kglobalaccel
, kwindowsystem, kxmlgui
{
mkDerivation,
extra-cmake-modules,
boost, kconfig, kcoreaddons, kdbusaddons, ki18n, kio, kglobalaccel,
kwindowsystem, kxmlgui
}:
mkDerivation {

View file

@ -1,25 +1,18 @@
{ mkDerivation
, extra-cmake-modules
, glib
, gtk2
, gtk3
, karchive
, kcmutils
, kconfigwidgets
, ki18n
, kiconthemes
, kio
, knewstuff
{
mkDerivation,
extra-cmake-modules,
glib, gtk2, gtk3, karchive, kcmutils, kconfigwidgets, ki18n, kiconthemes, kio,
knewstuff
}:
mkDerivation {
name = "kde-gtk-config";
patches = [ ./0001-follow-symlinks.patch ];
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
ki18n kio glib gtk2 gtk3 karchive kcmutils kconfigwidgets kiconthemes
knewstuff
];
patches = [ ./0001-follow-symlinks.patch ];
cmakeFlags = [
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"

View file

@ -4,4 +4,5 @@ mkDerivation {
name = "kdecoration";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [ qtbase ];
outputs = [ "out" "dev" ];
}

View file

@ -1,7 +1,8 @@
{ mkDerivation, extra-cmake-modules, kdoctools, kcmutils
, kdbusaddons, kdelibs4support, kglobalaccel, ki18n, kio, kxmlgui
, plasma-framework, plasma-workspace, qtx11extras
, fetchpatch
{
mkDerivation,
extra-cmake-modules, kdoctools,
kcmutils, kdbusaddons, kdelibs4support, kglobalaccel, ki18n, kio, kxmlgui,
plasma-framework, plasma-workspace, qtx11extras
}:
mkDerivation {
@ -11,4 +12,5 @@ mkDerivation {
kcmutils kdbusaddons kdelibs4support kglobalaccel ki18n kio kxmlgui
plasma-framework plasma-workspace qtx11extras
];
outputs = [ "out" "dev" "bin" ];
}

View file

@ -8,7 +8,7 @@
mkDerivation {
name = "kmenuedit";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
buildInputs = [
kdbusaddons kdelibs4support khotkeys ki18n kiconthemes kio kxmlgui sonnet
];
}

View file

@ -1,6 +1,8 @@
{ mkDerivation, extra-cmake-modules, kconfig, kconfigwidgets
, kdbusaddons, kglobalaccel, ki18n, kwidgetsaddons, kxmlgui
, libkscreen, qtdeclarative, qtgraphicaleffects
{
mkDerivation,
extra-cmake-modules,
kconfig, kconfigwidgets, kdbusaddons, kglobalaccel, ki18n, kwidgetsaddons,
kxmlgui, libkscreen, qtdeclarative, qtgraphicaleffects
}:
mkDerivation {

View file

@ -9,8 +9,9 @@
mkDerivation {
name = "kscreenlocker";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
buildInputs = [
kcmutils kcrash kdeclarative kdelibs4support kglobalaccel kidletime kwayland
libXcursor pam plasma-framework qtdeclarative qtx11extras wayland
];
outputs = [ "out" "dev" ];
}

View file

@ -9,9 +9,8 @@
mkDerivation {
name = "ksysguard";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ lm_sensors ];
propagatedBuildInputs = [
buildInputs = [
kconfig kcoreaddons kitemviews knewstuff kiconthemes libksysguard
kdelibs4support ki18n qtwebkit
kdelibs4support ki18n lm_sensors qtwebkit
];
}

View file

@ -1,29 +1,34 @@
{
mkDerivation, lib, copyPathsToStore,
extra-cmake-modules, kdoctools,
breeze-qt5, epoxy, kactivities, kcompletion, kcmutils, kconfig,
kconfigwidgets, kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel,
ki18n, kiconthemes, kidletime, kinit, kio, knewstuff, knotifications,
kpackage, kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem,
kxmlgui, libICE, libSM, libinput, libxkbcommon, plasma-framework,
qtdeclarative, qtmultimedia, qtscript, qtx11extras, udev, wayland,
xcb-util-cursor, xwayland
epoxy,libICE, libSM, libinput, libxkbcommon, udev, wayland, xcb-util-cursor,
xwayland,
qtdeclarative, qtmultimedia, qtscript, 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,
}:
mkDerivation {
name = "kwin";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
propagatedBuildInputs = [
breeze-qt5 epoxy kactivities kcmutils kcompletion kconfig kconfigwidgets
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
epoxy libICE libSM libinput libxkbcommon udev wayland xcb-util-cursor
xwayland
qtdeclarative qtmultimedia qtscript 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 libICE libSM libxkbcommon
libinput plasma-framework qtdeclarative qtmultimedia qtscript qtx11extras
udev wayland xcb-util-cursor xwayland
kwayland kwidgetsaddons kwindowsystem kxmlgui plasma-framework
];
outputs = [ "out" "dev" "bin" ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
NIX_CFLAGS_COMPILE = [
''-DNIXPKGS_XWAYLAND="${lib.getBin xwayland}/bin/Xwayland"''
@ -32,9 +37,9 @@ mkDerivation {
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 $out/share/kservicetypes5/kwineffect.desktop \
$out/share/kservicetypes5/kwin-effect.desktop
ln -s $out/share/kservicetypes5/kwinscript.desktop \
$out/share/kservicetypes5/kwin-script.desktop
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
'';
}

View file

@ -1,15 +1,16 @@
{ mkDerivation, lib, copyPathsToStore
, extra-cmake-modules
, kwayland, libXrandr
, qtx11extras
{
mkDerivation, lib, copyPathsToStore,
extra-cmake-modules,
kwayland, libXrandr, qtx11extras
}:
mkDerivation {
name = "libkscreen";
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [ kwayland libXrandr qtx11extras ];
buildInputs = [ kwayland libXrandr qtx11extras ];
outputs = [ "out" "dev" ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_LIBKSCREEN_BACKENDS=\"''${!outputLib}/$qtPluginPrefix/kf5/kscreen\""
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_LIBKSCREEN_BACKENDS=\"''${!outputBin}/$qtPluginPrefix/kf5/kscreen\""
'';
}

View file

@ -12,9 +12,10 @@ mkDerivation {
./0001-qdiriterator-follow-symlinks.patch
];
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
buildInputs = [
kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
qtwebkit
];
outputs = [ "out" "dev" "bin" ];
}

View file

@ -7,9 +7,7 @@
mkDerivation {
name = "milou";
nativeBuildInputs = [
extra-cmake-modules
];
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kcoreaddons kdeclarative ki18n krunner kservice plasma-framework
qtdeclarative qtscript

View file

@ -1,35 +1,37 @@
{
mkDerivation, lib, copyPathsToStore,
extra-cmake-modules, kdoctools,
attica, baloo, boost, fontconfig, ibus, kactivities, kactivities-stats, kauth,
kcmutils, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons,
kglobalaccel, ki18n, kitemmodels, knewstuff, knotifications, knotifyconfig,
kpeople, krunner, ksysguard, kwallet, kwin, libXcursor, libXft,
libcanberra_kde, libpulseaudio, libxkbfile, phonon, plasma-framework,
plasma-workspace, qtdeclarative, qtquickcontrols, qtquickcontrols2, qtsvg,
qtx11extras, xf86inputevdev, xf86inputsynaptics, xinput, xkeyboard_config,
xorgserver,
utillinux
boost, fontconfig, ibus, libXcursor, libXft, libcanberra_kde, libpulseaudio,
libxkbfile, xf86inputevdev, xf86inputsynaptics, xinput, xkeyboard_config,
xorgserver, utillinux,
qtdeclarative, qtquickcontrols, qtquickcontrols2, qtsvg, qtx11extras,
attica, baloo, kactivities, kactivities-stats, kauth, kcmutils, kdbusaddons,
kdeclarative, kded, kdelibs4support, kemoticons, kglobalaccel, ki18n,
kitemmodels, knewstuff, knotifications, knotifyconfig, kpeople, krunner,
kscreenlocker, ksysguard, kwallet, kwin, phonon, plasma-framework,
plasma-workspace,
}:
mkDerivation rec {
name = "plasma-desktop";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
attica boost fontconfig ibus kcmutils kdbusaddons kded kitemmodels knewstuff
knotifications knotifyconfig kwallet libcanberra_kde libXcursor
libpulseaudio libXft libxkbfile phonon qtsvg xf86inputevdev
xf86inputsynaptics xkeyboard_config xinput baloo kactivities
kactivities-stats kauth kdeclarative kdelibs4support kemoticons kglobalaccel
ki18n kpeople krunner kwin plasma-framework plasma-workspace qtdeclarative
qtquickcontrols qtquickcontrols2 qtx11extras ksysguard
boost fontconfig ibus libcanberra_kde libpulseaudio libXcursor libXft
libxkbfile phonon xf86inputevdev xf86inputsynaptics xinput xkeyboard_config
qtdeclarative qtquickcontrols qtquickcontrols2 qtsvg qtx11extras
attica baloo kactivities kactivities-stats kauth kcmutils kdbusaddons
kdeclarative kded kdelibs4support kemoticons kglobalaccel ki18n kitemmodels
knewstuff knotifications knotifyconfig kpeople krunner kscreenlocker
ksysguard kwallet kwin plasma-framework plasma-workspace
];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
postPatch = ''
substituteInPlace kcms/dateandtime/helper.cpp \
--subst-var hwclock "${utillinux}/sbin/hwclock"
sed '1i#include <cmath>' -i kcms/touchpad/src/backends/x11/synapticstouchpad.cpp
'';
NIX_CFLAGS_COMPILE = [
@ -37,12 +39,12 @@ mkDerivation rec {
''-DNIXPKGS_HWCLOCK="${lib.getBin utillinux}/sbin/hwclock"''
];
cmakeFlags = [
"-DEvdev_INCLUDE_DIRS=${xf86inputevdev.dev}/include/xorg"
"-DSynaptics_INCLUDE_DIRS=${xf86inputsynaptics.dev}/include/xorg"
"-DEvdev_INCLUDE_DIRS=${lib.getDev xf86inputevdev}/include/xorg"
"-DSynaptics_INCLUDE_DIRS=${lib.getDev xf86inputsynaptics}/include/xorg"
];
postInstall = ''
# Display ~/Desktop contents on the desktop by default.
sed -i "$out/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \
sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \
-e 's/Containment=org.kde.desktopcontainment/Containment=org.kde.plasma.folder/'
'';
}

View file

@ -10,6 +10,14 @@
mkDerivation {
name = "plasma-nm";
nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
buildInputs = [
kdeclarative kdelibs4support ki18n kio kwindowsystem plasma-framework
qtdeclarative kcompletion kconfigwidgets kcoreaddons kdbusaddons kiconthemes
kinit kitemviews knotifications kservice kwallet kwidgetsaddons kxmlgui
mobile_broadband_provider_info modemmanager-qt networkmanager-qt openconnect
qca-qt5 solid
];
patches = [
(substituteAll {
src = ./0001-mobile-broadband-provider-info-path.patch;
@ -20,12 +28,4 @@ mkDerivation {
inherit openvpn;
})
];
nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
buildInputs = [
kdeclarative kdelibs4support ki18n kio kwindowsystem plasma-framework
qtdeclarative kcompletion kconfigwidgets kcoreaddons kdbusaddons kiconthemes
kinit kitemviews knotifications kservice kwallet kwidgetsaddons kxmlgui
mobile_broadband_provider_info modemmanager-qt networkmanager-qt openconnect
qca-qt5 solid
];
}

View file

@ -1,11 +1,6 @@
{ mkDerivation
, extra-cmake-modules
}:
{ mkDerivation , extra-cmake-modules }:
mkDerivation {
name = "plasma-workspace-wallpapers";
outputs = [ "out" ];
nativeBuildInputs = [
extra-cmake-modules
];
nativeBuildInputs = [ extra-cmake-modules ];
}

View file

@ -3,13 +3,15 @@
extra-cmake-modules, kdoctools,
isocodes, libdbusmenu, libSM, libXcursor, pam, wayland,
baloo, kactivities, kcmutils, kconfig, kcrash, kdbusaddons, kdeclarative,
kdelibs4support, kdesu, kglobalaccel, kidletime, kjsembed, knewstuff,
knotifyconfig, kpackage, krunner, ktexteditor, ktextwidgets, kwallet,
kwayland, kwin, kxmlrpcclient, libkscreen, libksysguard, networkmanager-qt,
phonon, plasma-framework, qtgraphicaleffects, qtquickcontrols,
qtquickcontrols2, qtscript, qtx11extras, solid, isocodes, libdbusmenu, libSM,
libXcursor, pam, wayland
knotifyconfig, kpackage, krunner, kscreenlocker, ktexteditor, ktextwidgets,
kwallet, kwayland, kwin, kxmlrpcclient, libkscreen, libksysguard,
networkmanager-qt, phonon, plasma-framework, prison, solid,
qtgraphicaleffects, qtquickcontrols, qtquickcontrols2, qtscript, qtx11extras,
}:
mkDerivation {
@ -18,27 +20,28 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
isocodes libdbusmenu libSM libXcursor pam wayland
];
propagatedBuildInputs = [
baloo kactivities kcmutils kconfig kcrash kdbusaddons kdeclarative
kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
knotifyconfig kpackage krunner ktexteditor ktextwidgets kwallet kwayland
kwin kxmlrpcclient libkscreen libksysguard networkmanager-qt phonon
plasma-framework solid qtgraphicaleffects qtquickcontrols qtquickcontrols2
qtscript qtx11extras
knotifyconfig kpackage krunner kscreenlocker ktexteditor ktextwidgets
kwallet kwayland kwin kxmlrpcclient libkscreen libksysguard
networkmanager-qt phonon plasma-framework prison solid
qtgraphicaleffects qtquickcontrols qtquickcontrols2 qtscript qtx11extras
];
outputs = [ "out" "dev" "bin" ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
postPatch = ''
substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
--replace kdostartupconfig5 $out/bin/kdostartupconfig5
--replace kdostartupconfig5 ''${!outputBin}/bin/kdostartupconfig5
'';
postInstall = ''
rm "$out/bin/startkde"
rm "$out/bin/startplasmacompositor"
rm "$out/lib/libexec/startplasma"
rm -r "$out/share/wayland-sessions"
rm "''${!outputBin}/bin/startkde"
rm "''${!outputBin}/bin/startplasmacompositor"
rm "''${!outputLib}/lib/libexec/startplasma"
rm -r "''${!outputBin}/share/wayland-sessions"
'';
}

View file

@ -1,13 +1,15 @@
{ mkDerivation, extra-cmake-modules, kdoctools, bluez-qt, kactivities
, kauth, kconfig, kdbusaddons, kdelibs4support, kglobalaccel, ki18n
, kidletime, kio, knotifyconfig, kwayland, libkscreen, networkmanager-qt
, plasma-workspace, qtx11extras, solid, udev
{
mkDerivation,
extra-cmake-modules, kdoctools,
bluez-qt, kactivities, kauth, kconfig, kdbusaddons, kdelibs4support,
kglobalaccel, ki18n, kidletime, kio, knotifyconfig, kwayland, libkscreen,
networkmanager-qt, plasma-workspace, qtx11extras, solid, udev
}:
mkDerivation {
name = "powerdevil";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
buildInputs = [
kconfig kdbusaddons knotifyconfig solid udev bluez-qt kactivities kauth
kdelibs4support kglobalaccel ki18n kio kidletime kwayland libkscreen
networkmanager-qt plasma-workspace qtx11extras

View file

@ -7,8 +7,9 @@
mkDerivation {
name = "systemsettings";
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
buildInputs = [
kcmutils kconfig kdbusaddons khtml ki18n kiconthemes kio kitemviews kservice
kwindowsystem kxmlgui qtquickcontrols qtquickcontrols2
];
outputs = [ "out" "dev" "bin" ];
}