Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
M17N
fcitx
fcitx.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fcitx.spec of Package fcitx
# # spec file for package fcitx # # Copyright (c) 2024 SUSE LLC # # 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 https://bugs.opensuse.org/ # %if ! %{defined _distconfdir} %define _distconfdir %{_sysconfdir} %endif Name: fcitx Version: 4.2.9.9 Release: 0 Summary: Flexible Context-aware Input Tool with eXtension License: GPL-2.0-or-later Group: System/I18n/Chinese URL: https://github.com/fcitx/fcitx Source: https://download.fcitx-im.org/fcitx/%{name}-%{version}_dict.tar.xz Source1: xim.d-fcitx Source2: fcitx-README.suse Source3: xim.fcitx.suse.template Source8: openSUSE-themes.tar.gz Source9: macros.%{name} Source10: %{name}.keyring Source99: baselibs.conf Source100: https://download.fcitx-im.org/fcitx/%{name}-%{version}_dict.tar.xz.sig # PATCH-FIX-OPENSUSE fcitx-autostart-check-INPUT_METHOD.patch boo#947576 Patch2: fcitx-autostart-check-INPUT_METHOD.patch # PATCH-FIX-OPENSUSE downgrade cmake requirement to 3.1 again Patch3: fcitx-cmake-3.1.patch Patch4: remote-module-use-safe-directory-for-socket-API-sock.patch # PATCH-FIX-UPSTREAM Add missing function prototypes Patch5: fcitx-gclient-Export-fcitx_client_enable_ic-fcitx_cl.patch BuildRequires: cairo-devel BuildRequires: cmake BuildRequires: dbus-1-devel BuildRequires: dbus-1-glib-devel BuildRequires: enchant-devel BuildRequires: extra-cmake-modules BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gobject-introspection-devel BuildRequires: gtk2-devel BuildRequires: gtk3-devel BuildRequires: hicolor-icon-theme BuildRequires: iso-codes-devel BuildRequires: libicu-devel BuildRequires: libpresage-devel # Only for leap < 15.2 %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150200 BuildRequires: libqt4-devel %endif BuildRequires: libuuid-devel BuildRequires: libxml2-devel BuildRequires: opencc-devel BuildRequires: pango-devel BuildRequires: pkgconfig BuildRequires: update-desktop-files BuildRequires: xz BuildRequires: pkgconfig(json-c) BuildRequires: pkgconfig(lua) BuildRequires: pkgconfig(xkbcommon) >= 0.5.0 BuildRequires: pkgconfig(xkbfile) Requires: %{name}-branding = %{version} Recommends: %{name}-pinyin = %{version}-%{release} Recommends: %{name}-table = %{version}-%{release} # These libraries are dlopen-ed in fcitx at runtime # for spell-checking for keyboard users. ld can't find # them, so explicitly recommends. Recommends: libenchant1 Recommends: libopencc1_1 Recommends: libpresage1 Provides: locale(ko;zh_CN;zh_SG) %description Fcitx is a CJK input method framework. It supports Table, Pinyin and QuWei input methods. It's flexible and fast. %package -n libfcitx-core0 Summary: Core library of fcitx Group: System/Libraries Provides: libfcitx-4_2_9 = %{version} Obsoletes: libfcitx-4_2_9 <= %{version} %description -n libfcitx-core0 Core library of fcitx. %package -n libfcitx-gclient1 Summary: GClient library of fcitx Group: System/Libraries %description -n libfcitx-gclient1 GClient library of fcitx %package -n libfcitx-utils0 Summary: Util library of fcitx Group: System/Libraries %description -n libfcitx-utils0 Util library of fcitx %package -n libfcitx-config4 Summary: Config library of fcitx4 Group: System/Libraries %description -n libfcitx-config4 Config library of fcitx %package devel Summary: Development files for %{name} Group: Development/Libraries/C and C++ Requires: %{name} = %{version}-%{release} Requires: libfcitx-config4 = %{version} Requires: libfcitx-core0 = %{version} Requires: libfcitx-gclient1 = %{version} Requires: libfcitx-utils0 = %{version} %description devel Development header files for Fcitx input method framework. %package gtk2 Summary: Gtk2 IM module for %{name} Group: System/I18n/Chinese Supplements: (fcitx and libgtk-2_0-0) %{gtk2_immodule_requires} %description gtk2 GTK+ version 2 input module for Fcitx input method rfamework. %package gtk3 Summary: Gtk3 IM module for %{name} Group: System/I18n/Chinese Supplements: (fcitx and libgtk-3-0) %{gtk3_immodule_requires} %description gtk3 GTK+ version 3 input module for Fcitx input method framework. %package -n typelib-1_0-Fcitx-1_0 Summary: The Flexible Context-aware Input Tool with eXtension -- Introspection bindings Group: System/Libraries %description -n typelib-1_0-Fcitx-1_0 Fcitx is a CJK input method framework. It supports Table, Pinyin and QuWei input methods. It's flexible and fast. This package provides the GObject Introspection bindings for Fcitx. %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150200 %package qt4 Summary: Qt4 IM module for %{name} Group: System/I18n/Chinese Supplements: (fcitx and libqt4) %description qt4 QT4 input module for Fcitx input method framework. %endif %package quwei Summary: Chinese Zone-bit(QuWei) engine for %{name} Group: System/I18n/Chinese Requires: %{name} = %{version}-%{release} %description quwei Chinese Zone-bit(QuWei) engine for Fcitx input method framework. %package pinyin Summary: Chinese Pinyin engine for %{name} Group: System/I18n/Chinese Requires: %{name} = %{version}-%{release} %description pinyin Chinese Pinyin engine for Fcitx input method framework. %package table Summary: Table engine for %{name} Group: System/I18n/Chinese Requires: %{name} = %{version}-%{release} %description table Table engine for Fcitx input method framework. It's the basic component for other users except some Chinese. %package table-cn-cangjie Summary: Simplified Chinese Tsang-Jei(Cangjie) table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} BuildArch: noarch %description table-cn-cangjie Fcitx Tsang Jei (Cang Jie) input tables for Simplified Chinese. %package table-cn-dianbao Summary: Telegram(Dianbao) table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} BuildArch: noarch %description table-cn-dianbao Fcitx Telegram (Dian Bao) input tables for Simplified Chinese. %package table-cn-erbi Summary: Two stroke(Erbi) table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} BuildArch: noarch %description table-cn-erbi Fcitx Two Stroke (Er Bi) input tables for Simplified Chinese. %package table-cn-bingchan Summary: Icefrog Holography(QXM) table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} BuildArch: noarch %description table-cn-bingchan Fcitx Icefrog Holography (Bing Chan Quan Xi, or QXM) input tables for Simplified Chinese. %package table-cn-wanfeng Summary: Evening Breeze(Wanfeng) table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} BuildArch: noarch %description table-cn-wanfeng Fcitx Evening Breeze (Wan feng) input tables for Simplified Chinese. %package table-cn-wubi-pinyin Summary: Wubi and pinyin(wubi-pinyin) table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} Provides: locale(fcitx-table:zh_CN;) BuildArch: noarch %description table-cn-wubi-pinyin Fcitx Wubi (Wu Bi Zi Xing) and Pinyin mixed input tables for Simplified Chinese. Wubi in Fcitx is based on wubi x86. %package table-cn-wubi Summary: Wubi table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} Provides: locale(fcitx-table:zh_CN;) BuildArch: noarch %description table-cn-wubi Fcitx Wubi (Wu Bi Zi Xing) input tables for Simplified Chinese. Wubi in Fcitx is based on wubi x86. %package table-cn-ziran Summary: Nature(Ziran) table for %{name} Group: System/I18n/Chinese Requires: %{name}-table = %{version}-%{release} BuildArch: noarch %description table-cn-ziran Fcitx Nature (Zi Ran Ma) input tables for Simplified Chinese. %package table-tools Summary: Fcitx tools to make tables Group: System/I18n/Chinese %description table-tools Tools to convert txt word sheets to fcitx tables. see manpage for details %package pinyin-tools Summary: Fcitx tools to make pinyin match list Group: System/I18n/Chinese %description pinyin-tools Tools to convert txt or scel(sougou pinyin data format) pinyin sheets to fcitx match lists. %package branding-openSUSE Summary: openSUSE default Skins for Fcitx Group: System/I18n/Chinese Requires: %{name} = %{version}-%{release} Supplements: (%{name} and branding-openSUSE) Conflicts: %{name}-branding Provides: %{name}-branding = %{version} BuildArch: noarch %description branding-openSUSE openSUSE default skins for Fcitx You can either use this package or download from kde-look.org using knewstaff in fcitx-config-kde4. %package skin-new-air Summary: New Air skin for Fcitx Group: System/I18n/Chinese Requires: %{name} = %{version} BuildArch: noarch %description skin-new-air New Air skin for Fcitx, inspired by KDE Air theme. You can either use this package or download from kde-look.org using knewstaff in fcitx-config-kde4. %package skin-classic Summary: Fcitx Classic Skin Group: System/I18n/Chinese Requires: %{name} = %{version}-%{release} BuildArch: noarch %description skin-classic Fcitx classic skin. You can either use this package or download from kde-look.org using knewstaff in fcitx-config-kde4. %package skin-dark Summary: Fcitx Dark Skin Group: System/I18n/Chinese Requires: %{name} = %{version}-%{release} BuildArch: noarch %description skin-dark Fcitx dark skin. You can either use this package for download from kde-look.org using knewstaff in fcitx-config-kde4. %prep %autosetup -p1 %build mkdir build cd build # fix dlopen-ed library name cmake .. \ -DCMAKE_C_FLAGS="%{optflags}" \ -DCMAKE_CXX_FLAGS="%{optflags}" \ -DCMAKE_VERBOSE_MAKEFILE=On \ -DCMAKE_BUILD_TYPE=Release \ -DOPENCC_LIBRARY_FILENAME=libopencc.so.2 \ -DENCHANT_LIBRARY_FILENAME=libenchant.so.1 \ -DPRESAGE_LIBRARY_FILENAME=libpresage.so.1 \ -DENABLE_GTK3_IM_MODULE=On \ %if 0%{?sles_version} || 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 -DENABLE_QT=Off \ -DENABLE_QT_IM_MODULE=off \ %endif -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DLIB_INSTALL_DIR=%{_libdir} \ -DSYSCONFDIR=%{_sysconfdir} \ -DENABLE_LUA=On # fix gobject-introspection build export SUSE_ASNEEDED=0 %make_build %install %cmake_install # install openSUSE skins tar -xzf %{SOURCE8} mv openSUSE-themes/Harlequin %{buildroot}%{_datadir}/%{name}/skin/ mv openSUSE-themes/Dartmouth %{buildroot}%{_datadir}/%{name}/skin/ mv openSUSE-themes/NewAir %{buildroot}%{_datadir}/%{name}/skin/ %suse_update_desktop_file fcitx Utility DesktopUtility %suse_update_desktop_file fcitx-skin-installer Utility DesktopUtility %suse_update_desktop_file fcitx-configtool Settings DesktopSettings # fix doc mkdir -p %{buildroot}%{_docdir}/ mv %{buildroot}%{_datadir}/doc/%{name} %{buildroot}%{_docdir}/ cp -r %{SOURCE2} %{buildroot}%{_docdir}/%{name}/ cp -r %{SOURCE3} %{buildroot}%{_docdir}/%{name}/ cp -r AUTHORS %{buildroot}%{_docdir}/%{name}/ cp -r ChangeLog %{buildroot}%{_docdir}/%{name}/ # create autostart mkdir -p %{buildroot}%{_distconfdir}/X11/xim.d/ install -m 644 %{SOURCE1} %{buildroot}%{_distconfdir}/X11/xim.d/fcitx priority=30 pushd %{buildroot}%{_distconfdir}/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 rpm macros install -D -m644 %{SOURCE9} %{buildroot}%{_rpmmacrodir}/macros.%{name} # remove *.la rm -rf %{buildroot}%{_libdir}/lib%{name}-config.la # fix scripts for script in $(ls %{buildroot}%{_datadir}/cmake/fcitx/*.sh) ; do sed -i "s/\/usr\/bin\/env bash/\/usr\/bin\/bash/" $script; chmod +x $script; done sed -i "s/\/usr\/bin\/env bash/\/usr\/bin\/bash/" %{buildroot}%{_bindir}/fcitx-diagnose %find_lang %{name} %fdupes %{buildroot} %post gtk2 %{gtk2_immodule_post} %postun gtk2 %{gtk2_immodule_postun} %post gtk3 %{gtk3_immodule_post} # Add fcitx icons to gnome3 panel TARGET="%{_datadir}/gnome-shell/js/ui/statusIconDispatcher.js" if [ -f $TARGET ] && [ ! -f $TARGET-fcitx ] ; then mv $TARGET $TARGET-fcitx sed "/^const STANDARD_TRAY_ICON_IMPLEMENTATIONS/a \ 'fcitx': 'input-method'," $TARGET-fcitx > $TARGET fi %postun gtk3 %{gtk3_immodule_postun} %post %desktop_database_post %icon_theme_cache_post exit 0 %postun %desktop_database_postun %icon_theme_cache_postun exit 0 %post -n libfcitx-core0 -p /sbin/ldconfig %post -n libfcitx-gclient1 -p /sbin/ldconfig %post -n libfcitx-utils0 -p /sbin/ldconfig %post -n libfcitx-config4 -p /sbin/ldconfig %postun -n libfcitx-core0 -p /sbin/ldconfig %postun -n libfcitx-gclient1 -p /sbin/ldconfig %postun -n libfcitx-utils0 -p /sbin/ldconfig %postun -n libfcitx-config4 -p /sbin/ldconfig %files -f %{name}.lang %license COPYING %{_bindir}/%{name} %{_bindir}/%{name}-autostart %{_bindir}/%{name}-configtool %{_bindir}/%{name}-remote %{_bindir}/%{name}-skin-installer %{_bindir}/%{name}-dbus-watcher %{_bindir}/%{name}-diagnose %{_datadir}/%{name}/ %{_datadir}/applications/*.desktop %{_datadir}/icons/* %{_datadir}/mime/packages/* %{_datadir}/dbus-1/services/org.fcitx.Fcitx.service %{_mandir}/man1/fcitx.1%{?ext_man} %{_mandir}/man1/fcitx-remote.1%{?ext_man} %{_libdir}/%{name}/ %{_sysconfdir}/xdg/autostart/%{name}*.desktop %{_distconfdir}/X11/xim.d %doc %{_docdir}/%{name}/ # excludes %exclude %{_datadir}/%{name}/pinyin %exclude %{_datadir}/%{name}/table/* %exclude %{_datadir}/%{name}/imicon/* %exclude %{_datadir}/%{name}/inputmethod/* %exclude %{_datadir}/%{name}/addon/%{name}-pinyin.conf %exclude %{_datadir}/%{name}/addon/%{name}-table.conf %exclude %{_datadir}/%{name}/addon/%{name}-qw.conf %exclude %{_datadir}/%{name}/configdesc/%{name}-pinyin.desc %exclude %{_datadir}/%{name}/configdesc/table.desc %exclude %{_libdir}/%{name}/fcitx-pinyin.so %exclude %{_libdir}/%{name}/fcitx-table.so %exclude %{_libdir}/%{name}/fcitx-qw.so %exclude %{_libdir}/%{name}/libexec/comp-spell-dict %exclude %{_libdir}/%{name}/libexec/fcitx-po-parser %exclude %{_libdir}/%{name}/libexec/fcitx-scanner %exclude %{_datadir}/%{name}/skin/Harlequin %exclude %{_datadir}/%{name}/skin/Dartmouth %exclude %{_datadir}/%{name}/skin/NewAir %exclude %{_datadir}/%{name}/skin/classic %exclude %{_datadir}/%{name}/skin/dark %files -n libfcitx-core0 %{_libdir}/libfcitx-core.so.0 %{_libdir}/libfcitx-core.so.0.3 %files -n libfcitx-gclient1 %{_libdir}/libfcitx-gclient.so.1 %{_libdir}/libfcitx-gclient.so.0.2 %files -n libfcitx-utils0 %{_libdir}/libfcitx-utils.so.0 %{_libdir}/libfcitx-utils.so.0.1 %files -n libfcitx-config4 %{_libdir}/libfcitx-config.so.4 %{_libdir}/libfcitx-config.so.4.1 %files gtk2 %{_libdir}/gtk-2.0/* %files gtk3 %{_libdir}/gtk-3.0/* %files -n typelib-1_0-Fcitx-1_0 %{_libdir}/girepository-1.0/Fcitx-1.0.typelib %files quwei %{_libdir}/%{name}/%{name}-qw.so %{_datadir}/%{name}/inputmethod/qw.conf %{_datadir}/%{name}/addon/%{name}-qw.conf %files pinyin %{_libdir}/%{name}/%{name}-pinyin.so %{_datadir}/%{name}/pinyin/ %{_datadir}/%{name}/inputmethod/pinyin.conf %{_datadir}/%{name}/inputmethod/shuangpin.conf %{_datadir}/%{name}/addon/%{name}-pinyin.conf %{_datadir}/%{name}/imicon/pinyin.png %{_datadir}/%{name}/imicon/shuangpin.png %{_datadir}/%{name}/configdesc/%{name}-pinyin.desc %files table %{_libdir}/%{name}/%{name}-table.so %{_datadir}/%{name}/addon/%{name}-table.conf %{_datadir}/%{name}/configdesc/table.desc %files table-cn-cangjie %{_datadir}/%{name}/table/cangjie.* %{_datadir}/%{name}/imicon/cangjie.png %files table-cn-dianbao %{_datadir}/%{name}/table/db.* %files table-cn-erbi %{_datadir}/%{name}/table/erbi.* %{_datadir}/%{name}/imicon/erbi.png %files table-cn-bingchan %{_datadir}/%{name}/table/qxm.* %files table-cn-wanfeng %{_datadir}/%{name}/table/wanfeng.* %files table-cn-wubi-pinyin %{_datadir}/%{name}/table/wbpy.* %{_datadir}/%{name}/imicon/wbpy.png %files table-cn-wubi %{_datadir}/%{name}/table/wbx.* %{_datadir}/%{name}/imicon/wubi.png %files table-cn-ziran %{_datadir}/%{name}/table/zrm.* %{_datadir}/%{name}/imicon/ziranma.png %files table-tools %{_bindir}/mb2txt %{_bindir}/txt2mb %{_mandir}/man1/mb2txt.1%{?ext_man} %{_mandir}/man1/txt2mb.1%{?ext_man} %files pinyin-tools %{_bindir}/createPYMB %{_bindir}/readPYMB %{_bindir}/readPYBase %{_bindir}/mb2org %{_bindir}/scel2org %{_mandir}/man1/createPYMB.1%{?ext_man} %{_mandir}/man1/readPYMB.1%{?ext_man} %{_mandir}/man1/readPYBase.1%{?ext_man} %{_mandir}/man1/mb2org.1%{?ext_man} %{_mandir}/man1/scel2org.1%{?ext_man} %files branding-openSUSE %{_datadir}/%{name}/skin/Harlequin %{_datadir}/%{name}/skin/Dartmouth %files skin-new-air %{_datadir}/%{name}/skin/NewAir %files skin-classic %{_datadir}/%{name}/skin/classic %files skin-dark %{_datadir}/%{name}/skin/dark %files devel %{_rpmmacrodir}/macros.%{name} %{_includedir}/* %{_bindir}/%{name}4-config %{_libdir}/%{name}/libexec/comp-spell-dict %{_libdir}/%{name}/libexec/fcitx-po-parser %{_libdir}/%{name}/libexec/fcitx-scanner %{_libdir}/pkgconfig/*.pc %{_datadir}/cmake/ %{_datadir}/gir-1.0/Fcitx-1.0.gir %{_libdir}/libfcitx-config.so %{_libdir}/libfcitx-core.so %{_libdir}/libfcitx-utils.so %{_libdir}/libfcitx-gclient.so %if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150200 %files qt4 %{_libdir}/qt4/* %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor