about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorrewine <luhongxu@deepin.org>2023-01-12 15:32:53 +0800
committerrewine <lhongxu@outlook.com>2023-04-23 18:09:44 +0800
commit952dceb87b2ebf6ba011ac029b138b2c482b9202 (patch)
tree5320869ff704aba848b7d718fd8abc6596a3f658 /pkgs/desktops
parenta89f0a0e0734b33e2d153f5e6c5099dfd9223eb1 (diff)
downloadnixlib-952dceb87b2ebf6ba011ac029b138b2c482b9202.tar
nixlib-952dceb87b2ebf6ba011ac029b138b2c482b9202.tar.gz
nixlib-952dceb87b2ebf6ba011ac029b138b2c482b9202.tar.bz2
nixlib-952dceb87b2ebf6ba011ac029b138b2c482b9202.tar.lz
nixlib-952dceb87b2ebf6ba011ac029b138b2c482b9202.tar.xz
nixlib-952dceb87b2ebf6ba011ac029b138b2c482b9202.tar.zst
nixlib-952dceb87b2ebf6ba011ac029b138b2c482b9202.zip
deepin.dde-kwin: init at 5.6.5
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/deepin/core/dde-kwin/default.nix92
-rw-r--r--pkgs/desktops/deepin/default.nix1
2 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/desktops/deepin/core/dde-kwin/default.nix b/pkgs/desktops/deepin/core/dde-kwin/default.nix
new file mode 100644
index 000000000000..bf1ca7317a40
--- /dev/null
+++ b/pkgs/desktops/deepin/core/dde-kwin/default.nix
@@ -0,0 +1,92 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, extra-cmake-modules
+, deepin-gettext-tools
+, wrapQtAppsHook
+, makeWrapper
+, dtkcore
+, qtbase
+, qtx11extras
+, gsettings-qt
+, xorg
+, libepoxy
+, deepin-kwin
+, kdecoration
+, kconfig
+, kwayland
+, kwindowsystem
+, kglobalaccel
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dde-kwin";
+  version = "5.6.5";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = "b5c00527b86f773595c786c8015d60f8be3a681b";
+    sha256 = "sha256-qXN9AwjLnqO5BpnrX5PaSCKZ6ff874r08ubCMM272tA=";
+  };
+
+  /*
+    This is the final version of dde-kwin, upstream has been archived.
+    We should remove this package when deepin-kwin release a new version.
+  */
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr/include/KWaylandServer" "${kwayland.dev}/include/KWaylandServer"
+    substituteInPlace deepin-wm-dbus/deepinwmfaker.cpp \
+      --replace "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon" \
+      --replace "/usr/share/backgrounds" "/run/current-system/sw/share/backgrounds" \
+      --replace "/usr/share/wallpapers" "/run/current-system/sw/share/wallpapers"
+    patchShebangs .
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    extra-cmake-modules
+    deepin-gettext-tools
+    wrapQtAppsHook
+    makeWrapper
+  ];
+
+  buildInputs = [
+    dtkcore
+    qtbase
+    qtx11extras
+    gsettings-qt
+    xorg.libXdmcp
+    libepoxy
+    deepin-kwin
+    kdecoration
+    kconfig
+    kwayland
+    kwindowsystem
+    kglobalaccel
+  ];
+
+  cmakeFlags = [
+    "-DPROJECT_VERSION=${version}"
+    "-DQT_INSTALL_PLUGINS=${placeholder "out"}/${qtbase.qtPluginPrefix}"
+  ];
+
+  # kwin_no_scale is a shell script
+  postFixup = ''
+    wrapProgram $out/bin/kwin_no_scale \
+      --set QT_QPA_PLATFORM_PLUGIN_PATH "${placeholder "out"}/${qtbase.qtPluginPrefix}"
+  '';
+
+  meta = with lib; {
+    description = "KWin configuration for Deepin Desktop Environment";
+    homepage = "https://github.com/linuxdeepin/dde-kwin";
+    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 2f7eb9e32908..7f89e20a7a34 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -23,6 +23,7 @@ let
     util-dfm = callPackage ./library/util-dfm { };
 
     #### CORE
+    dde-kwin = callPackage ./core/dde-kwin { };
     deepin-kwin = callPackage ./core/deepin-kwin { };
     dde-app-services = callPackage ./core/dde-app-services { };
     dde-control-center = callPackage ./core/dde-control-center { };