From b03023679923bfd452938d1249644cc1c328419c Mon Sep 17 00:00:00 2001 From: Demin Dmitriy Date: Sun, 1 Nov 2015 06:59:23 +0300 Subject: [PATCH 1/2] libxfce4ui xfce4panel: add gtk3 support --- pkgs/desktops/xfce/core/libxfce4ui.nix | 15 +++++++++------ pkgs/desktops/xfce/core/xfce4-panel.nix | 16 ++++++++++++---- pkgs/desktops/xfce/default.nix | 3 ++- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix index be4ca5d17c09..2cb20febcb94 100644 --- a/pkgs/desktops/xfce/core/libxfce4ui.nix +++ b/pkgs/desktops/xfce/core/libxfce4ui.nix @@ -1,5 +1,9 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf -, libglade, libstartup_notification }: +, libglade, libstartup_notification +, withGtk3 ? false, gtk3 +}: + +with { inherit (stdenv.lib) optional; }; stdenv.mkDerivation rec { p_name = "libxfce4ui"; @@ -14,15 +18,14 @@ stdenv.mkDerivation rec { #TODO: gladeui # 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" + ] ++ optional withGtk3 "--enable-gtk3"; buildInputs = [ pkgconfig intltool gtk libxfce4util xfconf libglade libstartup_notification - ]; + ] ++ optional withGtk3 gtk3; preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix index 5a8cc9dc0e52..0f9066876c66 100644 --- a/pkgs/desktops/xfce/core/xfce4-panel.nix +++ b/pkgs/desktops/xfce/core/xfce4-panel.nix @@ -1,6 +1,10 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui -, libwnck, exo, garcon, xfconf, libstartup_notification -, makeWrapper, xfce4mixer }: +, libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification +, makeWrapper, xfce4mixer +, withGtk3 ? false, gtk3 +}: + +with { inherit (stdenv.lib) optional; }; stdenv.mkDerivation rec { p_name = "xfce4-panel"; @@ -16,11 +20,15 @@ stdenv.mkDerivation rec { patches = [ ./xfce4-panel-datadir.patch ]; patchFlags = "-p1"; + configureFlags = optional withGtk3 "--enable-gtk3"; + buildInputs = [ pkgconfig intltool gtk libxfce4util exo libwnck garcon xfconf libstartup_notification makeWrapper - ] ++ xfce4mixer.gst_plugins; - propagatedBuildInputs = [ libxfce4ui ]; + ] ++ xfce4mixer.gst_plugins + ++ optional withGtk3 gtk3; + + propagatedBuildInputs = [ (if withGtk3 then libxfce4ui_gtk3 else libxfce4ui) ]; postInstall = '' wrapProgram "$out/bin/xfce4-panel" \ diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix index 2f563dbbf5ca..1ff585843e5b 100644 --- a/pkgs/desktops/xfce/default.nix +++ b/pkgs/desktops/xfce/default.nix @@ -22,6 +22,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od garcon = callPackage ./core/garcon.nix { }; gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { }; # ToDo: when should be used? libxfce4ui = callPackage ./core/libxfce4ui.nix { }; + libxfce4ui_gtk3 = libxfce4ui.override { withGtk3 = true; }; libxfce4util = callPackage ./core/libxfce4util.nix { }; libxfcegui4 = callPackage ./core/libxfcegui4.nix { }; thunar = callPackage ./core/thunar.nix { }; @@ -32,6 +33,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od = callPackage ./thunar-plugins/dropbox { }; tumbler = callPackage ./core/tumbler.nix { }; xfce4panel = callPackage ./core/xfce4-panel.nix { }; # ToDo: impure plugins from /run/current-system/sw/lib/xfce4 + xfce4panel_gtk3 = xfce4panel.override { withGtk3 = true; }; xfce4session = callPackage ./core/xfce4-session.nix { }; xfce4settings = callPackage ./core/xfce4-settings.nix { }; xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix { }; @@ -67,7 +69,6 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od #### PANEL PLUGINS from "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.{bz2,gz}" - xfce4_battery_plugin = callPackage ./panel-plugins/xfce4-battery-plugin.nix { }; xfce4_clipman_plugin = callPackage ./panel-plugins/xfce4-clipman-plugin.nix { }; xfce4_cpufreq_plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { }; From 1736cedc202bd22d5c9bbf5208c287faa45aed1f Mon Sep 17 00:00:00 2001 From: Demin Dmitriy Date: Sun, 1 Nov 2015 07:01:08 +0300 Subject: [PATCH 2/2] xfce4-pulseaudio-plugin: init at 0.2.3 --- pkgs/desktops/xfce/default.nix | 4 +-- .../panel-plugins/xfce4-pulseaudio-plugin.nix | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix index 1ff585843e5b..45c10e0a44c2 100644 --- a/pkgs/desktops/xfce/default.nix +++ b/pkgs/desktops/xfce/default.nix @@ -79,15 +79,13 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od xfce4_eyes_plugin = callPackage ./panel-plugins/xfce4-eyes-plugin.nix { }; xfce4_fsguard_plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix { }; xfce4_genmon_plugin = callPackage ./panel-plugins/xfce4-genmon-plugin.nix { }; - xfce4_netload_plugin = callPackage ./panel-plugins/xfce4-netload-plugin.nix { }; xfce4_notes_plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { }; xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { }; xfce4_verve_plugin = callPackage ./panel-plugins/xfce4-verve-plugin.nix { }; xfce4_xkb_plugin = callPackage ./panel-plugins/xfce4-xkb-plugin.nix { }; - xfce4_whiskermenu_plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix { }; - + xfce4_pulseaudio_plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix { }; }; # xfce_self diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix new file mode 100644 index 000000000000..1b963237c02c --- /dev/null +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel_gtk3, xfconf +, gtk3, libpulseaudio +, withKeybinder ? true, keybinder3 +, withLibnotify ? true, libnotify +}: + +assert withKeybinder -> keybinder3 != null; +assert withLibnotify -> libnotify != null; + +with stdenv.lib; + +stdenv.mkDerivation rec { + p_name = "xfce4-pulseaudio-plugin"; + ver_maj = "0.2"; + ver_min = "3"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "e82836bc8cf7d905b4e60d43dc630ba8e32dea785989700c71d4aeee9f583b33"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig intltool ]; + buildInputs = [ libxfce4util xfce4panel_gtk3 xfconf gtk3 libpulseaudio ] + ++ optional withKeybinder keybinder3 + ++ optional withLibnotify libnotify; + + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Adjust the audio volume of the PulseAudio sound system"; + platforms = platforms.linux; + maintainers = [ ]; + }; +}