ae45dac
%global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/fcitx5.conf
ae45dac
%global __provides_exclude_from ^%{_libdir}/%{name}/.*\\.so$
ae45dac
ae45dac
Name:           fcitx5
0700478
Version:        5.0.15
6b5b231
Release:        %autorelease
ae45dac
Summary:        Next generation of fcitx
ae45dac
License:        LGPLv2+
eabb453
URL:            https://github.com/fcitx/fcitx5
eabb453
Source:         https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-%{version}_dict.tar.xz
eabb453
Source1:        https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-%{version}_dict.tar.xz.sig
eabb453
# Checked by chatting, this key is used to verify fcitx* tarballs
eabb453
Source2:        https://pgp.key-server.io/download/0x8E8B898CBF2412F9
eabb453
Source3:        fcitx5-xinput
d8dee11
Source4:        fcitx5.sh
d8dee11
ae45dac
BuildRequires:  cmake
eabb453
BuildRequires:  ninja-build
eabb453
BuildRequires:  gnupg2
ae45dac
BuildRequires:  desktop-file-utils
ae45dac
BuildRequires:  extra-cmake-modules
ae45dac
BuildRequires:  gcc-c++
ae45dac
BuildRequires:  systemd-rpm-macros
ae45dac
BuildRequires:  pkgconfig(cairo)
ae45dac
BuildRequires:  pkgconfig(cldr-emoji-annotation)
ae45dac
BuildRequires:  pkgconfig(dri)
ae45dac
BuildRequires:  pkgconfig(enchant)
ae45dac
BuildRequires:  pkgconfig(expat)
ae45dac
BuildRequires:  pkgconfig(fmt)
ae45dac
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
ae45dac
BuildRequires:  pkgconfig(iso-codes)
ae45dac
BuildRequires:  pkgconfig(json-c)
ae45dac
BuildRequires:  pkgconfig(pango)
ae45dac
BuildRequires:  pkgconfig(uuid)
ae45dac
BuildRequires:  pkgconfig(libsystemd)
ae45dac
BuildRequires:  pkgconfig(wayland-egl)
ae45dac
BuildRequires:  pkgconfig(wayland-client)
ae45dac
BuildRequires:  pkgconfig(wayland-protocols)
ae45dac
BuildRequires:  pkgconfig(xcb)
ae45dac
BuildRequires:  pkgconfig(xkbcommon-x11)
ae45dac
BuildRequires:  pkgconfig(xkbfile)
ae45dac
BuildRequires:  pkgconfig(xcb-ewmh)
ae45dac
BuildRequires:  pkgconfig(xcb-imdkit)
ae45dac
BuildRequires:  pkgconfig(xcb-icccm)
ae45dac
BuildRequires:  pkgconfig(xcb-keysyms)
ae45dac
BuildRequires:  pkgconfig(xkeyboard-config)
16daec9
BuildRequires:  /usr/bin/appstream-util
6dc2056
Requires:       dbus-common
ae45dac
Requires:       %{name}-data = %{version}-%{release}
d8dee11
Requires:       setup
ae45dac
Requires(post):     %{_sbindir}/alternatives
ae45dac
Requires(postun):   %{_sbindir}/alternatives
ae45dac
2d2c6eb
Recommends:       (fcitx5-gtk if (gtk2 or gtk3 or gtk4))
2d2c6eb
Recommends:       (fcitx5-qt if (qt5-qtbase or qt6-qtbase))
2d2c6eb
Recommends:       (fcitx5-qt-module if (qt5-qtbase or qt6-qtbase))
862cb25
ae45dac
%description
ae45dac
Fcitx 5 is a generic input method framework released under LGPL-2.1+.
ae45dac
ae45dac
%package data
ae45dac
Summary:        Data files of Fcitx5
ae45dac
BuildArch:      noarch
f3209bc
# require with isa will lead to problem on koji build
f3209bc
Requires:       %{name} = %{version}-%{release}
ae45dac
Requires:       hicolor-icon-theme
ae45dac
Requires:       dbus
ae45dac
ae45dac
%description data
ae45dac
The %{name}-data package provides shared data for Fcitx5.
ae45dac
ae45dac
%package devel
ae45dac
Summary:        Development files for %{name}
ae45dac
Requires:       %{name}%{?_isa} = %{version}-%{release}
ae45dac
ae45dac
%description devel
ae45dac
The %{name}-devel package contains libraries and header files necessary for
ae45dac
developing programs using Fcitx5 libraries.
ae45dac
d8dee11
%package autostart
d8dee11
Summary:        This package will make fcitx5 start with your GUI session
d8dee11
BuildArch:      noarch
d8dee11
Requires:       %{name} = %{version}-%{release}
d8dee11
d8dee11
%description autostart
d8dee11
This package will setup autostart and environment needed for fcitx5 to work properly.
d8dee11
ae45dac
%prep
eabb453
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
d8dee11
%autosetup -p1
ae45dac
ae45dac
%build
d8dee11
%cmake -GNinja
ae45dac
%cmake_build 
ae45dac
ae45dac
%install
ae45dac
%cmake_install
eabb453
install -pm 644 -D %{S:3} %{buildroot}%{_xinputconf}
d8dee11
install -pm 644 -D %{S:4} %{buildroot}%{_sysconfdir}/profile.d/fcitx5.sh
7f5d4be
install -d                %{buildroot}%{_datadir}/%{name}/inputmethod
5b30eb8
install -d                %{buildroot}%{_datadir}/%{name}/table
ae45dac
desktop-file-install --delete-original \
ae45dac
  --dir %{buildroot}%{_datadir}/applications \
