Major Xfce refactoring, also adding versions 4.10.*

Please, comment on #296.
wip/yesman
Vladimír Čunát 11 years ago
parent 5e28bf0bde
commit 9abff7a85e
  1. 14
      pkgs/build-support/fetchurl/mirrors.nix
  2. 22
      pkgs/desktops/xfce-4.8/applications/gigolo.nix
  3. 20
      pkgs/desktops/xfce-4.8/applications/mousepad.nix
  4. 25
      pkgs/desktops/xfce-4.8/applications/terminal.nix
  5. 18
      pkgs/desktops/xfce-4.8/applications/xfce4-notifyd.nix
  6. 18
      pkgs/desktops/xfce-4.8/applications/xfce4-taskmanager.nix
  7. 19
      pkgs/desktops/xfce-4.8/core/exo.nix
  8. 18
      pkgs/desktops/xfce-4.8/core/garcon.nix
  9. 21
      pkgs/desktops/xfce-4.8/core/gtk-xfce-engine.nix
  10. 24
      pkgs/desktops/xfce-4.8/core/libxfce4ui.nix
  11. 18
      pkgs/desktops/xfce-4.8/core/libxfce4util.nix
  12. 27
      pkgs/desktops/xfce-4.8/core/thunar.nix
  13. 29
      pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
  14. 24
      pkgs/desktops/xfce-4.8/core/xfce4-session.nix
  15. 26
      pkgs/desktops/xfce-4.8/core/xfce4-settings.nix
  16. 20
      pkgs/desktops/xfce-4.8/core/xfconf.nix
  17. 26
      pkgs/desktops/xfce-4.8/core/xfdesktop.nix
  18. 94
      pkgs/desktops/xfce-4.8/default.nix
  19. 37
      pkgs/desktops/xfce/4_08.nix
  20. 35
      pkgs/desktops/xfce/4_10.nix
  21. 19
      pkgs/desktops/xfce/applications/gigolo.nix
  22. 18
      pkgs/desktops/xfce/applications/mousepad.nix
  23. 13
      pkgs/desktops/xfce/applications/ristretto.nix
  24. 16
      pkgs/desktops/xfce/applications/terminal.nix
  25. 17
      pkgs/desktops/xfce/applications/xfce4-mixer.nix
  26. 21
      pkgs/desktops/xfce/applications/xfce4-notifyd.nix
  27. 14
      pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
  28. 10
      pkgs/desktops/xfce/art/xfce4-icon-theme.nix
  29. 72
      pkgs/desktops/xfce/common.nix
  30. 16
      pkgs/desktops/xfce/core/exo.nix
  31. 14
      pkgs/desktops/xfce/core/garcon.nix
  32. 17
      pkgs/desktops/xfce/core/gtk-xfce-engine.nix
  33. 28
      pkgs/desktops/xfce/core/libxfce4ui.nix
  34. 14
      pkgs/desktops/xfce/core/libxfce4util.nix
  35. 19
      pkgs/desktops/xfce/core/libxfcegui4.nix
  36. 3
      pkgs/desktops/xfce/core/thunar-volman.nix
  37. 25
      pkgs/desktops/xfce/core/thunar.nix
  38. 14
      pkgs/desktops/xfce/core/tumbler.nix
  39. 16
      pkgs/desktops/xfce/core/xfce-utils.nix
  40. 12
      pkgs/desktops/xfce/core/xfce4-appfinder.nix
  41. 0
      pkgs/desktops/xfce/core/xfce4-panel-datadir.patch
  42. 28
      pkgs/desktops/xfce/core/xfce4-panel.nix
  43. 11
      pkgs/desktops/xfce/core/xfce4-power-manager.nix
  44. 26
      pkgs/desktops/xfce/core/xfce4-session.nix
  45. 24
      pkgs/desktops/xfce/core/xfce4-settings.nix
  46. 16
      pkgs/desktops/xfce/core/xfconf.nix
  47. 23
      pkgs/desktops/xfce/core/xfdesktop.nix
  48. 15
      pkgs/desktops/xfce/core/xfwm4.nix
  49. 3
      pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
  50. 0
      pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
  51. 4
      pkgs/desktops/xfce/support/gvfs.nix
  52. 0
      pkgs/desktops/xfce/support/libgdu-only.patch
  53. 0
      pkgs/desktops/xfce/support/libgdu.nix
  54. 143
      pkgs/development/libraries/libunique/1.1.6-G_CONST_RETURN.patch
  55. 50
      pkgs/development/libraries/libunique/1.1.6-compiler-warnings.patch
  56. 26
      pkgs/development/libraries/libunique/1.1.6-fix-test.patch
  57. 37
      pkgs/development/libraries/libunique/1.1.6-include-terminator.patch
  58. 31
      pkgs/development/libraries/libunique/default.nix
  59. 7
      pkgs/lib/strings.nix
  60. 11
      pkgs/top-level/all-packages.nix

@ -224,6 +224,20 @@ rec {
ftp://ftp.nara.wide.ad.jp/pub/X11/GNOME/
];
xfce = [
http://archive.xfce.org/
http://mirror.netcologne.de/xfce/
http://archive.se.xfce.org/xfce/
http://archive.be.xfce.org/xfce/
http://mirror.perldude.de/archive.xfce.org/
http://archive.be2.xfce.org/
http://ftp.udc.es/xfce/
http://archive.al-us.xfce.org/
http://mirror.yongbok.net/X11/xfce-mirror/
http://mirrors.tummy.com/pub/archive.xfce.org/
http://xfce.mirror.uber.com.au/
];
# X.org.
xorg = [
http://xorg.freedesktop.org/releases/

@ -1,22 +0,0 @@
{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, gtk, gvfs}:
stdenv.mkDerivation rec {
name = "gigolo-0.4.1";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/gigolo/0.4/${name}.tar.bz2";
sha256 = "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2";
};
buildInputs = [ python gettext intltool gtk pkgconfig gvfs];
preConfigure = ''
sed -i "waf" -e "1 s^.*/env[ ]*python^#!${python}/bin/python^";
'';
meta = {
homepage = http://goodies.xfce.org/projects/applications/gigolo;
description = "Gigolo is a frontend to easily manage connections to remote filesystems";
platforms = stdenv.lib.platforms.linux;
};
}

