about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/display-managers/lightdm
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-01-11 23:37:02 +0000
committerAlyssa Ross <hi@alyssa.is>2020-01-11 23:41:30 +0000
commit6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch)
tree035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/applications/display-managers/lightdm
parentda7500bc026e937ac7fce7b50f67a0e1765737a7 (diff)
parente4134747f5666bcab8680aff67fa3b63384f9a0f (diff)
downloadnixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst
nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/applications/display-managers/lightdm')
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch13
-rw-r--r--nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix6
3 files changed, 71 insertions, 9 deletions
diff --git a/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix b/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
index 1df67578b3ac..c251af74b217 100644
--- a/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
+++ b/nixpkgs/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,8 +1,33 @@
-{ stdenv, fetchFromGitHub, pam, pkgconfig, autoconf, automake, libtool, libxcb
-, glib, libXdmcp, itstool, intltool, libxklavier, libgcrypt, audit, busybox
-, polkit, accountsservice, gtk-doc, gnome3, gobject-introspection, vala, fetchpatch
-, withQt4 ? false, qt4
-, withQt5 ? false, qtbase
+{ stdenv
+, fetchFromGitHub
+, substituteAll
+, plymouth
+, pam
+, pkgconfig
+, autoconf
+, automake
+, libtool
+, libxcb
+, glib
+, libXdmcp
+, itstool
+, intltool
+, libxklavier
+, libgcrypt
+, audit
+, busybox
+, polkit
+, accountsservice
+, gtk-doc
+, gnome3
+, gobject-introspection
+, vala
+, fetchpatch
+, withQt4 ? false
+, qt4
+, withQt5 ? false
+, qtbase
+, yelp-tools
 }:
 
 with stdenv.lib;
@@ -23,7 +48,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoconf
     automake
-    gnome3.yelp-tools
+    yelp-tools
     gnome3.yelp-xsl
     gobject-introspection
     gtk-doc
@@ -53,6 +78,26 @@ stdenv.mkDerivation rec {
       url = "https://src.fedoraproject.org/rpms/lightdm/raw/4cf0d2bed8d1c68970b0322ccd5dbbbb7a0b12bc/f/lightdm-1.25.1-disable_dmrc.patch";
       sha256 = "06f7iabagrsiws2l75sx2jyljknr9js7ydn151p3qfi104d1541n";
     })
+
+    # Don't use etc/dbus-1/system.d
+    (fetchpatch {
+      url = "https://github.com/canonical/lightdm/commit/a99376f5f51aa147aaf81287d7ce70db76022c47.patch";
+      sha256 = "1zyx1qqajrmqcf9hbsapd39gmdanswd9l78rq7q6rdy4692il3yn";
+    })
+
+    # https://github.com/canonical/lightdm/pull/104
+    (fetchpatch {
+      url = "https://github.com/canonical/lightdm/commit/03f218981733e50d810767f9d04e42ee156f7feb.patch";
+      sha256 = "07w18m2gpk29z6ym4y3lzsmg5dk3ffn39sq6lac26ap7narf4ma7";
+    })
+
+    # Hardcode plymouth to fix transitions.
+    # For some reason it can't find `plymouth`
+    # even when it's in PATH in environment.systemPackages.
+    (substituteAll {
+      src = ./fix-paths.patch;
+      plymouth = "${plymouth}/bin/plymouth";
+    })
   ];
 
   preConfigure = "NOCONFIGURE=1 ./autogen.sh";
@@ -78,6 +123,10 @@ stdenv.mkDerivation rec {
       --replace /bin/rm ${busybox}/bin/rm
   '';
 
+  postInstall = ''
+    rm -rf $out/etc/apparmor.d $out/etc/init $out/etc/pam.d
+  '';
+
   meta = {
     homepage = https://github.com/CanonicalLtd/lightdm;
     description = "A cross-desktop display manager";
diff --git a/nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch b/nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch
new file mode 100644
index 000000000000..4498bc4d1a3e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/display-managers/lightdm/fix-paths.patch
@@ -0,0 +1,13 @@
+diff --git a/src/plymouth.c b/src/plymouth.c
+index d1ed91f4..318f9409 100644
+--- a/src/plymouth.c
++++ b/src/plymouth.c
+@@ -24,7 +24,7 @@ static gboolean has_active_vt = FALSE;
+ static gboolean
+ plymouth_run_command (const gchar *command, gint *exit_status)
+ {
+-    g_autofree gchar *command_line = g_strdup_printf ("plymouth %s", command);
++    g_autofree gchar *command_line = g_strdup_printf ("@plymouth@ %s", command);
+     g_autoptr(GError) error = NULL;
+     gboolean result = g_spawn_command_line_sync (command_line, NULL, NULL, exit_status, &error);
+ 
diff --git a/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index 5b1490a6b3be..be586bdac9bc 100644
--- a/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -20,7 +20,7 @@
 
 let
   ver_branch = "2.0";
-  version = "2.0.6";
+  version = "2.0.7";
 in
 stdenv.mkDerivation rec {
   pname = "lightdm-gtk-greeter";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15";
+    sha256 = "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms";
   };
 
   nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" )
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
   installFlags = [
     "localstatedir=\${TMPDIR}"