From 28f26c27e076d78d266a8af4c894c4252f78ae96 Mon Sep 17 00:00:00 2001 From: rewine Date: Thu, 12 Jan 2023 16:06:06 +0800 Subject: [PATCH] deepin.dde-control-center: init at 5.5.164 --- .../core/dde-control-center/default.nix | 144 ++++++++++++++++++ ...endUserLicenseAgreement-for-deepinos.patch | 29 ++++ .../fix-svg-render-for-themeitem.patch | 61 ++++++++ pkgs/desktops/deepin/default.nix | 1 + 4 files changed, 235 insertions(+) create mode 100644 pkgs/desktops/deepin/core/dde-control-center/default.nix create mode 100644 pkgs/desktops/deepin/core/dde-control-center/dont-show-endUserLicenseAgreement-for-deepinos.patch create mode 100644 pkgs/desktops/deepin/core/dde-control-center/fix-svg-render-for-themeitem.patch diff --git a/pkgs/desktops/deepin/core/dde-control-center/default.nix b/pkgs/desktops/deepin/core/dde-control-center/default.nix new file mode 100644 index 000000000000000..90f8f46b54ec04e --- /dev/null +++ b/pkgs/desktops/deepin/core/dde-control-center/default.nix @@ -0,0 +1,144 @@ +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, replaceAll +, dtkwidget +, substituteAll +, qt5integration +, qt5platform-plugins +, dde-qt-dbus-factory +, deepin-pw-check +, deepin-desktop-schemas +, udisks2-qt5 +, cmake +, qttools +, qtbase +, pkg-config +, qtx11extras +, qtmultimedia +, wrapQtAppsHook +, wrapGAppsHook +, gsettings-qt +, wayland +, kwayland +, qtwayland +, polkit-qt +, pcre +, xorg +, util-linux +, libselinux +, libsepol +, libxcrypt +, networkmanager-qt +, glib +, runtimeShell +, tzdata +, dbus +}: + +stdenv.mkDerivation rec { + pname = "dde-control-center"; + version = "5.5.164"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "sha256-Pd1vCkA0vDC6aGTt1hXreIxTi9feBWNZZhIdpjf26iw="; + }; + + patches = [ + (fetchpatch { + name = "fix info for other distributions"; + url = "https://github.com/linuxdeepin/dde-control-center/commit/32394aa84f4b575e0a84a0813ba07b72cb1ba137.patch"; + sha256 = "sha256-r21oczFyhKarMuEkL8Ruzd8jqB/T+MfuUGrLNeQdZB8="; + }) + ./fix-svg-render-for-themeitem.patch + ./dont-show-endUserLicenseAgreement-for-deepinos.patch + ]; + + postPatch = replaceAll "/bin/bash" "${runtimeShell}" + + replaceAll "/usr/lib/dde-control-center" "/run/current-system/sw/lib/dde-control-center" + + replaceAll "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + + replaceAll "/usr/bin/dbus-send" "${dbus}/bin/dbus-send" + + replaceAll "/usr/bin/abrecovery" "abrecovery" + '' + substituteInPlace CMakeLists.txt --replace 'add_subdirectory("tests")' ' ' + + substituteInPlace dde-control-center-autostart.desktop com.deepin.dde.ControlCenter.service \ + --replace "/usr" "$out" + + substituteInPlace abrecovery/main.cpp include/widgets/utils.h src{reboot-reminder-dialog/main.cpp,frame/main.cpp,reset-password-dialog/main.cpp} \ + --replace "/usr/share/dde-control-center" "$out/share/dde-control-center" + + # default path for QFileDialog::getOpenFileName + substituteInPlace src/frame/modules/keyboard/customedit.cpp \ + --replace "/usr/bin" "/run/current-system/sw/bin" + + substituteInPlace dde-control-center-wapper \ + --replace "qdbus" "${qttools.bin}/bin/qdbus" \ + --replace "/usr/share" "$out/share" + + substituteInPlace src/frame/window/mainwindow.cpp \ + --replace "/usr/share/icons/bloom/apps/64/preferences-system.svg" "preferences-system.svg" + ''; + + nativeBuildInputs = [ + cmake + qttools + pkg-config + wrapQtAppsHook + wrapGAppsHook + ]; + dontWrapGApps = true; + + buildInputs = [ + qtbase + dtkwidget + qt5platform-plugins + dde-qt-dbus-factory + deepin-pw-check + deepin-desktop-schemas + qtx11extras + qtmultimedia + gsettings-qt + udisks2-qt5 + wayland + kwayland + qtwayland + polkit-qt + pcre + xorg.libXdmcp + util-linux + libselinux + libsepol + libxcrypt + networkmanager-qt + ]; + + cmakeFlags = [ + "-DCVERSION=${version}" + "-DDISABLE_AUTHENTICATION=YES" + "-DDISABLE_ACTIVATOR=YES" + "-DDISABLE_SYS_UPDATE=YES" + "-DDISABLE_RECOVERY=YES" + ]; + + # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH + qtWrapperArgs = [ + "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}" + ]; + + preFixup = '' + glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"} + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = with lib; { + description = "Control panel of Deepin Desktop Environment"; + homepage = "https://github.com/linuxdeepin/dde-control-center"; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + maintainers = teams.deepin.members; + }; +} diff --git a/pkgs/desktops/deepin/core/dde-control-center/dont-show-endUserLicenseAgreement-for-deepinos.patch b/pkgs/desktops/deepin/core/dde-control-center/dont-show-endUserLicenseAgreement-for-deepinos.patch new file mode 100644 index 000000000000000..491007ea2bf3976 --- /dev/null +++ b/pkgs/desktops/deepin/core/dde-control-center/dont-show-endUserLicenseAgreement-for-deepinos.patch @@ -0,0 +1,29 @@ +From adcc5eb58e2dcd06810a40c237bc7984c2c5af4b Mon Sep 17 00:00:00 2001 +From: rewine +Date: Sun, 8 Jan 2023 13:46:17 +0800 +Subject: [PATCH] dont show endUserLicenseAgreement for deepinos + +--- + src/frame/window/modules/systeminfo/systeminfowidget.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/frame/window/modules/systeminfo/systeminfowidget.cpp b/src/frame/window/modules/systeminfo/systeminfowidget.cpp +index 8e62604fb..0f443ee20 100644 +--- a/src/frame/window/modules/systeminfo/systeminfowidget.cpp ++++ b/src/frame/window/modules/systeminfo/systeminfowidget.cpp +@@ -78,6 +78,12 @@ void SystemInfoWidget::initData() + m_listView->setRowHidden(i, true); + } + } ++ ++ if (IsNotDeepinUos) { ++ if (m.gsettingsName == "endUserLicenseAgreement") { ++ m_listView->setRowHidden(i, true); ++ } ++ } + } + + if (InsertPlugin::instance()->updatePluginInfo("systeminfo")) +-- +2.38.1 + diff --git a/pkgs/desktops/deepin/core/dde-control-center/fix-svg-render-for-themeitem.patch b/pkgs/desktops/deepin/core/dde-control-center/fix-svg-render-for-themeitem.patch new file mode 100644 index 000000000000000..0d1f591dbab8706 --- /dev/null +++ b/pkgs/desktops/deepin/core/dde-control-center/fix-svg-render-for-themeitem.patch @@ -0,0 +1,61 @@ +From 84bd7e4fcd34f463bc8cae0dc33849dc62edbb0d Mon Sep 17 00:00:00 2001 +From: rewine +Date: Thu, 22 Dec 2022 21:42:42 +0800 +Subject: [PATCH] fix-svg-render-for-themeitem + +--- + src/frame/window/modules/personalization/themeitempic.cpp | 7 ++++--- + src/frame/window/modules/personalization/themeitempic.h | 4 ++-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/src/frame/window/modules/personalization/themeitempic.cpp b/src/frame/window/modules/personalization/themeitempic.cpp +index 526ae426c..c9ecb00eb 100644 +--- a/src/frame/window/modules/personalization/themeitempic.cpp ++++ b/src/frame/window/modules/personalization/themeitempic.cpp +@@ -23,7 +23,7 @@ using DTK_GUI_NAMESPACE::DSvgRenderer; + ThemeItemPic::ThemeItemPic(QWidget *parent) + : QWidget(parent) + , m_isSelected(false) +- , render(new DSvgRenderer()) ++ , render(new QSvgRenderer()) + { + } + +@@ -79,9 +79,10 @@ void ThemeItemPic::paintEvent(QPaintEvent *event) + //first draw image + const auto ratio = devicePixelRatioF(); + QSize defaultSize = render->defaultSize() * ratio; +- QImage img = render->toImage(defaultSize); ++ //QImage img = render->toImage(defaultSize); + QRect picRect = rect().adjusted(totalSpace, totalSpace, -totalSpace, -totalSpace); +- painter.drawImage(picRect, img, img.rect()); ++ //painter.drawImage(picRect, img, img.rect()); ++ render->render(&painter, picRect); + + //second draw picture rounded rect bound + QPen pen; +diff --git a/src/frame/window/modules/personalization/themeitempic.h b/src/frame/window/modules/personalization/themeitempic.h +index 9fe5fc1ab..34454bb72 100644 +--- a/src/frame/window/modules/personalization/themeitempic.h ++++ b/src/frame/window/modules/personalization/themeitempic.h +@@ -6,7 +6,7 @@ + + #include "interface/namespace.h" + +-#include ++#include + + #include + +@@ -33,7 +33,7 @@ protected: + + private: + bool m_isSelected = false; +- DTK_GUI_NAMESPACE::DSvgRenderer *render; ++ QSvgRenderer *render; + }; + } + } +-- +2.38.1 + diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix index f9bbf7df5eb7360..c61d4d724c7b682 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -30,6 +30,7 @@ let udisks2-qt5 = callPackage ./library/udisks2-qt5 { }; #### CORE + dde-control-center = callPackage ./core/dde-control-center { }; dde-calendar = callPackage ./core/dde-calendar { }; dde-polkit-agent = callPackage ./core/dde-polkit-agent { }; dpa-ext-gnomekeyring = callPackage ./core/dpa-ext-gnomekeyring { };