Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

closure-size: Qt 5 and KDE 5 #12740

Merged
merged 91 commits into from
Feb 3, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
66d76f8
qt54.qtbase: don't rever to .dev outputs at runtime
ttuegel Jan 23, 2016
c1f0f62
qt54.qtbase: don't propagate cups dependency
ttuegel Jan 23, 2016
5fb4e3b
qt54.qtbase: don't propagate mysql dependency
ttuegel Jan 23, 2016
b0753ce
qt54.qtbase: don't propagate postgresql dependency
ttuegel Jan 23, 2016
a6fd9e9
qt54.qtbase: don't propagate gtk dependencies
ttuegel Jan 23, 2016
4ed8d5d
qt54.qtbase: don't propagate extra Mesa dependency
ttuegel Jan 23, 2016
67d5a02
qt54.qtbase: don't propagate makeWrapper dependency
ttuegel Jan 23, 2016
d8a08ff
qt54: disable documentation
ttuegel Jan 23, 2016
0055c6a
qt54: use multiple outputs
ttuegel Jan 23, 2016
fcf290c
qt55.qtbase: don't refer to .dev outputs at runtime
ttuegel Jan 23, 2016
5337a2a
qt55.qtbase: don't propagate cups dependency
ttuegel Jan 23, 2016
d5d7554
qt55.qtbase: don't propagate mysql dependency
ttuegel Jan 23, 2016
4b84474
qt55.qtbase: don't propagate postgresql dependency
ttuegel Jan 23, 2016
e64822b
qt55.qtbase: don't propagate gtk dependencies
ttuegel Jan 23, 2016
302450d
qt55.qtbase: don't propagate extra Mesa dependency
ttuegel Jan 23, 2016
3cfb552
qt55.qtbase: don't depend on makeWrapper
ttuegel Jan 23, 2016
db69888
qt55.qtbase: disable documentation
ttuegel Jan 23, 2016
74121e0
qt55: use multiple outputs
ttuegel Jan 23, 2016
6dda082
qt55.qtbase: use -system-harfbuzz
ttuegel Jan 24, 2016
9adcd6f
qt55: update homepage
ttuegel Jan 24, 2016
a6c9a6f
qt55.qtbase: set licenses correctly
ttuegel Jan 24, 2016
4465f43
qt55: improve update documentation
ttuegel Jan 24, 2016
1087020
cmake: invoke configure hooks correctly
ttuegel Jan 24, 2016
a714284
cmake: don't set incompatible flags for multiple outputs
ttuegel Jan 24, 2016
a27a4c2
extra-cmake-modules: use multiple outputs
ttuegel Jan 24, 2016
ac5a585
qt55: add fixQtModuleCMakeConfig setup hook
ttuegel Jan 24, 2016
8bfae5c
qt55.qtbase: fix Qt module CMake config files
ttuegel Jan 24, 2016
6dfabcb
qt55.qtscript: fix Qt module CMake config files
ttuegel Jan 24, 2016
6c37beb
qt55.qtdeclarative: fix Qt module CMake config files
ttuegel Jan 24, 2016
24d0cfb
kde5.frameworks: use multiple outputs
ttuegel Jan 24, 2016
27824e3
qt55.qtxmlpatterns: fix Qt module CMake config files
ttuegel Jan 25, 2016
055b1b8
qt55.qtx11extras: fix Qt module CMake config files
ttuegel Jan 25, 2016
da454bc
qt55.qtwebsockets: fix Qt module CMake config files
ttuegel Jan 25, 2016
db7cabe
qt55.qtwebkit: fix Qt module CMake config files
ttuegel Jan 25, 2016
ed20a6a
qt55.qttools: fix Qt module CMake config files
ttuegel Jan 25, 2016
02f2761
qt55.qtsvg: fix Qt module CMake config files
ttuegel Jan 25, 2016
50de9a3
qt55.qtserialport: fix Qt module CMake config files
ttuegel Jan 25, 2016
abcb26c
qt55.qtsensors: fix Qt module CMake config files
ttuegel Jan 25, 2016
89dc811
qt55.qtquick1: fix Qt module CMake config files
ttuegel Jan 25, 2016
ea07946
qt55.qtmultimedia: fix Qt module CMake config files
ttuegel Jan 25, 2016
35c7cda
qt55.qtlocation: fix Qt module CMake config files
ttuegel Jan 25, 2016
aea5ee6
qt55.qtenginio: fix Qt module CMake config files
ttuegel Jan 25, 2016
776de6d
qt55.qtconnectivity: fix Qt module CMake config files
ttuegel Jan 25, 2016
c5083f8
kde5.kfilemetadata: fix CMake install paths
ttuegel Jan 25, 2016
7fae067
qt55.makeQtWrapper: don't set XDG_DATA_DIRS
ttuegel Jan 25, 2016
b63c007
kde5.kdelibs4support: don't use multiple outputs
ttuegel Jan 25, 2016
ae75c88
qt55.qtbase: upstream patch for backing store issue
ttuegel Jan 25, 2016
7f43f08
extra-cmake-modules: add addToSearchPathOnce
ttuegel Jan 25, 2016
02c3ae1
kde5.kservice: propagate extra-cmake-modules input
ttuegel Jan 25, 2016
cfd70ea
kde5.kservice: propagate service and service type inputs
ttuegel Jan 25, 2016
7049bde
kde5.kdelibs4support: use multiple outputs
ttuegel Jan 26, 2016
4f7297f
kde5.apps: use multiple outputs
ttuegel Jan 27, 2016
ec9073d
kde5.plasma: remove misguided setupHook
ttuegel Jan 27, 2016
bda1938
kde5.plasma: use multiple outputs
ttuegel Jan 27, 2016
f6e8737
kde5.kauth: fix helper install paths
ttuegel Jan 27, 2016
9065ab0
kde5.extra-cmake-modules: rewrite setupHook
ttuegel Jan 28, 2016
7840e5e
kde5.kde-gtk-config: fix extra include paths
ttuegel Jan 29, 2016
150238d
qt54: updated homepage
ttuegel Jan 29, 2016
d282d0b
qt54.qtbase: set licenses correctly
ttuegel Jan 29, 2016
f4e6b17
qt54: add fixQtModuleCMakeConfig setup hook
ttuegel Jan 29, 2016
65ef857
qt54.qtbase: fix Qt module CMake config files
ttuegel Jan 29, 2016
fbcdf3e
qt54.qtscript: fix Qt module CMake config files
ttuegel Jan 29, 2016
b7db218
qt54.qtdeclarative: fix Qt module CMake config files
ttuegel Jan 29, 2016
a67c2de
qt54.qtxmlpatterns: fix Qt module CMake config files
ttuegel Jan 29, 2016
669dcb3
qt54.qtx11extras: fix Qt module CMake config files
ttuegel Jan 29, 2016
4d25e97
qt54.qtwebsockets: fix Qt module CMake config files
ttuegel Jan 29, 2016
1a481e5
qt54.qtwebkit: fix Qt module CMake config files
ttuegel Jan 29, 2016
35f33b4
qt54.qttools: fix Qt module CMake config files
ttuegel Jan 29, 2016
ece0396
qt54.qtsvg: fix Qt module CMake config files
ttuegel Jan 29, 2016
3bb5501
qt54.qtserialport: fix Qt module CMake config files
ttuegel Jan 29, 2016
2f0ec07
qt54.qtsensors: fix Qt module CMake config files
ttuegel Jan 29, 2016
d769d6c
qt54.qtquick1: fix Qt module CMake config files
ttuegel Jan 29, 2016
a7cce8b
qt54.qtmultimedia: fix Qt module CMake config files
ttuegel Jan 29, 2016
b3c8878
qt54.qtlocation: fix Qt module CMake config files
ttuegel Jan 29, 2016
6e623f8
qt54.qtenginio: fix Qt module CMake config files
ttuegel Jan 29, 2016
0c79c7c
qt54.qtconnectivity: fix Qt module CMake config files
ttuegel Jan 29, 2016
2f4087b
google-talk-plugin: udev -> libudev
ttuegel Jan 29, 2016
fe1bae4
spotify: udev -> libudev
ttuegel Jan 29, 2016
2efbf66
qt55.qttools: move runtime executables to $out
ttuegel Jan 31, 2016
588c849
qt55: don't set output flags by default
ttuegel Jan 31, 2016
7ea3225
kde5.breeze: use runtime outputs
ttuegel Jan 31, 2016
a5b7cf0
kde5.kscreen: remove redundant propagatedUserEnvPkgs
ttuegel Jan 31, 2016
7b11d50
kde5.plasma-desktop: remove redundant propagatedUserEnvPkgs
ttuegel Jan 31, 2016
30d6a71
kde5.plasma-workspace: remove redundant propagatedUserEnvPkgs
ttuegel Jan 31, 2016
a7ae370
kde5.plasma-workspace: propagate inputs automatically
ttuegel Jan 31, 2016
98aa081
kde5.breeze-icons: remove redundant propagatedUserEnvPkgs
ttuegel Jan 31, 2016
6c327da
kde5.kservice: remove redundant propagatedUserEnvPkgs
ttuegel Jan 31, 2016
29e2b51
sddm: link theme runtime outputs
ttuegel Jan 31, 2016
db419ce
sddm: remove bash-ism
ttuegel Jan 31, 2016
4768f41
nixos/kde5: use runtime outputs
ttuegel Jan 31, 2016
f43eb5e
qt54.qttools: move runtime executables to $out
ttuegel Feb 1, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions nixos/modules/services/x11/desktop-managers/kde5.nix
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@ in
services.xserver.desktopManager.session = singleton {
name = "kde5";
bgSupport = true;
start = ''exec ${kde5.plasma-workspace}/bin/startkde;'';
start = ''exec startkde;'';
};

