diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-ecm.patch b/pkgs/tools/inputmethods/fcitx/fcitx-ecm.patch new file mode 100644 index 000000000000..8a886f2bc78e --- /dev/null +++ b/pkgs/tools/inputmethods/fcitx/fcitx-ecm.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fd54ad8..ebb33d0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,8 +5,7 @@ project(fcitx) + set(version 4.2.9) + + +-find_package(ECM 0.0.11 REQUIRED NO_MODULE) +-set(CMAKE_MODULE_PATH "${ECM_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) ++set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) + set(CMAKE_AUTOMOC_RELAXED_MODE TRUE) + + set_property(GLOBAL PROPERTY "__FCITX_INTERNAL_BUILD" On) +--- 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-ecm.patch b/pkgs/tools/inputmethods/fcitx/fcitx-qt5-ecm.patch deleted file mode 100644 index 8fe100dd3b24..000000000000 --- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5-ecm.patch +++ /dev/null @@ -1,29 +0,0 @@ -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 3f421e327d71..fc9dd1e6a253 100644 --- a/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix +++ b/pkgs/tools/inputmethods/fcitx/fcitx-qt5.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, cmake, fcitx, pkgconfig, qtbase, extra-cmake-modules }: +{ stdenv, lib, fetchurl, cmake, fcitx, pkgconfig, qtbase, kde5 }: stdenv.mkDerivation rec { name = "fcitx-qt5-${version}"; @@ -9,9 +9,19 @@ stdenv.mkDerivation rec { sha256 = "1pj1b04n8r4kl7jh1qdv0xshgzb3zrmizfa3g5h3yk589h191vwc"; }; - nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig ]; + # 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" ]} + ''; - buildInputs = [ fcitx qtbase ]; + patches = [ ./fcitx-qt5-ecm.patch ]; + + buildInputs = [ cmake fcitx pkgconfig qtbase ]; preInstall = '' substituteInPlace platforminputcontext/cmake_install.cmake \