@ -1,20 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, gtk }:
stdenv.mkDerivation rec {
name = "mousepad-0.2.16";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/mousepad/0.2/${name}.tar.bz2";
sha1 = "4e63033e0a71578f3ec9a0d2e6a505efd0424ef9";
};
buildInputs = [ pkgconfig intltool libxfce4util libxfcegui4 gtk ];
meta = {
homepage = http://www.xfce.org/projects/mousepad/;
description = "A simple text editor for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,25 +0,0 @@
{ stdenv, fetchurl
, pkgconfig, ncurses
, intltool, vte
, exo, libxfce4util
, gtk
}:
stdenv.mkDerivation {
name = "xfce-terminal-0.4.8";
src = fetchurl {
url = http://archive.xfce.org/src/apps/xfce4-terminal/0.4/Terminal-0.4.8.tar.bz2;
sha1 = "2f12c3a0fffad18976d47e531d404ee308cb2f05";
};
buildInputs = [ pkgconfig intltool exo gtk vte libxfce4util ncurses ];
meta = {
homepage = http://www.xfce.org/projects/terminal;
description = "A modern terminal emulator primarily for the Xfce desktop environment";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,18 +0,0 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk, xfce }:
stdenv.mkDerivation rec {
name = "xfce4-notifyd-0.2.2";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/xfce4-notifyd/0.2/${name}.tar.bz2";
sha256 = "0s4ilc36sl5k5mg5727rmqims1l3dy5pwg6dk93wyjqnqbgnhvmn";
};
buildInputs = [ intltool pkgconfig gtk xfce.libxfce4util xfce.libxfce4ui xfce.xfconf ];
meta = {
homepage = http://goodies.xfce.org/projects/applications/xfce4-notifyd;
description = "The Xfce Notify Daemon";
platforms = stdenv.lib.platforms.linux;
};
}

@ -1,18 +0,0 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk }:
stdenv.mkDerivation rec {
name = "xfce4-taskmanager-1.0.0";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/xfce4-taskmanager/1.0/${name}.tar.bz2";
sha256 = "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0";
};
buildInputs = [ intltool pkgconfig gtk ];
meta = {
homepage = http://goodies.xfce.org/projects/applications/xfce4-taskmanager;
description = "Easy to use task manager for XFCE";
platforms = stdenv.lib.platforms.linux;
};
}

@ -1,19 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4util }:
stdenv.mkDerivation rec {
name = "exo-0.6.2";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/exo/0.6/${name}.tar.bz2";
sha1 = "2486f12c814630068665e22cdf417f0f0f05dab1";
};
buildInputs =
[ pkgconfig intltool URI glib gtk libxfce4util ];
meta = {
homepage = http://www.xfce.org/projects/exo;
description = "Application library for the Xfce desktop environment";
license = "GPLv2+";
};
}

@ -1,18 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util }:
stdenv.mkDerivation rec {
name = "garcon-0.1.9";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/garcon/0.1/${name}.tar.bz2";
sha1 = "2eeab19bc10747a40b44afd4598a2f555eb69952";
};
buildInputs = [ pkgconfig intltool glib libxfce4util ];
meta = {
homepage = http://www.xfce.org/;
description = "Xfce menu support library";
license = "GPLv2+";
};
}

@ -1,21 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
stdenv.mkDerivation rec {
name = "gtk-xfce-engine-2.8.1";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/gtk-xfce-engine/2.8/${name}.tar.bz2";
sha1 = "d7779f07cc76585be063bc25fa91e660e1fd9c97";
};
buildInputs =
[ pkgconfig intltool gtk ];
meta = {
homepage = http://www.xfce.org/;
description = "GTK+ theme engine for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,24 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf
, libstartup_notification }:
stdenv.mkDerivation rec {
name = "libxfce4ui-4.8.1";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/libxfce4ui/4.8/${name}.tar.bz2";
sha1 = "408645581e589135aa03d2e9b84f4eede68596b2";
};
buildInputs =
[ pkgconfig intltool gtk libxfce4util xfconf
libstartup_notification
];
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/;
description = "Basic GUI library for Xfce";
license = "LGPLv2+";
};
}

@ -1,18 +0,0 @@
{ stdenv, fetchurl, pkgconfig, glib, intltool }:
stdenv.mkDerivation rec {
name = "libxfce4util-4.8.2";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/libxfce4util/4.8/${name}.tar.bz2";
sha1 = "e7498c2e5fca2c89dfef89e0788f10eebbd020c3";
};
buildInputs = [ pkgconfig glib intltool ];
meta = {
homepage = http://www.xfce.org/;
description = "Basic utility non-GUI functions for Xfce";
license = "bsd";
};
}

@ -1,27 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
, dbus_glib, libstartup_notification, xfconf, xfce4panel, udev, libnotify }:
stdenv.mkDerivation rec {
version = "1.2.3";
name = "thunar-${version}";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/thunar/1.2/Thunar-${version}.tar.bz2";
sha1 = "a05d0e14515d70c5ad94cca881822a707d366863";
};
buildInputs =
[ pkgconfig intltool gtk exo libxfce4util libxfce4ui
dbus_glib libstartup_notification xfconf xfce4panel udev libnotify
];
enableParallelBuilding = true;
meta = {
homepage = http://thunar.xfce.org/;
description = "Xfce file manager";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,29 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, garcon
, libxfce4ui, xfconf, libwnck, exo }:
stdenv.mkDerivation rec {
name = "xfce4-panel-4.8.6";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfce4-panel/4.8/${name}.tar.bz2";
sha1 = "332fc968332e6271e1bb65d6de8de2524b0440ec";
};
patches = [ ./xfce4-panel-datadir.patch ];
patchFlags = "-p1";
buildInputs =
[ pkgconfig intltool gtk libxfce4util garcon libxfce4ui xfconf
exo libwnck
];
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/;
description = "Xfce panel";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,24 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
, libwnck, dbus_glib, xfconf, xorg, xfce4panel }:
stdenv.mkDerivation rec {
name = "xfce4-session-4.8.2";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfce4-session/4.8/${name}.tar.bz2";
sha1 = "636c2983552861a959225e554898675152a4d812";
};
buildInputs =
[ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib
xfconf xorg.iceauth xfce4panel
];
meta = {
homepage = http://www.xfce.org/;
description = "Session manager for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,26 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
, xfconf, xorg, libnotify, libxklavier }:
stdenv.mkDerivation rec {
name = "xfce4-settings-4.8.3";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfce4-settings/4.8/${name}.tar.bz2";
sha1 = "98431633ba3ec2a4a10182bc7266904d9256949b";
};
buildInputs =
[ pkgconfig intltool exo gtk libxfce4util libxfce4ui
xfconf libnotify xorg.libXcursor libxklavier
];
configureFlags = "--enable-pluggable-dialogs --enable-sound-settings";
meta = {
homepage = http://www.xfce.org/;
description = "Settings manager for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,20 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus_glib }:
stdenv.mkDerivation rec {
name = "xfconf-4.8.1";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfconf/4.8/${name}.tar.bz2";
sha1 = "aeab124f7c548e387b37a5476e594ef559515533";
};
buildInputs = [ pkgconfig intltool glib libxfce4util ];
propagatedBuildInputs = [ dbus_glib ];
meta = {
homepage = http://www.xfce.org/;
description = "Simple client-server configuration storage and query system for Xfce";
license = "GPLv2";
};
}

