diff --git a/pkgs/desktops/deepin/core/dde-launcher/default.nix b/pkgs/desktops/deepin/core/dde-launcher/default.nix new file mode 100644 index 000000000000..cd73cf8dc7e0 --- /dev/null +++ b/pkgs/desktops/deepin/core/dde-launcher/default.nix @@ -0,0 +1,73 @@ +{ stdenv +, lib +, fetchFromGitHub +, dtkwidget +, dde-qt-dbus-factory +, qt5integration +, qt5platform-plugins +, cmake +, qttools +, qtx11extras +, pkg-config +, wrapQtAppsHook +, wrapGAppsHook +, gsettings-qt +, gtest +, qtbase +}: + +stdenv.mkDerivation rec { + pname = "dde-launcher"; + version = "5.6.1"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "sha256-Td8R91892tgJx7FLV2IZ/aPBzDb+o6EYKpk3D8On7Ag="; + }; + + postPatch = '' + substituteInPlace src/boxframe/{backgroundmanager.cpp,boxframe.cpp} \ + --replace "/usr/share/backgrounds" "/run/current-system/sw/share/backgrounds" + substituteInPlace dde-launcher.desktop dde-launcher-wapper src/dbusservices/com.deepin.dde.Launcher.service \ + --replace "/usr" "$out" + ''; + + nativeBuildInputs = [ + cmake + qttools + pkg-config + wrapQtAppsHook + wrapGAppsHook + ]; + dontWrapGApps = true; + + buildInputs = [ + dtkwidget + qt5platform-plugins + dde-qt-dbus-factory + qtx11extras + gsettings-qt + gtest + ]; + + cmakeFlags = [ "-DVERSION=${version}" ]; + + # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH + qtWrapperArgs = [ + "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}" + ]; + + preFixup = '' + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = with lib; { + description = "Deepin desktop-environment - Launcher module"; + homepage = "https://github.com/linuxdeepin/dde-launcher"; + 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 ca0fa28c895a..00918e1b16f8 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -33,6 +33,7 @@ let dde-control-center = callPackage ./core/dde-control-center { }; dde-calendar = callPackage ./core/dde-calendar { }; dde-dock = callPackage ./core/dde-dock { }; + dde-launcher = callPackage ./core/dde-launcher { }; dde-polkit-agent = callPackage ./core/dde-polkit-agent { }; dpa-ext-gnomekeyring = callPackage ./core/dpa-ext-gnomekeyring { };