Unverified Commit eae1bdc3 authored by Bobby Rong's avatar Bobby Rong
Browse files
parent e8057b67
Loading
Loading
Loading
Loading
+14 −29
Original line number Diff line number Diff line
{ lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, python3
, vala
, intltool
, autoreconfHook
, wrapGAppsHook3
, cinnamon
, lightdm
@@ -22,20 +22,20 @@

stdenv.mkDerivation rec {
  pname = "lightdm-slick-greeter";
  version = "2.0.3";
  version = "2.0.4";

  src = fetchFromGitHub {
    owner = "linuxmint";
    repo = "slick-greeter";
    rev = version;
    sha256 = "sha256-ROOCxOjqJ8dTZjfQpjmE9oDQJzt6QFVVf3nrJ26mFU8=";
    sha256 = "sha256-1UOODak5YkoMLdIkN1rBIrlr3Zjj5SS2yx90vmF1prA=";
  };

  nativeBuildInputs = [
    meson
    ninja
    pkg-config
    vala
    intltool
    autoreconfHook
    wrapGAppsHook3
    python3
    python3.pkgs.wrapPython
@@ -58,43 +58,28 @@ stdenv.mkDerivation rec {

  postPatch = ''
    substituteInPlace src/slick-greeter.vala \
      --replace "/usr/bin/numlockx" "${numlockx}/bin/numlockx" \
      --replace "/usr/share/xsessions/" "/run/current-system/sw/share/xsessions/" \
      --replace "/usr/share/wayland-sessions/" "/run/current-system/sw/share/wayland-sessions/" \
      --replace "/usr/bin/slick-greeter" "${placeholder "out"}/bin/slick-greeter"
      --replace-fail "/usr/bin/numlockx" "${numlockx}/bin/numlockx" \
      --replace-fail "/usr/share/xsessions/" "/run/current-system/sw/share/xsessions/" \
      --replace-fail "/usr/share/wayland-sessions/" "/run/current-system/sw/share/wayland-sessions/" \
      --replace-fail "/usr/bin/slick-greeter" "${placeholder "out"}/bin/slick-greeter"

    substituteInPlace src/session-list.vala \
      --replace "/usr/share" "${placeholder "out"}/share"
      --replace-fail "/usr/share" "${placeholder "out"}/share"

    # We prefer stable path here.
    substituteInPlace data/x.dm.slick-greeter.gschema.xml \
      --replace "/usr/share/onboard" "/run/current-system/sw/share/onboard"
      --replace-fail "/usr/share/onboard" "/run/current-system/sw/share/onboard"

    patchShebangs files/usr/bin/*
  '';

  preAutoreconf = ''
    # intltoolize fails during autoreconfPhase unless this
    # directory is created manually.
    mkdir m4
  '';

  configureFlags = [
    "--localstatedir=/var"
    "--sysconfdir=/etc"
  mesonFlags = [
    "--sbindir=${placeholder "out"}/bin"
  ];

  installFlags = [
    "localstatedir=\${TMPDIR}"
    "sysconfdir=${placeholder "out"}/etc"
  ];

  postInstall = ''
    substituteInPlace "$out/share/xgreeters/slick-greeter.desktop" \
      --replace "Exec=slick-greeter" "Exec=$out/bin/slick-greeter"

    cp -r files/usr/* $out
      --replace-fail "Exec=slick-greeter" "Exec=$out/bin/slick-greeter"
  '';

  preFixup = ''