@ -1,26 +0,0 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, libxfce4util
, libxfce4ui, libwnck, xfconf, garcon, libnotify, exo }:
stdenv.mkDerivation rec {
name = "xfdesktop-4.8.3";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfdesktop/4.8/${name}.tar.bz2";
sha1 = "b3af72a69627f860f22b37d021efd81e4e37eb55";
};
buildInputs =
[ pkgconfig intltool gtk dbus_glib libxfce4util libxfce4ui libwnck xfconf
garcon libnotify exo
];
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/;
description = "Xfce desktop manager";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,94 +0,0 @@
{ callPackage, pkgs }:
rec {
inherit (pkgs) gtk glib;
#### SUPPORT
# The useful bits from ‘gnome-disk-utility’.
libgdu = callPackage ./support/libgdu.nix { };
# Gvfs is required by Thunar for the trash feature and for volume
# mounting. Should use the one from Gnome, but I don't want to mess
# with the Gnome packages (or pull in a zillion Gnome dependencies).
gvfs = callPackage ./support/gvfs.nix { };
#### CORE
libxfce4util = callPackage ./core/libxfce4util.nix { };
exo = callPackage ./core/exo.nix {
inherit (pkgs.perlPackages) URI;
};
xfconf = callPackage ./core/xfconf.nix { };
libxfcegui4 = callPackage ./core/libxfcegui4.nix {
inherit (pkgs.gnome) libglade;
};
libxfce4ui = callPackage ./core/libxfce4ui.nix { };
xfwm4 = callPackage ./core/xfwm4.nix {
inherit (pkgs.gnome) libwnck;
};
xfceutils = callPackage ./core/xfce-utils.nix { };
garcon = callPackage ./core/garcon.nix { };
xfce4panel = callPackage ./core/xfce4-panel.nix {
inherit (pkgs.gnome) libwnck;
};
xfce4session = callPackage ./core/xfce4-session.nix {
inherit (pkgs.gnome) libwnck;
};
xfce4settings = callPackage ./core/xfce4-settings.nix { };
xfdesktop = callPackage ./core/xfdesktop.nix {
inherit (pkgs.gnome) libwnck;
};
thunar = callPackage ./core/thunar.nix { };
thunar_volman = callPackage ./core/thunar-volman.nix { };
gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { };
xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { };
#### APPLICATIONS
terminal = callPackage ./applications/terminal.nix {
inherit (pkgs.gnome) vte;
};
gigolo = callPackage ./applications/gigolo.nix { };
mousepad = callPackage ./applications/mousepad.nix { };
ristretto = callPackage ./applications/ristretto.nix { };
xfce4_notifyd = callPackage ./applications/xfce4-notifyd.nix { };
xfce4_power_manager = callPackage ./applications/xfce4-power-manager.nix { };
xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
xfce4_taskmanager = callPackage ./applications/xfce4-taskmanager.nix { };
#### ART
xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { };
#### PANEL PLUGINS
xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix {};
xfce4_cpufreq_plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix {};
}

@ -0,0 +1,37 @@
{ pkgs, newScope }: let
common = (import ./common.nix) { inherit pkgs newScope xfce_self; };
callPackage = common.callPackage;
xfce_self = common.xfce_common // rec { # the lines are very long but it seems better than the even-odd line approach
#### CORE
exo = callPackage ./core/exo.nix { v= "0.6.2"; h= "0f8zh5y057l7xffskjvky6k88hrnz6jyk35mvlfpmx26anlgd77l"; };
libxfce4ui = callPackage ./core/libxfce4ui.nix { v= "4.8.1"; h= "0mlrcr8rqmv047xrb2dbh7f4knsppb1anx2b05s015h6v8lyvjrr"; };
libxfce4util = callPackage ./core/libxfce4util.nix { v= "4.8.2"; h= "05n8586h2fwkibfld5fm4ygx1w66jnbqqb3li0ardjvm2n24k885"; };
libxfcegui4 = callPackage ./core/libxfcegui4.nix { v= "4.8.1"; h= "0hr4h6a9p6w3qw1976p8v9c9pwhd9zhrjlbaph0p7nyz7j1836ih"; };
thunar = callPackage ./core/thunar.nix { v= "1.2.3"; h= "19mczys6xr683r68g3s2njrrmnk1p73zypvwrhajw859c6nsjsp6"; };
xfce4panel = callPackage ./core/xfce4-panel.nix { v= "4.8.6"; h= "00zdkg1jg4n2n109nxan8ji2m06r9mc4lnlrvb55xvj229m2dwb6"; };
xfce4session = callPackage ./core/xfce4-session.nix { v= "4.8.2"; h= "1l608kik98jxbjl73waf8515hzji06lr80qmky2qlnp0b6js5g1i"; };
xfce4settings = callPackage ./core/xfce4-settings.nix { v= "4.8.3"; h= "0bmw0s6jp2ws4n0f3387zwsyv46b0w89m6r70yb7wrqy9r3wqy6q"; };
xfceutils = callPackage ./core/xfce-utils.nix { v= "4.8.3"; h= "09mr0amp2f632q9i3vykaa0x5nrfihfm9v5nxsx9vch8wvbp0l03"; };
xfconf = callPackage ./core/xfconf.nix { v= "4.8.1"; h= "1jwkb73xcgqfly449jwbn2afiyx50p150z60x19bicps75sp6q4q"; };
xfdesktop = callPackage ./core/xfdesktop.nix { v= "4.8.3"; h= "097lc9djmay0jyyl42jmvcfda75ndp265nzn0aa3hv795bsn1175"; };
xfwm4 = callPackage ./core/xfwm4.nix { v= "4.8.3"; h= "0zi2g1d2jdgw5armlk9xjh4ykmydy266gdba86nmhy951gm8n3hb"; };
xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { v= "4.8.0"; h= "0zy7i9x4qjchmyb8nfpb7m2ply5n2aq35p9wrhb8lpz4am1ihx7x"; };
#### APPLICATIONS
terminal = null; # newer versions don't build with 4.8
# versions > 0.3* don't build with xfce-4.8.*
ristretto = callPackage ./applications/ristretto.nix { v= "0.3.7"; h= "19mzy159j4qhd7pd1b83gimxfdg3mwdab9lq9kk505d21r7iqc9b"; };
xfce4mixer = callPackage ./applications/xfce4-mixer.nix { v= "4.8.0"; h= "1aqgjxvck6hx26sk3n4n5avhv02vs523mfclcvjb3xnks3yli7wz"; };
}; # xfce_self
in xfce_self

