about summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gdm/default.nix
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2017-09-24 13:15:50 +0200
committerzimbatm <zimbatm@zimbatm.com>2017-09-24 12:15:50 +0100
commit69698ec11cc0619d84b14764fa9e708fe7e7223c (patch)
tree9d9f602554b497a3265caf5e2ef4821e12736686 /pkgs/desktops/gnome-3/core/gdm/default.nix
parent23b19efdc9c8d64177cefcaa5b919db966bb8f5e (diff)
downloadnixlib-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar
nixlib-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.gz
nixlib-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.bz2
nixlib-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.lz
nixlib-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.xz
nixlib-69698ec11cc0619d84b14764fa9e708fe7e7223c.tar.zst
nixlib-69698ec11cc0619d84b14764fa9e708fe7e7223c.zip
gnome3: only maintain single GNOME 3 package set (#29397)
* gnome3: only maintain single GNOME 3 package set

GNOME 3 was split into 3.10 and 3.12 in #2694. Unfortunately, we barely have the resources
to update a single version of GNOME. Maintaining multiple versions just does not make sense.
Additionally, it makes viewing history using most Git tools bothersome.

This commit renames `pkgs/desktops/gnome-3/3.24` to `pkgs/desktops/gnome-3`, removes
the config variable for choosing packageset (`environment.gnome3.packageSet`), updates
the hint in maintainer script, and removes the `gnome3_24` derivation from `all-packages.nix`.

Closes: #29329

* maintainers/scripts/gnome: Use fixed GNOME 3 directory

Since we now allow only a single GNOME 3 package set, specifying
the working directory is not necessary.

This commit sets the directory to `pkgs/desktops/gnome-3`.
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gdm/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
new file mode 100644
index 000000000000..59f0381f2e87
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
+, intltool, accountsservice, libX11, gnome3, systemd, autoreconfHook
+, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, plymouth
+, librsvg }:
+
+stdenv.mkDerivation rec {
+  inherit (import ./src.nix fetchurl) name src;
+
+  # Only needed to make it build
+  preConfigure = ''
+    substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver.out}/bin/X"
+  '';
+
+  configureFlags = [ "--sysconfdir=/etc"
+                     "--localstatedir=/var"
+                     "--with-plymouth=yes"
+                     "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
+
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool autoreconfHook
+                  accountsservice gnome3.dconf systemd
+                  gobjectIntrospection libX11 gtk
+                  libcanberra_gtk3 pam libtool 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
+             ];
+
+  installFlags = [ "sysconfdir=$(out)/etc" "dbusconfdir=$(out)/etc/dbus-1/system.d" ];
+
+  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;
+    maintainers = gnome3.maintainers;
+  };
+}