diff options
Diffstat (limited to 'pkgs/desktops')
70 files changed, 545 insertions, 366 deletions
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index c2124f0b2928..3df091fd48a7 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, libwebp, curl, libinput }: +{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, libwebp, curl, libinput, systemd }: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto - xorg.libX11 udev utillinux ]; + xorg.libX11 udev utillinux systemd ]; propagatedBuildInputs = [ libxkbcommon python27Packages.dbus dbus libjpeg xorg.libXcomposite xorg.libXdamage xorg.libXinerama xorg.libXp xorg.libXtst xorg.libXi xorg.libXext @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { "--disable-tslib" "--with-systemdunitdir=$out/systemd/user" "ac_ct_CXX=foo" ]; - NIX_CFLAGS_COMPILE = [ "-I${xorg.libXtst}" "-I${dbus_libs}/include/dbus-1.0" "-I${dbus_libs}/lib/dbus-1.0/include" ]; + NIX_CFLAGS_COMPILE = [ "-I${xorg.libXtst}" "-I${dbus_libs.dev}/include/dbus-1.0" "-I${dbus_libs.lib}/lib/dbus-1.0/include" ]; patches = [ ./efl-elua.patch ]; diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix index 8c3391cf2714..67f9c68cd613 100644 --- a/pkgs/desktops/enlightenment/rage.nix +++ b/pkgs/desktops/enlightenment/rage.nix @@ -7,19 +7,23 @@ stdenv.mkDerivation rec { url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz"; sha256 = "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg"; }; - buildInputs = [ elementary efl automake autoconf libtool pkgconfig - makeWrapper ]; - GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [ + buildInputs = [ + elementary efl automake autoconf libtool pkgconfig + makeWrapper + gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad - gst_all_1.gst-libav ]; + gst_all_1.gst-libav + ]; + configurePhase = '' ./autogen.sh --prefix=$out ''; + postInstall = '' wrapProgram $out/bin/rage \ - --prefix GST_PLUGIN_PATH : "$GST_PLUGIN_PATH" + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" ''; meta = { description = "Video + Audio player along the lines of mplayer"; diff --git a/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix index f31875bed91c..50f2cd081332 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-keyring/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { sha256 = "02r9gv3a4a705jf3h7c0bizn33c73wz0iw2500m7z291nrnmqkmj"; }; - buildInputs = [ dbus.libs libgcrypt pam python gtk GConf libgnome_keyring ]; + buildInputs = [ dbus libgcrypt pam python gtk GConf libgnome_keyring ]; propagatedBuildInputs = [ glib libtasn1 ]; diff --git a/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix index a9bb87d4dddf..100dfbf3acec 100644 --- a/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix +++ b/pkgs/desktops/gnome-3/3.18/apps/evolution/default.nix @@ -27,7 +27,7 @@ in stdenv.mkDerivation rec { configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar" "--disable-libcryptui" ]; - NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0"; + NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix index 4c42c6c026d3..48b45f28522e 100644 --- a/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/empathy/default.nix @@ -35,9 +35,9 @@ stdenv.mkDerivation rec { gnome3.defaultIconTheme gnome3.gsettings_desktop_schemas file libtool librsvg ]; - NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0" - "-I${dbus_libs}/include/dbus-1.0" - "-I${dbus_libs}/lib/dbus-1.0/include" ]; + NIX_CFLAGS_COMPILE = [ "-I${dbus_glib.dev}/include/dbus-1.0" + "-I${dbus_libs.dev}/include/dbus-1.0" + "-I${dbus_libs.lib}/lib/dbus-1.0/include" ]; preFixup = '' for f in $out/bin/* $out/libexec/*; do diff --git a/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix index 322dd3bedac6..d50036a597e6 100644 --- a/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/epiphany/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf ]; - NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0"; + NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0"; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/folks/default.nix b/pkgs/desktops/gnome-3/3.18/core/folks/default.nix index 6e200bdb3188..4385c6b6f75b 100644 --- a/pkgs/desktops/gnome-3/3.18/core/folks/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/folks/default.nix @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { configureFlags = "--disable-fatal-warnings"; - NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss" - "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"]; + NIX_CFLAGS_COMPILE = ["-I${nspr.dev}/include/nspr" "-I${nss.dev}/include/nss" + "-I${dbus_glib.dev}/include/dbus-1.0" "-I${dbus_libs.dev}/include/dbus-1.0"]; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix b/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix index 51b67afb01fd..3749be2de27f 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gdm/3.16-wip/default.nix @@ -11,9 +11,9 @@ stdenv.mkDerivation rec { }; preConfigure = '' - substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X" + substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X" substituteInPlace daemon/gdm-simple-slave.c --replace 'BINDIR "/gnome-session' '"${gnome_session}/bin/gnome-session' - substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.tools}/bin/dbus-launch' + substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.dbus-launch}' substituteInPlace data/gdm.conf-custom.in --replace '#WaylandEnable=false' 'WaylandEnable=false' sed 's/#Enable=true/Enable=true/' -i data/gdm.conf-custom.in ''; diff --git a/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix index 1db969651317..a13370e5c9a9 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gdm/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { # Only needed to make it build preConfigure = '' - substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X" + substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X" ''; configureFlags = [ "--sysconfdir=/etc" diff --git a/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix b/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix index 792e34c7b148..ac53726bc537 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gjs/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ spidermonkey_24 ]; postInstall = '' - sed 's|-lreadline|-L${readline}/lib -lreadline|g' -i $out/lib/libgjs.la + sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix index 1d1f9d18c566..51e3f6ab3133 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-dictionary/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-dictionary" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix index d810fbb862b7..c6688fd30cd7 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-online-accounts/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { inherit (import ./src.nix fetchurl) name src; - NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0"; + NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0"; enableParallelBuilding = true; diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix index 763fc990bdab..15d93793088b 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-screenshot/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-screenshot" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix index 716f92a072d4..6b7b28ad4000 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-system-log/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-system-log" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix index 49ad40912c66..e8f649835062 100644 --- a/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/gnome-user-share/default.nix @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf ''; - configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd" - "--with-modules-path=${apacheHttpd_2_2}/modules" + configureFlags = [ "--with-httpd=${apacheHttpd_2_2.out}/bin/httpd" + "--with-modules-path=${apacheHttpd_2_2.out}/modules" "--disable-bluetooth" "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ]; diff --git a/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix b/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix index e8ddf7096e62..76d9118c4b95 100644 --- a/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/libcroco/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"; }; - outputs = [ "out" "doc" ]; + outputs = [ "dev" "out" ]; + outputBin = "dev"; configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic"; diff --git a/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix b/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix index 5ccca36bcaad..cbb52c9aaa12 100644 --- a/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix +++ b/pkgs/desktops/gnome-3/3.18/core/vte/2.90.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' - substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses" + substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix index 334718403a0d..38850f0fe761 100644 --- a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix @@ -20,7 +20,7 @@ let baseAttrs = rec { enableParallelBuilding = true; postInstall = '' - substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses" + substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix index 19f340ac291e..e7f833bf7172 100644 --- a/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/3.18/misc/gitg/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gitg" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix index 986d4058af92..d0c6674ad9bd 100644 --- a/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix +++ b/pkgs/desktops/gnome-3/3.18/misc/gnome-tweak-tool/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/gnome-tweak-tool" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --suffix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --suffix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" ''; diff --git a/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix index eeb2cee86cdd..fd7ecbea01ff 100644 --- a/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix +++ b/pkgs/desktops/gnome-3/3.18/misc/gpaste/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ intltool autoreconfHook pkgconfig vala glib - gtk3 gnome3.gnome_control_center dbus.libs + gtk3 gnome3.gnome_control_center dbus clutter pango appstream-glib makeWrapper ]; preConfigure = "intltoolize -f"; diff --git a/pkgs/desktops/kde-4.14/kde-runtime.nix b/pkgs/desktops/kde-4.14/kde-runtime.nix index 655555cd140a..495ea242e0d0 100644 --- a/pkgs/desktops/kde-4.14/kde-runtime.nix +++ b/pkgs/desktops/kde-4.14/kde-runtime.nix @@ -16,7 +16,7 @@ kde { nativeBuildInputs = [ shared_mime_info ]; - NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include"; + NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; passthru.propagatedUserEnvPackages = [ virtuoso ]; diff --git a/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix index 267c2b782129..f5750d60045f 100644 --- a/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix +++ b/pkgs/desktops/kde-4.14/kdenetwork/kopete.nix @@ -9,6 +9,7 @@ kde { patches = [ (fetchurl { + name = "kopete.patch"; url = "https://bugs.kde.org/attachment.cgi?id=91567"; sha256 = "0a44rjiqzn6v3sywm17d1741sygbvlfnbqadq7qbdj3amny014m1"; }) diff --git a/pkgs/desktops/kde-5/applications-15.12/kcalc.nix b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix index a1f0316825da..e4c8e9d69253 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kcalc.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix @@ -1,14 +1,14 @@ { kdeApp , lib +, makeQtWrapper , extra-cmake-modules +, gmp , kdoctools -, makeQtWrapper , kconfig , kconfigwidgets , kguiaddons , kinit , knotifications - }: kdeApp { @@ -20,6 +20,7 @@ kdeApp { ]; buildInputs = [ + gmp kconfig kconfigwidgets kguiaddons diff --git a/pkgs/desktops/kde-5/applications-15.12/kde-app.nix b/pkgs/desktops/kde-5/applications-15.12/kde-app.nix index 242f3d9c793d..2f1fdc1d643c 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kde-app.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kde-app.nix @@ -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" ] diff --git a/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix b/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix index 4b612ee3e3c2..e83794c60d81 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix @@ -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 []); @@ -17,4 +19,9 @@ kdeApp (args // { sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt ${args.preConfigure or ""} ''; + + preFixup = '' + propagatedBuildInputs= + propagatedNativeBuildInputs= + ''; }) diff --git a/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix b/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix index 522fc542aeb2..772ebe37e44f 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix @@ -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 []); @@ -14,4 +16,9 @@ kdeApp (args // { sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt ${args.preConfigure or ""} ''; + + preFixup = '' + propagatedBuildInputs= + propagatedNativeBuildInputs= + ''; }) diff --git a/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix b/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix index a30b19774f2a..389362deecc6 100644 --- a/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix +++ b/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix @@ -2,16 +2,18 @@ , docbook_xml_dtd_42, docbook_xsl, flex, giflib, ilmbase , libdbusmenu_qt, libjpeg, libxml2, libxslt, perl, phonon, pkgconfig , polkit_qt4, qca2, qt4, shared_desktop_ontologies, shared_mime_info -, soprano, strigi, udev, xz +, soprano, strigi, udev, xz, pcre , lib }: kdeApp { name = "kdelibs"; + outputs = [ "out" ]; + buildInputs = [ attica attr avahi giflib libdbusmenu_qt libjpeg libxml2 - polkit_qt4 qca2 shared_desktop_ontologies udev xz + polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre ]; propagatedBuildInputs = [ qt4 soprano phonon strigi ]; nativeBuildInputs = [ diff --git a/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix b/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix index 879262c56a41..44cc99daf261 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix @@ -6,5 +6,5 @@ kdeFramework { name = "breeze-icons"; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedUserEnvPkgs = [ qtsvg ]; + buildInputs = [ qtsvg ]; } diff --git a/pkgs/desktops/kde-5/frameworks-5.19/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/default.nix index cd314e27cacb..2c15f31a9c9e 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/default.nix @@ -29,6 +29,8 @@ let name = "${name}-${version}"; inherit src; + outputs = args.outputs or [ "dev" "out" ]; + cmakeFlags = (args.cmakeFlags or []) ++ [ "-DBUILD_TESTING=OFF" ] @@ -64,14 +66,14 @@ let kdbusaddons = callPackage ./kdbusaddons.nix {}; kdeclarative = callPackage ./kdeclarative.nix {}; kded = callPackage ./kded.nix {}; - kdelibs4support = callPackage ./kdelibs4support.nix {}; + kdelibs4support = callPackage ./kdelibs4support {}; kdesignerplugin = callPackage ./kdesignerplugin.nix {}; kdewebkit = callPackage ./kdewebkit.nix {}; kdesu = callPackage ./kdesu.nix {}; kdnssd = callPackage ./kdnssd.nix {}; kdoctools = callPackage ./kdoctools {}; kemoticons = callPackage ./kemoticons.nix {}; - kfilemetadata = callPackage ./kfilemetadata.nix {}; + kfilemetadata = callPackage ./kfilemetadata {}; kglobalaccel = callPackage ./kglobalaccel.nix {}; kguiaddons = callPackage ./kguiaddons.nix {}; khtml = callPackage ./khtml.nix {}; diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch deleted file mode 100644 index 9717716faf5b..000000000000 --- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 3cc148e878b69fc3e0228f3e3bf1bbe689dad87c Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel <ttuegel@gmail.com> -Date: Fri, 20 Feb 2015 23:17:39 -0600 -Subject: [PATCH] extra-cmake-modules paths - ---- - kde-modules/KDEInstallDirs.cmake | 37 ++++--------------------------------- - 1 file changed, 4 insertions(+), 33 deletions(-) - -diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake -index b7cd34d..2f868ac 100644 ---- a/kde-modules/KDEInstallDirs.cmake -+++ b/kde-modules/KDEInstallDirs.cmake -@@ -193,37 +193,8 @@ - # (To distribute this file outside of extra-cmake-modules, substitute the full - # License text for the above reference.) - --# Figure out what the default install directory for libraries should be. --# This is based on the logic in GNUInstallDirs, but simplified (the --# GNUInstallDirs code deals with re-configuring, but that is dealt with --# by the _define_* macros in this module). -+# The default library directory on NixOS is *always* /lib. - set(_LIBDIR_DEFAULT "lib") --# Override this default 'lib' with 'lib64' iff: --# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling --# - we are NOT on debian --# - we are on a 64 bits system --# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf --# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if --# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" --# See http://wiki.debian.org/Multiarch --if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") -- AND NOT CMAKE_CROSSCOMPILING) -- if (EXISTS "/etc/debian_version") # is this a debian system ? -- if(CMAKE_LIBRARY_ARCHITECTURE) -- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") -- endif() -- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: -- if(NOT DEFINED CMAKE_SIZEOF_VOID_P) -- message(AUTHOR_WARNING -- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " -- "Please enable at least one language before including KDEInstallDirs.") -- else() -- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") -- set(_LIBDIR_DEFAULT "lib64") -- endif() -- endif() -- endif() --endif() - - set(_gnu_install_dirs_vars - BINDIR -@@ -445,15 +416,15 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS) - "QtQuick2 imports" - QML_INSTALL_DIR) - else() -- _define_relative(QTPLUGINDIR LIBDIR "plugins" -+ _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins" - "Qt plugins" - QT_PLUGIN_INSTALL_DIR) - -- _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports" -+ _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "qt5/imports" - "QtQuick1 imports" - IMPORTS_INSTALL_DIR) - -- _define_relative(QMLDIR LIBDIR "qml" -+ _define_relative(QMLDIR LIBDIR "qt5/qml" - "QtQuick2 imports" - QML_INSTALL_DIR) - endif() --- -2.3.0 - diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix index 4e1b1aff3bd1..1c2ea70442d3 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix @@ -1,9 +1,11 @@ -{ kdeFramework, lib, stdenv, cmake, pkgconfig, qttools }: +{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }: kdeFramework { name = "extra-cmake-modules"; - patches = [ ./0001-extra-cmake-modules-paths.patch ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + + outputs = [ "out" ]; # this package has no runtime components setupHook = ./setup-hook.sh; # It is OK to propagate these inputs as long as @@ -11,8 +13,8 @@ kdeFramework { # of some other derivation. propagatedNativeBuildInputs = [ cmake pkgconfig qttools ]; - meta = { - license = stdenv.lib.licenses.bsd2; - maintainers = [ lib.maintainers.ttuegel ]; + meta = with lib; { + license = licenses.bsd2; + maintainers = [ maintainers.ttuegel ]; }; } diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/nix-lib-path.patch b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/nix-lib-path.patch new file mode 100644 index 000000000000..a74340a6dc96 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/nix-lib-path.patch @@ -0,0 +1,37 @@ +Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +=================================================================== +--- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake ++++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake +@@ -200,32 +200,6 @@ + # GNUInstallDirs code deals with re-configuring, but that is dealt with + # by the _define_* macros in this module). + set(_LIBDIR_DEFAULT "lib") +-# Override this default 'lib' with 'lib64' iff: +-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling +-# - we are NOT on debian +-# - we are on a 64 bits system +-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf +-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if +-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu" +-# See http://wiki.debian.org/Multiarch +-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") +- AND NOT CMAKE_CROSSCOMPILING) +- if (EXISTS "/etc/debian_version") # is this a debian system ? +- if(CMAKE_LIBRARY_ARCHITECTURE) +- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") +- endif() +- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: +- if(NOT DEFINED CMAKE_SIZEOF_VOID_P) +- message(AUTHOR_WARNING +- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " +- "Please enable at least one language before including KDEInstallDirs.") +- else() +- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +- set(_LIBDIR_DEFAULT "lib64") +- endif() +- endif() +- endif() +-endif() + + set(_gnu_install_dirs_vars + BINDIR diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/series b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/series new file mode 100644 index 000000000000..b4569e50a5f7 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/series @@ -0,0 +1 @@ +nix-lib-path.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh index a6fa6189240b..56ed09f4ea59 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh +++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh @@ -1,27 +1,81 @@ -addMimePkg() { - local propagated +_ecmSetXdgDirs() { + addToSearchPathOnce XDG_DATA_DIRS "$1/share" + addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg" + addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg" +} - if [[ -d "$1/share/mime" ]]; then - propagated= - for pkg in $propagatedBuildInputs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - fi - done - if [[ -z $propagated ]]; then - propagatedBuildInputs="$propagatedBuildInputs $1" +_ecmPropagateSharedData() { + local sharedPaths=( \ + "config.cfg" \ + "doc" \ + "kconf_update" \ + "kservices5" \ + "kservicetypes5" \ + "kxmlgui5" \ + "knotifications5" \ + "icons" \ + "sounds" \ + "templates" \ + "wallpapers" \ + "applications" \ + "desktop-directories" \ + "mime" \ + "info" \ + "dbus-1" \ + "interfaces" \ + "services" \ + "system-services" ) + for dir in ${sharedPaths[@]}; do + if [ -d "$1/share/$dir" ]; then + addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share" + propagateOnce propagatedUserEnvPkgs "$1" + break fi + done +} - propagated= - for pkg in $propagatedUserEnvPkgs; do - if [[ "z$pkg" == "z$1" ]]; then - propagated=1 - fi - done - if [[ -z $propagated ]]; then - propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1" - fi - fi +_ecmConfig() { + # Because we need to use absolute paths here, we must set *all* the paths. + cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" + cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" + cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" + cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" + cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec" + cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" + cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins" + cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports" + cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml" + cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" + cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" + cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share" + cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML" + cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg" + cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update" + cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5" + cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5" + cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5" + cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5" + cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons" + cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" + cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds" + cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates" + cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers" + cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications" + cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories" + cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages" + cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata" + cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man" + cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info" + cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1" + cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces" + cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services" + cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services" + cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc" + cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg" + cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart" } -envHooks+=(addMimePkg) +envHooks+=(_ecmSetXdgDirs _ecmPropagateSharedData) +preConfigureHooks+=(_ecmConfig) diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kauth/cmake-install-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/kauth/cmake-install-paths.patch new file mode 100644 index 000000000000..c66f5ecd008f --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/cmake-install-paths.patch @@ -0,0 +1,17 @@ +Index: kauth-5.18.0/KF5AuthConfig.cmake.in +=================================================================== +--- kauth-5.18.0.orig/KF5AuthConfig.cmake.in ++++ kauth-5.18.0/KF5AuthConfig.cmake.in +@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_I + + set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@") + set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@") +-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@") +-set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@") ++set(KAUTH_POLICY_FILES_INSTALL_DIR "${KDE_INSTALL_DATADIR}/polkit-1/actions") ++set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}") ++set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${KDE_INSTALL_LIBEXECDIR}") + + find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@") + diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix index 2b000ff3c041..1352d8c5821f 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix @@ -1,4 +1,4 @@ -{ kdeFramework, lib +{ kdeFramework, lib, copyPathsToStore , extra-cmake-modules , kcoreaddons , polkit-qt @@ -9,7 +9,7 @@ kdeFramework { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ polkit-qt ]; propagatedBuildInputs = [ kcoreaddons ]; - patches = [ ./kauth-policy-install.patch ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); meta = { maintainers = [ lib.maintainers.ttuegel ]; }; diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kauth/series b/pkgs/desktops/kde-5/frameworks-5.19/kauth/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/default.nix new file mode 100644 index 000000000000..843db83a99b2 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/default.nix @@ -0,0 +1,36 @@ +{ kdeFramework, lib, copyPathsToStore +, extra-cmake-modules, docbook_xml_dtd_45, kauth +, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons +, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons +, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels +, kinit, knotifications, kparts, kservice, ktextwidgets +, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui +, networkmanager, qtsvg, qtx11extras, xlibs +}: + +# TODO: debug docbook detection + +kdeFramework { + name = "kdelibs4support"; + outputs = [ "dev" "out" ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + setupHook = ./setup-hook.sh; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcompletion kconfig kded kservice kwidgetsaddons + kxmlgui networkmanager qtsvg qtx11extras xlibs.libSM + ]; + propagatedBuildInputs = [ + kauth karchive kconfigwidgets kcoreaddons kcrash kdbusaddons + kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n kio + kiconthemes kitemmodels kinit knotifications kparts ktextwidgets + kunitconversion kwindowsystem + ]; + cmakeFlags = [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXML4_DTD_VERSION=4.5" + ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch new file mode 100644 index 000000000000..eabb70254483 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch @@ -0,0 +1,13 @@ +Index: kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +=================================================================== +--- kdelibs4support-5.18.0.orig/src/kdecore/kstandarddirs.cpp ++++ kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp +@@ -292,7 +292,7 @@ static QString relativeInstallPath(const + return QFile::decodeName(ICON_INSTALL_DIR "/"); + } + if (strcmp("include", type) == 0) { +- return QFile::decodeName(INCLUDE_INSTALL_DIR "/"); ++ return QFile::decodeName(qgetenv("NIX_KDE_INCLUDE_DIR")); + } + break; + case 'l': diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/series b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/series new file mode 100644 index 000000000000..9b08ab208774 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/series @@ -0,0 +1 @@ +nix-kde-include-dir.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/setup-hook.sh new file mode 100644 index 000000000000..21ac2e83b5da --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support/setup-hook.sh @@ -0,0 +1 @@ +export NIX_KDE_INCLUDE_DIR="@dev@/include/" # trailing slash is required! diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix index 138c3fc33b94..f67c19f42395 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix @@ -4,7 +4,6 @@ kdeFramework { name = "kdoctools"; - setupHook = ./setup-hook.sh; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ karchive ]; propagatedBuildInputs = [ ki18n ]; diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/cmake-install-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/cmake-install-paths.patch new file mode 100644 index 000000000000..732f7b69c828 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/cmake-install-paths.patch @@ -0,0 +1,13 @@ +Index: kfilemetadata-5.18.0/src/CMakeLists.txt +=================================================================== +--- kfilemetadata-5.18.0.orig/src/CMakeLists.txt ++++ kfilemetadata-5.18.0/src/CMakeLists.txt +@@ -49,7 +49,7 @@ install(TARGETS KF5FileMetaData EXPORT K + + install(EXPORT KF5FileMetaDataTargets + NAMESPACE KF5:: +- DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData ++ DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF5FileMetaData + FILE KF5FileMetaDataTargets.cmake) + + install(FILES diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/default.nix new file mode 100644 index 000000000000..9bb4831cf8da --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/default.nix @@ -0,0 +1,14 @@ +{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules +, attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib +}: + +kdeFramework { + name = "kfilemetadata"; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ attr ebook_tools exiv2 ffmpeg karchive poppler taglib ]; + propagatedBuildInputs = [ qtbase ki18n ]; + meta = { + maintainers = [ lib.maintainers.ttuegel ]; + }; +} diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/series b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/series new file mode 100644 index 000000000000..d2689425c387 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata/series @@ -0,0 +1 @@ +cmake-install-paths.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix index 03b7c7c2f51d..3a27d85b9166 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix @@ -4,11 +4,10 @@ kdeFramework { name = "kservice"; - setupHook = ./setup-hook.sh; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + propagatedNativeBuildInputs = [ extra-cmake-modules ]; + nativeBuildInputs = [ kdoctools ]; buildInputs = [ kcrash kdbusaddons ]; propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ]; - propagatedUserEnvPkgs = [ kcoreaddons ]; patches = [ ./0001-qdiriterator-follow-symlinks.patch ./0002-no-canonicalize-path.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix index 46e3cb37d112..5ade5f63a8d0 100644 --- a/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix +++ b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix @@ -1,7 +1,7 @@ { kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets -, kcoreaddons, kdbusaddons, kdoctools, ki18n, kiconthemes, knotifications -, kservice, kwidgetsaddons, kwindowsystem, libgcrypt, makeQtWrapper -}: +, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes +, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt +, makeQtWrapper }: kdeFramework { name = "kwallet"; diff --git a/pkgs/desktops/kde-5/plasma-5.5/default.nix b/pkgs/desktops/kde-5/plasma-5.5/default.nix index c9fcbdd8e6a0..384fa6f6d272 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/default.nix @@ -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 []) @@ -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 {}; diff --git a/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix index 6b41599994d5..ab8867520b38 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix @@ -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" ]; } diff --git a/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix b/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix index 2cfd0df2e1d3..a521a7993628 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix @@ -23,11 +23,6 @@ plasmaPackage { qtdeclarative qtgraphicaleffects ]; - propagatedUserEnvPkgs = [ - libkscreen # D-Bus service - qtdeclarative # QML import - qtgraphicaleffects # QML import - ]; postInstall = '' wrapQtProgram "$out/bin/kscreen-console" ''; diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix index a73060ad1af1..5f27efc7f24c 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix @@ -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 { diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix index afd8a18bbbd6..7088f45d64e2 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix @@ -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; } diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix index 2d9364d446eb..01c5c63ce0aa 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix @@ -11,7 +11,7 @@ , xprop, xrdb, xset, xsetroot, solid, qtquickcontrols }: -plasmaPackage rec { +plasmaPackage { name = "plasma-workspace"; nativeBuildInputs = [ @@ -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 @@ -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 = '' diff --git a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch index 802c92da64d0..eea0ae4c199d 100644 --- a/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch +++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch @@ -1,10 +1,10 @@ -Index: plasma-workspace-5.5.1/startkde/startkde.cmake +Index: plasma-workspace-5.5.5/startkde/startkde.cmake =================================================================== ---- plasma-workspace-5.5.1.orig/startkde/startkde.cmake -+++ plasma-workspace-5.5.1/startkde/startkde.cmake -@@ -1,8 +1,31 @@ +--- plasma-workspace-5.5.5.orig/startkde/startkde.cmake ++++ plasma-workspace-5.5.5/startkde/startkde.cmake +@@ -1,8 +1,36 @@ -#!/bin/sh -+#!@bash@/bin/bash ++#!@bash@ # # DEFAULT KDE STARTUP SCRIPT ( @PROJECT_VERSION@ ) # @@ -29,13 +29,18 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake +# in Trolltech.conf. A better solution would be to stop +# Qt from doing this wackiness in the first place. +if [ -e $HOME/.config/Trolltech.conf ]; then -+ @gnused@/bin/sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf ++ @sed@ -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf +fi + ++# (NixOS) We run kbuildsycoca5 before starting the user session because things ++# may be missing or moved if they have run nixos-rebuild and it may not be ++# possible for them to start Konsole to run it manually! ++@kbuildsycoca5@ ++ if test "x$1" = x--failsafe; then KDE_FAILSAFE=1 # General failsafe flag KWIN_COMPOSE=N # Disable KWin's compositing -@@ -17,29 +40,16 @@ trap 'echo GOT SIGHUP' HUP +@@ -17,29 +45,16 @@ trap 'echo GOT SIGHUP' HUP # we have to unset this for Darwin since it will screw up KDE's dynamic-loading unset DYLD_FORCE_FLAT_NAMESPACE @@ -54,13 +59,13 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake - # Check if a KDE session already is running and whether it's possible to connect to X -kcheckrunning -+@out@/bin/kcheckrunning ++@kcheckrunning@ kcheckrunning_result=$? if test $kcheckrunning_result -eq 0 ; then - echo "KDE seems to be already running on this display." - xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null + echo "KDE seems to be already running on this display." -+ @xmessage@/bin/xmessage -geometry 500x100 "KDE seems to be already running on this display." ++ @xmessage@ -geometry 500x100 "KDE seems to be already running on this display." exit 1 elif test $kcheckrunning_result -eq 2 ; then echo "\$DISPLAY is not set or cannot connect to the X server." @@ -69,7 +74,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake fi # Boot sequence: -@@ -57,13 +67,8 @@ fi +@@ -57,13 +72,8 @@ fi # * Then ksmserver is started which takes control of the rest of the startup sequence # We need to create config folder so we can write startupconfigkeys @@ -80,12 +85,12 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake -fi - -mkdir -p $configDir -+configDir=$(@qttools@/bin/qtpaths --writable-path GenericConfigLocation) ++configDir=$(@qtpaths@ --writable-path GenericConfigLocation) +mkdir -p "$configDir" #This is basically setting defaults so we can use them with kstartupconfig5 cat >$configDir/startupconfigkeys <<EOF -@@ -102,42 +107,10 @@ XftSubPixel=none +@@ -102,42 +112,10 @@ XftSubPixel=none EOF } @@ -126,15 +131,15 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake returncode=$? if test $returncode -ne 0; then - xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation." -+ @xmessage@/bin/xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation." ++ @xmessage@ -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation." exit 1 fi [ -r $configDir/startupconfig ] && . $configDir/startupconfig -@@ -146,9 +119,11 @@ if test "$kdeglobals_kscreen_scalefactor +@@ -146,9 +124,11 @@ if test "$kdeglobals_kscreen_scalefactor export QT_DEVICE_PIXEL_RATIO=$kdeglobals_kscreen_scalefactor fi -+XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | @coreutils@/bin/tr ":" "\n" | @gnused@/bin/sed 's,$,/icons,g' | @coreutils@/bin/tr "\n" ":") ++XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | @tr@ ":" "\n" | @sed@ 's,$,/icons,g' | @tr@ "\n" ":") +export XCURSOR_PATH + # XCursor mouse theme needs to be applied here to work even for kded or ksmserver @@ -143,7 +148,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize" if test $? -eq 10; then -@@ -164,21 +139,39 @@ if test -n "$kcminputrc_mouse_cursorthem +@@ -164,21 +144,39 @@ if test -n "$kcminputrc_mouse_cursorthem fi fi @@ -160,7 +165,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake +# If the user has overwritten fonts, the cursor font may be different now +# so don't move this up. +# -+@xsetroot@/bin/xsetroot -cursor_name left_ptr ++@xsetroot@ -cursor_name left_ptr dl=$DESKTOP_LOCKED unset DESKTOP_LOCKED # Don't want it in the environment @@ -168,14 +173,14 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake +# Make sure that D-Bus is running +# D-Bus autolaunch is broken +if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then -+ eval `@dbus_tools@/bin/dbus-launch --sh-syntax --exit-with-session` ++ eval `@dbus-launch@ --sh-syntax --exit-with-session` +fi -+if @qttools@/bin/qdbus >/dev/null 2>/dev/null; then ++if @qdbus@ >/dev/null 2>/dev/null; then + : # ok +else + echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2 + test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" ++ @xmessage@ -geometry 500x100 "Could not start D-Bus. Can you call qdbus?" + exit 1 +fi + @@ -189,26 +194,26 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake ;; None) ;; -@@ -201,8 +194,7 @@ fi +@@ -201,8 +199,7 @@ fi # For anything else (that doesn't set env vars, or that needs a window manager), # better use the Autostart folder. -# TODO: Use GenericConfigLocation once we depend on Qt 5.4 -scriptpath=`qtpaths --paths ConfigLocation | tr ':' '\n' | sed 's,$,/plasma-workspace,g'` -+scriptpath=$(@qttools@/bin/qtpaths --paths GenericConfigLocation | tr ':' '\n' | @gnused@/bin/sed 's,$,/plasma-workspace,g') ++scriptpath=$(@qtpaths@ --paths GenericConfigLocation | tr ':' '\n' | @sed@ 's,$,/plasma-workspace,g') # Add /env/ to the directory to locate the scripts to be sourced for prefix in `echo $scriptpath`; do -@@ -232,7 +224,7 @@ usr_odir=$HOME/.fonts/kde-override +@@ -232,7 +229,7 @@ usr_odir=$HOME/.fonts/kde-override usr_fdir=$HOME/.fonts if test -n "$KDEDIRS"; then - kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'` -+ kdedirs_first=`echo "$KDEDIRS" | @gnused@/bin/sed -e 's/:.*//'` ++ kdedirs_first=`echo "$KDEDIRS" | @sed@ -e 's/:.*//'` sys_odir=$kdedirs_first/share/fonts/override sys_fdir=$kdedirs_first/share/fonts else -@@ -245,23 +237,13 @@ fi +@@ -245,23 +242,13 @@ fi # add the user's dirs to the font path, as they might simply have been made # read-only by the administrator, for whatever reason. @@ -216,10 +221,10 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake -test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir") -test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir") -test -d "$sys_fdir" && xset fp+ "$sys_fdir" -+test -d "$sys_odir" && @xset@/bin/xset +fp "$sys_odir" -+test -d "$usr_odir" && ( @mkfontdir@/bin/mkfontdir "$usr_odir" ; @xset@/bin/xset +fp "$usr_odir" ) -+test -d "$usr_fdir" && ( @mkfontdir@/bin/mkfontdir "$usr_fdir" ; @xset@/bin/xset fp+ "$usr_fdir" ) -+test -d "$sys_fdir" && @xset@/bin/xset fp+ "$sys_fdir" ++test -d "$sys_odir" && @xset@ +fp "$sys_odir" ++test -d "$usr_odir" && ( @mkfontdir@ "$usr_odir" ; @xset@ +fp "$usr_odir" ) ++test -d "$usr_fdir" && ( @mkfontdir@ "$usr_fdir" ; @xset@ fp+ "$usr_fdir" ) ++test -d "$sys_fdir" && @xset@ fp+ "$sys_fdir" # Ask X11 to rebuild its font list. -xset fp rehash @@ -233,11 +238,11 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake -# so don't move this up. -# -xsetroot -cursor_name left_ptr -+@xset@/bin/xset fp rehash ++@xset@ fp rehash # Get Ghostscript to look into user's KDE fonts dir for additional Fontmap if test -n "$GS_LIB" ; then -@@ -274,26 +256,6 @@ fi +@@ -274,26 +261,6 @@ fi echo 'startkde: Starting up...' 1>&2 @@ -264,96 +269,88 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake # Mark that full KDE session is running (e.g. Konqueror preloading works only # with full KDE running). The KDE_FULL_SESSION property can be detected by # any X client connected to the same X session, even if not launched -@@ -318,11 +280,11 @@ fi +@@ -318,11 +285,11 @@ fi # KDE_FULL_SESSION=true export KDE_FULL_SESSION -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true -+@xprop@/bin/xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true ++@xprop@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true KDE_SESSION_VERSION=5 export KDE_SESSION_VERSION -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 -+@xprop@/bin/xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 ++@xprop@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5 KDE_SESSION_UID=`id -ru` export KDE_SESSION_UID -@@ -332,11 +294,11 @@ export XDG_CURRENT_DESKTOP +@@ -332,11 +299,11 @@ export XDG_CURRENT_DESKTOP # At this point all the environment is ready, let's send it to kwalletd if running if test -n "$PAM_KWALLET_LOGIN" ; then - env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN -+ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN ++ env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN fi # ...and also to kwalletd5 if test -n "$PAM_KWALLET5_LOGIN" ; then - env | socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN -+ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN ++ env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN fi # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment -@@ -349,21 +311,26 @@ if test $? -ne 0; then +@@ -349,18 +316,18 @@ if test $? -ne 0; then # Startup error echo 'startkde: Could not sync environment to dbus.' 1>&2 test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - xmessage -geometry 500x100 "Could not sync environment to dbus." -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not sync environment to dbus." ++ @xmessage@ -geometry 500x100 "Could not sync environment to dbus." exit 1 fi # We set LD_BIND_NOW to increase the efficiency of kdeinit. # kdeinit unsets this variable before loading applications. -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup -+LD_BIND_NOW=true @kinit@/lib/libexec/kf5/start_kdeinit_wrapper --kded +kcminit_startup ++LD_BIND_NOW=true @start_kdeinit_wrapper@ --kded +kcminit_startup if test $? -ne 0; then # Startup error echo 'startkde: Could not start kdeinit5. Check your installation.' 1>&2 test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation." ++ @xmessage@ -geometry 500x100 "Could not start kdeinit5. Check your installation." exit 1 fi -+# (NixOS) We run kbuildsycoca5 before starting the user session because things -+# may be missing or moved if they have run nixos-rebuild and it may not be -+# possible for them to start Konsole to run it manually! -+@kservice@/bin/kbuildsycoca5 -+ - # finally, give the session control to the session manager - # see kdebase/ksmserver for the description of the rest of the startup sequence - # if the KDEWM environment variable has been set, then it will be used as KDE's @@ -379,27 +346,27 @@ test -n "$KDEWM" && KDEWM="--windowmanag # lock now and do the rest of the KDE startup underneath the locker. KSMSERVEROPTIONS="" test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen" -kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS -+@kinit@/bin/kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS ++@kwrapper5@ @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS if test $? -eq 255; then # Startup error echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2 test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null - xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." -+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." ++ @xmessage@ -geometry 500x100 "Could not start ksmserver. Check your installation." fi -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` -+wait_drkonqi=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true` ++wait_drkonqi=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true` if test x"$wait_drkonqi"x = x"true"x ; then # wait for remaining drkonqi instances with timeout (in seconds) - wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` -+ wait_drkonqi_timeout=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900` ++ wait_drkonqi_timeout=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Timeout --default 900` wait_drkonqi_counter=0 - while $qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do -+ while @qttools@/bin/qdbus | @gnugrep@/bin/grep "^[^w]*org.kde.drkonqi" > /dev/null ; do ++ while @qdbus@ | @grep@ "^[^w]*org.kde.drkonqi" > /dev/null ; do sleep 5 wait_drkonqi_counter=$((wait_drkonqi_counter+5)) if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then # ask remaining drkonqis to die in a graceful way - $qdbus | grep 'org.kde.drkonqi-' | while read address ; do - $qdbus "$address" "/MainApplication" "quit" -+ @qttools@/bin/qdbus | @gnugrep@/bin/grep 'org.kde.drkonqi-' | while read address ; do -+ @qttools@/bin/qdbus "$address" "/MainApplication" "quit" ++ @qdbus@ | @grep@ 'org.kde.drkonqi-' | while read address ; do ++ @qdbus@ "$address" "/MainApplication" "quit" done break fi @@ -362,14 +359,14 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake # Clean up -kdeinit5_shutdown -+@kinit@/bin/kdeinit5_shutdown ++@kdeinit5_shutdown@ unset KDE_FULL_SESSION -xprop -root -remove KDE_FULL_SESSION -+@xprop@/bin/xprop -root -remove KDE_FULL_SESSION ++@xprop@ -root -remove KDE_FULL_SESSION unset KDE_SESSION_VERSION -xprop -root -remove KDE_SESSION_VERSION -+@xprop@/bin/xprop -root -remove KDE_SESSION_VERSION ++@xprop@ -root -remove KDE_SESSION_VERSION unset KDE_SESSION_UID echo 'startkde: Done.' 1>&2 diff --git a/pkgs/desktops/xfce/core/exo.nix b/pkgs/desktops/xfce/core/exo.nix index 83610a4e4a65..4d3f09105433 100644 --- a/pkgs/desktops/xfce/core/exo.nix +++ b/pkgs/desktops/xfce/core/exo.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util }: +{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util +, hicolor_icon_theme }: stdenv.mkDerivation rec { p_name = "exo"; @@ -11,9 +12,11 @@ stdenv.mkDerivation rec { }; name = "${p_name}-${ver_maj}.${ver_min}"; - buildInputs = [ pkgconfig intltool URI glib gtk libxfce4ui libxfce4util ]; + outputs = [ "dev" "out" "docdev" ]; + # lib/xfce4/exo-1/exo-compose-mail-1 is a perl script :-/ - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + nativeBuildInputs = [ pkgconfig intltool ]; + buildInputs = [ URI glib gtk libxfce4ui libxfce4util hicolor_icon_theme ]; meta = with stdenv.lib; { homepage = "http://www.xfce.org/projects/${p_name}"; diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix index 8f8cfff76cd4..4fffc9e1ec9f 100644 --- a/pkgs/desktops/xfce/core/garcon.nix +++ b/pkgs/desktops/xfce/core/garcon.nix @@ -1,22 +1,26 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }: - -stdenv.mkDerivation rec { +let p_name = "garcon"; ver_maj = "0.4"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" ]; buildInputs = [ pkgconfig intltool glib libxfce4util gtk libxfce4ui ]; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/; description = "Xfce menu support library"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2Plus; + platforms = platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix index 2cb20febcb94..6bdeb50f8399 100644 --- a/pkgs/desktops/xfce/core/libxfce4ui.nix +++ b/pkgs/desktops/xfce/core/libxfce4ui.nix @@ -1,40 +1,38 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf -, libglade, libstartup_notification +, libglade, libstartup_notification, hicolor_icon_theme , withGtk3 ? false, gtk3 }: - -with { inherit (stdenv.lib) optional; }; - -stdenv.mkDerivation rec { +let p_name = "libxfce4ui"; ver_maj = "4.12"; ver_min = "1"; + inherit (stdenv.lib) optional; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "3d619811bfbe7478bb984c16543d980cadd08586365a7bc25e59e3ca6384ff43"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - #TODO: gladeui - # Install into our own prefix instead. - configureFlags = [ - "--with-libglade-module-path=$out/lib/libglade/2.0" - ] ++ optional withGtk3 "--enable-gtk3"; + outputs = [ "dev" "out" "docdev" ]; buildInputs = [ pkgconfig intltool gtk libxfce4util xfconf libglade - libstartup_notification + libstartup_notification hicolor_icon_theme ] ++ optional withGtk3 gtk3; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + #TODO: glade? + configureFlags = optional withGtk3 "--enable-gtk3"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/; description = "Basic GUI library for Xfce"; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.linux; + license = licenses.lgpl2Plus; + platforms = platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix index 6893d7cfb20b..cab904f55107 100644 --- a/pkgs/desktops/xfce/core/libxfce4util.nix +++ b/pkgs/desktops/xfce/core/libxfce4util.nix @@ -1,15 +1,18 @@ { stdenv, fetchurl, pkgconfig, glib, intltool }: - -stdenv.mkDerivation rec { +let p_name = "libxfce4util"; ver_maj = "4.12"; ver_min = "1"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" "docdev" ]; buildInputs = [ pkgconfig glib intltool ]; @@ -20,3 +23,4 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/libxfcegui4.nix b/pkgs/desktops/xfce/core/libxfcegui4.nix index 32a320c779bf..d9e5cce25e85 100644 --- a/pkgs/desktops/xfce/core/libxfcegui4.nix +++ b/pkgs/desktops/xfce/core/libxfcegui4.nix @@ -1,31 +1,32 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk -, libxfce4util, xfconf, libglade, libstartup_notification }: - -stdenv.mkDerivation rec { +, libxfce4util, xfconf, libglade, libstartup_notification, hicolor_icon_theme }: +let p_name = "libxfcegui4"; ver_maj = "4.10"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" "docdev" ]; #TODO: gladeui # By default, libxfcegui4 tries to install into libglade's prefix. # Install into our own prefix instead. - preConfigure = - '' - configureFlags="--with-libglade-module-path=$out/lib/libglade/2.0" - ''; + configureFlags = [ + "--with-libglade-module-path=$(out)/lib/libglade/2.0" + ]; #NOTE: missing keyboard library support is OK according to the mailing-list buildInputs = [ pkgconfig intltool gtk libxfce4util xfconf libglade - libstartup_notification + libstartup_notification hicolor_icon_theme ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; meta = { homepage = http://www.xfce.org/; diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix index 1fc895ea412a..132003d3fc92 100644 --- a/pkgs/desktops/xfce/core/tumbler.nix +++ b/pkgs/desktops/xfce/core/tumbler.nix @@ -1,19 +1,24 @@ -{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf, curl, freetype, -libgsf, poppler, bzip2 }: - -stdenv.mkDerivation rec { +{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, gdk_pixbuf, curl, freetype +, libgsf, poppler, bzip2 }: +let p_name = "tumbler"; ver_maj = "0.1"; ver_min = "31"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf curl freetype - poppler libgsf bzip2]; + outputs = [ "dev" "out" "docdev" ]; + + buildInputs = [ + pkgconfig intltool dbus_glib gdk_pixbuf curl freetype + poppler libgsf bzip2 + ]; configureFlags = [ # Needs gst-tag @@ -21,15 +26,16 @@ stdenv.mkDerivation rec { # Needs libffmpegthumbnailer # "--enable-ffmpeg-thumbnailer" - + "--enable-odf-thumbnailer" "--enable-poppler-thumbnailer" ]; - meta = { + meta = with stdenv.lib; { homepage = http://git.xfce.org/xfce/tumbler/; description = "A D-Bus thumbnailer service"; - platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.gpl2; + platforms = platforms.linux; + license = licenses.gpl2; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/pkgs/desktops/xfce/core/xfce4-appfinder.nix index 25bd04f9ec40..d39708dd523f 100644 --- a/pkgs/desktops/xfce/core/xfce4-appfinder.nix +++ b/pkgs/desktops/xfce/core/xfce4-appfinder.nix @@ -1,27 +1,29 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, gtk, libxfce4util , libxfce4ui, garcon, xfconf }: - -stdenv.mkDerivation rec { +let p_name = "xfce4-appfinder"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ]; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://docs.xfce.org/xfce/xfce4-appfinder/; description = "Xfce application finder, a tool to locate and launch programs on your system"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix index 5541011a5019..da7369decc46 100644 --- a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix +++ b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix @@ -1,15 +1,16 @@ { stdenv, fetchurl, pkgconfig, glib, autoconf, automake, libtool, intltool }: - -stdenv.mkDerivation rec { +let p_name = "xfce4-dev-tools"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "1jxmyp80pwbfgmqmwpjxs7z5dmm6pyf3qj62z20xy44izraadqz2"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig glib ]; @@ -22,3 +23,4 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2Plus; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix index 0f9066876c66..816bbc05735f 100644 --- a/pkgs/desktops/xfce/core/xfce4-panel.nix +++ b/pkgs/desktops/xfce/core/xfce4-panel.nix @@ -1,49 +1,50 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui , libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification -, makeWrapper, xfce4mixer +, makeWrapper, xfce4mixer, hicolor_icon_theme , withGtk3 ? false, gtk3 }: - -with { inherit (stdenv.lib) optional; }; - -stdenv.mkDerivation rec { +let + inherit (stdenv.lib) optional; p_name = "xfce4-panel"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; patches = [ ./xfce4-panel-datadir.patch ]; patchFlags = "-p1"; - configureFlags = optional withGtk3 "--enable-gtk3"; + outputs = [ "dev" "out" "docdev" ]; buildInputs = [ pkgconfig intltool gtk libxfce4util exo libwnck - garcon xfconf libstartup_notification makeWrapper + garcon xfconf libstartup_notification makeWrapper hicolor_icon_theme ] ++ xfce4mixer.gst_plugins ++ optional withGtk3 gtk3; propagatedBuildInputs = [ (if withGtk3 then libxfce4ui_gtk3 else libxfce4ui) ]; + configureFlags = optional withGtk3 "--enable-gtk3"; + postInstall = '' wrapProgram "$out/bin/xfce4-panel" \ --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" ''; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfce4-panel; description = "Xfce panel"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix index 9a3116463c63..7695f906d317 100644 --- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix +++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix @@ -1,29 +1,29 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, upower, xfconf -, libxfce4ui, libxfce4util, libnotify, xfce4panel }: - -stdenv.mkDerivation rec { +, libxfce4ui, libxfce4util, libnotify, xfce4panel, hicolor_icon_theme }: +let p_name = "xfce4-power-manager"; ver_maj = "1.4"; ver_min = "4"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "01rvqy1cif4s8lkidb7hhmsz7d9f2fwcwvc51xycaj3qgsmch3n5"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - buildInputs = [ pkgconfig intltool gtk dbus_glib upower xfconf libxfce4ui libxfce4util - libnotify xfce4panel + libnotify xfce4panel hicolor_icon_theme ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - meta = { + meta = with stdenv.lib; { homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager; description = "A power manager for the Xfce Desktop Environment"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix index 7599826e8f02..a0568b0dd395 100644 --- a/pkgs/desktops/xfce/core/xfce4-session.nix +++ b/pkgs/desktops/xfce/core/xfce4-session.nix @@ -1,25 +1,26 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, polkit , libxfce4util, libxfce4ui, xfce4panel, libwnck, dbus_glib, xfconf, libglade, xorg +, hicolor_icon_theme }: -#TODO: gnome stuff: gconf (assistive?), keyring - -stdenv.mkDerivation rec { +let p_name = "xfce4-session"; ver_maj = "4.12"; ver_min = "1"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "97d7f2a2d0af7f3623b68d1f04091e02913b28f9555dab8b0d26c8a1299d08fd"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib - xfconf xfce4panel libglade xorg.iceauth - polkit - ]; + xfconf xfce4panel libglade xorg.iceauth xorg.libSM + polkit hicolor_icon_theme + ]; #TODO: upower-glib, gconf (assistive?), gnome keyring preBuild = '' sed '/^PATH=/d' -i scripts/xflock4 @@ -28,13 +29,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-xsession-prefix=$(out)" ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfce4-session; description = "Session manager for Xfce"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix index 4c2de64561d5..f6f7c4c3a54b 100644 --- a/pkgs/desktops/xfce/core/xfce4-settings.nix +++ b/pkgs/desktops/xfce/core/xfce4-settings.nix @@ -1,33 +1,33 @@ { stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui , libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon, upower }: - -#TODO: optional packages -stdenv.mkDerivation rec { +let p_name = "xfce4-settings"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; - patches = [ ./xfce4-settings-default-icon-theme.patch ]; buildInputs = [ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade upower xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon - ]; + ]; #TODO: optional packages - configureFlags = "--enable-pluggable-dialogs --enable-sound-settings"; + configureFlags = [ "--enable-pluggable-dialogs" "--enable-sound-settings" ]; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfce4-settings; description = "Settings manager for Xfce"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix index f12f96895cd9..13902fa4428c 100644 --- a/pkgs/desktops/xfce/core/xfconf.nix +++ b/pkgs/desktops/xfce/core/xfconf.nix @@ -1,24 +1,28 @@ { stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus_glib }: - -stdenv.mkDerivation rec { +let p_name = "xfconf"; ver_maj = "4.12"; ver_min = "0"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; + + outputs = [ "dev" "out" "docdev" ]; #TODO: no perl bingings yet (ExtUtils::Depends, ExtUtils::PkgConfig, Glib) buildInputs = [ pkgconfig intltool glib libxfce4util ]; propagatedBuildInputs = [ dbus_glib ]; - meta = { + meta = with stdenv.lib; { homepage = http://docs.xfce.org/xfce/xfconf/start; description = "Simple client-server configuration storage and query system for Xfce"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; }; } + diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix index e5d04879008e..8802862eddde 100644 --- a/pkgs/desktops/xfce/core/xfdesktop.nix +++ b/pkgs/desktops/xfce/core/xfdesktop.nix @@ -1,30 +1,32 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui -, libwnck, xfconf, libglade, xfce4panel, thunar, exo, garcon, libnotify }: - -stdenv.mkDerivation rec { +, libwnck, xfconf, libglade, xfce4panel, thunar, exo, garcon, libnotify +, hicolor_icon_theme }: +let p_name = "xfdesktop"; ver_maj = "4.12"; ver_min = "3"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf - libglade xfce4panel thunar exo garcon libnotify + libglade xfce4panel thunar exo garcon libnotify hicolor_icon_theme ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfdesktop; description = "Xfce desktop manager"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix index dd18b1355f79..d861e5f2d557 100644 --- a/pkgs/desktops/xfce/core/xfwm4.nix +++ b/pkgs/desktops/xfce/core/xfwm4.nix @@ -1,16 +1,17 @@ { stdenv, fetchurl, pkgconfig, gtk, intltool, libglade, libxfce4util , libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }: - -stdenv.mkDerivation rec { +let p_name = "xfwm4"; ver_maj = "4.12"; ver_min = "3"; +in +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; sha256 = "f4a988fbc4e0df7e8583c781d271559e56fd28696092f94ae052e9e6edb09eac"; }; - name = "${p_name}-${ver_maj}.${ver_min}"; buildInputs = [ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf @@ -20,11 +21,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { homepage = http://www.xfce.org/projects/xfwm4; description = "Window manager for Xfce"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.eelco ]; }; } + |