@ -0,0 +1,35 @@
{ pkgs, newScope }: let
common = (import ./common.nix) { inherit pkgs newScope xfce_self; };
callPackage = common.callPackage;
xfce_self = common.xfce_common // rec { # the lines are very long but it seems better than the even-odd line approach
#### CORE
exo = callPackage ./core/exo.nix { v= "0.10.2"; h= "1kknxiz703q4snmry65ajm26jwjslbgpzdal6bd090m3z25q51dk"; };
libxfce4ui = callPackage ./core/libxfce4ui.nix { v= "4.10.0"; h= "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"; };
libxfce4util = callPackage ./core/libxfce4util.nix { v= "4.10.0"; h= "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"; };
libxfcegui4 = callPackage ./core/libxfcegui4.nix { v= "4.10.0"; h= "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib"; };
thunar = callPackage ./core/thunar.nix { v= "1.6.2"; h= "11dx38rvkfbp91pxrprymxhimsm90gvizp277x9s5rwnwcm1ggbx"; };
xfce4panel = callPackage ./core/xfce4-panel.nix { v= "4.10.0"; h= "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"; };
xfce4session = callPackage ./core/xfce4-session.nix { v= "4.10.0"; h= "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"; };
xfce4settings = callPackage ./core/xfce4-settings.nix { v= "4.10.0"; h= "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"; };
xfceutils = null; # removed in 4.10
xfconf = callPackage ./core/xfconf.nix { v= "4.10.0"; h= "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"; };
xfdesktop = callPackage ./core/xfdesktop.nix { v= "4.10.0"; h= "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"; };
xfwm4 = callPackage ./core/xfwm4.nix { v= "4.10.0"; h= "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"; };
xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { v= "4.9.4"; h= "12lgrbd1n50w9n8xkpai98s2aw8vmjasrgypc57sp0x0qafsqaxq"; };
#### APPLICATIONS
ristretto = callPackage ./applications/ristretto.nix { v= "0.6.3"; h= "0y9d8w1plwp4vmxs44y8k8x15i0k0xln89k6jndhv6lf57g1cs1b"; };
terminal = xfce4terminal; # it has changed its name
xfce4mixer = callPackage ./applications/xfce4-mixer.nix { v= "4.10.0"; h= "1pnsd00583l7p5d80rxbh58brzy3jnccwikbbbm730a33c08kid8"; };
xfce4terminal = callPackage ./applications/terminal.nix { v= "0.6.1"; h= "1j6lpkq952mrl5p24y88f89wn9g0namvywhma639xxsswlkn8d31"; };
};
in xfce_self

@ -0,0 +1,19 @@
{ h, v, stdenv, fetchXfce, python, gettext, intltool, pkgconfig, gtk, gvfs }:
stdenv.mkDerivation rec {
name = "gigolo-${v}";
src = fetchXfce.app name h;
buildInputs = [ python gettext intltool gtk pkgconfig gvfs];
preConfigure = ''
sed -i "waf" -e "1 s^.*/env[ ]*python^#!${python}/bin/python^";
'';
meta = {
homepage = http://goodies.xfce.org/projects/applications/gigolo;
description = "A frontend to easily manage connections to remote filesystems";
platforms = stdenv.lib.platforms.linux;
};
}

@ -0,0 +1,18 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, libxfce4util, libxfcegui4
, gtk, gtksourceview, dbus, dbus_glib }:
stdenv.mkDerivation rec {
name = "mousepad-${v}";
src = fetchXfce.app name h;
buildInputs = [
pkgconfig intltool libxfce4util libxfcegui4
gtk gtksourceview dbus dbus_glib
];
meta = {
homepage = http://www.xfce.org/projects/mousepad/;
description = "A simple text editor for Xfce";
license = "GPLv2+";
};
}

@ -1,18 +1,15 @@
{ stdenv, fetchurl, pkgconfig, intltool, libexif, gtk, thunar
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, libexif, gtk
, exo, dbus_glib, libxfce4util, libxfce4ui, xfconf }:
stdenv.mkDerivation rec {
name = "ristretto-0.2.3";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/ristretto/0.2/${name}.tar.bz2";
sha1 = "5a34b865cb9013b67467b0e8d51970f0a1e977d1";
};
name = "ristretto-${v}";
src = fetchXfce.app name h;
buildInputs =
[ pkgconfig intltool libexif gtk dbus_glib libxfce4util
[ pkgconfig intltool libexif gtk dbus_glib exo libxfce4util
libxfce4ui xfconf
];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://goodies.xfce.org/projects/applications/ristretto;

@ -0,0 +1,16 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, ncurses, gtk, vte, dbus_glib
, exo, libxfce4util, libxfce4ui
}:
stdenv.mkDerivation rec {
name = "xfce4-terminal-${v}";
src = fetchXfce.app name h;
buildInputs = [ pkgconfig intltool exo gtk vte libxfce4util ncurses dbus_glib libxfce4ui ];
meta = {
homepage = http://www.xfce.org/projects/terminal;
description = "A modern terminal emulator primarily for the Xfce desktop environment";
license = "GPLv2+";
};
}

