summary refs log tree commit diff
diff options
context:
space:
mode:
authorobadz <obadz-git@obadz.com>2016-06-09 13:44:20 +0100
committerobadz <obadz-git@obadz.com>2016-06-16 15:32:07 +0100
commitecd3617d7a955c9cfcfc68a8dd8c1c1138153151 (patch)
treed6f136a03ce3a613414ba4d17c9549995bd75e36
parent0060a0f3df1279e9445828f5d2bc4d8572065159 (diff)
downloadnixpkgs-ecd3617d7a955c9cfcfc68a8dd8c1c1138153151.tar
nixpkgs-ecd3617d7a955c9cfcfc68a8dd8c1c1138153151.tar.gz
nixpkgs-ecd3617d7a955c9cfcfc68a8dd8c1c1138153151.tar.bz2
nixpkgs-ecd3617d7a955c9cfcfc68a8dd8c1c1138153151.tar.lz
nixpkgs-ecd3617d7a955c9cfcfc68a8dd8c1c1138153151.tar.xz
nixpkgs-ecd3617d7a955c9cfcfc68a8dd8c1c1138153151.tar.zst
nixpkgs-ecd3617d7a955c9cfcfc68a8dd8c1c1138153151.zip
xfce.xfce4-power-manager: add withGtk3 version 1.6.0
test passed: nix-build '<nixos/release.nix>' -A tests.xfce.x86_64-linux

Closes: #8595
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager.nix32
-rw-r--r--pkgs/desktops/xfce/default.nix1
2 files changed, 25 insertions, 8 deletions
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
index 7695f906d31..c72061e577e 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 0da2756f877..fff958de9a0 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 { };