deepin.dtk6widget: init at 6.0.15

rewine 703ccfb3 bdc7fd3c

+135
+1
pkgs/desktops/deepin/default.nix
··· 25 25 util-dfm = callPackage ./library/util-dfm { }; 26 26 dtk6core = callPackage ./library/dtk6core { }; 27 27 dtk6gui = callPackage ./library/dtk6gui { }; 28 + dtk6widget = callPackage ./library/dtk6widget { }; 28 29 29 30 #### CORE 30 31 deepin-kwin = callPackage ./core/deepin-kwin { };
+83
pkgs/desktops/deepin/library/dtk6widget/default.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , cmake 5 + , pkg-config 6 + , doxygen 7 + , qt6Packages 8 + , dtk6gui 9 + , cups 10 + , libstartup_notification 11 + }: 12 + 13 + stdenv.mkDerivation (finalAttrs: { 14 + pname = "dtk6widget"; 15 + version = "6.0.15"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "linuxdeepin"; 19 + repo = "dtk6widget"; 20 + rev = finalAttrs.version; 21 + hash = "sha256-QCdRjkD4JTPecLeZK+Y5U/H9pBgKI4DHRuchz/GymWQ="; 22 + }; 23 + 24 + patches = [ 25 + ./fix-pkgconfig-path.patch 26 + ./fix-pri-path.patch 27 + ./fix-build-on-qt-6_7.patch 28 + ]; 29 + 30 + postPatch = '' 31 + substituteInPlace src/widgets/dapplication.cpp \ 32 + --replace-fail "auto dataDirs = DStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);" \ 33 + "auto dataDirs = DStandardPaths::standardLocations(QStandardPaths::GenericDataLocation) << \"$out/share\";" 34 + ''; 35 + 36 + nativeBuildInputs = [ 37 + cmake 38 + doxygen 39 + pkg-config 40 + qt6Packages.qttools 41 + qt6Packages.wrapQtAppsHook 42 + ]; 43 + 44 + buildInputs = [ 45 + cups 46 + libstartup_notification 47 + ] ++ (with qt6Packages; [ 48 + qtbase 49 + qtmultimedia 50 + qtsvg 51 + ]); 52 + 53 + propagatedBuildInputs = [ dtk6gui ]; 54 + 55 + cmakeFlags = [ 56 + "-DDTK_VERSION=${finalAttrs.version}" 57 + "-DBUILD_DOCS=ON" 58 + "-DMKSPECS_INSTALL_DIR=${placeholder "dev"}/mkspecs/modules" 59 + "-DQCH_INSTALL_DESTINATION=${placeholder "doc"}/share/doc" 60 + ]; 61 + 62 + preConfigure = '' 63 + # qt.qpa.plugin: Could not find the Qt platform plugin "minimal" 64 + # A workaround is to set QT_PLUGIN_PATH explicitly 65 + export QT_PLUGIN_PATH=${lib.getBin qt6Packages.qtbase}/${qt6Packages.qtbase.qtPluginPrefix} 66 + ''; 67 + 68 + outputs = [ "out" "dev" "doc" ]; 69 + 70 + postFixup = '' 71 + for binary in $out/lib/dtk6/DWidget/bin/*; do 72 + wrapQtApp $binary 73 + done 74 + ''; 75 + 76 + meta = { 77 + description = "Deepin graphical user interface library"; 78 + homepage = "https://github.com/linuxdeepin/dtk6widget"; 79 + license = lib.licenses.lgpl3Plus; 80 + platforms = lib.platforms.linux; 81 + maintainers = lib.teams.deepin.members; 82 + }; 83 + })
+20
pkgs/desktops/deepin/library/dtk6widget/fix-build-on-qt-6_7.patch
··· 1 + diff --git a/src/widgets/dkeysequenceedit.cpp b/src/widgets/dkeysequenceedit.cpp 2 + index a99e17ae..0e1c57f6 100644 3 + --- a/src/widgets/dkeysequenceedit.cpp 4 + +++ b/src/widgets/dkeysequenceedit.cpp 5 + @@ -276,13 +276,13 @@ void DKeySequenceEdit::keyPressEvent(QKeyEvent *e) 6 + } 7 + 8 + if (e->modifiers() & Qt::ShiftModifier) { 9 + - QList<int> possibleKeys = QKeyMapper::possibleKeys(e); 10 + + auto possibleKeys = QKeyMapper::possibleKeys(e); 11 + int pkTotal = possibleKeys.count(); 12 + if (!pkTotal) 13 + return; 14 + bool found = false; 15 + for (int i = 0; i < possibleKeys.size(); ++i) { 16 + - if (possibleKeys.at(i) - nextKey == int(e->modifiers()) 17 + + if (static_cast<int>(possibleKeys.at(i)) - nextKey == static_cast<int>(e->modifiers()) 18 + || (possibleKeys.at(i) == nextKey && e->modifiers() == Qt::ShiftModifier)) { 19 + nextKey = possibleKeys.at(i); 20 + found = true;
+14
pkgs/desktops/deepin/library/dtk6widget/fix-pkgconfig-path.patch
··· 1 + diff --git a/misc/DtkWidget.pc.in b/misc/DtkWidget.pc.in 2 + index 3c610669..b6ed04ca 100644 3 + --- a/misc/DtkWidget.pc.in 4 + +++ b/misc/DtkWidget.pc.in 5 + @@ -1,7 +1,7 @@ 6 + prefix=@CMAKE_INSTALL_PREFIX@ 7 + exec_prefix=${prefix} 8 + -libdir=${prefix}/@LIBRARY_INSTALL_DIR@ 9 + -includedir=${prefix}/@INCLUDE_INSTALL_DIR@ 10 + +libdir=@LIBRARY_INSTALL_DIR@ 11 + +includedir=@INCLUDE_INSTALL_DIR@ 12 + 13 + Name: dtk@DTK_VERSION_MAJOR@widget 14 + Description: Deepin Tool Kit dtkwidget header files
+17
pkgs/desktops/deepin/library/dtk6widget/fix-pri-path.patch
··· 1 + diff --git a/misc/qt_lib_DtkWidget.pri.in b/misc/qt_lib_DtkWidget.pri.in 2 + index 623878d3..561f5186 100644 3 + --- a/misc/qt_lib_DtkWidget.pri.in 4 + +++ b/misc/qt_lib_DtkWidget.pri.in 5 + @@ -4,9 +4,9 @@ QT.dtkwidget.MINOR_VERSION = @PROJECT_VERSION_MINOR@ 6 + QT.dtkwidget.PATCH_VERSION = @PROJECT_VERSION_PATCH@ 7 + QT.dtkwidget.name = dtkwidget 8 + QT.dtkwidget.module = dtk@DTK_VERSION_MAJOR@widget 9 + -QT.dtkwidget.tools = @CMAKE_INSTALL_PREFIX@/@TOOL_INSTALL_DIR@ 10 + -QT.dtkwidget.libs = @CMAKE_INSTALL_PREFIX@/@LIBRARY_INSTALL_DIR@ 11 + -QT.dtkwidget.includes = @CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@ 12 + +QT.dtkwidget.tools = @TOOL_INSTALL_DIR@ 13 + +QT.dtkwidget.libs = @LIBRARY_INSTALL_DIR@ 14 + +QT.dtkwidget.includes = @INCLUDE_INSTALL_DIR@ 15 + QT.dtkwidget.frameworks = 16 + QT.dtkwidget.depends = core gui dtkcore network concurrent dtkgui printsupport printsupport_private widgets widgets_private gui_private x11extras dbus 17 + QT.dtkwidget.module_config = v2 internal_module ltcg