1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 doxygen,
8 qt6Packages,
9 dtk6core,
10 libxcrypt,
11}:
12
13stdenv.mkDerivation rec {
14 pname = "dtk6systemsettings";
15 version = "6.0.2";
16
17 src = fetchFromGitHub {
18 owner = "linuxdeepin";
19 repo = pname;
20 rev = version;
21 hash = "sha256-b/iI2OKQQoFj3vWatfGdDP9z+SEsK5XBra9KqjlGzqs=";
22 };
23
24 nativeBuildInputs = [
25 cmake
26 pkg-config
27 doxygen
28 qt6Packages.qttools
29 ];
30
31 dontWrapQtApps = true;
32
33 buildInputs = [
34 qt6Packages.qtbase
35 dtk6core
36 libxcrypt
37 ];
38
39 cmakeFlags = [
40 "-DDTK_VERSION=${version}"
41 "-DBUILD_DOCS=ON"
42 "-DBUILD_EXAMPLES=OFF"
43 "-DQCH_INSTALL_DESTINATION=${placeholder "doc"}/share/doc"
44 "-DMKSPECS_INSTALL_DIR=${placeholder "out"}/mkspecs/modules"
45 "-DDTK_INCLUDE_INSTALL_DIR=${placeholder "dev"}/include/dtk/DSystemSettings"
46 ];
47
48 preConfigure = ''
49 # qt.qpa.plugin: Could not find the Qt platform plugin "minimal"
50 # A workaround is to set QT_PLUGIN_PATH explicitly
51 export QT_PLUGIN_PATH=${lib.getBin qt6Packages.qtbase}/${qt6Packages.qtbase.qtPluginPrefix}
52 '';
53
54 outputs = [
55 "out"
56 "dev"
57 "doc"
58 ];
59
60 meta = {
61 description = "Qt-based development library for system settings";
62 homepage = "https://github.com/linuxdeepin/dtk6systemsettings";
63 license = lib.licenses.lgpl3Plus;
64 platforms = lib.platforms.linux;
65 teams = [ lib.teams.deepin ];
66 };
67}