about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorNick Cao <nickcao@nichi.co>2023-02-22 09:04:30 +0800
committerGitHub <noreply@github.com>2023-02-22 09:04:30 +0800
commit3836b0f42a58bbc265cde99e74b0697b000a2f72 (patch)
tree9d86a70b4137b47a3ff068a0311847f8da56654f /pkgs/desktops
parent5eaecbfc3c69065887eb924d459cded3a15b456c (diff)
parente5d7a2eada0f1d0fe1ff4b172fb5dbe781caf0ba (diff)
Merge pull request #217446 from wineee/dde-calendar
deepin.dde-calendar: init at 5.8.30
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/deepin/core/dde-calendar/default.nix82
-rw-r--r--pkgs/desktops/deepin/default.nix1
2 files changed, 83 insertions, 0 deletions
diff --git a/pkgs/desktops/deepin/core/dde-calendar/default.nix b/pkgs/desktops/deepin/core/dde-calendar/default.nix
new file mode 100644
index 0000000000000..eeed587c3747a
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-calendar/default.nix
@@ -0,0 +1,82 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, dtkwidget
+, qt5integration
+, qt5platform-plugins
+, dde-qt-dbus-factory
+, cmake
+, qttools
+, pkg-config
+, wrapQtAppsHook
+, runtimeShell
+, qtbase
+, gtest
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dde-calendar";
+  version = "5.8.30";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-8/UXq9W3Gb1Lg/nOji6zcHJts6lgY2uDxvrBxQs3Zio=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "chore: use GNUInstallDirs in CmakeLists";
+      url = "https://github.com/linuxdeepin/dde-calendar/commit/b9d9555d90a36318eeee62ece49250b4bf8acd10.patch";
+      sha256 = "sha256-pvgxZPczs/lkwNjysNuVu+1AY69VZlxOn7hR9A02/3M=";
+    })
+  ];
+
+  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}"
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    qttools
+    pkg-config
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    dtkwidget
+    qt5platform-plugins
+    dde-qt-dbus-factory
+    gtest
+  ];
+
+  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
+  '';
+
+  meta = with lib; {
+    description = "Calendar for Deepin Desktop Environment";
+    homepage = "https://github.com/linuxdeepin/dde-calendar";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = teams.deepin.members;
+  };
+}
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 653372d47ffa0..f8fb4f56ed1d5 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-calendar = callPackage ./core/dde-calendar { };
     dde-polkit-agent = callPackage ./core/dde-polkit-agent { };
     dpa-ext-gnomekeyring = callPackage ./core/dpa-ext-gnomekeyring { };