diff options
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gdm/default.nix')
-rw-r--r-- | pkgs/desktops/gnome-3/core/gdm/default.nix | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix index 6b6b23f21b54..247d3566d6f3 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 +{ stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg, dbus , intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook , gtk, libcanberra-gtk3, pam, libtool, gobjectIntrospection, plymouth -, librsvg, coreutils }: +, librsvg, coreutils, xwayland }: stdenv.mkDerivation rec { name = "gdm-${version}"; @@ -12,50 +12,56 @@ stdenv.mkDerivation rec { sha256 = "1yxjjyrp0ywrc25cp81bsdhp79zn0c0jag48hlp00b5wfnkqy1kp"; }; - passthru = { - updateScript = gnome3.updateScript { packageName = "gdm"; attrPath = "gnome3.gdm"; }; - }; - # Only needed to make it build preConfigure = '' 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" ]; + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--with-plymouth=yes" + "--with-initial-vt=7" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + ]; nativeBuildInputs = [ pkgconfig libxml2 itstool intltool autoreconfHook libtool gnome3.dconf ]; - buildInputs = [ glib accountsservice systemd - gobjectIntrospection libX11 gtk - libcanberra-gtk3 pam plymouth librsvg ]; + buildInputs = [ + glib accountsservice systemd + gobjectIntrospection libX11 gtk + libcanberra-gtk3 pam plymouth librsvg + ]; enableParallelBuilding = true; # Disable Access Control because our X does not support FamilyServerInterpreted yet - patches = [ ./sessions_dir.patch - ./gdm-x-session_extra_args.patch - ./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 - ''; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit coreutils plymouth xwayland; + }) + ./sessions_dir.patch + ./gdm-x-session_extra_args.patch + ./gdm-session-worker_xserver-path.patch + ]; - installFlags = [ "sysconfdir=$(out)/etc" "dbusconfdir=$(out)/etc/dbus-1/system.d" ]; + installFlags = [ + "sysconfdir=$(out)/etc" + "dbusconfdir=$(out)/etc/dbus-1/system.d" + ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = "gdm"; + attrPath = "gnome3.gdm"; + }; + }; meta = with stdenv.lib; { - homepage = https://wiki.gnome.org/Projects/GDM; description = "A program that manages graphical display servers and handles graphical user logins"; - platforms = platforms.linux; + homepage = https://wiki.gnome.org/Projects/GDM; + license = licenses.gpl2Plus; maintainers = gnome3.maintainers; + platforms = platforms.linux; }; } |