diff --git a/pkgs/desktops/xfce/applications/orage.nix b/pkgs/desktops/xfce/applications/orage.nix index 9b347715c45..2c99bad8156 100644 --- a/pkgs/desktops/xfce/applications/orage.nix +++ b/pkgs/desktops/xfce/applications/orage.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib +{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib, tzdata , libnotify, popt, xfce }: @@ -22,6 +22,14 @@ stdenv.mkDerivation rec { }) ]; + postPatch = '' + substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace src/tz_zoneinfo_read.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources + nativeBuildInputs = [ pkgconfig intltool bison flex ]; buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix index 17fd08faf69..d2d992d54a8 100644 --- a/pkgs/desktops/xfce/core/xfce4-panel.nix +++ b/pkgs/desktops/xfce/core/xfce4-panel.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui , libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification -, makeWrapper, xfce4-mixer, hicolor-icon-theme +, makeWrapper, xfce4-mixer, hicolor-icon-theme, tzdata , withGtk3 ? false, gtk3, gettext, glib-networking }: let @@ -24,6 +24,9 @@ stdenv.mkDerivation rec { for f in $(find . -name \*.sh); do substituteInPlace $f --replace gettext ${gettext}/bin/gettext done + substituteInPlace plugins/clock/clock.c \ + --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \ + --replace "if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))" "" ''; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/desktops/xfce4-13/orage/default.nix b/pkgs/desktops/xfce4-13/orage/default.nix index 3857846ea82..3c8395a4908 100644 --- a/pkgs/desktops/xfce4-13/orage/default.nix +++ b/pkgs/desktops/xfce4-13/orage/default.nix @@ -1,5 +1,5 @@ -{ lib, fetchpatch, mkXfceDerivation, dbus_glib ? null, gtk2, libical, libnotify ? null -, popt ? null, libxfce4ui ? null, xfce4-panel ? null, withPanelPlugin ? true }: +{ lib, fetchpatch, mkXfceDerivation, dbus-glib, gtk2, libical, libnotify, tzdata +, popt, libxfce4ui ? null, xfce4-panel ? null, withPanelPlugin ? true }: assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null; @@ -13,9 +13,17 @@ mkXfceDerivation rec { version = "4.12.1"; sha256 = "04z6y1vfaz1im1zq1zr7cf8pjibjhj9zkyanbp7vn30q520yxa0m"; - buildInputs = [ dbus_glib gtk2 libical libnotify popt ] + buildInputs = [ dbus-glib gtk2 libical libnotify popt ] ++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ]; + postPatch = '' + substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace src/tz_zoneinfo_read.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources + patches = [ # Fix build with libical 3.0 (fetchpatch { diff --git a/pkgs/desktops/xfce4-13/xfce4-panel/default.nix b/pkgs/desktops/xfce4-13/xfce4-panel/default.nix index 88ba2de49be..db05517eb0b 100644 --- a/pkgs/desktops/xfce4-13/xfce4-panel/default.nix +++ b/pkgs/desktops/xfce4-13/xfce4-panel/default.nix @@ -1,4 +1,4 @@ -{ mkXfceDerivation, exo, garcon, gtk2, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf }: +{ mkXfceDerivation, tzdata, exo, garcon, gtk2, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf }: mkXfceDerivation rec { category = "xfce"; @@ -9,6 +9,12 @@ mkXfceDerivation rec { buildInputs = [ exo garcon gtk2 gtk3 libxfce4ui libxfce4util libwnck3 xfconf ]; + postPatch = '' + substituteInPlace plugins/clock/clock.c \ + --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \ + --replace "if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))" "" + ''; + meta = { description = "Xfce's panel"; };