security.setuidOwners = singleton {
program = "kcheckpass";
source = "${kde5.plasma-workspace}/lib/libexec/kcheckpass";
source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass";
owner = "root";
group = "root";
setuid = true;
Expand Down Expand Up @@ -168,12 +168,12 @@ in

# Enable GTK applications to load SVG icons
environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) {
GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
};

fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];

programs.ssh.askPassword = "${kde5.ksshaskpass}/bin/ksshaskpass";
programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass";

# Enable helpful DBus services.
services.udisks2.enable = true;
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/audio/spotify/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl_1_0_1, freetype
, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
, libgcrypt, udev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }:
, libgcrypt, libudev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }:

assert stdenv.system == "x86_64-linux";

Expand All @@ -27,7 +27,7 @@ let
nss
pango
stdenv.cc.cc
udev
libudev
xorg.libX11
xorg.libXcomposite
xorg.libXcursor
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/display-managers/sddm/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ stdenv.mkDerivation {

nativeBuildInputs = [ lndir makeQtWrapper ];
buildInputs = [ unwrapped ] ++ themes;
inherit themes;
themes = map (pkg: pkg.out or pkg) themes;
inherit unwrapped;

installPhase = ''
Expand All @@ -81,7 +81,7 @@ stdenv.mkDerivation {
mkdir -p "$out/share/sddm"
for pkg in $unwrapped $themes; do
local sddmDir="$pkg/share/sddm"
if [[ -d "$sddmDir" ]]; then
if [ -d "$sddmDir" ]; then
lndir -silent "$sddmDir" "$out/share/sddm"
fi
done
Expand Down
2 changes: 2 additions & 0 deletions pkgs/applications/kde-apps-15.12/kde-app.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ stdenv.mkDerivation (args // {
name = "${name}-${version}";
inherit src;

outputs = args.outputs or [ "dev" "out" ];

cmakeFlags =
(args.cmakeFlags or [])
++ [ "-DBUILD_TESTING=OFF" ]
Expand Down
7 changes: 7 additions & 0 deletions pkgs/applications/kde-apps-15.12/kde-locale-4.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ kdeApp (args // {
sname = "kde-l10n-${name}";
name = "kde-l10n-${name}-qt4";

outputs = [ "out" ];

nativeBuildInputs =
[ automoc4 cmake gettext perl ]
++ (args.nativeBuildInputs or []);
Expand All @@ -17,4 +19,9 @@ kdeApp (args // {
sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt
${args.preConfigure or ""}
'';

preFixup = ''
propagatedBuildInputs=
propagatedNativeBuildInputs=
'';
})
7 changes: 7 additions & 0 deletions pkgs/applications/kde-apps-15.12/kde-locale-5.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ kdeApp (args // {
sname = "kde-l10n-${name}";
name = "kde-l10n-${name}-qt5";

outputs = [ "out" ];

nativeBuildInputs =
[ cmake extra-cmake-modules gettext kdoctools ]
++ (args.nativeBuildInputs or []);
Expand All @@ -14,4 +16,9 @@ kdeApp (args // {
sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt
${args.preConfigure or ""}
'';

preFixup = ''
propagatedBuildInputs=
propagatedNativeBuildInputs=
'';
})
2 changes: 2 additions & 0 deletions pkgs/applications/kde-apps-15.12/kdelibs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
kdeApp {
name = "kdelibs";

outputs = [ "out" ];

buildInputs = [
attica attr avahi giflib libdbusmenu_qt libjpeg libxml2
polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo
, libpng, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
, dbus_glib, alsaLib, libpulseaudio, udev, pango
, dbus_glib, alsaLib, libpulseaudio, libudev, pango
}:

with stdenv.lib;
Expand Down Expand Up @@ -36,7 +36,7 @@ let
alsaLib
libpulseaudio
dbus_glib
udev
libudev
curl
pango
cairo
Expand Down
9 changes: 6 additions & 3 deletions pkgs/desktops/plasma-5.5/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ let
name = "${name}-${version}";
inherit src;

setupHook = args.setupHook or ./setup-hook.sh;
outputs = args.outputs or [ "dev" "out" ];

cmakeFlags =
(args.cmakeFlags or [])
Expand All @@ -48,8 +48,11 @@ let
breeze-qt4 = callPackage ./breeze-qt4.nix {};
breeze-qt5 = callPackage ./breeze-qt5.nix {};
breeze =
let version = (builtins.parseDrvName breeze-qt5.name).version;
in symlinkJoin "breeze-${version}" [ breeze-gtk breeze-qt4 breeze-qt5 ];
let
version = (builtins.parseDrvName breeze-qt5.name).version;
in
symlinkJoin "breeze-${version}"
(map (pkg: pkg.out or pkg) [ breeze-gtk breeze-qt4 breeze-qt5 ]);
kde-cli-tools = callPackage ./kde-cli-tools.nix {};
kde-gtk-config = callPackage ./kde-gtk-config {};
kdecoration = callPackage ./kdecoration.nix {};
Expand Down
4 changes: 2 additions & 2 deletions pkgs/desktops/plasma-5.5/kde-gtk-config/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ plasmaPackage {
];
propagatedBuildInputs = [ ki18n kio ];
cmakeFlags = [
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
];
}
5 changes: 0 additions & 5 deletions pkgs/desktops/plasma-5.5/kscreen.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ plasmaPackage {
qtdeclarative
qtgraphicaleffects
];
propagatedUserEnvPkgs = [
libkscreen # D-Bus service
qtdeclarative # QML import
qtgraphicaleffects # QML import
];
postInstall = ''
wrapQtProgram "$out/bin/kscreen-console"
'';
Expand Down
3 changes: 0 additions & 3 deletions pkgs/desktops/plasma-5.5/plasma-desktop/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,6 @@ plasmaPackage rec {
qtquickcontrols
qtx11extras
];
# All propagatedBuildInputs should be present in the profile because
# wrappers cannot be used here.
propagatedUserEnvPkgs = propagatedBuildInputs;
patches = [
./0001-qt-5.5-QML-import-paths.patch
(substituteAll {
Expand Down
3 changes: 0 additions & 3 deletions pkgs/desktops/plasma-5.5/plasma-mediacenter.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,4 @@ plasmaPackage rec {
baloo kactivities kdeclarative kfilemetadata ki18n kio
plasma-framework
];
# All propagatedBuildInputs should be present in the profile because
# wrappers cannot be used here.
propagatedUserEnvPkgs = propagatedBuildInputs;
}
39 changes: 29 additions & 10 deletions pkgs/desktops/plasma-5.5/plasma-workspace/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
, xprop, xrdb, xset, xsetroot, solid, qtquickcontrols
}:

plasmaPackage rec {
plasmaPackage {
name = "plasma-workspace";

nativeBuildInputs = [
Expand All @@ -20,10 +20,11 @@ plasmaPackage rec {
makeQtWrapper
];
buildInputs = [
kcmutils kcrash kdbusaddons kdesu kdewebkit kjsembed knewstuff
knotifyconfig kpackage ktextwidgets kwallet kwayland kxmlrpcclient
libdbusmenu libSM libXcursor networkmanager-qt pam phonon
qtscript wayland
dbus_tools kcmutils kconfig kcrash kdbusaddons kdesu kdewebkit
kinit kjsembed knewstuff knotifyconfig kpackage kservice
ktextwidgets kwallet kwayland kxmlrpcclient libdbusmenu libSM
libXcursor mkfontdir networkmanager-qt pam phonon qtscript qttools
socat wayland xmessage xprop xset xsetroot
];
propagatedBuildInputs = [
baloo kactivities kdeclarative kdelibs4support kglobalaccel
Expand All @@ -32,13 +33,31 @@ plasmaPackage rec {
];

patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
inherit bash coreutils gnused gnugrep socat;
inherit kconfig kinit kservice qttools;
inherit dbus_tools mkfontdir xmessage xprop xrdb xset xsetroot;

postPatch = ''
substituteAllInPlace startkde/startkde.cmake
substituteInPlace startkde/startkde.cmake \
--subst-var-by bash $(type -P bash) \
--subst-var-by sed $(type -P sed) \
--subst-var-by grep $(type -P grep) \
--subst-var-by socat $(type -P socat) \
--subst-var-by kcheckrunning $(type -P kcheckrunning) \
--subst-var-by xmessage $(type -P xmessage) \
--subst-var-by tr $(type -P tr) \
--subst-var-by qtpaths $(type -P qtpaths) \
--subst-var-by qdbus $(type -P qdbus) \
--subst-var-by dbus-launch $(type -P dbus-launch) \
--subst-var-by mkfontdir $(type -P mkfontdir) \
--subst-var-by xset $(type -P xset) \
--subst-var-by xsetroot $(type -P xsetroot) \
--subst-var-by xprop $(type -P xprop) \
--subst-var-by start_kdeinit_wrapper "${kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper" \
--subst-var-by kwrapper5 $(type -P kwrapper5) \
--subst-var-by kdeinit5_shutdown $(type -P kdeinit5_shutdown) \
--subst-var-by kbuildsycoca5 $(type -P kbuildsycoca5) \
--subst-var-by kreadconfig5 $(type -P kreadconfig5) \
--subst-var out
substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
--replace kdostartupconfig5 $out/bin/kdostartupconfig5
--replace kdostartupconfig5 $out/bin/kdostartupconfig5
'';

postInstall = ''
Expand Down
Loading