#
# Conditional build:
-%bcond_without gnome # GNOME panel applet
-%bcond_without kde # KDE panel applet
+%bcond_without gnome # GNOME 3 panel applet
+%bcond_without kde # KDE 4 panel applet and knotify4 plugin
%bcond_with qt3 # Qt 3 support / immodule
%bcond_without qt4 # Qt 4 support / immodule
+%bcond_without qt5 # Qt 5 support / immodule
%bcond_without anthy # Anthy IM and dictionary support
%bcond_without canna # Canna IM and dictionary support
%bcond_without eb # EB text search support
%bcond_without m17n # m17n IM support
%bcond_without mana # mana IM support
-%bcond_with scim # scim support [broken, already removed in 1.9.0-git]
+%bcond_without prime # PRIME IM support
%bcond_without wnn # Wnn IM support
#
Summary: Multilingual input method library
Summary(pl.UTF-8): Biblioteka obsługująca wejście w wielu językach
Name: uim
Version: 1.8.8
-Release: 3
-License: GPL or BSD
+Release: 4
+License: BSD
Group: Libraries
#Source0Download: https://github.com/uim/uim/releases
-Source0: https://github.com/uim/uim/releases/download/1.8.8/%{name}-%{version}.tar.bz2
+Source0: https://github.com/uim/uim/releases/download/%{version}/%{name}-%{version}.tar.bz2
# Source0-md5: 01c7bd5d0d4f3a9f6f5befe6f57a470b
Source1: %{name}.xinputd
Source2: %{name}-init.el
Patch0: %{name}-emacs-utf8.patch
+Patch1: %{name}-gnome-panel-update.patch
URL: https://github.com/uim/uim/wiki
%{?with_canna:BuildRequires: Canna-devel}
%{?with_wnn:BuildRequires: FreeWnn-devel}
%{?with_qt4:BuildRequires: Qt3Support-devel >= 4}
+%{?with_qt4:BuildRequires: QtCore-devel >= 4}
+%{?with_qt4:BuildRequires: QtGui-devel >= 4}
+%{?with_qt5:BuildRequires: Qt5Core-devel >= 5}
+%{?with_qt5:BuildRequires: Qt5Gui-devel >= 5}
+%{?with_qt5:BuildRequires: Qt5Widgets-devel >= 5}
%{?with_anthy:BuildRequires: anthy-devel >= 9100h-2}
BuildRequires: autoconf >= 2.60b
BuildRequires: automake >= 1:1.10
%{?with_eb:BuildRequires: eb-devel}
BuildRequires: expat-devel >= 1.95
BuildRequires: gettext-tools >= 0.17
-%{?with_gnome:BuildRequires: gnome-panel-devel >= 3}
+%{?with_gnome:BuildRequires: gnome-panel-devel >= 3.37}
BuildRequires: gtk+2-devel >= 2:2.4.0
BuildRequires: gtk+3-devel >= 3.0
BuildRequires: intltool >= 0.36.3
BuildRequires: libedit-devel
BuildRequires: libffi-devel >= 3.0.0
BuildRequires: libgcroots-devel >= 0.2.3
-%{?with_gnome:BuildRequires: libgnome-devel >= 2.4.0}
BuildRequires: libnotify-devel >= 0.4
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:1.5
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libffi) >= 3.0.0
-# since 1.9.0-git for PRIME support
-#BuildRequires: prime >= 0.8.5.2
+# for configure check, but it affects only default set of registered modules
+#%{?with_prime:BuildRequires: prime >= 0.8.5.2}
%{?with_qt3:BuildRequires: qt-devel >= 3.2.0}
%{?with_qt4:BuildRequires: qt4-qmake >= 4}
-%{?with_scim:BuildRequires: scim-devel >= 1.3.0}
+%{?with_qt5:BuildRequires: qt5-qmake >= 5}
+BuildRequires: rpmbuild(macros) >= 1.750
BuildRequires: sqlite3-devel >= 3.0.0
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXext-devel
Requires: libgcroots >= 0.2.3
# for libuim-curl
Requires: curl-libs >= 7.16.4
+Obsoletes: uim-scim < 1.8
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%ifarch %{ix86}
-%if "%(%{__cc} -dumpversion)" >= "6.3"
-# "-O2 -march=i686 -mtune=pentium4" combination causes sigscheme to segfault when built with gcc 6.3
+%if "%{_ver_ge '%{cc_version}' '6.3'}" == "1"
+# "-O2 -march=i686 -mtune=pentium4" combination causes sigscheme to segfault when built with gcc 6.3-7.5
%define filterout -mtune=pentium4
%endif
%endif
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
Requires: %{name}-gtk3 = %{version}-%{release}
+Requires: gnome-panel >= 3.37
%description gnome
Uim is a multilingual input method library. Uim aims to provide secure
Summary(pl.UTF-8): Obsługa Qt 3 dla biblioteki Uim
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
+Requires: qt >= 6:3.2.0
Provides: %{name}-qt-common = %{version}-%{release}
%description qt3
Ten pakiet zawiera moduł IM Qt 3 oraz programy pomocnicze.
-%package qt
+%package qt4
Summary: Qt 4 support for Uim
Summary(pl.UTF-8): Obsługa Qt 4 dla biblioteki Uim
Group: X11/Applications
Requires: %{name} = %{version}-%{release}
-Requires: qt >= 6:3.2.0
+Obsoletes: uim-qt < 1.8.8-4
-%description qt
+%description qt4
Uim is a multilingual input method library. Uim aims to provide secure
and useful input methods for all languages.
This package provides the Qt 4 IM module and helper programs.
-%description qt -l pl.UTF-8
+%description qt4 -l pl.UTF-8
Uim jest biblioteką obsługującą wejście w wielu językach. Celem
projektu jest udostępnienie bezpiecznych i użytecznych metod
wprowadzania dla wszystkich języków.
Ten pakiet zawiera moduł IM Qt 4 oraz programy pomocnicze.
+%package qt5
+Summary: Qt 5 support for Uim
+Summary(pl.UTF-8): Obsługa Qt 5 dla biblioteki Uim
+Group: X11/Applications
+Requires: %{name} = %{version}-%{release}
+
+%description qt5
+Uim is a multilingual input method library. Uim aims to provide secure
+and useful input methods for all languages.
+
+This package provides the Qt 5 IM module and helper programs.
+
+%description qt5 -l pl.UTF-8
+Uim jest biblioteką obsługującą wejście w wielu językach. Celem
+projektu jest udostępnienie bezpiecznych i użytecznych metod
+wprowadzania dla wszystkich języków.
+
+Ten pakiet zawiera moduł IM Qt 5 oraz programy pomocnicze.
+
%package kde
Summary: KDE 4 Applet for Uim
Summary(pl.UTF-8): Aplet KDE 4 dla biblioteki Uim
Ten pakiet zawiera obsługę metody PRIME wprowadzania znaków
japońskich.
-%package scim
-Summary: SCIM support for Uim
-Summary(pl.UTF-8): Obsługa metod SCIM w Uimie
-Group: Libraries
-Requires(post,postun): %{_bindir}/uim-module-manager
-Requires: %{name} = %{version}-%{release}
-Requires: scim >= 1.3.0
-
-%description scim
-This package provides support for SCIM-provided input methods.
-
-%description scim -l pl.UTF-8
-Ten pakiet zawiera obsługę metod udostępnianych przez SCIM.
-
%package sj3
Summary: SJ3 support for Uim
Summary(pl.UTF-8): Obsługa metody SJ3 w Uimie
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
cp -a fep/README fep/README.fep
cp -a fep/README.ja fep/README.fep.ja
MANA=/usr/bin/mana \
--enable-default-toolkit=gtk3 \
--enable-dict \
- --disable-gnome2-applet \
+ --disable-gnome-applet \
%{?with_gnome:--enable-gnome3-applet} \
%{?with_kde:--enable-kde4-applet} \
- --enable-notify=libnotify \
+ --enable-notify=libnotify%{?with_kde:,knotify4} \
--enable-openssl \
--enable-pref \
%{?with_qt4:--enable-qt4-qt3support} \
--with-libgcroots=installed \
--with-lispdir=%{_datadir}/emacs/site-lisp \
%{!?with_m17n:--without-m17nlib} \
- %{?with_mana:--with-mana} \
- --with-prime \
+ %{!?with_mana:--without-mana} \
+ --without-openssl-header-check \
+ %{!?with_prime:--without-prime} \
%{?with_qt3:--with-qt --with-qt-immodule} \
%{?with_qt4:--with-qt4 --with-qt4-immodule} \
- %{?with_scim:--with-scim} \
+ %{?with_qt5:--with-qt5 --with-qt5-immodule} \
--with-sj3 \
--with-skk \
--with-sqlite3 \
DESTDIR=$RPM_BUILD_ROOT \
UIMEL_LISP_DIR=%{_datadir}/xemacs-packages/lisp/uim-el
-%{__rm} $RPM_BUILD_ROOT%{_libdir}{,/gtk*/*/immodules,/uim/*%{?with_gnome:,/uim}%{?with_qt3:,/qt/plugins-mt/*}}/*.la
+%{__rm} $RPM_BUILD_ROOT%{_libdir}{,/gtk*/*/immodules,/uim/*%{?with_gnome:,/gnome-panel/modules}%{?with_qt3:,/qt/plugins-mt/*}}/*.la
%{__sed} -e 's|@@LIB@@|%{_lib}|g' %{SOURCE1} >$RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/uim.conf
install -p %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d/
ln -sf %{_localstatedir}/lib/uim/installed-modules.scm $RPM_BUILD_ROOT%{_datadir}/uim/
ln -sf %{_localstatedir}/lib/uim/loader.scm $RPM_BUILD_ROOT%{_datadir}/uim/
-%if %{without scim}
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/uim/pixmaps/scim.svg
-%endif
+# remnants of removed SCIM module
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/uim/pixmaps/scim.{png,svg}
# OSX-specific
%{__rm} $RPM_BUILD_ROOT%{_datadir}/uim/annotation-osx-dcs.scm
UIM_DISABLE_NOTIFY=1 \
$RPM_BUILD_ROOT%{_bindir}/uim-module-manager \
--path $RPM_BUILD_ROOT%{_localstatedir}/lib/uim \
- --unregister anthy-utf8 canna m17nlib mana prime scim sj3 skk wnn
+ --unregister anthy-utf8 canna m17nlib mana prime sj3 skk wnn
%find_lang %{name}
%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister prime
fi
-%post scim
-%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register scim
-
-%postun scim
-if [ "$1" = "0" ]; then
- %{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --unregister scim
-fi
-
%post sj3
%{_bindir}/uim-module-manager --path %{_localstatedir}/lib/uim --register sj3
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS NEWS README RELNOTE
-%doc fep/README.fep fep/README.fep.ja fep/README.fep.key xim/README.xim
+%doc AUTHORS COPYING NEWS README RELNOTE fep/README.fep{,.key} xim/README.xim
+%lang(ja) %doc fep/README.fep.ja
%{_sysconfdir}/X11/xinit/xinput.d/uim.conf
%attr(755,root,root) %{_bindir}/uim-fep
%attr(755,root,root) %{_bindir}/uim-fep-tick
%exclude %{_datadir}/uim/pixmaps/m17n*png
%exclude %{_datadir}/uim/pixmaps/mana.png
%exclude %{_datadir}/uim/pixmaps/mana.svg
+%if %{with prime}
%exclude %{_datadir}/uim/pixmaps/prime*.png
-%if %{with scim}
-%exclude %{_datadir}/uim/pixmaps/scim.png
-%exclude %{_datadir}/uim/pixmaps/scim.svg
%endif
%exclude %{_datadir}/uim/pixmaps/sj3.png
%exclude %{_datadir}/uim/pixmaps/sj3.svg
%exclude %{_datadir}/uim/canna*.scm
%exclude %{_datadir}/uim/m17nlib*.scm
%exclude %{_datadir}/uim/mana*.scm
+%if %{with prime}
%exclude %{_datadir}/uim/prime*.scm
-%if %{with scim}
-%exclude %{_datadir}/uim/scim.scm
%endif
%exclude %{_datadir}/uim/sj3*.scm
%exclude %{_datadir}/uim/skk*.scm
%if %{with gnome}
%files gnome
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/uim/libuim-toolbar-applet-gnome3.so
-%{_datadir}/gnome-panel/applets/UimApplet.panel-applet
+%attr(755,root,root) %{_libdir}/gnome-panel/modules/uim.so
%endif
%if %{with qt3}
%endif
%if %{with qt4}
-%files qt
+%files qt4
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/uim-chardict-qt4
%attr(755,root,root) %{_bindir}/uim-im-switcher-qt4
%attr(755,root,root) %{_libexecdir}/uim-candwin-qt4
%endif
+%if %{with qt5}
+%files qt5
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/uim-chardict-qt5
+%attr(755,root,root) %{_bindir}/uim-im-switcher-qt5
+%attr(755,root,root) %{_bindir}/uim-pref-qt5
+%attr(755,root,root) %{_bindir}/uim-toolbar-qt5
+%attr(755,root,root) %{_libdir}/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so
+%attr(755,root,root) %{_libexecdir}/uim-candwin-qt5
+%endif
+
%if %{with kde}
%files kde
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/kde4/plasma_applet_uim.so
+%attr(755,root,root) %{_libdir}/uim/notify/libuimnotify-knotify4.so
%{_datadir}/kde4/services/plasma-applet-uim.desktop
%endif
%{_datadir}/uim/pixmaps/mana.svg
%endif
+%if %{with prime}
%files prime
%defattr(644,root,root,755)
%{_datadir}/uim/prime*.scm
%{_datadir}/uim/pixmaps/prime*.png
-
-%if %{with scim}
-%files scim
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/uim/plugin/libuim-scim.so
-%{_datadir}/uim/scim.scm
-%{_datadir}/uim/pixmaps/scim.png
-%{_datadir}/uim/pixmaps/scim.svg
%endif
%files sj3