@ -1,8 +1,7 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, gstreamer, gst_plugins_base
, gtk, libxfce4util, libxfce4ui, xfce4panel, xfconf }:
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, glib, gstreamer, gst_plugins_base, gtk
, libxfce4util, libxfce4ui, xfce4panel, xfconf, libunique?null }:
let
# The usual Gstreamer plugins package has a zillion dependencies
# that we don't need for a simple mixer, so build a minimal package.
gst_plugins_minimal = gst_plugins_base.override {
@ -12,16 +11,12 @@ let
in
stdenv.mkDerivation rec {
name = "xfce4-mixer-4.8.0";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/xfce4-mixer/4.8/${name}.tar.bz2";
sha1 = "24f3401a68f10d2c620e354a6de98e09fe808665";
};
name = "xfce4-mixer-${v}";
src = fetchXfce.app name h;
buildInputs =
[ pkgconfig intltool glib gstreamer gst_plugins_minimal gtk
libxfce4util libxfce4ui xfce4panel xfconf
libxfce4util libxfce4ui xfce4panel xfconf libunique
];
postInstall =
@ -31,7 +26,7 @@ stdenv.mkDerivation rec {
'';
meta = {
homepage = http://www.xfce.org/projects/xfce4-mixer;
homepage = http://www.xfce.org/projects/xfce4-mixer; # referenced but inactive
description = "A volume control application for the Xfce desktop environment";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;

@ -0,0 +1,21 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool
, gtk , libxfce4util, libxfce4ui, xfconf }:
stdenv.mkDerivation rec {
name = "xfce4-notifyd-${v}";
src = fetchXfce.app name h;
buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui xfconf ];
preFixup = ''
rm $out/share/icons/hicolor/icon-theme.cache
# to be able to run the daemon we need it in PATH
cp -l $out/lib/xfce4/notifyd/xfce4-notifyd $out/bin
'';
meta = {
homepage = http://goodies.xfce.org/projects/applications/xfce4-notifyd;
description = "Notification daemon for Xfce";
license = "GPLv2+";
};
}

@ -0,0 +1,14 @@
{ stdenv, v, h, fetchXfce, intltool, pkgconfig, gtk, libwnck }:
stdenv.mkDerivation rec {
name = "xfce4-taskmanager-${v}";
src = fetchXfce.app name h;
buildInputs = [ intltool pkgconfig gtk libwnck ];
meta = {
homepage = http://goodies.xfce.org/projects/applications/xfce4-taskmanager;
description = "Easy to use task manager for XFCE";
platforms = stdenv.lib.platforms.linux;
};
}

@ -1,12 +1,8 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk }:
stdenv.mkDerivation rec {
name = "xfce4-icon-theme-4.4.3";
src = fetchurl {
url = "http://archive.xfce.org/src/art/xfce4-icon-theme/4.4/${name}.tar.bz2";
sha1 = "0c0d0c45cd4a7f609310db8e9d17c1c4a131a6e7";
};
name = "xfce4-icon-theme-${v}";
src = fetchXfce.art name h;
buildInputs = [ pkgconfig intltool gtk ];

@ -0,0 +1,72 @@
{ pkgs, newScope, xfce_self }: rec {
callPackage = newScope (deps // xfce_self);
deps = rec { # xfce-global dependency overrides should be here
inherit (pkgs.gnome) libglade libwnck vte gtksourceview;
inherit (pkgs.perlPackages) URI;
# The useful bits from ‘gnome-disk-utility’.
libgdu = callPackage ./support/libgdu.nix { };
# Gvfs is required by Thunar for the trash feature and for volume
# mounting. Should use the one from Gnome, but I don't want to mess
# with the Gnome packages (or pull in a zillion Gnome dependencies).
gvfs = callPackage ./support/gvfs.nix { };
# intelligent fetcher for Xfce
fetchXfce = rec {
generic = prepend : name : hash :
let lib = pkgs.lib;
p = builtins.parseDrvName name;
versions = lib.splitString "." p.version;
ver_maj = lib.concatStrings (lib.intersperse "." (lib.take 2 versions));
name_low = lib.toLower p.name;
in pkgs.fetchurl {
url = "mirror://xfce/src/${prepend}/${name_low}/${ver_maj}/${name}.tar.bz2";
sha256 = hash;
};
core = generic "xfce";
app = generic "apps";
art = generic "art";
};
};
xfce_common = rec {
inherit (deps) gvfs; # used by NixOS
#### CORE
garcon = callPackage ./core/garcon.nix { v= "0.2.0"; h= "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"; };
# not used anymore TODO: really? Update to 2.99.2?
gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { };
# ToDo: segfaults after some work
tumbler = callPackage ./core/tumbler.nix { v= "0.1.27"; h= "0s9qj99b81asmlqa823nzykq8g6p9azcp2niak67y9bp52wv6q2c"; };
xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix { v= "1.0.10"; h= "1w120k1sl4s459ijaxkqkba6g1p2sqrf9paljv05wj0wz12bpr40"; };
#### APPLICATIONS
#TODO: correct links; more stuff
xfce4notifyd = callPackage ./applications/xfce4-notifyd.nix { v= "0.2.2"; h= "0s4ilc36sl5k5mg5727rmqims1l3dy5pwg6dk93wyjqnqbgnhvmn"; };
gigolo = callPackage ./applications/gigolo.nix { v= "0.4.1"; h= "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2"; };
xfce4taskmanager = callPackage ./applications/xfce4-taskmanager.nix { v= "1.0.0"; h= "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0"; };
mousepad = callPackage ./applications/mousepad.nix { v= "0.3.0"; h= "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh"; };
thunar_volman = callPackage ./core/thunar-volman.nix { };
#### ART
xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { v= "4.4.3"; h= "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l"; };
#### PANEL PLUGINS
xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
xfce4_cpufreq_plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { };
};
}

@ -0,0 +1,16 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util }:
stdenv.mkDerivation rec {
name = "exo-${v}";
src = fetchXfce.core name h;
buildInputs = [ pkgconfig intltool URI glib gtk libxfce4ui libxfce4util ];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://www.xfce.org/projects/exo;
description = "Application library for the Xfce desktop environment";
license = "GPLv2+";
};
}

@ -0,0 +1,14 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, glib, libxfce4util }:
stdenv.mkDerivation rec {
name = "garcon-${v}";
src = fetchXfce.core name h;
buildInputs = [ pkgconfig intltool glib libxfce4util ];
meta = {
homepage = http://www.xfce.org/;
description = "Xfce menu support library";
license = "GPLv2+";
};
}

@ -0,0 +1,17 @@
{ stdenv, fetchXfce, pkgconfig, intltool, gtk }:
stdenv.mkDerivation rec {
name = "gtk-xfce-engine-3.0.1";
src = fetchXfce.core name "0vd0ly81540f9133abza56mlqqx1swp0j70ll8kf948sva0wy0zb";
#TODO: gtk3
buildInputs = [ pkgconfig intltool gtk ];
meta = {
homepage = http://www.xfce.org/;
description = "GTK+ theme engine for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -0,0 +1,28 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, xfconf
, libglade, libstartup_notification }:
stdenv.mkDerivation rec {
name = "libxfce4ui-${v}";
src = fetchXfce.core name h;
#TODO: gladeui
# Install into our own prefix instead.
preConfigure =
''
configureFlags="--with-libglade-module-path=$out/lib/libglade/2.0"
'';
buildInputs =
[ pkgconfig intltool gtk libxfce4util xfconf libglade
libstartup_notification
];
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/projects/libxfce4;
#TODO
description = "Basic GUI library for Xfce";
license = "LGPLv2+";
};
}

@ -0,0 +1,14 @@
{ v, h, stdenv, fetchXfce, pkgconfig, glib, intltool }:
stdenv.mkDerivation rec {
name = "libxfce4util-${v}";
src = fetchXfce.core name h;
buildInputs = [ pkgconfig glib intltool ];
meta = {
homepage = http://www.xfce.org/projects/libxfce4;
description = "Basic utility non-GUI functions for Xfce";
license = "bsd";
};
}

