summaryrefslogtreecommitdiff
path: root/fcitx5.spec
diff options
context:
space:
mode:
Diffstat (limited to 'fcitx5.spec')
-rw-r--r--fcitx5.spec180
1 files changed, 180 insertions, 0 deletions
diff --git a/fcitx5.spec b/fcitx5.spec
new file mode 100644
index 0000000..db6b6df
--- /dev/null
+++ b/fcitx5.spec
@@ -0,0 +1,180 @@
+%global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/fcitx5.conf
+
+Name: fcitx5
+Version: 5.1.10
+Release: 2
+Summary: Next generation of fcitx
+License: LGPL-2.1-or-later
+URL: https://github.com/fcitx/fcitx5
+Source0: https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-%{version}_dict.tar.zst
+Source1: fcitx5-xinput
+Source2: fcitx5.sh
+Patch0: fcitx5-disab-dbus-tests.patch
+
+BuildRequires: cmake
+BuildRequires: ninja-build
+BuildRequires: gnupg2
+BuildRequires: desktop-file-utils
+BuildRequires: extra-cmake-modules
+BuildRequires: gcc-c++
+BuildRequires: systemd
+BuildRequires: pkgconfig(cairo)
+BuildRequires: cldr-emoji-annotation-devel
+BuildRequires: pkgconfig(dri)
+BuildRequires: pkgconfig(enchant-2)
+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)
+BuildRequires: /usr/bin/appstream-util
+Requires: dbus-common
+Requires: %{name}-data = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Requires: setup
+Requires(post): %{_sbindir}/alternatives
+Requires(postun): %{_sbindir}/alternatives
+
+Recommends: (fcitx5-gtk if (gtk2 or gtk3 or gtk4))
+Recommends: (fcitx5-qt if (qt5-qtbase or qt6-qtbase))
+Recommends: (fcitx5-qt-module if (qt5-qtbase or qt6-qtbase))
+Recommends: fcitx5-configtool
+
+%description
+Fcitx 5 is a generic input method framework released under LGPL-2.1+.
+
+%package libs
+Summary: Libraries for %{name}
+
+%description libs
+The %{name}-libs package contains runtime shared libraries necessary for
+running programs using Fcitx5 libraries.
+
+%package data
+Summary: Data files of Fcitx5
+BuildArch: noarch
+# require with isa will lead to problem on koji build
+Requires: %{name} = %{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}-libs%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files necessary for
+developing programs using Fcitx5 libraries.
+
+%package autostart
+Summary: This package will make fcitx5 start with your GUI session
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description autostart
+This package will setup autostart and environment needed for fcitx5 to work properly.
+
+%prep
+%autosetup -p1
+
+%build
+%cmake -GNinja
+%cmake_build
+
+%install
+%cmake_install
+
+install -pm 644 -D %{S:1} %{buildroot}%{_xinputconf}
+install -pm 644 -D %{S:2} %{buildroot}%{_sysconfdir}/profile.d/fcitx5.sh
+install -d %{buildroot}%{_datadir}/%{name}/inputmethod
+install -d %{buildroot}%{_datadir}/%{name}/table
+
+# convert symlinked icons to copied icons, this will help co-existing with
+# fcitx4
+for iconfile in $(find %{buildroot}%{_datadir}/icons -type l)
+do
+ origicon=$(readlink -f ${iconfile})
+ rm -f ${iconfile}
+ cp ${origicon} ${iconfile}
+done
+%find_lang %{name}
+
+%check
+%ctest
+appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
+
+%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 %{_xinputconf}
+%{_bindir}/%{name}
+%{_bindir}/%{name}-configtool
+%{_bindir}/%{name}-remote
+%{_bindir}/%{name}-diagnose
+%{_libdir}/%{name}/
+%{_libexecdir}/fcitx5-wayland-launcher
+%{_sysconfdir}/xdg/Xwayland-session.d/20-fcitx-x11
+
+%files libs
+%license LICENSES/LGPL-2.1-or-later.txt
+%{_libdir}/libFcitx5*.so.*.*
+%{_libdir}/libFcitx5Config.so.6
+%{_libdir}/libFcitx5Core.so.7
+%{_libdir}/libFcitx5Utils.so.2
+
+%files devel
+%{_includedir}/Fcitx5/
+%{_libdir}/cmake/Fcitx5*
+%{_libdir}/libFcitx5*.so
+%{_libdir}/pkgconfig/Fcitx5*.pc
+
+
+%files data
+%{_datadir}/%{name}
+%{_datadir}/dbus-1/services/org.fcitx.Fcitx5.service
+%{_datadir}/applications/org.fcitx.Fcitx5.desktop
+%{_metainfodir}/org.fcitx.Fcitx5.metainfo.xml
+%{_datadir}/applications/%{name}-configtool.desktop
+%{_datadir}/applications/%{name}-wayland-launcher.desktop
+%{_datadir}/icons/hicolor/*/apps/*
+
+%files autostart
+%config %{_sysconfdir}/xdg/autostart/org.fcitx.Fcitx5.desktop
+%config %{_sysconfdir}/profile.d/fcitx5.sh
+
+%changelog
+* Wed Nov 20 2024 Funda Wang <fundawang@yeah.net> - 5.1.10-2
+- adopt to new cmake macro
+- drop useless desktop-file-install
+- move metainfo validation into check section
+- disable dbus daemon test, as it does not pass during eulermaker
+
+* Wed Aug 14 2024 liu-hengjian <411918005@qq.com> - 5.1.10-1
+- Init package version to 5.1.10