From c550f2bcab60865ade81a3d09f57df72072931b1 Mon Sep 17 00:00:00 2001 From: linsui Date: Mon, 31 Jul 2023 16:09:18 +0800 Subject: [PATCH 1/3] fcitx5: pass FCITX_ADDON_DIRS to fcitx5-qt via configtool --- pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix | 2 -- pkgs/tools/inputmethods/fcitx5/with-addons.nix | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix index 8adc271ff8ff..24019041eb19 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix @@ -48,8 +48,6 @@ mkDerivation rec { libXdmcp ]; - qtWrapperArgs = [ "--prefix" "FCITX_ADDON_DIRS" ":" "${placeholder "out"}/lib/fcitx5" ]; - meta = with lib; { description = "Fcitx5 Qt Library"; homepage = "https://github.com/fcitx/fcitx5-qt"; diff --git a/pkgs/tools/inputmethods/fcitx5/with-addons.nix b/pkgs/tools/inputmethods/fcitx5/with-addons.nix index d2d1e2f992ae..cf8e72f1f70d 100644 --- a/pkgs/tools/inputmethods/fcitx5/with-addons.nix +++ b/pkgs/tools/inputmethods/fcitx5/with-addons.nix @@ -1,4 +1,12 @@ -{ lib, symlinkJoin, makeWrapper, fcitx5, fcitx5-configtool, fcitx5-qt, fcitx5-gtk, addons ? [ ] }: +{ lib +, symlinkJoin +, makeWrapper +, fcitx5 +, fcitx5-configtool +, fcitx5-qt +, fcitx5-gtk +, addons ? [ ] +}: symlinkJoin { name = "fcitx5-with-addons-${fcitx5.version}"; @@ -14,6 +22,11 @@ symlinkJoin { --suffix PATH : "$out/bin" \ --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath (lib.flatten (map (x: x.extraLdLibraries or []) addons))} + ${lib.optionalString (fcitx5-configtool != null)'' + # Configtool call libexec/fcitx5-qt5-gui-wrapper for gui addons in FCITX_ADDON_DIRS + wrapProgram $out/bin/fcitx5-config-qt --prefix FCITX_ADDON_DIRS : "$out/lib/fcitx5" + ''} + desktop=share/applications/org.fcitx.Fcitx5.desktop autostart=etc/xdg/autostart/org.fcitx.Fcitx5.desktop rm $out/$desktop From f38a3fd6bd6a017b3ecfcd6b58bbf3b92dd9fbf1 Mon Sep 17 00:00:00 2001 From: linsui Date: Mon, 31 Jul 2023 16:08:22 +0800 Subject: [PATCH 2/3] fcitx5: use makeBinaryWrapper --- pkgs/tools/inputmethods/fcitx5/with-addons.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx5/with-addons.nix b/pkgs/tools/inputmethods/fcitx5/with-addons.nix index cf8e72f1f70d..9268147b96be 100644 --- a/pkgs/tools/inputmethods/fcitx5/with-addons.nix +++ b/pkgs/tools/inputmethods/fcitx5/with-addons.nix @@ -1,6 +1,6 @@ { lib , symlinkJoin -, makeWrapper +, makeBinaryWrapper , fcitx5 , fcitx5-configtool , fcitx5-qt @@ -13,14 +13,14 @@ symlinkJoin { paths = [ fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk ] ++ addons; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeBinaryWrapper ]; postBuild = '' wrapProgram $out/bin/fcitx5 \ --prefix FCITX_ADDON_DIRS : "$out/lib/fcitx5" \ --suffix XDG_DATA_DIRS : "$out/share" \ --suffix PATH : "$out/bin" \ - --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath (lib.flatten (map (x: x.extraLdLibraries or []) addons))} + --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.flatten (map (x: x.extraLdLibraries or []) addons))}" ${lib.optionalString (fcitx5-configtool != null)'' # Configtool call libexec/fcitx5-qt5-gui-wrapper for gui addons in FCITX_ADDON_DIRS From 6750d3cbdd596505c54ffda9da634f0b39b1f0e0 Mon Sep 17 00:00:00 2001 From: linsui Date: Mon, 14 Aug 2023 16:52:30 +0800 Subject: [PATCH 3/3] fcitx5-with-addons: add withConfigtool option --- pkgs/tools/inputmethods/fcitx5/with-addons.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx5/with-addons.nix b/pkgs/tools/inputmethods/fcitx5/with-addons.nix index 9268147b96be..e2870dc1f561 100644 --- a/pkgs/tools/inputmethods/fcitx5/with-addons.nix +++ b/pkgs/tools/inputmethods/fcitx5/with-addons.nix @@ -2,6 +2,7 @@ , symlinkJoin , makeBinaryWrapper , fcitx5 +, withConfigtool ? true , fcitx5-configtool , fcitx5-qt , fcitx5-gtk @@ -11,7 +12,13 @@ symlinkJoin { name = "fcitx5-with-addons-${fcitx5.version}"; - paths = [ fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk ] ++ addons; + paths = [ + fcitx5 + fcitx5-qt + fcitx5-gtk + ] ++ lib.optionals withConfigtool [ + fcitx5-configtool + ] ++ addons; nativeBuildInputs = [ makeBinaryWrapper ]; @@ -22,7 +29,7 @@ symlinkJoin { --suffix PATH : "$out/bin" \ --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.flatten (map (x: x.extraLdLibraries or []) addons))}" - ${lib.optionalString (fcitx5-configtool != null)'' + ${lib.optionals withConfigtool '' # Configtool call libexec/fcitx5-qt5-gui-wrapper for gui addons in FCITX_ADDON_DIRS wrapProgram $out/bin/fcitx5-config-qt --prefix FCITX_ADDON_DIRS : "$out/lib/fcitx5" ''}