From f295ef717a9c71a760a72b96d3f03237bd89acbc6c6cb86f3334051b54abbee2 Mon Sep 17 00:00:00 2001 From: Marguerite Su Date: Wed, 21 Aug 2019 05:10:38 +0000 Subject: [PATCH] Accepting request 724903 from home:MargueriteSu:fcitx5 fcitx5 initial packaging OBS-URL: https://build.opensuse.org/request/show/724903 OBS-URL: https://build.opensuse.org/package/show/M17N/fcitx5?expand=0&rev=1 --- .gitattributes | 25 +++ .gitignore | 1 + Fcitx.svg | 3 + baselibs.conf | 26 +++ en_dict-20121020.tar.gz | 3 + fcitx5-4.99.0+git20181128.984f3f2.tar.xz | 3 + fcitx5-no-download.patch | 17 ++ fcitx5.changes | 9 + fcitx5.spec | 205 +++++++++++++++++++++++ macros.fcitx5 | 7 + xim.d-fcitx5 | 21 +++ 11 files changed, 320 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Fcitx.svg create mode 100644 baselibs.conf create mode 100644 en_dict-20121020.tar.gz create mode 100644 fcitx5-4.99.0+git20181128.984f3f2.tar.xz create mode 100644 fcitx5-no-download.patch create mode 100644 fcitx5.changes create mode 100644 fcitx5.spec create mode 100644 macros.fcitx5 create mode 100644 xim.d-fcitx5 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..974b06d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,25 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +## Specific LFS patterns +Fcitx.svg filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Fcitx.svg b/Fcitx.svg new file mode 100644 index 0000000..7391487 --- /dev/null +++ b/Fcitx.svg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd8a54ea3019d7c24d79c02e50afde6ec087e9c50026447bfa31f399db9ca823 +size 108122 diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..b477fea --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,26 @@ +libFcitx5Core5 + requires "libFcitx5Config5- = " + requires "libFcitx5Utils1- = " + requires "libgcc_s1-" + requires "glibc-" + requires "libstdc++6-" + requires "libuuid1-" + requires "libxkbcommon0-" + provides "libfcitx-4_2_9- = " + obsoletes "libfcitx-4_2_9- <= 4.2.9.6" + post "/sbin/ldconfig" + postun "/sbin/ldconfig" +libFcitx5Config5 + requires "libFcitx5Utils1- = " + requires "glibc-" + requires "libgcc_s1-" + requires "libstdc++6-" + post "/sbin/ldconfig" + postun "/sbin/ldconfig" +libFcitx5Utils1 + requires "glibc-" + requires "libstdc++6-" + requires "libgcc_s1-" + requires "libsystemd0-" + post "/sbin/ldconfig" + postun "/sbin/ldconfig" diff --git a/en_dict-20121020.tar.gz b/en_dict-20121020.tar.gz new file mode 100644 index 0000000..717ab8f --- /dev/null +++ b/en_dict-20121020.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c44a5d7847925eea9e4d2d04748d442cd28dd9299a0b572ef7d91eac4f5a6ceb +size 630491 diff --git a/fcitx5-4.99.0+git20181128.984f3f2.tar.xz b/fcitx5-4.99.0+git20181128.984f3f2.tar.xz new file mode 100644 index 0000000..61b7345 --- /dev/null +++ b/fcitx5-4.99.0+git20181128.984f3f2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeeb4a9558170957e58fe1f651bee79306dcc1c69e9909c093a85b966cfbc77a +size 1174316 diff --git a/fcitx5-no-download.patch b/fcitx5-no-download.patch new file mode 100644 index 0000000..3e0e359 --- /dev/null +++ b/fcitx5-no-download.patch @@ -0,0 +1,17 @@ +Index: fcitx5-4.99.0+git20180620.9e15086/src/modules/spell/dict/CMakeLists.txt +=================================================================== +--- fcitx5-4.99.0+git20180620.9e15086.orig/src/modules/spell/dict/CMakeLists.txt ++++ fcitx5-4.99.0+git20180620.9e15086/src/modules/spell/dict/CMakeLists.txt +@@ -15,9 +15,9 @@ set(SPELL_EN_DICT_TAR "en_dict-${SPELL_E + set(SPELL_EN_DICT_URL + "https://download.fcitx-im.org/data/en_dict-${SPELL_EN_DICT_VER}.tar.gz") + +-fcitx5_download(spell-en-download ${SPELL_EN_DICT_URL} ${SPELL_EN_DICT_TAR} +- c44a5d7847925eea9e4d2d04748d442cd28dd9299a0b572ef7d91eac4f5a6ceb) +-fcitx5_extract(spell-en-extract "${SPELL_EN_DICT_TAR}" DEPENDS spell-en-download ++#fcitx5_download(spell-en-download ${SPELL_EN_DICT_URL} ${SPELL_EN_DICT_TAR} ++# c44a5d7847925eea9e4d2d04748d442cd28dd9299a0b572ef7d91eac4f5a6ceb) ++fcitx5_extract(spell-en-extract "${SPELL_EN_DICT_TAR}" + OUTPUT ${SPELL_EN_DICT_SRC}) + + add_custom_command( diff --git a/fcitx5.changes b/fcitx5.changes new file mode 100644 index 0000000..6e5e8ba --- /dev/null +++ b/fcitx5.changes @@ -0,0 +1,9 @@ +------------------------------------------------------------------- +Sat May 25 04:20:05 UTC 2019 - Marguerite Su + +- update version 4.99.0+git20181128.984f3f2 + +------------------------------------------------------------------- +Sat Aug 25 05:48:59 UTC 2018 - i@marguerite.su + +- initial package diff --git a/fcitx5.spec b/fcitx5.spec new file mode 100644 index 0000000..81e3575 --- /dev/null +++ b/fcitx5.spec @@ -0,0 +1,205 @@ +# +# spec file for package fcitx5 +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: fcitx5 +Version: 4.99.0+git20181128.984f3f2 +Release: 0 +Summary: Next generation of fcitx +License: LGPL-2.1-or-later +Group: System/I18n/Chinese +Url: https://gitlab.com/fcitx/fcitx5 +Source: %{name}-%{version}.tar.xz +Source1: en_dict-20121020.tar.gz +Source2: https://raw.githubusercontent.com/fcitx/fcitx-artwork/master/logo/Fcitx.svg +Source3: xim.d-fcitx5 +Source4: macros.fcitx5 +Source99: baselibs.conf +Patch: fcitx5-no-download.patch +BuildRequires: cmake +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: xcb-imdkit-devel +BuildRequires: libpresage-devel +BuildRequires: enchant-devel +BuildRequires: systemd-devel +BuildRequires: dbus-1-devel +BuildRequires: libevent-devel +BuildRequires: libjson-c-devel +BuildRequires: libuuid-devel +BuildRequires: fmt-devel +BuildRequires: xcb-util-wm-devel +BuildRequires: xcb-util-keysyms-devel +BuildRequires: libxkbfile-devel +BuildRequires: iso-codes-devel +BuildRequires: libexpat-devel +BuildRequires: xkeyboard-config +BuildRequires: libxkbcommon-devel +BuildRequires: libxkbcommon-x11-devel +BuildRequires: wayland-devel +BuildRequires: wayland-protocols-devel +BuildRequires: Mesa-libEGL-devel +BuildRequires: pango-devel +BuildRequires: cairo-devel +BuildRequires: gdk-pixbuf-devel +BuildRequires: update-desktop-files +BuildRequires: rsvg-view +BuildRequires: hicolor-icon-theme +BuildRequires: fdupes +Requires: libFcitx5Config5 = %{version} +Requires: libFcitx5Core5 = %{version} +Requires: libFcitx5Utils1 = %{version} +Recommends: fcitx5-gtk2 +Recommends: fcitx5-gtk3 +Recommends: fcitx5-qt4 +Recommends: fcitx5-qt5 +Provides: fcitx = %{version} +Obsoletes: fcitx <= 4.2.9.6 +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Fcitx 5 is a generic input method framework. + +%package devel +Summary: Development files for fcitx5 +Group: Development/Libraries/C and C++ +Requires: fcitx5 = %{version} + +%description devel +This package provides development files for fcitx5. + +%package -n libFcitx5Config5 +Summary: Configuration library for fcitx5 +Group: System/Libraries + +%description -n libFcitx5Config5 +This package provides configuration libraries for fcitx5. + +%package -n libFcitx5Core5 +Summary: Core library for fcitx5 +Group: System/Libraries +Provides: libfcitx-4_2_9 = %{version} +Obsoletes: libfcitx-4_2_9 <= 4.2.9.6 + +%description -n libFcitx5Core5 +This package provides core libraries for fcitx5. + +%package -n libFcitx5Utils1 +Summary: Utility library for fcitx5 +Group: System/Libraries + +%description -n libFcitx5Utils1 +This package provides utility libraries for fcitx5. + +%prep +%setup -q +%patch -p1 +cp -r %{S:1} src/modules/spell/dict/ + +%build +%cmake -DENABLE_PRESAGE=On -DCMAKE_SKIP_RPATH=OFF +make %{?_smp_mflags} + +%install +%cmake_install + +# create autostart +mkdir -p %{buildroot}%{_sysconfdir}/X11/xim.d/ +install -m 644 %{S:3} %{buildroot}%{_sysconfdir}/X11/xim.d/fcitx + +priority=30 +pushd %{buildroot}%{_sysconfdir}/X11/xim.d/ + for lang in am ar as bn el fa gu he hi hr ja ka kk kn ko lo ml my \ + pa ru sk vi zh_TW zh_CN zh_HK zh_SG \ + de fr it es nl cs pl da nn nb fi en sv ; do + mkdir $lang + pushd $lang + ln -s ../fcitx $priority-fcitx + popd + done +popd + +# install icons +for i in 16 22 24 32 48 512; do + mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/ + rsvg-convert -h $i -w $i %{S:2} -o %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/fcitx.png +done +install -D -m 0644 %{S:2} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/fcitx.svg + +# install desktop files +%suse_update_desktop_file fcitx5 Utility DesktopUtility +%suse_update_desktop_file -r fcitx5-configtool System X-SuSE-SystemSetup + +# own directories +mkdir -p %{buildroot}%{_datadir}/fcitx5/inputmethod +mkdir -p %{buildroot}%{_libdir}/fcitx5/qt5 + +# install macros.fcitx5 +install -Dm 0755 %{S:4} %{buildroot}%{_sysconfdir}/rpm/macros.fcitx5 + +%find_lang fcitx5 +%fdupes %{buildroot} + +%post -p /sbin/ldconfig +%post -n libFcitx5Config5 -p /sbin/ldconfig +%post -n libFcitx5Core5 -p /sbin/ldconfig +%post -n libFcitx5Utils1 -p /sbin/ldconfig +%postun -p /sbin/ldconfig +%postun -n libFcitx5Config5 -p /sbin/ldconfig +%postun -n libFcitx5Core5 -p /sbin/ldconfig +%postun -n libFcitx5Utils1 -p /sbin/ldconfig + +%files -f fcitx5.lang +%defattr(-,root,root) +%doc README.md COPYING +%config %{_sysconfdir}/X11/xim.d/ +%{_bindir}/fcitx5 +%{_bindir}/fcitx5-configtool +%{_bindir}/fcitx5-remote +%{_libdir}/fcitx5 +%{_datadir}/applications/fcitx5.desktop +%{_datadir}/applications/fcitx5-configtool.desktop +%{_datadir}/fcitx5 +%{_datadir}/icons/hicolor/*/apps/fcitx.* + +%files devel +%defattr(-,root,root) +%{_sysconfdir}/rpm/macros.fcitx5 +%{_includedir}/Fcitx5 +%{_libdir}/cmake/Fcitx5* +%{_libdir}/libFcitx5Config.so +%{_libdir}/libFcitx5Core.so +%{_libdir}/libFcitx5Utils.so +%{_libdir}/pkgconfig/Fcitx5*.pc + +%files -n libFcitx5Config5 +%defattr(-,root,root) +%{_libdir}/libFcitx5Config.so.5 +%{_libdir}/libFcitx5Config.so.5.0 + +%files -n libFcitx5Core5 +%defattr(-,root,root) +%{_libdir}/libFcitx5Core.so.5 +%{_libdir}/libFcitx5Core.so.5.0 + +%files -n libFcitx5Utils1 +%defattr(-,root,root) +%{_libdir}/libFcitx5Utils.so.1 +%{_libdir}/libFcitx5Utils.so.1.0 + +%changelog + diff --git a/macros.fcitx5 b/macros.fcitx5 new file mode 100644 index 0000000..3ae279a --- /dev/null +++ b/macros.fcitx5 @@ -0,0 +1,7 @@ +# RPM macros for fcitx5 +%_fcitx5_libdir %{_libdir}/fcitx5 +%_fcitx5_libexecdir %{_fcitx5_libdir}/libexec +%_fcitx5_datadir %{_datadir}/fcitx5 +%_fcitx5_addondir %{_fcitx5_datadir}/addon +%_fcitx5_imconfdir %{_fcitx5_datadir}/inputmethod +%_fcitx5_qt5dir %{_fcitx5_libdir}/qt5 diff --git a/xim.d-fcitx5 b/xim.d-fcitx5 new file mode 100644 index 0000000..5efe703 --- /dev/null +++ b/xim.d-fcitx5 @@ -0,0 +1,21 @@ +#make sure set these vars before dbus-launch +export LC_CTYPE=$LANG +export XMODIFIERS="@im=fcitx5" +export GTK_IM_MODULE=fcitx5 +export QT_IM_SWITCHER=imsw-multi +export QT_IM_MODULE=fcitx5 + +case "$WINDOWMANAGER" in + *gnome*|*kde*|*xfce*|*lxde*) + # started via xdg autostart (boo#947576) + # explicitly set below, as referred in xdg autostart + export INPUT_METHOD=fcitx5 + ;; + *) + # FIXME: a little bit of delay is required to avoid race (boo#947576) + (sleep 2; fcitx5 -d) & + ;; +esac + +# success: +return 0