From c7d0f8b3b52d8153f302bd564c31467b55bd646d Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Tue, 6 Oct 2015 22:22:01 -0500
Subject: [PATCH] sddm: 0.11.0 -> 0.12.0

Also updated to build with Qt 5.5.
---
 .../display-managers/sddm/cmake_paths.patch   | 55 -------------------
 .../display-managers/sddm/default.nix         | 21 +++----
 pkgs/top-level/all-packages.nix               |  2 +-
 3 files changed, 8 insertions(+), 70 deletions(-)
 delete mode 100644 pkgs/applications/display-managers/sddm/cmake_paths.patch

diff --git a/pkgs/applications/display-managers/sddm/cmake_paths.patch b/pkgs/applications/display-managers/sddm/cmake_paths.patch
deleted file mode 100644
index 7deb3e2e1bd..00000000000
--- a/pkgs/applications/display-managers/sddm/cmake_paths.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4d6e0a9..df4ad28 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -77,7 +77,9 @@ find_package(Qt5LinguistTools REQUIRED)
- 
- # find qt5 imports dir
- get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
--exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR)
-+if(NOT QT_IMPORTS_DIR)
-+    exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR)
-+endif()
- 
- # Set components version
- set(COMPONENTS_VERSION 2.0)
-diff --git a/data/man/sddm.conf.rst.in b/data/man/sddm.conf.rst.in
-index 6a28224..798bc5c 100644
---- a/data/man/sddm.conf.rst.in
-+++ b/data/man/sddm.conf.rst.in
-@@ -65,6 +65,10 @@ OPTIONS
- 	Path of the X server.
- 	Default value is "/usr/bin/X".
- 
-+`XephyrPath=`
-+	Path of the Xephyr.
-+	Default value is "/usr/bin/Xephyr".
-+
- `XauthPath=`
- 	Path of the Xauth.
- 	Default value is "/usr/bin/xauth".
-diff --git a/src/common/Configuration.h b/src/common/Configuration.h
-index 72aa6f4..854cc22 100644
---- a/src/common/Configuration.h
-+++ b/src/common/Configuration.h
-@@ -54,6 +54,7 @@ namespace SDDM {
-         // TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal
-         Section(XDisplay,
-             Entry(ServerPath,          QString,     _S("/usr/bin/X"),                           _S("X server path"));
-+            Entry(XephyrPath,          QString,     _S("/usr/bin/Xephyr"),                      _S("Xephyr path"));
-             Entry(XauthPath,           QString,     _S("/usr/bin/xauth"),                       _S("Xauth path"));
-             Entry(SessionDir,          QString,     _S("/usr/share/xsessions"),                 _S("Session description directory"));
-             Entry(SessionCommand,      QString,     _S(SESSION_COMMAND),                        _S("Xsession script path\n"
-diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
-index f10ad82..cb9de3f 100644
---- a/src/daemon/XorgDisplayServer.cpp
-+++ b/src/daemon/XorgDisplayServer.cpp
-@@ -136,7 +136,7 @@ namespace SDDM {
-         if (daemonApp->testing()) {
-             QStringList args;
-             args << m_display << "-ac" << "-br" << "-noreset" << "-screen" << "800x600";
--            process->start("/usr/bin/Xephyr", args);
-+            process->start(mainConfig.XDisplay.XephyrPath.get(), args);
-         } else {
-             // set process environment
-             QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix
index ad2c885e496..5f8b13d2905 100644
--- a/pkgs/applications/display-managers/sddm/default.nix
+++ b/pkgs/applications/display-managers/sddm/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchpatch, makeWrapper, fetchFromGitHub, cmake, pkgconfig, libxcb, libpthreadstubs
-, libXdmcp, libXau, qt5, pam, systemd }:
+, libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam, systemd }:
 
 let
-  version = "0.11.0";
+  version = "0.12.0";
 in
 stdenv.mkDerivation rec {
   name = "sddm-${version}";
@@ -11,19 +11,12 @@ stdenv.mkDerivation rec {
     owner = "sddm";
     repo = "sddm";
     rev = "v${version}";
-    sha256 = "1s1gm0xvgwzrpxgni3ngdj8phzg21gkk1jyiv2l2i5ayl0jdm7ig";
+    sha256 = "09amr61srvl52nvxlqqgs9fzn33pc2gjv5hc83gxx43x6q2j19gg";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig qt5.tools makeWrapper ];
+  nativeBuildInputs = [ cmake pkgconfig qttools ];
 
-  buildInputs = [ libxcb libpthreadstubs libXdmcp libXau qt5.base pam systemd ];
-
-  patches = [ (fetchpatch {
-                url = "https://github.com/sddm/sddm/commit/9bc21ee7da5de6b2531d47d1af4d7b0a169990b9.patch";
-                sha256 = "1pda0wf4xljdadja7iyh5c48h0347imadg9ya1dw5slgb7w1d94l";
-              })
-              ./cmake_paths.patch
-            ];
+  buildInputs = [ libxcb libpthreadstubs libXdmcp libXau qtbase qtdeclarative pam systemd ];
 
   cmakeFlags = [ "-DCONFIG_FILE=/etc/sddm.conf" ];
 
@@ -32,8 +25,8 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/sddm-greeter \
-      --set QML2_IMPORT_PATH "${qt5.declarative}/lib/qt5/qml/"
+    wrapQtProgram $out/bin/sddm
+    wrapQtProgram $out/bin/sddm-greeter
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index dd34f63ea3a..78a4dc1d996 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12734,7 +12734,7 @@ let
 
   printrun = callPackage ../applications/misc/printrun { };
 
-  sddm = callPackage ../applications/display-managers/sddm { };
+  sddm = qt5Libs.callPackage ../applications/display-managers/sddm { };
 
   slim = callPackage ../applications/display-managers/slim {
     libpng = libpng12;