about summary refs log tree commit diff
path: root/pkgs/desktops/deepin
diff options
context:
space:
mode:
authorrewine <luhongxu@deepin.org>2023-08-01 17:16:45 +0800
committerrewine <luhongxu@deepin.org>2023-08-01 17:31:30 +0800
commita58db6d363066ea95eddd9cd082d20aa6c15a1db (patch)
treeb244a0f75927817107ba501d2788d9567a1ede84 /pkgs/desktops/deepin
parent356c6dcdf37cfb4162f534e5dcabadddbfbd6bfa (diff)
downloadnixlib-a58db6d363066ea95eddd9cd082d20aa6c15a1db.tar
nixlib-a58db6d363066ea95eddd9cd082d20aa6c15a1db.tar.gz
nixlib-a58db6d363066ea95eddd9cd082d20aa6c15a1db.tar.bz2
nixlib-a58db6d363066ea95eddd9cd082d20aa6c15a1db.tar.lz
nixlib-a58db6d363066ea95eddd9cd082d20aa6c15a1db.tar.xz
nixlib-a58db6d363066ea95eddd9cd082d20aa6c15a1db.tar.zst
nixlib-a58db6d363066ea95eddd9cd082d20aa6c15a1db.zip
deepin.dde-calendar: 5.8.30 -> 5.10.1
Diffstat (limited to 'pkgs/desktops/deepin')
-rw-r--r--pkgs/desktops/deepin/core/dde-calendar/default.nix59
-rw-r--r--pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff13
2 files changed, 35 insertions, 37 deletions
diff --git a/pkgs/desktops/deepin/core/dde-calendar/default.nix b/pkgs/desktops/deepin/core/dde-calendar/default.nix
index f3023c7cb9f3..62e8399ff253 100644
--- a/pkgs/desktops/deepin/core/dde-calendar/default.nix
+++ b/pkgs/desktops/deepin/core/dde-calendar/default.nix
@@ -1,53 +1,40 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
-, dtkwidget
-, qt5integration
-, qt5platform-plugins
-, dde-qt-dbus-factory
 , cmake
 , qttools
 , pkg-config
 , wrapQtAppsHook
-, runtimeShell
+, dtkwidget
+, qt5integration
+, qt5platform-plugins
+, dde-qt-dbus-factory
 , qtbase
-, gtest
+, qtsvg
+, libical
+, sqlite
+, runtimeShell
 }:
 
 stdenv.mkDerivation rec {
   pname = "dde-calendar";
-  version = "5.8.30";
+  version = "5.10.1";
 
   src = fetchFromGitHub {
     owner = "linuxdeepin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8/UXq9W3Gb1Lg/nOji6zcHJts6lgY2uDxvrBxQs3Zio=";
+    hash = "sha256-oPrtPOCLZof4BysWfsCYeoqbJf30r7LijGEEXZlsAAY=";
   };
 
   patches = [
-    (fetchpatch {
-      name = "chore-use-GNUInstallDirs-in-CmakeLists.patch";
-      url = "https://github.com/linuxdeepin/dde-calendar/commit/b9d9555d90a36318eeee62ece49250b4bf8acd10.patch";
-      sha256 = "sha256-pvgxZPczs/lkwNjysNuVu+1AY69VZlxOn7hR9A02/3M=";
-    })
+    ./fix-wrapped-name-not-in-whitelist.diff
   ];
 
   postPatch = ''
-    substituteInPlace calendar-service/src/dbmanager/huanglidatabase.cpp \
-      --replace "/usr/share/dde-calendar/data/huangli.db" "$out/share/dde-calendar/data/huangli.db"
-    substituteInPlace calendar-service/src/main.cpp \
-      --replace "/usr/share/dde-calendar/translations" "$out/share/dde-calendar/translations"
-    substituteInPlace calendar-service/assets/data/com.deepin.dataserver.Calendar.service \
-      --replace "/usr/lib/deepin-daemon/dde-calendar-service" "$out/lib/deepin-daemon/dde-calendar-service"
-    substituteInPlace calendar-client/assets/dbus/com.deepin.Calendar.service \
-      --replace "/usr/bin/dde-calendar" "$out/bin/dde-calendar"
-    substituteInPlace calendar-service/{src/{csystemdtimercontrol.cpp,jobremindmanager.cpp},assets/{data/com.dde.calendarserver.calendar.service,dde-calendar-service.desktop}} \
-      --replace "/bin/bash" "${runtimeShell}"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "ADD_SUBDIRECTORY(tests)" " "
+    for file in $(grep -rl "/bin/bash"); do
+      substituteInPlace $file --replace "/bin/bash" "${runtimeShell}"
+    done
   '';
 
   nativeBuildInputs = [
@@ -58,22 +45,19 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    dtkwidget
+    qt5integration
     qt5platform-plugins
+    dtkwidget
+    qtbase
+    qtsvg
     dde-qt-dbus-factory
-    gtest
+    libical
+    sqlite
   ];
 
   cmakeFlags = [ "-DVERSION=${version}" ];
 
-  # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH
-  qtWrapperArgs = [
-    "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}"
-  ];
-
-  postFixup = ''
-    wrapQtApp $out/lib/deepin-daemon/dde-calendar-service
-  '';
+  strictDeps = true;
 
   meta = with lib; {
     description = "Calendar for Deepin Desktop Environment";
@@ -83,3 +67,4 @@ stdenv.mkDerivation rec {
     maintainers = teams.deepin.members;
   };
 }
+
diff --git a/pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff b/pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff
new file mode 100644
index 000000000000..a139c4690a89
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-calendar/fix-wrapped-name-not-in-whitelist.diff
@@ -0,0 +1,13 @@
+diff --git a/calendar-service/src/dbusservice/dservicebase.cpp b/calendar-service/src/dbusservice/dservicebase.cpp
+index ac182881..93a9c2d8 100644
+--- a/calendar-service/src/dbusservice/dservicebase.cpp
++++ b/calendar-service/src/dbusservice/dservicebase.cpp
+@@ -52,6 +52,8 @@ bool DServiceBase::clientWhite(const int index)
+             return true;
+         }
+     }
++    if (getClientName().contains("dde-calendar"))
++    	return true;
+     return false;
+ #else
+     Q_UNUSED(index)