about summary refs log tree commit diff
path: root/pkgs/desktops/xfce
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2016-07-15 14:41:01 +0000
committerRobin Gloster <mail@glob.in>2016-07-15 14:41:01 +0000
commit5185bc177309c62e53dad1ad346d1220f0e77bd4 (patch)
tree52f5878b394abf2ef326765d46880ccbabd84903 /pkgs/desktops/xfce
parent07615735077db344539eb9131823600593f0eddf (diff)
parentf402c6321aa3c6e56f5e1f1e36c4ad459c881309 (diff)
downloadnixlib-5185bc177309c62e53dad1ad346d1220f0e77bd4.tar
nixlib-5185bc177309c62e53dad1ad346d1220f0e77bd4.tar.gz
nixlib-5185bc177309c62e53dad1ad346d1220f0e77bd4.tar.bz2
nixlib-5185bc177309c62e53dad1ad346d1220f0e77bd4.tar.lz
nixlib-5185bc177309c62e53dad1ad346d1220f0e77bd4.tar.xz
nixlib-5185bc177309c62e53dad1ad346d1220f0e77bd4.tar.zst
nixlib-5185bc177309c62e53dad1ad346d1220f0e77bd4.zip
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
Diffstat (limited to 'pkgs/desktops/xfce')
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui.nix8
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager.nix32
-rw-r--r--pkgs/desktops/xfce/default.nix1
3 files changed, 31 insertions, 10 deletions
diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix
index 6bdeb50f8399..09b400cfceb8 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf
+{ stdenv, fetchurl, pkgconfig, intltool, xorg, gtk, libxfce4util, xfconf
 , libglade, libstartup_notification, hicolor_icon_theme
 , withGtk3 ? false, gtk3
 }:
@@ -18,11 +18,15 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" "docdev" ];
 
+  nativeBuildInputs = [ pkgconfig intltool ];
+
   buildInputs =
-    [ pkgconfig intltool gtk libxfce4util xfconf libglade
+    [ gtk libxfce4util xfconf libglade
       libstartup_notification hicolor_icon_theme
     ] ++ optional withGtk3 gtk3;
 
+  propagatedBuildInputs = [ xorg.libICE xorg.libSM ];
+
   #TODO: glade?
   configureFlags = optional withGtk3 "--enable-gtk3";
 
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
index 7695f906d317..c72061e577e8 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
@@ -1,22 +1,38 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, upower, xfconf
-, libxfce4ui, libxfce4util, libnotify, xfce4panel, hicolor_icon_theme }:
+{ stdenv, lib, fetchurl, pkgconfig, intltool, glib, gtk, dbus_glib, upower, xfconf
+, libxfce4ui, libxfce4util, libnotify, xfce4panel, hicolor_icon_theme
+, withGtk3 ? false, gtk3, libxfce4ui_gtk3, xfce4panel_gtk3 }:
 let
   p_name  = "xfce4-power-manager";
-  ver_maj = "1.4";
-  ver_min = "4";
+  ver_maj = if withGtk3 then "1.6" else "1.4";
+  ver_min = if withGtk3 then "0"   else "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";
+    sha256 =
+      if withGtk3
+      then "0avzhllpimcn7a6z9aa4jn0zg5ahxr9ks5ldchizycdb0rz1bqxx"
+      else "01rvqy1cif4s8lkidb7hhmsz7d9f2fwcwvc51xycaj3qgsmch3n5";
   };
 
   buildInputs =
-    [ pkgconfig intltool gtk dbus_glib upower xfconf libxfce4ui libxfce4util
-      libnotify xfce4panel hicolor_icon_theme
-    ];
+    [ pkgconfig intltool glib dbus_glib upower xfconf libxfce4util
+      libnotify hicolor_icon_theme
+    ] ++
+    (if withGtk3
+    then [ gtk3 libxfce4ui_gtk3 xfce4panel_gtk3 ]
+    else [ gtk  libxfce4ui      xfce4panel      ]);
+
+  postPatch = lib.optionalString withGtk3 ''
+    substituteInPlace configure --replace gio-2.0 gio-unix-2.0
+  '';
+
+  postConfigure = lib.optionalString withGtk3 ''
+    substituteInPlace src/Makefile      --replace "xfce4_power_manager_CFLAGS = "          "xfce4_power_manager_CFLAGS = \$(GIO_CFLAGS) "
+    substituteInPlace settings/Makefile --replace "xfce4_power_manager_settings_CFLAGS = " "xfce4_power_manager_settings_CFLAGS = \$(GIO_CFLAGS) "
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager;
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 0da2756f877f..fff958de9a07 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -40,6 +40,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
   xfce4session    = callPackage ./core/xfce4-session.nix { };
   xfce4settings   = callPackage ./core/xfce4-settings.nix { };
   xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix { };
+  xfce4_power_manager_gtk3 = callPackage ./core/xfce4-power-manager.nix { withGtk3 = true; };
   xfconf          = callPackage ./core/xfconf.nix { };
   xfdesktop       = callPackage ./core/xfdesktop.nix { };
   xfwm4           = callPackage ./core/xfwm4.nix { };