about summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gdm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gdm/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix19
1 files changed, 14 insertions, 5 deletions
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index ee7d9975b760..796e103fdb3c 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
 , intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook
 , gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, plymouth
-, librsvg }:
+, librsvg, coreutils }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -11,17 +11,21 @@ stdenv.mkDerivation rec {
     substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X"
   '';
 
+  postPatch = ''
+    substituteInPlace daemon/gdm-manager.c --replace "/bin/plymouth" "${plymouth}/bin/plymouth"
+    substituteInPlace data/gdm.service.in  --replace "/bin/kill" "${coreutils}/bin/kill"
+  '';
+
   configureFlags = [ "--sysconfdir=/etc"
                      "--localstatedir=/var"
                      "--with-plymouth=yes"
                      "--with-initial-vt=7"
                      "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ glib itstool libxml2 intltool
-                  accountsservice gnome3.dconf systemd
+  nativeBuildInputs = [ pkgconfig libxml2 itstool intltool autoreconfHook libtool gnome3.dconf ];
+  buildInputs = [ glib accountsservice systemd
                   gobjectIntrospection libX11 gtk
-                  libcanberra_gtk3 pam libtool plymouth librsvg ];
+                  libcanberra_gtk3 pam plymouth librsvg ];
 
   enableParallelBuilding = true;
 
@@ -31,6 +35,11 @@ stdenv.mkDerivation rec {
               ./gdm-session-worker_xserver-path.patch
              ];
 
+  postInstall = ''
+    # Prevent “Could not parse desktop file orca-autostart.desktop or it references a not found TryExec binary”
+    rm $out/share/gdm/greeter/autostart/orca-autostart.desktop
+  '';
+
   installFlags = [ "sysconfdir=$(out)/etc" "dbusconfdir=$(out)/etc/dbus-1/system.d" ];
 
   meta = with stdenv.lib; {