forked from pool/fcitx5
d528a6b7ec
- update version 5.0.13 * bug fix release - change in 5.0.12 * A lot of fixes in zwp_input_method_v1 to make it ready to be used with future Plasma 5.24 native wayland input method support. With the next Plasma release (not out yet as of today), you should be able to directly select fcitx in the "Virtual keyboard KCM" (it was designed for on screen keyboard so the naming is a little bit confusing at this point) and use it with native wayland input method protocols. This allows some non-gtk/qt text-input-v{2,3} applications to be used with the input method under kwin. - add fcitx5-5.0.13-memfd.patch OBS-URL: https://build.opensuse.org/request/show/949472 OBS-URL: https://build.opensuse.org/package/show/M17N/fcitx5?expand=0&rev=21
276 lines
8.6 KiB
RPMSpec
276 lines
8.6 KiB
RPMSpec
#
|
|
# spec file for package fcitx5
|
|
#
|
|
# Copyright (c) 2020 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
|
|
|
|
%if ! %{defined _environmentdir}
|
|
%define _environmentdir %{_prefix}/lib/environment.d
|
|
%endif
|
|
|
|
Name: fcitx5
|
|
Version: 5.0.13
|
|
Release: 0
|
|
Summary: Next generation of fcitx
|
|
License: LGPL-2.1-or-later
|
|
Group: System/I18n/Chinese
|
|
URL: https://github.com/fcitx/fcitx5
|
|
Source: https://download.fcitx-im.org/fcitx5/%{name}/%{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
|
|
Source100: input-method.py3
|
|
Source101: 99-fcitx5.conf
|
|
Source102: fcitx5.service
|
|
Patch0: fcitx5-no-download.patch
|
|
Patch1: fcitx5-gcc7.patch
|
|
Patch2: fcitx5-5.0.13-memfd.patch
|
|
BuildRequires: Mesa-libEGL-devel
|
|
BuildRequires: cairo-devel
|
|
BuildRequires: cldr-emoji-annotation-devel
|
|
BuildRequires: cmake
|
|
BuildRequires: dbus-1-devel
|
|
BuildRequires: enchant-devel
|
|
BuildRequires: extra-cmake-modules
|
|
BuildRequires: fdupes
|
|
BuildRequires: fmt-devel
|
|
%if 0%{?suse_version} >= 1550
|
|
BuildRequires: gcc-c++
|
|
%else
|
|
BuildRequires: gcc8-c++
|
|
%endif
|
|
BuildRequires: gdk-pixbuf-devel
|
|
BuildRequires: hicolor-icon-theme
|
|
BuildRequires: iso-codes-devel
|
|
BuildRequires: libevent-devel
|
|
BuildRequires: libexpat-devel
|
|
BuildRequires: libjson-c-devel
|
|
BuildRequires: libpresage-devel
|
|
BuildRequires: libuuid-devel
|
|
BuildRequires: libxkbcommon-devel
|
|
BuildRequires: libxkbcommon-x11-devel
|
|
BuildRequires: libxkbfile-devel
|
|
BuildRequires: pango-devel
|
|
BuildRequires: systemd-devel
|
|
BuildRequires: update-desktop-files
|
|
BuildRequires: wayland-devel
|
|
BuildRequires: wayland-protocols-devel
|
|
BuildRequires: xcb-imdkit-devel
|
|
BuildRequires: xcb-util-keysyms-devel
|
|
BuildRequires: xcb-util-wm-devel
|
|
BuildRequires: xkeyboard-config
|
|
%if 0%{?suse_version} <= 1520
|
|
BuildRequires: appstream-glib-devel
|
|
%endif
|
|
Provides: fcitx = %{version}
|
|
Obsoletes: fcitx <= 4.2.9.8
|
|
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200 && 0%{?is_opensuse}
|
|
BuildRequires: rsvg-convert
|
|
%else
|
|
BuildRequires: rsvg-view
|
|
%endif
|
|
%systemd_requires
|
|
|
|
%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}
|
|
Requires: libFcitx5Config6 = %{version}
|
|
Requires: libFcitx5Core7 = %{version}
|
|
Requires: libFcitx5Utils2 = %{version}
|
|
Provides: fcitx-devel = %{version}
|
|
Obsoletes: fcitx-devel <= 4.2.9.8
|
|
|
|
%description devel
|
|
This package provides development files for fcitx5.
|
|
|
|
%package -n libFcitx5Config6
|
|
Summary: Configuration library for fcitx5
|
|
Group: System/Libraries
|
|
Provides: libFcitx5Config5 = %{version}
|
|
Obsoletes: libFcitx5Config5 < %{version}
|
|
|
|
%description -n libFcitx5Config6
|
|
This package provides configuration libraries for fcitx5.
|
|
|
|
%package -n libFcitx5Core7
|
|
Summary: Core library for fcitx5
|
|
Group: System/Libraries
|
|
Provides: libfcitx-4_2_9 = %{version}
|
|
Obsoletes: libfcitx-4_2_9 <= 4.2.9.8
|
|
Provides: libFcitx5Core5 = %{version}
|
|
Obsoletes: libFcitx5Core5 < %{version}
|
|
|
|
%description -n libFcitx5Core7
|
|
This package provides core libraries for fcitx5.
|
|
|
|
%package -n libFcitx5Utils2
|
|
Summary: Utility library for fcitx5
|
|
Group: System/Libraries
|
|
Provides: libFcitx5Utils1 = %{version}
|
|
Obsoletes: libFcitx5Utils1 < %{version}
|
|
|
|
%description -n libFcitx5Utils2
|
|
This package provides utility libraries for fcitx5.
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
cp -r %{SOURCE1} src/modules/spell/dict/
|
|
|
|
%build
|
|
%if 0%{?suse_version} < 1550
|
|
export CC=%{_bindir}/gcc-8
|
|
export CXX=%{_bindir}/g++-8
|
|
%endif
|
|
%cmake -DENABLE_PRESAGE=On -DCMAKE_SKIP_RPATH=OFF -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir}
|
|
%make_build
|
|
|
|
%install
|
|
%cmake_install
|
|
# recreate soft link
|
|
rm -rf %{buildroot}%{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop
|
|
ln -sf %{_datadir}/applications/org.fcitx.Fcitx5.desktop %{buildroot}%{_sysconfdir}/xdg/autostart/
|
|
|
|
# create autostart
|
|
mkdir -p %{buildroot}%{_distconfdir}/X11/xim.d/
|
|
install -m 644 %{SOURCE3} %{buildroot}%{_distconfdir}/X11/xim.d/fcitx5
|
|
|
|
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 ../fcitx5 $priority-fcitx5
|
|
popd
|
|
done
|
|
popd
|
|
|
|
# install environment generator for wayland
|
|
install -D -m 0755 %{SOURCE100} %{buildroot}%{_systemd_user_env_generator_dir}/99-fcitx5.py3
|
|
install -D -m 0644 %{SOURCE101} %{buildroot}%{_environmentdir}/99-fcitx5.conf
|
|
install -D -m 0644 %{SOURCE102} %{buildroot}%{_userunitdir}/fcitx5.service
|
|
|
|
# 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 %{SOURCE2} -o %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/fcitx.png
|
|
done
|
|
install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/fcitx.svg
|
|
|
|
# install desktop files
|
|
%suse_update_desktop_file %{buildroot}%{_datadir}/applications/org.fcitx.Fcitx5.desktop Utility DesktopUtility
|
|
%suse_update_desktop_file -r fcitx5-configtool Settings DesktopSettings
|
|
|
|
# own directories
|
|
mkdir -p %{buildroot}%{_datadir}/fcitx5/inputmethod
|
|
mkdir -p %{buildroot}%{_libdir}/fcitx5/qt5
|
|
|
|
# install macros.fcitx5
|
|
install -Dm 0644 %{SOURCE4} %{buildroot}%{_prefix}/lib/rpm/macros.d/macros.fcitx5
|
|
|
|
%find_lang fcitx5
|
|
%fdupes %{buildroot}
|
|
|
|
%if 0%{?suse_version} >= 1550
|
|
%systemd_user_pre fcitx5.service
|
|
%systemd_user_post fcitx5.service
|
|
%systemd_user_preun fcitx5.service
|
|
%systemd_user_postun fcitx5.service
|
|
%else
|
|
%pre
|
|
if [ -x /usr/bin/systemctl ]; then
|
|
if [ ! -e "/usr/lib/systemd/user/%{name}.service" ]; then
|
|
mkdir -p /run/systemd/rpm/needs-user-preset
|
|
touch "/run/systemd/rpm/needs-user-preset/%{name}.service"
|
|
fi
|
|
fi
|
|
%post
|
|
if [ -x /usr/bin/systemctl ]; then
|
|
if [ -e "/run/systemd/rpm/needs-user-preset/%{name}.service" ]; then
|
|
/usr/bin/systemctl --global preset "%{name}.service" || :
|
|
rm "/run/systemd/rpm/needs-user-preset/%{name}.service" || :
|
|
fi
|
|
fi
|
|
%preun
|
|
if [ %{name}.service -eq 0 -a -x /usr/bin/systemctl ]; then
|
|
/usr/bin/systemctl --global disable fcitx5.service || :
|
|
fi
|
|
%endif
|
|
|
|
%post -n libFcitx5Config6 -p /sbin/ldconfig
|
|
%post -n libFcitx5Core7 -p /sbin/ldconfig
|
|
%post -n libFcitx5Utils2 -p /sbin/ldconfig
|
|
%postun -n libFcitx5Config6 -p /sbin/ldconfig
|
|
%postun -n libFcitx5Core7 -p /sbin/ldconfig
|
|
%postun -n libFcitx5Utils2 -p /sbin/ldconfig
|
|
|
|
%files -f fcitx5.lang
|
|
%doc README.md
|
|
%license LICENSES
|
|
%dir %{_systemd_user_env_generator_dir}
|
|
%dir %{_environmentdir}
|
|
%{_distconfdir}/X11/xim.d/
|
|
%{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop
|
|
%{_bindir}/fcitx5
|
|
%{_bindir}/fcitx5-configtool
|
|
%{_bindir}/fcitx5-remote
|
|
%{_bindir}/fcitx5-diagnose
|
|
%{_libdir}/fcitx5
|
|
%{_systemd_user_env_generator_dir}/99-fcitx5.py3
|
|
%{_environmentdir}/99-fcitx5.conf
|
|
%{_userunitdir}/fcitx5.service
|
|
%{_datadir}/applications/org.fcitx.Fcitx5.desktop
|
|
%{_datadir}/applications/fcitx5-configtool.desktop
|
|
%{_datadir}/fcitx5
|
|
%{_datadir}/icons/hicolor/*/apps/fcitx.*
|
|
%{_datadir}/icons/hicolor/*/apps/org.fcitx.Fcitx5.*
|
|
%{_datadir}/dbus-1/services/org.fcitx.Fcitx5.service
|
|
%{_datadir}/metainfo/org.fcitx.Fcitx5.metainfo.xml
|
|
|
|
%files devel
|
|
%{_prefix}/lib/rpm/macros.d/macros.fcitx5
|
|
%{_includedir}/Fcitx5
|
|
%{_libdir}/cmake/Fcitx5*
|
|
%{_libdir}/libFcitx5Config.so
|
|
%{_libdir}/libFcitx5Core.so
|
|
%{_libdir}/libFcitx5Utils.so
|
|
%{_libdir}/pkgconfig/Fcitx5*.pc
|
|
|
|
%files -n libFcitx5Config6
|
|
%{_libdir}/libFcitx5Config.so.6
|
|
%{_libdir}/libFcitx5Config.so.%{version}
|
|
|
|
%files -n libFcitx5Core7
|
|
%{_libdir}/libFcitx5Core.so.7
|
|
%{_libdir}/libFcitx5Core.so.%{version}
|
|
|
|
%files -n libFcitx5Utils2
|
|
%{_libdir}/libFcitx5Utils.so.2
|
|
%{_libdir}/libFcitx5Utils.so.%{version}
|
|
|
|
%changelog |