btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / li / lightdm-slick-greeter / package.nix
blobca3767b5db60f9d7fceb561cce136b5a44ccc6fb
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , meson
5 , ninja
6 , pkg-config
7 , python3
8 , vala
9 , wrapGAppsHook3
10 , xapp
11 , lightdm
12 , gtk3
13 , pixman
14 , libcanberra
15 , libgnomekbd
16 , libX11
17 , libXext
18 , linkFarm
19 , lightdm-slick-greeter
20 , numlockx
23 stdenv.mkDerivation rec {
24   pname = "lightdm-slick-greeter";
25   version = "2.0.6";
27   src = fetchFromGitHub {
28     owner = "linuxmint";
29     repo = "slick-greeter";
30     rev = version;
31     sha256 = "sha256-Q6V4axKlGhX1/uaugNkjoynHSL5jWA/eqzAsbJYcRSo=";
32   };
34   nativeBuildInputs = [
35     meson
36     ninja
37     pkg-config
38     vala
39     wrapGAppsHook3
40     python3
41     python3.pkgs.wrapPython
42   ];
44   buildInputs = [
45     xapp
46     lightdm
47     gtk3
48     pixman
49     libcanberra
50     libgnomekbd # needed by XApp.KbdLayoutController
51     libX11
52     libXext
53   ];
55   pythonPath = [
56     python3.pkgs.pygobject3 # for slick-greeter-check-hidpi
57   ];
59   postPatch = ''
60     substituteInPlace src/slick-greeter.vala \
61       --replace-fail "/usr/bin/numlockx" "${numlockx}/bin/numlockx" \
62       --replace-fail "/usr/share/xsessions/" "/run/current-system/sw/share/xsessions/" \
63       --replace-fail "/usr/share/wayland-sessions/" "/run/current-system/sw/share/wayland-sessions/" \
64       --replace-fail "/usr/bin/slick-greeter" "${placeholder "out"}/bin/slick-greeter"
66     substituteInPlace src/session-list.vala \
67       --replace-fail "/usr/share" "${placeholder "out"}/share"
69     # We prefer stable path here.
70     substituteInPlace data/x.dm.slick-greeter.gschema.xml \
71       --replace-fail "/usr/share/onboard" "/run/current-system/sw/share/onboard"
73     patchShebangs files/usr/bin/*
74   '';
76   mesonFlags = [
77     "--sbindir=${placeholder "out"}/bin"
78   ];
80   postInstall = ''
81     substituteInPlace "$out/share/xgreeters/slick-greeter.desktop" \
82       --replace-fail "Exec=slick-greeter" "Exec=$out/bin/slick-greeter"
83   '';
85   preFixup = ''
86     buildPythonPath "$out $pythonPath"
87     gappsWrapperArgs+=(
88       --prefix PYTHONPATH : "$program_PYTHONPATH"
89     )
90   '';
92   passthru.xgreeters = linkFarm "lightdm-slick-greeter-xgreeters" [{
93     path = "${lightdm-slick-greeter}/share/xgreeters/slick-greeter.desktop";
94     name = "lightdm-slick-greeter.desktop";
95   }];
97   meta = with lib; {
98     description = "Slick-looking LightDM greeter";
99     homepage = "https://github.com/linuxmint/slick-greeter";
100     license = licenses.gpl3Only;
101     maintainers = with maintainers; [ water-sucks bobby285271 ];
102     platforms = platforms.linux;
103   };