summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2025-06-24 01:19:15 +0000
committerCoprDistGit <infra@openeuler.org>2025-06-24 01:19:15 +0000
commit42aff71ce04153fda62eb40b4b651f7410423e25 (patch)
tree39fe32c29a04fe692a4603224c730ce296d05fd7
parent426f73e3402baa8d04043453d1d25b69f76e60ed (diff)
automatic import of fcitx5
-rw-r--r--.gitignore1
-rw-r--r--fcitx5-disab-dbus-tests.patch11
-rw-r--r--fcitx5-xinput22
-rwxr-xr-xfcitx5.sh10
-rw-r--r--fcitx5.spec180
-rw-r--r--sources1
6 files changed, 225 insertions, 0 deletions
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 <fundawang@yeah.net> - 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