nimf.spec 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. Name: nimf
  2. Summary: An input method framework
  3. Version: 1.3.5
  4. Release: 1%{?dist}
  5. License: LGPLv3+
  6. Group: User Interface/Desktops
  7. URL: https://github.com/hamonikr/nimf
  8. Source0: https://github.com/hamonikr/nimf/archive/master.tar.gz
  9. BuildRequires: gcc-c++
  10. BuildRequires: libtool
  11. BuildRequires: glib2-devel
  12. BuildRequires: pkgconfig
  13. BuildRequires: intltool >= 0.50.1
  14. BuildRequires: gtk3-devel
  15. BuildRequires: gtk2-devel
  16. %if 0%{?is_opensuse}
  17. BuildRequires: libqt5-qtbase-devel
  18. BuildRequires: libQt5Gui-private-headers-devel
  19. BuildRequires: libappindicator3-devel
  20. BuildRequires: rsvg-view
  21. BuildRequires: noto-sans-cjk-fonts
  22. BuildRequires: libqt6-qtbase-devel
  23. BuildRequires: libQt6Gui-private-headers-devel
  24. %else
  25. BuildRequires: qt5-qtbase-devel
  26. BuildRequires: qt5-qtbase-private-devel
  27. BuildRequires: qt6-qtbase-devel
  28. BuildRequires: qt6-qtbase-private-devel
  29. BuildRequires: libappindicator-gtk3-devel
  30. BuildRequires: librsvg2-tools
  31. BuildRequires: google-noto-cjk-fonts
  32. %endif
  33. BuildRequires: libhangul-devel
  34. BuildRequires: anthy-devel
  35. BuildRequires: anthy
  36. BuildRequires: libxkbcommon-devel
  37. BuildRequires: wayland-devel
  38. BuildRequires: libxklavier-devel
  39. BuildRequires: gtk-doc
  40. %if 0%{?fedora} || 0%{?is_opensuse}
  41. BuildRequires: librime-devel >= 1.2.9
  42. BuildRequires: m17n-lib-devel >= 1.7.0
  43. %endif
  44. %if 0%{?fedora}
  45. BuildRequires: m17n-db-devel >= 1.7.0
  46. %endif
  47. %if 0%{?is_opensuse}
  48. BuildRequires: m17n-db >= 1.7.0
  49. %endif
  50. Requires: anthy
  51. Requires: glib2
  52. Requires: gtk3
  53. Requires: im-chooser
  54. %if 0%{?is_opensuse}
  55. Requires: libappindicator3
  56. %else
  57. Requires: libappindicator-gtk3
  58. %endif
  59. Requires: libhangul
  60. Requires: libxkbcommon
  61. Requires: libxklavier
  62. Requires: qt5-qtbase
  63. Requires: qt6-qtbase
  64. %if 0%{?fedora} || 0%{?is_opensuse}
  65. Requires: librime
  66. Requires: m17n-lib >= 1.7.0, m17n-db >= 1.7.0
  67. %endif
  68. Requires(post): %{_sbindir}/alternatives
  69. Requires(postun): %{_sbindir}/alternatives
  70. %define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/nimf.conf
  71. %description
  72. Nimf is a lightweight, fast and extensible input method framework.
  73. %package devel
  74. Summary: Development files for nimf
  75. Group: Development/Libraries
  76. Requires: %{name}%{?_isa} = %{version}-%{release}
  77. Requires: glib2-devel
  78. Requires: gtk3-devel
  79. %description devel
  80. This package contains development files.
  81. %prep
  82. %setup -q
  83. %build
  84. %if 0%{?rhel}
  85. ./autogen.sh --prefix=/usr --libdir=%{_libdir} --enable-gtk-doc \
  86. --with-imsettings-data --disable-nimf-m17n --disable-nimf-rime
  87. %else
  88. ./autogen.sh --prefix=/usr --libdir=%{_libdir} --with-imsettings-data --enable-gtk-doc
  89. %endif
  90. make %{?_smp_mflags}
  91. %install
  92. rm -rf $RPM_BUILD_ROOT
  93. %make_install
  94. %clean
  95. %post
  96. /sbin/ldconfig
  97. /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
  98. %{_bindir}/update-gtk-immodules %{_host} || :
  99. %{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache || :
  100. %{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 55 || :
  101. %postun
  102. /sbin/ldconfig
  103. if [ $1 -eq 0 ] ; then
  104. /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
  105. /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
  106. fi
  107. %{_bindir}/update-gtk-immodules %{_host} || :
  108. %{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache || :
  109. if [ "$1" = "0" ]; then
  110. %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
  111. # if alternative was set to manual, reset to auto
  112. [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
  113. fi
  114. %posttrans
  115. /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
  116. /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
  117. %files
  118. %config %{_xinputconf}
  119. %config %{_sysconfdir}/apparmor.d/abstractions/nimf
  120. %{_bindir}/*
  121. %{_libdir}/gtk-2.0/*
  122. %{_libdir}/gtk-3.0/*
  123. %{_libdir}/libnimf.so.*
  124. %{_libdir}/nimf/*
  125. %{_libdir}/qt5/*
  126. %{_libdir}/qt6/*
  127. %{_datadir}/applications/*
  128. %{_datadir}/glib-2.0/*
  129. %{_datadir}/icons/*
  130. %{_datadir}/locale/*
  131. %{_datadir}/man/*
  132. %{_sysconfdir}/input.d/nimf.conf
  133. %{_sysconfdir}/xdg/autostart/*
  134. %files devel
  135. %{_datadir}/gtk-doc/*
  136. %{_includedir}/*
  137. %{_libdir}/libnimf.so
  138. %{_libdir}/pkgconfig/*
  139. %changelog
  140. * Wed, 23 Sep 2020 HamoniKR <pkg@hamonikr.org> - 2020.04.28-1
  141. - See https://github.com/hamonikr/nimf/blob/master/debian/changelog