File fcitx5-vmk.spec of Package fcitx5-vmk

Name:           fcitx5-vmk
Version:        0
Release:        1
Summary:        VMK (Vietnamese Micro Key) for Fcitx5
License:        GPL-3.0-or-later
URL:            https://github.com/nhktmdzhg/VMK
Source0:        %{name}-%{version}.tar.gz

# Dependencies for Fedora/openSUSE
BuildRequires:  cmake
BuildRequires:  extra-cmake-modules
BuildRequires:  gcc-c++
BuildRequires:  glibc-devel
BuildRequires:  fcitx5-devel
BuildRequires:  libinput-devel
BuildRequires:  systemd-rpm-macros
BuildRequires:  pkgconfig(libudev)
BuildRequires:  libX11-devel
# Golang naming convention differences
%if 0%{?suse_version}
BuildRequires:  go
Requires(post): udev
BuildRequires:  sysuser-tools
BuildRequires:  libgudev-1_0-devel
%else
BuildRequires:  golang
BuildRequires:  libgudev-devel
%endif

%{?systemd_requires}

Requires:       fcitx5
Requires:       libinput
Requires:       hicolor-icon-theme

%description
VMK (Vietnamese Micro Key) for Fcitx5 - Bộ gõ tiếng Việt mô phỏng UniKey.

%prep
%setup -q

%build
%cmake
%cmake_build
%if 0%{?suse_version}
%sysusers_generate_pre %{_prefix}/lib/sysusers.d/vmk.conf vmk
%endif

%install
%cmake_install
%find_lang %{name}

%files -f %{name}.lang
%defattr(-,root,root,-)
%dir %{_datadir}/licenses/%{name}
%license %{_datadir}/licenses/%{name}/GPL-3.0-or-later.txt
%license %{_datadir}/licenses/%{name}/LGPL-2.1-or-later.txt
%{_bindir}/fcitx5-vmk-server

%dir %{_libdir}/fcitx5
%{_libdir}/fcitx5/libvmk.so

%{_prefix}/lib/modules-load.d/fcitx5-vmk.conf
%{_unitdir}/fcitx5-vmk-server@.service
%{_prefix}/lib/sysusers.d/vmk.conf
%{_prefix}/lib/udev/rules.d/99-vmk.rules

%{_datadir}/fcitx5/addon/vmk.conf
%{_datadir}/fcitx5/inputmethod/vmk.conf

%dir %{_datadir}/fcitx5/vmk
%{_datadir}/fcitx5/vmk/vietnamese.cm.dict

%{_datadir}/icons/hicolor/scalable/apps/fcitx-vmk.svg
%{_datadir}/icons/hicolor/scalable/apps/org.fcitx.Fcitx5.fcitx-vmk.svg
%{_datadir}/metainfo/org.fcitx.Fcitx5.Addon.Vmk.metainfo.xml


%clean
rm -rf %{buildroot}
rm -rf %{_builddir}/%{name}-%{version}

%pre
%if 0%{?suse_version}
%sysusers_create_package vmk %{_prefix}/lib/sysusers.d/vmk.conf
%endif

%post
%systemd_post fcitx5-vmk-server@.service
if [ $1 -ge 1 ]; then
    if [ -x /usr/bin/udevadm ]; then
        /usr/sbin/modprobe uinput >/dev/null 2>&1 || :
        /usr/bin/udevadm control --reload-rules >/dev/null 2>&1 || :
        /usr/bin/udevadm trigger >/dev/null 2>&1 || :
    fi
fi

echo "--- Cấu hình VMK (Vietnamese Micro Key) ---"
echo "Hướng dẫn sau cài đặt:"
echo "1. Kích hoạt Server cho user của bạn:"
echo "   sudo systemctl enable --now fcitx5-vmk-server@\$(whoami).service"
echo ""
echo "2. Cấu hình Fcitx5:"
echo "   - Mở 'Fcitx5 Configuration', thêm bộ gõ VMK"
echo ""
echo "3. Lưu ý cho Wayland (KDE):"
echo "   - Hãy chọn 'Fcitx 5' trong phần Virtual Keyboard của hệ thống."
echo "------------------------------------------------"

%preun
%systemd_preun fcitx5-vmk-server@.service

%postun
%systemd_postun_with_restart fcitx5-vmk-server@.service

%changelog
- VMK2
- Optimized code
openSUSE Build Service is sponsored by