From 42aff71ce04153fda62eb40b4b651f7410423e25 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 24 Jun 2025 01:19:15 +0000 Subject: automatic import of fcitx5 --- .gitignore | 1 + fcitx5-disab-dbus-tests.patch | 11 +++ fcitx5-xinput | 22 ++++++ fcitx5.sh | 10 +++ fcitx5.spec | 180 ++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 6 files changed, 225 insertions(+) create mode 100644 fcitx5-disab-dbus-tests.patch create mode 100644 fcitx5-xinput create mode 100755 fcitx5.sh create mode 100644 fcitx5.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..3b7d4f8 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/fcitx5-5.1.10_dict.tar.zst diff --git a/fcitx5-disab-dbus-tests.patch b/fcitx5-disab-dbus-tests.patch new file mode 100644 index 0000000..69e7571 --- /dev/null +++ b/fcitx5-disab-dbus-tests.patch @@ -0,0 +1,11 @@ +--- fcitx5-5.1.10/test/CMakeLists.txt.orig 2024-11-20 13:04:35.212500434 +0800 ++++ fcitx5-5.1.10/test/CMakeLists.txt 2024-11-20 13:04:48.594686421 +0800 +@@ -40,7 +40,7 @@ + add_executable(XvfbWrapper IMPORTED) + set_target_properties(XvfbWrapper PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/xvfb_wrapper.sh") + +-if (ENABLE_DBUS) ++if (0) + find_program(DBUS_DAEMON_BIN dbus-daemon) + add_executable(DBusWrapper IMPORTED) + set_target_properties(DBusWrapper PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/dbus_wrapper.sh") diff --git a/fcitx5-xinput b/fcitx5-xinput new file mode 100644 index 0000000..e1ca1a9 --- /dev/null +++ b/fcitx5-xinput @@ -0,0 +1,22 @@ +IMSETTINGS_IGNORE_SESSION=*-wayland +XIM=fcitx5 +XIM_PROGRAM=/usr/bin/fcitx5 +ICON="fcitx5" +XIM_ARGS="-D" +PREFERENCE_PROGRAM=/usr/bin/fcitx5-configtool +SHORT_DESC="fcitx5" +GTK_IM_MODULE=fcitx +if test -f /usr/lib/qt4/plugins/inputmethods/qtim-fcitx5.so || \ + test -f /usr/lib64/qt4/plugins/inputmethods/qtim-fcitx5.so || \ + test -f /usr/lib/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so || \ + test -f /usr/lib64/qt5/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so; +then + QT_IM_MODULE=fcitx +else + QT_IM_MODULE=xim +fi + +# workaround for gnome users +if [ "$XDG_SESSION_DESKTOP" = "gnome" ]; then + /usr/bin/systemd-run --user --unit=$XIM $XIM_PROGRAM $XIM_ARGS +fi diff --git a/fcitx5.sh b/fcitx5.sh new file mode 100755 index 0000000..f121213 --- /dev/null +++ b/fcitx5.sh @@ -0,0 +1,10 @@ +if [ ! "$XDG_SESSION_TYPE" = "tty" ] # if this is a gui session (not tty) +then + # let's use fcitx instead of fcitx5 to make flatpak happy + # this may break behavior for users who have installed both + # fcitx and fcitx5, let then change the file on their own + export INPUT_METHOD=fcitx + export GTK_IM_MODULE=fcitx + export QT_IM_MODULE=fcitx + export XMODIFIERS=@im=fcitx +fi diff --git a/fcitx5.spec b/fcitx5.spec new file mode 100644 index 0000000..db6b6df --- /dev/null +++ b/fcitx5.spec @@ -0,0 +1,180 @@ +%global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/fcitx5.conf + +Name: fcitx5 +Version: 5.1.10 +Release: 2 +Summary: Next generation of fcitx +License: LGPL-2.1-or-later +URL: https://github.com/fcitx/fcitx5 +Source0: https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-%{version}_dict.tar.zst +Source1: fcitx5-xinput +Source2: fcitx5.sh +Patch0: fcitx5-disab-dbus-tests.patch + +BuildRequires: cmake +BuildRequires: ninja-build +BuildRequires: gnupg2 +BuildRequires: desktop-file-utils +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: systemd +BuildRequires: pkgconfig(cairo) +BuildRequires: cldr-emoji-annotation-devel +BuildRequires: pkgconfig(dri) +BuildRequires: pkgconfig(enchant-2) +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(fmt) +BuildRequires: pkgconfig(gdk-pixbuf-2.0) +BuildRequires: pkgconfig(iso-codes) +BuildRequires: pkgconfig(json-c) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(uuid) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(wayland-egl) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xkbcommon-x11) +BuildRequires: pkgconfig(xkbfile) +BuildRequires: pkgconfig(xcb-ewmh) +BuildRequires: pkgconfig(xcb-imdkit) +BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-keysyms) +BuildRequires: pkgconfig(xkeyboard-config) +BuildRequires: /usr/bin/appstream-util +Requires: dbus-common +Requires: %{name}-data = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: setup +Requires(post): %{_sbindir}/alternatives +Requires(postun): %{_sbindir}/alternatives + +Recommends: (fcitx5-gtk if (gtk2 or gtk3 or gtk4)) +Recommends: (fcitx5-qt if (qt5-qtbase or qt6-qtbase)) +Recommends: (fcitx5-qt-module if (qt5-qtbase or qt6-qtbase)) +Recommends: fcitx5-configtool + +%description +Fcitx 5 is a generic input method framework released under LGPL-2.1+. + +%package libs +Summary: Libraries for %{name} + +%description libs +The %{name}-libs package contains runtime shared libraries necessary for +running programs using Fcitx5 libraries. + +%package data +Summary: Data files of Fcitx5 +BuildArch: noarch +# require with isa will lead to problem on koji build +Requires: %{name} = %{version}-%{release} +Requires: hicolor-icon-theme +Requires: dbus + +%description data +The %{name}-data package provides shared data for Fcitx5. + +%package devel +Summary: Development files for %{name} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files necessary for +developing programs using Fcitx5 libraries. + +%package autostart +Summary: This package will make fcitx5 start with your GUI session +BuildArch: noarch +Requires: %{name} = %{version}-%{release} + +%description autostart +This package will setup autostart and environment needed for fcitx5 to work properly. + +%prep +%autosetup -p1 + +%build +%cmake -GNinja +%cmake_build + +%install +%cmake_install + +install -pm 644 -D %{S:1} %{buildroot}%{_xinputconf} +install -pm 644 -D %{S:2} %{buildroot}%{_sysconfdir}/profile.d/fcitx5.sh +install -d %{buildroot}%{_datadir}/%{name}/inputmethod +install -d %{buildroot}%{_datadir}/%{name}/table + +# convert symlinked icons to copied icons, this will help co-existing with +# fcitx4 +for iconfile in $(find %{buildroot}%{_datadir}/icons -type l) +do + origicon=$(readlink -f ${iconfile}) + rm -f ${iconfile} + cp ${origicon} ${iconfile} +done +%find_lang %{name} + +%check +%ctest +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml + +%post +%{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 55 || : + +%postun +if [ "$1" = "0" ]; then + %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || : + # if alternative was set to manual, reset to auto + [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || : +fi + +%files -f %{name}.lang +%license LICENSES/LGPL-2.1-or-later.txt +%doc README.md +%config %{_xinputconf} +%{_bindir}/%{name} +%{_bindir}/%{name}-configtool +%{_bindir}/%{name}-remote +%{_bindir}/%{name}-diagnose +%{_libdir}/%{name}/ +%{_libexecdir}/fcitx5-wayland-launcher +%{_sysconfdir}/xdg/Xwayland-session.d/20-fcitx-x11 + +%files libs +%license LICENSES/LGPL-2.1-or-later.txt +%{_libdir}/libFcitx5*.so.*.* +%{_libdir}/libFcitx5Config.so.6 +%{_libdir}/libFcitx5Core.so.7 +%{_libdir}/libFcitx5Utils.so.2 + +%files devel +%{_includedir}/Fcitx5/ +%{_libdir}/cmake/Fcitx5* +%{_libdir}/libFcitx5*.so +%{_libdir}/pkgconfig/Fcitx5*.pc + + +%files data +%{_datadir}/%{name} +%{_datadir}/dbus-1/services/org.fcitx.Fcitx5.service +%{_datadir}/applications/org.fcitx.Fcitx5.desktop +%{_metainfodir}/org.fcitx.Fcitx5.metainfo.xml +%{_datadir}/applications/%{name}-configtool.desktop +%{_datadir}/applications/%{name}-wayland-launcher.desktop +%{_datadir}/icons/hicolor/*/apps/* + +%files autostart +%config %{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop +%config %{_sysconfdir}/profile.d/fcitx5.sh + +%changelog +* Wed Nov 20 2024 Funda Wang - 5.1.10-2 +- adopt to new cmake macro +- drop useless desktop-file-install +- move metainfo validation into check section +- disable dbus daemon test, as it does not pass during eulermaker + +* Wed Aug 14 2024 liu-hengjian <411918005@qq.com> - 5.1.10-1 +- Init package version to 5.1.10 diff --git a/sources b/sources new file mode 100644 index 0000000..0ff5dd2 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +78de194c8aa4537ca06560b16e54fd8a fcitx5-5.1.10_dict.tar.zst -- cgit v1.2.3