@ -1,27 +1,24 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf
, libglade, libstartup_notification }:
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk
, libxfce4util, xfconf, libglade, libstartup_notification }:
stdenv.mkDerivation rec {
name = "libxfcegui4-4.8.1";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/libxfcegui4/4.8/${name}.tar.bz2";
sha1 = "246fcaa71fc8cf44dae0b4c919411231eedd662f";
};
name = "libxfcegui4-${v}";
src = fetchXfce.core name h;
#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"
'';
#NOTE: missing keyboard library support is OK according to the mailing-list
buildInputs =
[ pkgconfig intltool gtk libxfce4util libglade
[ pkgconfig intltool gtk libxfce4util xfconf libglade
libstartup_notification
];
enableParallelBuilding = true;
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://www.xfce.org/;

@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
name = "thunar-volman-0.6.0";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/thunar-volman/0.6/${name}.tar.bz2";
sha1 = "dcda936948623b342b290a78c294f71c038e832e";
@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
[ pkgconfig intltool exo gtk udev libxfce4ui libxfce4util
xfconf libnotify
];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
enableParallelBuilding = true;

@ -0,0 +1,25 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, exo, gtk, libxfce4util
, dbus_glib, libstartup_notification, libnotify, xfconf, xfce4panel, gamin, libexif, pcre }:
stdenv.mkDerivation rec {
name = "Thunar-${v}";
src = fetchXfce.core name h;
buildInputs =
[ pkgconfig intltool exo gtk libxfce4util
dbus_glib libstartup_notification libnotify xfconf xfce4panel gamin libexif pcre
];
# TODO: gudev, optionality
enableParallelBuilding = true;
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://thunar.xfce.org/;
description = "Xfce file manager";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -0,0 +1,14 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, dbus_glib, gdk_pixbuf }:
stdenv.mkDerivation rec {
name = "tumbler-${v}";
src = fetchXfce.core name h;
buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf ];
meta = {
homepage = http://git.xfce.org/xfce/tumbler/;
description = "A D-Bus thumbnailer service";
license = "GPLv2";
};
}

@ -1,19 +1,17 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui }:
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui, dbus_glib }:
stdenv.mkDerivation rec {
name = "xfce-utils-4.8.3";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfce-utils/4.8/${name}.tar.bz2";
sha1 = "159d445b689ebbf73462a4b4baf5cce4e04afaab";
};
name = "xfce-utils-${v}";
src = fetchXfce.core name h;
configureFlags = "--with-xsession-prefix=$(out)/share/xsessions --with-vendor-info=NixOS.org";
buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui ];
buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui dbus_glib ];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://www.xfce.org/;
homepage = http://www.xfce.org/projects/xfce-utils;
description = "Utilities and scripts for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;

@ -1,13 +1,9 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk, libxfce4util
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, glib, gtk, libxfce4util
, libxfce4ui, garcon, xfconf }:
stdenv.mkDerivation rec {
name = "xfce4-appfinder-4.8.0";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfce4-appfinder/4.8/${name}.tar.bz2";
sha1 = "444bbcbded8d2346f9b9beb57ec7adaf556811c9";
};
name = "xfce4-appfinder-${v}";
src = fetchXfce.core name h;
buildInputs =
[ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ];
@ -15,7 +11,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/;
homepage = http://docs.xfce.org/xfce/xfce4-appfinder/;
description = "Xfce application finder, a tool to locate and launch programs on your system";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;

@ -0,0 +1,28 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
, libwnck, exo, garcon, xfconf, libstartup_notification }:
stdenv.mkDerivation rec {
name = "xfce4-panel-${v}";
src = fetchXfce.core name h;
patches = [ ./xfce4-panel-datadir.patch ];
patchFlags = "-p1";
buildInputs =
[ pkgconfig intltool gtk libxfce4util exo libwnck
garcon xfconf libstartup_notification
];
propagatedBuildInputs = [ libxfce4ui ];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/projects/xfce4-panel;
description = "Xfce panel";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,18 +1,15 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, xfconf
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, dbus_glib, xfconf
, libxfce4ui, libxfce4util, libnotify, xfce4panel }:
stdenv.mkDerivation rec {
name = "xfce4-power-manager-1.0.10";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/xfce4-power-manager/1.0/${name}.tar.bz2";
sha1 = "64dd7a8fae9cd1cbcf6403d2f51f2281f38cca05";
};
name = "xfce4-power-manager-${v}";
src = fetchXfce.core name h;
buildInputs =
[ pkgconfig intltool gtk dbus_glib xfconf libxfce4ui libxfce4util
libnotify xfce4panel
];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager;

