summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix68
-rw-r--r--pkgs/top-level/all-packages.nix5
2 files changed, 50 insertions, 23 deletions
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 8d3d9c9bfcfd..4bf81dcdd26a 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,34 +1,61 @@
-{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
-, intltool, libxklavier, libgcrypt, audit, coreutils
-, qt4 ? null
+{ stdenv, fetchFromGitHub, pam, pkgconfig, autoconf, automake, libtool, libxcb
+, glib, libXdmcp, itstool, intltool, libxklavier, libgcrypt, audit, busybox
+, polkit, accountsservice, gtk-doc, gnome3, gobjectIntrospection, vala
+, withQt4 ? false, qt4
 , withQt5 ? false, qtbase
 }:
 
 with stdenv.lib;
 
-let
-  ver_branch = "1.24";
-  version = "1.24.0";
-in
 stdenv.mkDerivation rec {
-  name = "lightdm-${version}";
+  pname = "lightdm";
+  version = "1.26.0";
 
-  src = fetchurl {
-    url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
-    sha256 = "18j33bm54i8k7ncxcs69zqi4105s62n58jrydqn3ikrb71s9nl6d";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "CanonicalLtd";
+    repo = pname;
+    rev = version;
+    sha256 = "1mhj6l025cnf2dzxnbzlk0qa9fm4gj2aw58qh5fl4ky87dp4wdyb";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gnome3.yelp-tools
+    gnome3.yelp-xsl
+    gobjectIntrospection
+    gtk-doc
+    intltool
+    itstool
+    libtool
+    pkgconfig
+    vala
+  ];
+
   buildInputs = [
-    pam libxcb glib libXdmcp itstool libxml2 libxklavier libgcrypt
-    qt4 audit
-  ] ++ optional withQt5 qtbase;
+    accountsservice
+    audit
+    glib
+    libgcrypt
+    libxcb
+    libXdmcp
+    libxklavier
+    pam
+    polkit
+  ] ++ optional withQt4 qt4
+    ++ optional withQt5 qtbase;
+
+
+  preConfigure = "NOCONFIGURE=1 ./autogen.sh";
 
   configureFlags = [
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--disable-tests"
-  ] ++ optional (qt4 != null) "--enable-liblightdm-qt"
+    "--disable-static"
+  ] ++ optional withQt4 "--enable-liblightdm-qt"
     ++ optional withQt5 "--enable-liblightdm-qt5";
 
   installFlags = [
@@ -37,14 +64,17 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = ''
+    substituteInPlace autogen.sh \
+      --replace "which" "${busybox}/bin/which"
+
     substituteInPlace src/shared-data-manager.c \
-      --replace /bin/rm ${coreutils}/bin/rm
+      --replace /bin/rm ${busybox}/bin/rm
   '';
 
   meta = {
-    homepage = https://launchpad.net/lightdm;
+    homepage = https://github.com/CanonicalLtd/lightdm;
     platforms = platforms.linux;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ ocharles wkennington ];
+    maintainers = with maintainers; [ ocharles wkennington worldofpeace ];
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index dd4ce7f71b7a..d94aba732352 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18278,10 +18278,7 @@ with pkgs;
 
   insync = callPackage ../applications/networking/insync { };
 
-  lightdm = libsForQt5.callPackage ../applications/display-managers/lightdm {
-    qt4 = null;
-    withQt5 = false;
-  };
+  lightdm = libsForQt5.callPackage ../applications/display-managers/lightdm { };
 
   lightdm_qt = lightdm.override { withQt5 = true; };