diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a73d2a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/en_dict-20121020.tar.gz +/fcitx5-87fb655852092f3ed2f79a3aac86fc6d5d92069f.tar.gz diff --git a/fcitx5-xinput b/fcitx5-xinput new file mode 100644 index 0000000..4ac2a60 --- /dev/null +++ b/fcitx5-xinput @@ -0,0 +1,21 @@ +XIM=fcitx5 +XIM_PROGRAM=/usr/bin/fcitx5 +ICON="fcitx5" +XIM_ARGS="-D" +PREFERENCE_PROGRAM=/usr/bin/fcitx5-configtool +SHORT_DESC="fcitx5" +GTK_IM_MODULE=fcitx5 +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=fcitx5 +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 \ No newline at end of file diff --git a/fcitx5.spec b/fcitx5.spec new file mode 100644 index 0000000..29bb959 --- /dev/null +++ b/fcitx5.spec @@ -0,0 +1,142 @@ +%global forgeurl https://github.com/fcitx/fcitx5 +%global commit 87fb655852092f3ed2f79a3aac86fc6d5d92069f +%forgemeta +%global dictver 20121020 +%global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/fcitx5.conf +%global __provides_exclude_from ^%{_libdir}/%{name}/.*\\.so$ + +Name: fcitx5 +Version: 0 +Release: 0.2%{?dist} +Summary: Next generation of fcitx +License: LGPLv2+ +URL: %{forgeurl} +Source: %{forgesource} +Source1: https://download.fcitx-im.org/data/en_dict-%{dictver}.tar.gz +Source2: fcitx5-xinput + + +BuildRequires: cmake +BuildRequires: desktop-file-utils +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(cldr-emoji-annotation) +BuildRequires: pkgconfig(dri) +BuildRequires: pkgconfig(enchant) +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) +Requires: dbus-x11 +Requires: %{name}-data = %{version}-%{release} +Requires: imsettings +Requires(post): %{_sbindir}/alternatives +Requires(postun): %{_sbindir}/alternatives + +%description +Fcitx 5 is a generic input method framework released under LGPL-2.1+. + +%package data +Summary: Data files of Fcitx5 +BuildArch: noarch +Requires: %{name}%{?_isa} = %{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}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files necessary for +developing programs using Fcitx5 libraries. + +%prep +%forgesetup +cp %{S:1} src/modules/spell/dict/ + +%build +%cmake +%cmake_build + +%install +%cmake_install +install -pm 644 -D %{S:2} %{buildroot}%{_xinputconf} +desktop-file-install --delete-original \ + --dir %{buildroot}%{_datadir}/applications \ + %{buildroot}%{_datadir}/applications/%{name}-configtool.desktop + +desktop-file-install --delete-original \ + --dir %{buildroot}%{_datadir}/applications \ + %{buildroot}%{_datadir}/applications/%{name}.desktop + +%find_lang %{name} + +%check +%ctest + +%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(noreplace) %{_xinputconf} +%{_bindir}/%{name} +%{_bindir}/%{name}-configtool +%{_bindir}/%{name}-remote +%{_libdir}/%{name}/ +%{_libdir}/libFcitx5*.so.*.* +%{_libdir}/libFcitx5Config.so.6 +%{_libdir}/libFcitx5Core.so.6 +%{_libdir}/libFcitx5Utils.so.2 + +%files devel +%{_includedir}/Fcitx5/ +%{_libdir}/cmake/Fcitx5* +%{_libdir}/libFcitx5*.so +%{_libdir}/pkgconfig/Fcitx5*.pc + + +%files data +%{_datadir}/%{name} +%{_datadir}/applications/%{name}.desktop +%{_datadir}/applications/%{name}-configtool.desktop +%{_datadir}/icons/hicolor/*/apps/* + +%changelog +* Sun Aug 16 2020 Qiyu Yan - 0-0.2.20200813git87fb655 +- change according to review suggestions + +* Thu Aug 13 2020 Qiyu Yan - 0-0.1.20200813git87fb655 +- new version + +* Wed Aug 12 2020 Qiyu Yan - 0-0.1.20200811gitc87ea48 +- initial package diff --git a/sources b/sources new file mode 100644 index 0000000..6e75cac --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (en_dict-20121020.tar.gz) = 8418bd02492bfd786c0fab93be4400ef027ec8e9fac02220cc1f653f5eb67f54573a6a84a15baba19bb34ab892745c87df16499d6304ea75009131e2ab3b97f2 +SHA512 (fcitx5-87fb655852092f3ed2f79a3aac86fc6d5d92069f.tar.gz) = 2c4e9bdb3722015a235258662d38aa268f21471d514b29eed7e8af3aba6c11a5911b93516c4968144f0883fe85ea1771d34ea553a618e70e471dd8a8eef268a3