@ -0,0 +1,26 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui, xfce4panel
, libwnck, dbus_glib, xfconf, libglade, xorg }:
#TODO: gnome stuff: gconf (assistive?), keyring
stdenv.mkDerivation rec {
name = "xfce4-session-${v}";
src = fetchXfce.core name h;
buildInputs =
[ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib
xfconf xfce4panel libglade xorg.iceauth
];
configureFlags = [ "--with-xsession-prefix=$$out" ];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://www.xfce.org/projects/xfce4-session;
description = "Session manager for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -0,0 +1,24 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon }:
#TODO: optional packages
stdenv.mkDerivation rec {
name = "xfce4-settings-${v}";
src = fetchXfce.core name h;
buildInputs =
[ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade
xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon
#gtk libxfce4util libxfcegui4 libwnck dbus_glib
#xfconf libglade xorg.iceauth
];
configureFlags = "--enable-pluggable-dialogs --enable-sound-settings";
meta = {
homepage = http://www.xfce.org/projects/xfce4-settings;
description = "Settings manager for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -0,0 +1,16 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, glib, libxfce4util, dbus_glib }:
stdenv.mkDerivation rec {
name = "xfconf-${v}";
src = fetchXfce.core name h;
#TODO: no perl bingings yet (ExtUtils::Depends, ExtUtils::PkgConfig, Glib)
buildInputs = [ pkgconfig intltool glib libxfce4util ];
propagatedBuildInputs = [ dbus_glib ];
meta = {
homepage = http://www.xfce.org/projects/xfconf;
description = "Simple client-server configuration storage and query system for Xfce";
license = "GPLv2";
};
}

@ -0,0 +1,23 @@
{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
, libwnck, xfconf, libglade, xfce4panel, thunar, exo, garcon, libnotify }:
stdenv.mkDerivation rec {
name = "xfdesktop-${v}";
src = fetchXfce.core name h;
buildInputs =
[ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf
libglade xfce4panel thunar exo garcon libnotify
];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/projects/xfdesktop;
description = "Xfce desktop manager";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

@ -1,16 +1,13 @@
{ stdenv, fetchurl, pkgconfig, gtk, intltool, libxfce4util
{ v, h, stdenv, fetchXfce, pkgconfig, gtk, intltool, libglade, libxfce4util
, libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }:
stdenv.mkDerivation rec {
name = "xfwm4-4.8.3";
src = fetchurl {
url = "http://archive.xfce.org/src/xfce/xfwm4/4.8/${name}.tar.bz2";
sha1 = "6d27deca383e0c2fba0cede0bbe0e9aee18e9257";
};
name = "xfwm4-${v}";
src = fetchXfce.core name h;
#TODO: kde systray, docs
buildInputs =
[ pkgconfig intltool gtk libxfce4util libxfce4ui xfconf
[ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf
libwnck libstartup_notification
xorg.libXcomposite xorg.libXfixes xorg.libXdamage
];
@ -18,7 +15,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = {
homepage = http://www.xfce.org/;
homepage = http://www.xfce.org/projects/xfwm4;
description = "Window manager for Xfce";
license = "GPLv2+";
platforms = stdenv.lib.platforms.linux;

@ -2,13 +2,14 @@
stdenv.mkDerivation rec {
name = "xfce4-cpufreq-plugin-1.0.0";
src = fetchurl {
url = "http://archive.xfce.org/src/panel-plugins/xfce4-cpufreq-plugin/1.0/${name}.tar.bz2";
sha256 = "0q2lj8a25iq9w3dynh6qvsmh19y1v7i82g46yza6gvw7fjcrmcz1";
};
buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = {
homepage = http://www.xfce.org/;

@ -2,11 +2,11 @@
, libxml2, libxslt, docbook_xsl, libgphoto2, libtool }:
stdenv.mkDerivation rec {
name = "gvfs-1.14.1";
name = "gvfs-1.14.2";
src = fetchurl {
url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz";
sha256 = "0af86cd7ee7b6daca144776bdf12f2f30d3e18fdd70b4da58e1a68cea4f6716a";
sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3";
};
buildInputs =

@ -0,0 +1,143 @@
From 557b0e5045c9eadb556ce11e16965cf0d0787438 Mon Sep 17 00:00:00 2001
From: Stef Walter <stefw@collabora.co.uk>
Date: Tue, 14 Jun 2011 12:33:45 +0100
Subject: [PATCH] Remove G_CONST_RETURN usage, now that its gone in glib.
https://bugzilla.gnome.org/show_bug.cgi?id=652545
[Alexandre Rostovtsev <tetromino@gmail.com>: backported to unique-1.1]
---
unique/uniqueapp.c | 4 ++--
unique/uniquebackend.c | 4 ++--
unique/uniquebackend.h | 4 ++--
unique/uniqueinternals.h | 4 ++--
unique/uniquemessage.c | 4 ++--
unique/uniquemessage.h | 4 ++--
6 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c
index b40a86c..e8edc94 100644
--- a/unique/uniqueapp.c
+++ b/unique/uniqueapp.c
@@ -781,7 +781,7 @@ unique_app_watch_window (UniqueApp *app,
}
-G_CONST_RETURN gchar *
+const gchar *
unique_command_to_string (UniqueApp *app,
gint command)
{
@@ -863,7 +863,7 @@ unique_command_from_string (UniqueApp *app,
return retval;
}
-G_CONST_RETURN gchar *
+const gchar *
unique_response_to_string (UniqueResponse response)
{
GEnumClass *enum_class;
diff --git a/unique/uniquebackend.c b/unique/uniquebackend.c
index a76e42e..68e2735 100644
--- a/unique/uniquebackend.c
+++ b/unique/uniquebackend.c
@@ -111,7 +111,7 @@ unique_backend_set_name (UniqueBackend *backend,
*
* Return value: FIXME
*/
-G_CONST_RETURN gchar *
+const gchar *
unique_backend_get_name (UniqueBackend *backend)
{
g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
@@ -154,7 +154,7 @@ unique_backend_set_startup_id (UniqueBackend *backend,
*
* Return value: FIXME
*/
-G_CONST_RETURN gchar *
+const gchar *
unique_backend_get_startup_id (UniqueBackend *backend)
{
g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
diff --git a/unique/uniquebackend.h b/unique/uniquebackend.h
index a50ce4e..b19ad3e 100644
--- a/unique/uniquebackend.h
+++ b/unique/uniquebackend.h
@@ -94,10 +94,10 @@ GType unique_backend_get_type (void) G_GNUC_CONST;
UniqueBackend * unique_backend_create (void);
-G_CONST_RETURN gchar *unique_backend_get_name (UniqueBackend *backend);
+const gchar * unique_backend_get_name (UniqueBackend *backend);
void unique_backend_set_name (UniqueBackend *backend,
const gchar *name);
-G_CONST_RETURN gchar *unique_backend_get_startup_id (UniqueBackend *backend);
+const gchar * unique_backend_get_startup_id (UniqueBackend *backend);
void unique_backend_set_startup_id (UniqueBackend *backend,
const gchar *startup_id);
GdkScreen * unique_backend_get_screen (UniqueBackend *backend);
diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
index 3cec152..ccae0cd 100644
--- a/unique/uniqueinternals.h
+++ b/unique/uniqueinternals.h
@@ -44,11 +44,11 @@ UniqueResponse unique_app_emit_message_received (UniqueApp *app,
* and then back into an id
*/
UniqueResponse unique_response_from_string (const gchar *response);
-G_CONST_RETURN gchar *unique_response_to_string (UniqueResponse response);
+const gchar * unique_response_to_string (UniqueResponse response);
gint unique_command_from_string (UniqueApp *app,
const gchar *command);
-G_CONST_RETURN gchar *unique_command_to_string (UniqueApp *app,
+const gchar * unique_command_to_string (UniqueApp *app,
gint command);
G_END_DECLS
diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
index c74392d..2b2a9fc 100644
--- a/unique/uniquemessage.c
+++ b/unique/uniquemessage.c
@@ -185,7 +185,7 @@ unique_message_data_set (UniqueMessageData *message_data,
*
* Since: 1.0.2
*/
-G_CONST_RETURN guchar *
+const guchar *
unique_message_data_get (UniqueMessageData *message_data,
gsize *length)
{
@@ -525,7 +525,7 @@ unique_message_data_get_screen (UniqueMessageData *message_data)
* owned by the #UniqueMessageData structure and should not be
* modified or freed
*/
-G_CONST_RETURN gchar *
+const gchar *
unique_message_data_get_startup_id (UniqueMessageData *message_data)
{
g_return_val_if_fail (message_data != NULL, NULL);
diff --git a/unique/uniquemessage.h b/unique/uniquemessage.h
index d3e9c3c..93eee21 100644
--- a/unique/uniquemessage.h
+++ b/unique/uniquemessage.h
@@ -48,7 +48,7 @@ void unique_message_data_free (UniqueMessageData *me
void unique_message_data_set (UniqueMessageData *message_data,
const guchar *data,
gsize length);
-G_CONST_RETURN guchar *unique_message_data_get (UniqueMessageData *message_data,
+const guchar * unique_message_data_get (UniqueMessageData *message_data,
gsize *length);
gboolean unique_message_data_set_text (UniqueMessageData *message_data,
@@ -63,7 +63,7 @@ void unique_message_data_set_filename (UniqueMessageData *me
gchar * unique_message_data_get_filename (UniqueMessageData *message_data);
GdkScreen * unique_message_data_get_screen (UniqueMessageData *message_data);
-G_CONST_RETURN gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
+const gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
guint unique_message_data_get_workspace (UniqueMessageData *message_data);
G_END_DECLS
--
1.7.6

@ -0,0 +1,50 @@
From 9df132a70d54b768a8e1d0335d24b85ac9b3fb76 Mon Sep 17 00:00:00 2001
From: Emmanuele Bassi <ebassi@linux.intel.com>
Date: Sun, 27 Mar 2011 08:42:22 +0000
Subject: Remove compiler warnings
(cherry picked from commit f791ed16b19dddc7fbaf90d8f797520e67883021)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
---
diff --git a/unique/dbus/uniquebackend-dbus.c b/unique/dbus/uniquebackend-dbus.c
index 3ae1bed..69faa00 100644
--- a/unique/dbus/uniquebackend-dbus.c
+++ b/unique/dbus/uniquebackend-dbus.c
@@ -84,7 +84,6 @@ unique_backend_dbus_register_proxy (UniqueBackendDBus *backend_dbus)
static gboolean
unique_backend_dbus_request_name (UniqueBackend *backend)
{
- UniqueBackendDBus *backend_dbus;
const gchar *name;
DBusGConnection *connection;
DBusGProxy *proxy;
@@ -97,8 +96,6 @@ unique_backend_dbus_request_name (UniqueBackend *backend)
if (!connection)
return FALSE;
- backend_dbus = UNIQUE_BACKEND_DBUS (backend);
-
retval = TRUE;
name = unique_backend_get_name (backend);
g_assert (name != NULL);
@@ -207,10 +204,14 @@ unique_backend_dbus_send_message (UniqueBackend *backend,
cmd, data, time_,
&resp,
&error);
- if (error)
+ if (!res)
{
- g_warning ("Error while sending message: %s", error->message);
- g_error_free (error);
+ if (error)
+ {
+ g_warning ("Error while sending message: %s", error->message);
+ g_error_free (error);
+ }
+
g_free (cmd);
return UNIQUE_RESPONSE_INVALID;
--
cgit v0.9

@ -0,0 +1,26 @@
From caf736f4b84808393b0d7030ae6128a3322a71e2 Mon Sep 17 00:00:00 2001
From: Tobias Mueller <tobiasmue@gnome.org>
Date: Mon, 12 Apr 2010 13:01:42 +0000
Subject: test-unique: Resolve format string issues
Provide a proper literal format string to not expose potential vulnerabilites.
Fixes bug 615522.
---
diff --git a/tests/test-unique.c b/tests/test-unique.c
index b7cde45..c9958c9 100644
--- a/tests/test-unique.c
+++ b/tests/test-unique.c
@@ -82,9 +82,11 @@ app_message_cb (UniqueApp *app,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
+ "%s",
title);
if (message)
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+ "%s",
message);
gtk_window_set_urgency_hint (GTK_WINDOW (dialog), TRUE);
--
cgit v0.9

@ -0,0 +1,37 @@
From 30ca2903a8ed4eed974ea744e4b9bd96198c425d Mon Sep 17 00:00:00 2001
From: Rodney Lorrimar <r.lorrimar@fugro-fsi.com.au>
Date: Mon, 21 Dec 2009 02:07:46 +0000
Subject: Include NUL terminator in unique_message_data_get_filename()
https://bugzilla.gnome.org/show_bug.cgi?id=605104
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
---
diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
index ace40ed..3cec152 100644
--- a/unique/uniqueinternals.h
+++ b/unique/uniqueinternals.h
@@ -13,7 +13,7 @@ G_BEGIN_DECLS
struct _UniqueMessageData
{
guchar *data;
- gint length;
+ gint length; /* length of data not including NUL terminator */
GdkScreen *screen;
gchar *startup_id;
diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
index 10f6df5..c74392d 100644
--- a/unique/uniquemessage.c
+++ b/unique/uniquemessage.c
@@ -493,7 +493,7 @@ unique_message_data_get_filename (UniqueMessageData *message_data)
{
g_return_val_if_fail (message_data != NULL, NULL);
- return g_memdup (message_data->data, message_data->length);
+ return g_memdup (message_data->data, message_data->length + 1);
}
/**
--
cgit v0.9

@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, glib, gtk, dbus_glib }:
stdenv.mkDerivation rec {
name = "libunique-1.1.6";
src = fetchurl {
url = "mirror://gnome/sources/libunique/1.1/${name}.tar.bz2";
sha256 = "1fsgvmncd9caw552lyfg8swmsd6bh4ijjsph69bwacwfxwf09j75";
};
# patches from Gentoo portage
patches = [
./1.1.6-compiler-warnings.patch
./1.1.6-fix-test.patch
./1.1.6-G_CONST_RETURN.patch
./1.1.6-include-terminator.patch
];
buildInputs = [ pkgconfig glib gtk dbus_glib ];
# don't make deprecated usages hard errors
preBuildPhases = "preBuild";
preBuild = ''substituteInPlace unique/dbus/Makefile --replace -Werror ""'';
doCheck = true;
meta = {
homepage = http://live.gnome.org/LibUnique;
description = "A library for writing single instance applications";
license = "LGPLv2.1";
};
}

@ -109,6 +109,13 @@ rec {
stringAsChars subst s;
# Case conversion utilities
lowerChars = stringToCharacters "abcdefghijklmnopqrstuvwxyz";
upperChars = stringToCharacters "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
toLower = replaceChars upperChars lowerChars;
toUpper = replaceChars lowerChars upperChars;
# Compares strings not requiring context equality
# Obviously, a workaround but works on all Nix versions
eqStrings = a: b: (a+(substring 0 0 b)) == ((substring 0 0 a)+b);

@ -4488,6 +4488,8 @@ let
libungif = callPackage ../development/libraries/giflib/libungif.nix { };
libunique = callPackage ../development/libraries/libunique/default.nix { };
libusb = callPackage ../development/libraries/libusb { };
libusb1 = callPackage ../development/libraries/libusb1 { };
@ -8622,12 +8624,9 @@ let
oxygen_gtk = callPackage ../misc/themes/gtk2/oxygen-gtk { };
xfce = xfce48;
xfce48 = recurseIntoAttrs
(let callPackage = newScope pkgs.xfce48; in
import ../desktops/xfce-4.8 { inherit callPackage pkgs; });
xfce = xfce4_10;
xfce4_08 = recurseIntoAttrs (import ../desktops/xfce/4_08.nix { inherit pkgs newScope; });
xfce4_10 = recurseIntoAttrs (import ../desktops/xfce/4_10.nix { inherit pkgs newScope; });
### SCIENCE

Loading…
Cancel
Save