about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/deepin/core/deepin-kwin/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/deepin/core/deepin-kwin/default.nix')
-rw-r--r--nixpkgs/pkgs/desktops/deepin/core/deepin-kwin/default.nix117
1 files changed, 117 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/deepin/core/deepin-kwin/default.nix b/nixpkgs/pkgs/desktops/deepin/core/deepin-kwin/default.nix
new file mode 100644
index 000000000000..03e40357317c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/deepin/core/deepin-kwin/default.nix
@@ -0,0 +1,117 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, wayland
+, dwayland
+, qtbase
+, qttools
+, qtx11extras
+, wrapQtAppsHook
+, extra-cmake-modules
+, gsettings-qt
+, libepoxy
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kcrash
+, kdbusaddons
+, kiconthemes
+, kglobalaccel
+, kidletime
+, knotifications
+, kpackage
+, plasma-framework
+, kcmutils
+, knewstuff
+, kdecoration
+, kscreenlocker
+, breeze-qt5
+, libinput
+, mesa
+, lcms2
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "deepin-kwin";
+  version = "5.25.11";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    hash = "sha256-J92T1hsRmmtkjF9OPsrikRtd7bQSEG88UOYu+BHUSx0=";
+  };
+
+  patches = [
+    ./0001-hardcode-fallback-background.diff
+  ];
+
+  # Avoid using absolute path to distinguish applications
+  postPatch = ''
+    substituteInPlace src/effects/screenshot/screenshotdbusinterface1.cpp \
+      --replace 'file.readAll().startsWith(DEFINE_DDE_DOCK_PATH"dde-dock")' 'file.readAll().contains("dde-dock")'
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    extra-cmake-modules
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qttools
+    qtx11extras
+    wayland
+    dwayland
+    libepoxy
+    gsettings-qt
+
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kcrash
+    kdbusaddons
+    kiconthemes
+
+    kglobalaccel
+    kidletime
+    knotifications
+    kpackage
+    plasma-framework
+    kcmutils
+    knewstuff
+    kdecoration
+    kscreenlocker
+
+    breeze-qt5
+    libinput
+    mesa
+    lcms2
+
+    xorg.libxcb
+    xorg.libXdmcp
+    xorg.libXcursor
+    xorg.xcbutilcursor
+    xorg.libXtst
+    xorg.libXScrnSaver
+  ];
+
+  cmakeFlags = [
+    "-DKWIN_BUILD_RUNNERS=OFF"
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  meta = with lib; {
+    description = "Fork of kwin, an easy to use, but flexible, composited Window Manager";
+    homepage = "https://github.com/linuxdeepin/deepin-kwin";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = teams.deepin.members;
+  };
+}