diff options
author | Varun Narravula <varun@cvte.org> | 2022-08-18 10:52:08 +0800 |
---|---|---|
committer | Bobby Rong <rjl931189261@126.com> | 2022-08-18 15:18:44 +0800 |
commit | 81e4c5cc151b20e6a6dcec153a089b72f7b29d35 (patch) | |
tree | 2fb0a3876ecfb5bc1e9034675c3dd2fff443010e /pkgs/applications/display-managers | |
parent | fef6c10b5cb404f1c772c118289a698ef396a654 (diff) |
lightdm-slick-greeter: init at 1.5.9
Diffstat (limited to 'pkgs/applications/display-managers')
-rw-r--r-- | pkgs/applications/display-managers/lightdm-slick-greeter/default.nix | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix new file mode 100644 index 0000000000000..fe8132fb1b469 --- /dev/null +++ b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix @@ -0,0 +1,110 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, python3 +, vala +, intltool +, autoreconfHook +, wrapGAppsHook +, lightdm +, gtk3 +, pixman +, libcanberra +, libX11 +, libXext +, linkFarm +, lightdm-slick-greeter +, numlockx +}: + +stdenv.mkDerivation rec { + pname = "lightdm-slick-greeter"; + version = "1.5.9"; + + src = fetchFromGitHub { + owner = "linuxmint"; + repo = "slick-greeter"; + rev = version; + sha256 = "sha256-UEzidH4ZWggcOWHHuAclHbbgATDBdogL99Ze0PlwRoc="; + }; + + nativeBuildInputs = [ + pkg-config + vala + intltool + autoreconfHook + wrapGAppsHook + python3 + python3.pkgs.wrapPython + ]; + + buildInputs = [ + lightdm + gtk3 + pixman + libcanberra + libX11 + libXext + ]; + + pythonPath = [ + python3.pkgs.pygobject3 # for slick-greeter-check-hidpi + ]; + + 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/bin/slick-greeter" "${placeholder "out"}/bin/slick-greeter" + + substituteInPlace src/session-list.vala \ + --replace "/usr/share" "${placeholder "out"}/share" + + patchShebangs files/usr/bin/* + ''; + + preAutoreconf = '' + # intltoolize fails during autoreconfPhase unless this + # directory is created manually. + mkdir m4 + ''; + + configureFlags = [ + "--localstatedir=/var" + "--sysconfdir=/etc" + "--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 + ''; + + preFixup = '' + buildPythonPath "$out $pythonPath" + gappsWrapperArgs+=( + --prefix PYTHONPATH : "$program_PYTHONPATH" + ) + ''; + + passthru.xgreeters = linkFarm "lightdm-slick-greeter-xgreeters" [{ + path = "${lightdm-slick-greeter}/share/xgreeters/slick-greeter.desktop"; + name = "lightdm-slick-greeter.desktop"; + }]; + + meta = with lib; { + description = "A slick-looking LightDM greeter"; + homepage = "https://github.com/linuxmint/slick-greeter"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ water-sucks ]; + platforms = platforms.linux; + }; +} |