1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 gitUpdater,
7 kwindowsystem,
8 libXScrnSaver,
9 libqtxdg,
10 lxqt-build-tools,
11 polkit-qt-1,
12 qtsvg,
13 qttools,
14 wrapQtAppsHook,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "liblxqt";
19 version = "2.2.0";
20
21 src = fetchFromGitHub {
22 owner = "lxqt";
23 repo = pname;
24 rev = version;
25 hash = "sha256-04t6wssTuSKlqSuUTmcDU66NVGikWh7p2irWBngN494=";
26 };
27
28 nativeBuildInputs = [
29 cmake
30 lxqt-build-tools
31 qttools
32 wrapQtAppsHook
33 ];
34
35 buildInputs = [
36 kwindowsystem
37 libXScrnSaver
38 libqtxdg
39 polkit-qt-1
40 qtsvg
41 ];
42
43 # convert name of wrapped binary, e.g. .lxqt-whatever-wrapped to the original name, e.g. lxqt-whatever so binaries can find their resources
44 patches = [ ./fix-application-path.patch ];
45
46 postPatch = ''
47 # https://github.com/NixOS/nixpkgs/issues/119766
48 substituteInPlace lxqtbacklight/linux_backend/driver/libbacklight_backend.c \
49 --replace-fail "pkexec lxqt-backlight_backend" "pkexec $out/bin/lxqt-backlight_backend"
50
51 sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt
52 '';
53
54 passthru.updateScript = gitUpdater { };
55
56 meta = with lib; {
57 description = "Core utility library for all LXQt components";
58 mainProgram = "lxqt-backlight_backend";
59 homepage = "https://github.com/lxqt/liblxqt";
60 license = licenses.lgpl21Plus;
61 platforms = platforms.linux;
62 teams = [ teams.lxqt ];
63 };
64}