summary refs log tree commit diff
path: root/pkgs/applications/display-managers/lightdm-gtk-greeter
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-07-28 22:38:32 +0200
committerVladimír Čunát <vcunat@gmail.com>2013-08-04 19:16:41 +0200
commitcd531d70f6151d1c582ef8f62559c6dd712d1051 (patch)
tree9706975084b5d45df2eb8dff57cd3cb2d26d284e /pkgs/applications/display-managers/lightdm-gtk-greeter
parentd5cad473f95d448fc76d73a8f107d42964361dc2 (diff)
downloadnixpkgs-cd531d70f6151d1c582ef8f62559c6dd712d1051.tar
nixpkgs-cd531d70f6151d1c582ef8f62559c6dd712d1051.tar.gz
nixpkgs-cd531d70f6151d1c582ef8f62559c6dd712d1051.tar.bz2
nixpkgs-cd531d70f6151d1c582ef8f62559c6dd712d1051.tar.lz
nixpkgs-cd531d70f6151d1c582ef8f62559c6dd712d1051.tar.xz
nixpkgs-cd531d70f6151d1c582ef8f62559c6dd712d1051.tar.zst
nixpkgs-cd531d70f6151d1c582ef8f62559c6dd712d1051.zip
lightdm updates (merge #574)
Also fixes the situation where some session stuff is written to nix store.
Diffstat (limited to 'pkgs/applications/display-managers/lightdm-gtk-greeter')
-rw-r--r--pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix40
1 files changed, 30 insertions, 10 deletions
diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
index 501826b82df..0b8863752d2 100644
--- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix
@@ -1,23 +1,43 @@
-{ stdenv, fetchurl, lightdm, pkgconfig, gtk3, intltool }:
+{ stdenv, fetchurl, lightdm, pkgconfig, intltool
+, hicolor_icon_theme, makeWrapper
+, useGTK2 ? false, gtk2, gtk3 # gtk3 seems better supported
+}:
 
-stdenv.mkDerivation {
-  name = "lightdm-gtk-greeter";
+#ToDo: bad icons with gtk2;
+#  avatar icon is missing in standard hicolor theme, I don't know where gtk3 takes it from
+
+#ToDo: Failed to open sessions directory: Error opening directory '${lightdm}/share/lightdm/remote-sessions': No such file or directory
+
+let
+  ver_branch = "1.6";
+  version = "1.5.1"; # 1.5.2 and 1.6.0 result into infinite cycling of X in restarts
+in
+stdenv.mkDerivation rec {
+  name = "lightdm-gtk-greeter-${version}";
 
   src = fetchurl {
-    url = "https://launchpad.net/lightdm-gtk-greeter/1.6/1.5.1/+download/lightdm-gtk-greeter-1.5.1.tar.gz";
-    sha256 = "ecce7e917a79fa8f2126c3fafb6337f81f2198892159a4ef695016afecd2d621";
+    url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz";
+    sha256 = "08fnsbnay5jhd7ps8n91i6c227zq6xizpyn34qhqzykrga8pxkpc";
   };
 
-  buildInputs = [ pkgconfig gtk3 lightdm intltool ];
+  patches = [ ./lightdm-gtk-greeter.patch ];
+  patchFlags = "-p0";
 
-  patches =
-    [ ./lightdm-gtk-greeter.patch
-    ];
+  buildInputs = [ pkgconfig lightdm intltool ]
+    ++ (if useGTK2 then [ gtk2 makeWrapper ] else [ gtk3 ]);
 
-  patchFlags = "-p0";
+  configureFlags = stdenv.lib.optional useGTK2 "--with-gtk2";
 
   postInstall = ''
       substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
         --replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
+    '' + stdenv.lib.optionalString useGTK2 ''
+      wrapProgram "$out/sbin/lightdm-gtk-greeter" \
+        --prefix XDG_DATA_DIRS ":" "${hicolor_icon_theme}/share"
     '';
+
+  meta = {
+    homepage = http://launchpad.net/lightdm-gtk-greeter;
+    platforms = stdenv.lib.platforms.linux;
+  };
 }