diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-qt5-ecm.patch b/pkgs/tools/inputmethods/fcitx/fcitx-qt5-ecm.patch new file mode 100644 index 00000000000..8fe100dd3b2 --- /dev/null +++ b/pkgs/tools/inputmethods/fcitx/fcitx-qt5-ecm.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b8e729a..ebd3603 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,9 +5,7 @@ project(fcitx-qt5) + set(FcitxQt5_VERSION 1.0.0) + set(REQUIRED_QT_VERSION 5.1.0) + +-find_package(ECM 1.4.0 REQUIRED NO_MODULE) +- +-set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) ++set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + + include(GNUInstallDirs) + include(FeatureSummary) +diff --git a/cmake/FindXKBCommon.cmake b/cmake/FindXKBCommon.cmake +index a645584..de0007d 100644 +--- a/cmake/FindXKBCommon.cmake ++++ b/cmake/FindXKBCommon.cmake +@@ -1,5 +1,5 @@ + +-include(ECMFindModuleHelpersStub) ++include(ECMFindModuleHelpers) + + ecm_find_package_version_check(XKBCommon) + +-- +2.8.0 + diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix index ab139bdb5a7..fc9dd1e6a25 100644 --- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix +++ b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, fcitx, extra-cmake-modules, qtbase }: +{ stdenv, lib, fetchurl, cmake, fcitx, pkgconfig, qtbase, kde5 }: stdenv.mkDerivation rec { name = "fcitx-qt5-${version}"; @@ -9,7 +9,19 @@ stdenv.mkDerivation rec { sha256 = "1pj1b04n8r4kl7jh1qdv0xshgzb3zrmizfa3g5h3yk589h191vwc"; }; - buildInputs = [ cmake fcitx extra-cmake-modules qtbase ]; + # The following is to not have a dependency on kde5 so the plugin can be part of qt5LibsFun + postUnpack = '' + ${lib.concatMapStrings (f: '' + ln -s ${kde5.extra-cmake-modules}/share/ECM/modules/${f} $sourceRoot/cmake/ + '') + [ "ECMFindModuleHelpers.cmake" "ECMGenerateHeaders.cmake" + "ECMPackageConfigHelpers.cmake" "ECMQueryQmake.cmake" + "ECMSetupVersion.cmake" "ECMVersionHeader.h.in" ]} + ''; + + patches = [ ./fcitx-qt5-ecm.patch ]; + + buildInputs = [ cmake fcitx pkgconfig qtbase ]; preInstall = '' substituteInPlace platforminputcontext/cmake_install.cmake \ diff --git a/pkgs/tools/inputmethods/fcitx/wrapper.nix b/pkgs/tools/inputmethods/fcitx/wrapper.nix index 96423cf46e6..8e086f7386f 100644 --- a/pkgs/tools/inputmethods/fcitx/wrapper.nix +++ b/pkgs/tools/inputmethods/fcitx/wrapper.nix @@ -1,9 +1,9 @@ -{ stdenv, symlinkJoin, fcitx, fcitx-configtool, makeWrapper, plugins, kde5 }: +{ stdenv, symlinkJoin, fcitx, fcitx-configtool, makeWrapper, plugins, qt55 }: symlinkJoin { name = "fcitx-with-plugins-${fcitx.version}"; - paths = [ fcitx fcitx-configtool kde5.fcitx-qt5 ] ++ plugins; + paths = [ fcitx fcitx-configtool qt55.fcitx-qt5 ] ++ plugins; buildInputs = [ makeWrapper ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bc994fb3349..24b56ef5d75 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8766,6 +8766,8 @@ in accounts-qt = callPackage ../development/libraries/accounts-qt { }; + fcitx-qt5 = callPackage ../tools/inputmethods/fcitx/fcitx-qt5.nix { }; + grantlee = callPackage ../development/libraries/grantlee/5.x.nix { }; libcommuni = callPackage ../development/libraries/libcommuni { }; @@ -15738,8 +15740,6 @@ in dfilemanager = callPackage ../applications/misc/dfilemanager { }; - fcitx-qt5 = callPackage ../tools/inputmethods/fcitx/fcitx-qt5.nix { }; - k9copy = callPackage ../applications/video/k9copy {}; kdeconnect = callPackage ../applications/misc/kdeconnect { };