splice.nix: improve performance with early cut-off
[NixPkgs.git] / pkgs / desktops / lxqt / lxqt-config / default.nix
blob3eb1c3a1013f0adca08e146f7818496756e912d5
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , glib
6 , kwindowsystem
7 , libXScrnSaver
8 , libXcursor
9 , libXdmcp
10 , libkscreen
11 , liblxqt
12 , libpthreadstubs
13 , libqtxdg
14 , libxcb
15 , lxqt-build-tools
16 , lxqt-menu-data
17 , pkg-config
18 , qtbase
19 , qtsvg
20 , qttools
21 , qtwayland
22 , wrapQtAppsHook
23 , xf86inputlibinput
24 , xkeyboard_config
25 , gitUpdater
28 stdenv.mkDerivation rec {
29   pname = "lxqt-config";
30   version = "2.0.0";
32   src = fetchFromGitHub {
33     owner = "lxqt";
34     repo = pname;
35     rev = version;
36     hash = "sha256-lFZTu6MqqWTjytYC7In/YJ38PYksZXduHvA/FRY4v0U=";
37   };
39   nativeBuildInputs = [
40     cmake
41     pkg-config
42     lxqt-build-tools
43     qttools
44     wrapQtAppsHook
45   ];
47   buildInputs = [
48     glib.bin
49     kwindowsystem
50     libXScrnSaver
51     libXcursor
52     libXdmcp
53     libkscreen
54     liblxqt
55     libpthreadstubs
56     libqtxdg
57     libxcb
58     lxqt-menu-data
59     qtbase
60     qtsvg
61     qtwayland
62     xf86inputlibinput
63     xf86inputlibinput.dev
64   ];
66   postPatch = ''
67     substituteInPlace lxqt-config-appearance/configothertoolkits.cpp \
68       --replace-fail 'QStringLiteral("gsettings' \
69                 'QStringLiteral("${glib.bin}/bin/gsettings'
71     substituteInPlace lxqt-config-input/keyboardlayoutconfig.h \
72       --replace-fail '/usr/share/X11/xkb/rules/base.lst' \
73                 '${xkeyboard_config}/share/X11/xkb/rules/base.lst'
74   '';
76   passthru.updateScript = gitUpdater { };
78   meta = with lib; {
79     homepage = "https://github.com/lxqt/lxqt-config";
80     description = "Tools to configure LXQt and the underlying operating system";
81     license = licenses.lgpl21Plus;
82     platforms = platforms.linux;
83     maintainers = teams.lxqt.members;
84   };