diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix index 0d33a1f74824..4b2dc27c1100 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -27,6 +27,7 @@ let dtk6gui = callPackage ./library/dtk6gui { }; dtk6widget = callPackage ./library/dtk6widget { }; dtk6declarative = callPackage ./library/dtk6declarative { }; + dtk6systemsettings = callPackage ./library/dtk6systemsettings { }; #### CORE deepin-kwin = callPackage ./core/deepin-kwin { }; diff --git a/pkgs/desktops/deepin/library/dtk6systemsettings/default.nix b/pkgs/desktops/deepin/library/dtk6systemsettings/default.nix new file mode 100644 index 000000000000..d9f400ce979f --- /dev/null +++ b/pkgs/desktops/deepin/library/dtk6systemsettings/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, cmake +, pkg-config +, doxygen +, qt6Packages +, dtk6core +, libxcrypt +}: + +stdenv.mkDerivation rec { + pname = "dtk6systemsettings"; + version = "6.0.2"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + hash = "sha256-b/iI2OKQQoFj3vWatfGdDP9z+SEsK5XBra9KqjlGzqs="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + doxygen + qt6Packages.qttools + ]; + + dontWrapQtApps = true; + + buildInputs = [ + qt6Packages.qtbase + dtk6core + libxcrypt + ]; + + cmakeFlags = [ + "-DDTK_VERSION=${version}" + "-DBUILD_DOCS=ON" + "-DBUILD_EXAMPLES=OFF" + "-DQCH_INSTALL_DESTINATION=${placeholder "doc"}/share/doc" + "-DMKSPECS_INSTALL_DIR=${placeholder "out"}/mkspecs/modules" + "-DDTK_INCLUDE_INSTALL_DIR=${placeholder "dev"}/include/dtk/DSystemSettings" + ]; + + preConfigure = '' + # qt.qpa.plugin: Could not find the Qt platform plugin "minimal" + # A workaround is to set QT_PLUGIN_PATH explicitly + export QT_PLUGIN_PATH=${lib.getBin qt6Packages.qtbase}/${qt6Packages.qtbase.qtPluginPrefix} + ''; + + outputs = [ "out" "dev" "doc" ]; + + meta = { + description = "Qt-based development library for system settings"; + homepage = "https://github.com/linuxdeepin/dtk6systemsettings"; + license = lib.licenses.lgpl3Plus; + platforms = lib.platforms.linux; + maintainers = lib.teams.deepin.members; + }; +}