ae45dac
  %{buildroot}%{_datadir}/applications/%{name}-configtool.desktop
ae45dac
 
ae45dac
desktop-file-install --delete-original \
ae45dac
  --dir %{buildroot}%{_datadir}/applications \
eabb453
  %{buildroot}%{_datadir}/applications/org.fcitx.Fcitx5.desktop
01e4b18
  
01e4b18
# convert symlinked icons to copied icons, this will help co-existing with
01e4b18
# fcitx4
01e4b18
for iconfile in $(find %{buildroot}%{_datadir}/icons -type l)
01e4b18
do
01e4b18
  origicon=$(readlink -f ${iconfile})
01e4b18
  rm -f ${iconfile}
01e4b18
  cp ${origicon} ${iconfile}
01e4b18
done 
16daec9
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
ae45dac
%find_lang %{name}
ae45dac
ae45dac
%check
ae45dac
%ctest
ae45dac
ae45dac
%post
ae45dac
%{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 55 || :
ae45dac
ae45dac
%postun
ae45dac
if [ "$1" = "0" ]; then
ae45dac
  %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
ae45dac
  # if alternative was set to manual, reset to auto
ae45dac
  [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
ae45dac
fi
ae45dac
ae45dac
%files -f %{name}.lang
ae45dac
%license LICENSES/LGPL-2.1-or-later.txt
ae45dac
%doc README.md 
c02a090
%config %{_xinputconf}
ae45dac
%{_bindir}/%{name}
ae45dac
%{_bindir}/%{name}-configtool
ae45dac
%{_bindir}/%{name}-remote
53b2df5
%{_bindir}/%{name}-diagnose
ae45dac
%{_libdir}/%{name}/
ae45dac
%{_libdir}/libFcitx5*.so.*.*
ae45dac
%{_libdir}/libFcitx5Config.so.6
53b2df5
%{_libdir}/libFcitx5Core.so.7
ae45dac
%{_libdir}/libFcitx5Utils.so.2
fded888
%{_libexecdir}/fcitx5-wayland-launcher
ae45dac
ae45dac
%files devel
ae45dac
%{_includedir}/Fcitx5/
ae45dac
%{_libdir}/cmake/Fcitx5*
ae45dac
%{_libdir}/libFcitx5*.so
ae45dac
%{_libdir}/pkgconfig/Fcitx5*.pc
ae45dac
ae45dac
ae45dac
%files data
ae45dac
%{_datadir}/%{name}
07efc8e
%{_datadir}/dbus-1/services/org.fcitx.Fcitx5.service
eabb453
%{_datadir}/applications/org.fcitx.Fcitx5.desktop
16daec9
%{_metainfodir}/org.fcitx.Fcitx5.metainfo.xml
ae45dac
%{_datadir}/applications/%{name}-configtool.desktop
ae45dac
%{_datadir}/icons/hicolor/*/apps/*
ae45dac
d8dee11
%files autostart
d8dee11
%config %{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop
d8dee11
%config %{_sysconfdir}/profile.d/fcitx5.sh
d8dee11
ae45dac
%changelog
6b5b231
%autochangelog