summary refs log tree commit diff
path: root/pkgs/applications/display-managers/slim/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/display-managers/slim/default.nix')
-rw-r--r--pkgs/applications/display-managers/slim/default.nix32
1 files changed, 13 insertions, 19 deletions
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index be546d76836b..0675b02a314e 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -1,39 +1,33 @@
-{stdenv, fetchurl, x11, libjpeg, libpng12, libXmu, freetype, pam}:
+{ stdenv, fetchurl, cmake, pkgconfig, x11, libjpeg, libpng12, libXmu
+, fontconfig, freetype, pam, consolekit, dbus_libs }:
 
 stdenv.mkDerivation rec {
-  name = "slim-1.3.2";
+  name = "slim-1.3.4";
 
   src = fetchurl {
     url = "http://download.berlios.de/slim/${name}.tar.gz";
-    sha256 = "1f42skdp5k1zrb364s3i0ps5wmx9szz9h192i2dkn9az00jh2mpi";
+    sha256 = "00fmrg2v41jnqhx0yc1kv97xxh5gai18n0i4as9g1fcq1i32cp0m";
   };
 
   patches = [
     # Allow the paths of the configuration file and theme directory to
     # be set at runtime.
     ./runtime-paths.patch
-
-    # Fix a bug in slim's PAM support: the "resp" argument to the
-    # conversation function is a pointer to a pointer to an array of
-    # pam_response structures, not a pointer to an array of pointers to
-    # pam_response structures.  Of course C can't tell the difference...
-    ./pam.patch
-
-    # Don't set PAM_RHOST to "localhost", it confuses ConsoleKit
-    # (which assumes that a non-empty string means a remote session).
-    ./pam2.patch
   ];
 
-  buildInputs = [x11 libjpeg libpng12 libXmu freetype pam];
+  buildInputs =
+    [ cmake pkgconfig x11 libjpeg libpng12 libXmu fontconfig freetype
+      pam dbus_libs
+    ] ++ stdenv.lib.optional (consolekit != null) consolekit;
+
+  preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
 
-  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2";
+  cmakeFlags = [ "-DUSE_PAM=1" ] ++ stdenv.lib.optional (consolekit != null) "-DUSE_CONSOLEKIT=1";
 
-  preBuild = ''
-    substituteInPlace Makefile --replace /usr /no-such-path
-    makeFlagsArray=(CC=gcc CXX=g++ PREFIX=$out MANDIR=$out/share/man CFGDIR=$out/etc USE_PAM=1)
-  '';
+  NIX_CFLAGS_LINK = "-lXmu";
 
   meta = {
     homepage = http://slim.berlios.de;
+    platforms = stdenv.lib.platforms.linux;
   };
 }