From f322f76f4c43e3721b428b7b16708dd3648a2278 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Fri, 3 Feb 2023 06:31:32 +0100 Subject: [PATCH] - updated to 1.8.9 - added qt5-options patch, build qml module with kde5 plasmoid optional (todo: kde5 subpackage) --- uim-gnome-panel-update.patch | 26 +++++++------ uim-qt5-options.patch | 73 ++++++++++++++++++++++++++++++++++++ uim.spec | 45 +++++++++++++++------- 3 files changed, 119 insertions(+), 25 deletions(-) create mode 100644 uim-qt5-options.patch diff --git a/uim-gnome-panel-update.patch b/uim-gnome-panel-update.patch index 95ab7cb..92de0d1 100644 --- a/uim-gnome-panel-update.patch +++ b/uim-gnome-panel-update.patch @@ -1,6 +1,6 @@ ---- uim-1.8.8/configure.ac.orig 2020-10-17 09:24:42.226622532 +0200 -+++ uim-1.8.8/configure.ac 2020-10-17 11:11:05.698706962 +0200 -@@ -856,7 +856,7 @@ +--- uim-1.8.9/configure.ac.orig 2022-08-19 02:18:18.000000000 +0200 ++++ uim-1.8.9/configure.ac 2023-01-31 17:04:41.616929265 +0100 +@@ -874,7 +874,7 @@ AC_ARG_ENABLE(gnome3-applet, [enable_gnome3_applet=yes]) if test "x$enable_gnome3_applet" != xno; then @@ -9,10 +9,10 @@ enable_gnome3_applet=yes, enable_gnome3_applet=no) fi -@@ -865,7 +865,7 @@ +@@ -883,7 +883,7 @@ AM_CONDITIONAL(GNOME3_APPLET, test "x$en if test "x$enable_gnome3_applet" = xyes; then AC_ARG_WITH([libpanel-applet-dir], [], [LIBPANEL_APPLET_DIR=$withval], [LIBPANEL_APPLET_DIR=""]) - if test "$LIBPANEL_APPLET_DIR" == ""; then + if test "$LIBPANEL_APPLET_DIR" = ""; then - LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=libpanel_applet_dir libpanel-applet` + LIBPANEL_APPLET_DIR=`$PKG_CONFIG --variable=modulesdir libgnome-panel` fi @@ -162,9 +162,9 @@ + + ---- uim-1.8.8/gtk3/toolbar/Makefile.am.orig 2017-08-14 02:07:26.000000000 +0200 -+++ uim-1.8.8/gtk3/toolbar/Makefile.am 2020-10-18 10:12:34.632992411 +0200 -@@ -4,42 +4,27 @@ +--- uim-1.8.9/gtk3/toolbar/Makefile.am.orig 2023-01-31 07:05:10.013442140 +0100 ++++ uim-1.8.9/gtk3/toolbar/Makefile.am 2023-01-31 17:07:05.979481235 +0100 +@@ -4,46 +4,27 @@ EXTRA_DIST = UimApplet.panel-applet.in.i if GNOME3_APPLET helper_defs = -DUIM_DATADIR=\""$(datadir)/@PACKAGE@"\" @@ -207,9 +207,13 @@ - $(SED) s,@APPLET_LOCATION@,$(APPLET_LOCATION),g <$< >$@.tmp - $(SED) s,@UIM_PIXMAPSDIR@,$(uim_pixmapsdir),g <$@.tmp >$@ - --po_files = $(wildcard $(top_srcdir)/po/*.po) --$(applet_DATA): $(applet_in_files) $(INTLTOOL_MERGE) $(po_files) -- LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +-if USE_NLS +- po_files = $(wildcard $(top_srcdir)/po/*.po) +- $(applet_DATA): $(applet_in_files) $(INTLTOOL_MERGE) $(po_files) ;\ +- LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@ +-else +- $(applet_DATA): $(applet_in_files) ; cp $< $@ +-endif - DISTCLEANFILES = UimApplet.panel-applet.in UimApplet.panel-applet \ UimApplet.panel-applet.in.tmp diff --git a/uim-qt5-options.patch b/uim-qt5-options.patch new file mode 100644 index 0000000..17e9620 --- /dev/null +++ b/uim-qt5-options.patch @@ -0,0 +1,73 @@ +--- uim-1.8.9/configure.ac.orig 2023-01-31 07:07:28.042694371 +0100 ++++ uim-1.8.9/configure.ac 2023-02-01 22:17:54.615354533 +0100 +@@ -1150,6 +1150,18 @@ AC_ARG_WITH(qt5-immodule, + [], + [with_qt5_immodule=no]) + ++AC_ARG_WITH(qt5-quick, ++ AC_HELP_STRING([--with-qt5-quick], ++ [build Qt5Quick plugin]), ++ [], ++ [with_qt5_quick=$with_qt5]) ++ ++AC_ARG_WITH(kde5, ++ AC_HELP_STRING([--with-kde5], ++ [build KDE5 plasmoid]), ++ [], ++ [with_kde5=$with_qt5]) ++ + if test "x$with_qt5" = xyes || test "x$with_qt5_immodule" = xyes; then + if test -z "$QMAKE5"; then + AC_MSG_ERROR([no qmake for Qt5 found]) +@@ -1954,12 +1966,20 @@ if test "x$with_qt5" = xyes; then + if test "x$with_qt5_immodule" = xyes; then + qt5_immodule_option="DEFINES+=QT5_IMMODULE" + fi ++ CMAKE_ARGS= ++ if test "x$with_qt5_quick" = xyes; then ++ CMAKE_ARGS="$CMAKE_ARGS -DWITH_QUICK=ON" ++ fi ++ if test "x$with_kde5" = xyes; then ++ CMAKE_ARGS="$CMAKE_ARGS -DWITH_KDE5=ON" ++ fi + set -e + # FIXME: move CMAKE_CXX_FLAGS into cmake_option + ${CMAKE} \ + -B ${ac_abs_top_builddir}/qt5/applet.cmake \ + -S ${ac_abs_top_srcdir}/qt5/applet \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} ${X_CFLAGS}" \ ++ $CMAKE_ARGS \ + ${cmake_option} + ${QMAKE5} -o ${ac_abs_top_builddir}/qt5/candwin/Makefile.qmake \ + ${ac_abs_top_builddir}/qt5/candwin/uim-candwin-qt5.pro +--- uim-1.8.9/qt5/applet/CMakeLists.txt.orig 2020-03-27 23:51:26.000000000 +0100 ++++ uim-1.8.9/qt5/applet/CMakeLists.txt 2023-02-01 22:18:53.598368328 +0100 +@@ -1,5 +1,9 @@ + project(uim-applet) + ++option(WITH_KDE5 "KDE5 plasmoid applet") ++option(WITH_QUICK "Qt5Quick module") ++ ++if(WITH_KDE5) + # use Extra CMake Modules (ECM) for common functionality + find_package(ECM REQUIRED NO_MODULE) + # needed by find_package(KF5Plasma) below. +@@ -10,5 +14,8 @@ find_package(KF5Plasma REQUIRED) + + # Add installation target ("make install") + plasma_install_package(plasmoid com.github.uim.status) ++endif() + ++if(WITH_QUICK) + add_subdirectory(qtquick-plugin) ++endif() +--- uim-1.8.9/configure.ac.orig 2023-02-02 21:18:06.666723146 +0100 ++++ uim-1.8.9/configure.ac 2023-02-02 21:31:56.125562915 +0100 +@@ -1901,6 +1901,7 @@ if test "x$CMAKE" != xno; then + # FIXME: move CMAKE_CXX_FLAGS into cmake_option + cmake_option="-DCMAKE_BUILD_TYPE=${cmake_build_type}" + cmake_option="${cmake_option} -DCMAKE_INSTALL_PREFIX=${prefix}" ++ cmake_option="${cmake_option} -DCMAKE_INSTALL_LIBDIR=${libdir}" + cmake_option="${cmake_option} -DCMAKE_SKIP_RPATH=true" + cmake_option="${cmake_option} -DKDE4_USE_ALWAYS_FULL_RPATH=false" + fi diff --git a/uim.spec b/uim.spec index a619380..50eecbd 100644 --- a/uim.spec +++ b/uim.spec @@ -1,10 +1,12 @@ +# TODO: package kde5 plasmoid # # Conditional build: %bcond_without gnome # GNOME 3 panel applet -%bcond_with kde # KDE 4 panel applet and knotify4 plugin +%bcond_with kde4 # KDE 4 panel applet and knotify4 plugin +%bcond_with kde5 # KDE 5 plasmoid %bcond_with qt3 # Qt 3 support / immodule %bcond_without qt4 # Qt 4 support / immodule -%bcond_without qt5 # Qt 5 support / immodule +%bcond_without qt5 # Qt 5 support / immodule / quick plugin %bcond_without anthy # Anthy IM and dictionary support %bcond_without canna # Canna IM and dictionary support %bcond_without eb # EB text search support @@ -16,17 +18,18 @@ 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: 7 +Version: 1.8.9 +Release: 1 License: BSD Group: Libraries #Source0Download: https://github.com/uim/uim/releases Source0: https://github.com/uim/uim/releases/download/%{version}/%{name}-%{version}.tar.bz2 -# Source0-md5: 01c7bd5d0d4f3a9f6f5befe6f57a470b +# Source0-md5: fd4a5f60dea0596cac81956792942b9b Source1: %{name}.xinputd Source2: %{name}-init.el Patch0: %{name}-emacs-utf8.patch Patch1: %{name}-gnome-panel-update.patch +Patch2: %{name}-qt5-options.patch URL: https://github.com/uim/uim/wiki %{?with_canna:BuildRequires: Canna-devel} %{?with_wnn:BuildRequires: FreeWnn-devel} @@ -35,12 +38,16 @@ URL: https://github.com/uim/uim/wiki %{?with_qt4:BuildRequires: QtGui-devel >= 4} %{?with_qt5:BuildRequires: Qt5Core-devel >= 5} %{?with_qt5:BuildRequires: Qt5Gui-devel >= 5} +%{?with_qt5:BuildRequires: Qt5Qml-devel >= 5} +%{?with_qt5:BuildRequires: Qt5Quick-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_kde:BuildRequires: automoc4} -%{?with_kde:BuildRequires: cmake} +%{?with_kde4:BuildRequires: automoc4} +%if %{with kde4} || %{with qt5} +BuildRequires: cmake +%endif BuildRequires: curl-devel >= 7.16.4 %{?with_eb:BuildRequires: eb-devel} BuildRequires: expat-devel >= 1.95 @@ -48,8 +55,9 @@ BuildRequires: gettext-tools >= 0.17 %{?with_gnome:BuildRequires: gnome-panel-devel >= 3.37} BuildRequires: gtk+2-devel >= 2:2.4.0 BuildRequires: gtk+3-devel >= 3.0 +%{?with_kde5:BuildRequires: kf5-plasma-devel} BuildRequires: intltool >= 0.36.3 -%{?with_kde:BuildRequires: kde4-kdelibs-devel} +%{?with_kde4:BuildRequires: kde4-kdelibs-devel} BuildRequires: libedit-devel BuildRequires: libffi-devel >= 3.0.0 BuildRequires: libgcroots-devel >= 0.2.3 @@ -67,6 +75,7 @@ BuildRequires: pkgconfig(libffi) >= 3.0.0 %{?with_qt4:BuildRequires: qt4-qmake >= 4} %{?with_qt5:BuildRequires: qt5-qmake >= 5} BuildRequires: rpmbuild(macros) >= 1.750 +BuildRequires: sed >= 4.0 BuildRequires: sqlite3-devel >= 3.0.0 BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXext-devel @@ -289,7 +298,7 @@ Requires: emacs-common-uim = %{version}-%{release} %description -n emacs-uim This package provides Emacs support for Uim. -%description -n emacs-uim +%description -n emacs-uim -l pl.UTF-8 Ten pakiet zapewnia obsługę Uima w Emacsie. %package -n xemacs-uim @@ -444,12 +453,16 @@ japońskich. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 cp -a fep/README fep/README.fep cp -a fep/README.ja fep/README.fep.ja cp -a fep/README.key fep/README.fep.key cp -a xim/README xim/README.xim +%{__sed} -i -e 's,\${QML_INSTALL_DIR}/com/github/uim,${CMAKE_INSTALL_LIBDIR}/qt5/qml/uim,' \ + qt5/applet/qtquick-plugin/CMakeLists.txt + %build %{__gettextize} %{__intltoolize} @@ -464,8 +477,8 @@ cp -a xim/README xim/README.xim --enable-dict \ --disable-gnome-applet \ %{?with_gnome:--enable-gnome3-applet} \ - %{?with_kde:--enable-kde4-applet} \ - --enable-notify=libnotify%{?with_kde:,knotify4} \ + %{?with_kde4:--enable-kde4-applet} \ + --enable-notify=libnotify%{?with_kde4:,knotify4} \ --enable-openssl \ --enable-pref \ %{?with_qt4:--enable-qt4-qt3support} \ @@ -478,6 +491,7 @@ cp -a xim/README xim/README.xim --with-ffi \ --with-gtk2 \ --with-gtk3 \ + %{!?with_kde5:--without-kde5} \ --with-libedit \ --with-libgcroots=installed \ --with-lispdir=%{_datadir}/emacs/site-lisp \ @@ -487,7 +501,7 @@ cp -a xim/README xim/README.xim %{!?with_prime:--without-prime} \ %{?with_qt3:--with-qt --with-qt-immodule} \ %{?with_qt4:--with-qt4 --with-qt4-immodule} \ - %{?with_qt5:--with-qt5 --with-qt5-immodule} \ + %{?with_qt5:--with-qt5 --with-qt5-immodule --with-quick} \ --with-sj3 \ --with-skk \ --with-sqlite3 \ @@ -794,11 +808,14 @@ fi %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 +%attr(755,root,root) %{_libdir}/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so +%dir %{_libdir}/qt5/qml/uim +%attr(755,root,root) %{_libdir}/qt5/qml/uim/libuim-qtquick-plugin.so +%{_libdir}/qt5/qml/uim/qmldir %endif -%if %{with kde} +%if %{with kde4} %files kde %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/kde4/plasma_applet_uim.so -- 2.44.0