diff --git a/sources b/sources index c9d0369..0106ac4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ecea4c597bab1fd4ba98ea84edcece59 uim-1.8.6.tar.bz2 +SHA512 (uim-1.9.6.tar.bz2) = 6824b56116d4ad99802d349e4afc60eee143c8c25d8e1b32712989a020a647d9338e3f6d23a097c7725c67f0b62a3f8f3e217a40aac35c0076d3667723124210 diff --git a/uim-enable-libgcroots.patch b/uim-enable-libgcroots.patch deleted file mode 100644 index 38e82f9..0000000 --- a/uim-enable-libgcroots.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- uim-1.6.0.orig/configure.ac 2010-08-12 14:15:54.000000000 +0900 -+++ uim-1.6.0/configure.ac 2010-08-12 14:25:02.000000000 +0900 -@@ -1800,7 +1800,7 @@ AC_SUBST(abs_top_builddir) - # - # --with-master-pkg=uim instructs that pkgdatadir for Scheme libraries. - # See also sigscheme/lib/Makefile.am --ac_configure_args="$ac_configure_args --with-master-pkg=uim --enable-conf=uim --disable-libsscm --disable-shell" -+ac_configure_args="$ac_configure_args --with-master-pkg=uim --enable-conf=uim --disable-libsscm --disable-shell --with-libgcroots=installed" - AC_CONFIG_SUBDIRS([sigscheme]) - - AC_CONFIG_FILES([Makefile diff --git a/uim-ftbfs.patch b/uim-ftbfs.patch new file mode 100644 index 0000000..6694f62 --- /dev/null +++ b/uim-ftbfs.patch @@ -0,0 +1,283 @@ +--- uim-1.8.9.orig/uim/uim-scm-sigscheme.c 2017-08-14 09:07:27.000000000 +0900 ++++ uim-1.8.9/uim/uim-scm-sigscheme.c 2025-01-29 11:24:25.385409870 +0900 +@@ -722,7 +722,7 @@ + + return (void **)uim_scm_call_with_gc_ready_stack((uim_gc_gate_func_ptr)uim_scm_list2array_internal, &args); + } +- ++ + static void * + uim_scm_list2array_internal(struct list2array_args *args) + { +@@ -780,7 +780,7 @@ + + return (void **)uim_scm_call_with_gc_ready_stack((uim_gc_gate_func_ptr)uim_scm_vector2array_internal, &args); + } +- ++ + static void * + uim_scm_vector2array_internal(struct vector2array_args *args) + { +@@ -1225,7 +1225,7 @@ + assert(name); + assert(func); + +- scm_register_func(name, (scm_procedure_fixed_0)func, SCM_PROCEDURE_FIXED_0); ++ scm_register_func(name, (ScmFuncType)func, SCM_PROCEDURE_FIXED_0); + } + + void +@@ -1235,7 +1235,7 @@ + assert(name); + assert(func); + +- scm_register_func(name, (scm_procedure_fixed_1)func, SCM_PROCEDURE_FIXED_1); ++ scm_register_func(name, (ScmFuncType)func, SCM_PROCEDURE_FIXED_1); + } + + void +@@ -1245,7 +1245,7 @@ + assert(name); + assert(func); + +- scm_register_func(name, (scm_procedure_fixed_2)func, SCM_PROCEDURE_FIXED_2); ++ scm_register_func(name, (ScmFuncType)func, SCM_PROCEDURE_FIXED_2); + } + + void +@@ -1256,7 +1256,7 @@ + assert(name); + assert(func); + +- scm_register_func(name, (scm_procedure_fixed_3)func, SCM_PROCEDURE_FIXED_3); ++ scm_register_func(name, (ScmFuncType)func, SCM_PROCEDURE_FIXED_3); + } + + void +@@ -1267,7 +1267,7 @@ + assert(name); + assert(func); + +- scm_register_func(name, (scm_procedure_fixed_4)func, SCM_PROCEDURE_FIXED_4); ++ scm_register_func(name, (ScmFuncType)func, SCM_PROCEDURE_FIXED_4); + } + + void +@@ -1279,7 +1279,7 @@ + assert(name); + assert(func); + +- scm_register_func(name, (scm_procedure_fixed_5)func, SCM_PROCEDURE_FIXED_5); ++ scm_register_func(name, (ScmFuncType)func, SCM_PROCEDURE_FIXED_5); + } + + void +diff -pruN uim-1.8.9.orig/sigscheme/src/eval.c uim-1.8.9/sigscheme/src/eval.c +--- uim-1.8.9.orig/sigscheme/src/eval.c 2015-05-30 22:08:55.000000000 +0900 ++++ uim-1.8.9/sigscheme/src/eval.c 2025-01-29 11:40:17.497789730 +0900 +@@ -48,6 +48,24 @@ + /*======================================= + File Local Type Definitions + =======================================*/ ++typedef union ScmFuncClosure { ++ ScmObj (* efunc1) (ScmEvalState *); ++ ScmObj (* efunc2) (ScmObj, ScmEvalState *); ++ ScmObj (* efunc3) (ScmObj, ScmObj, ScmEvalState *); ++ ScmObj (* efunc4) (ScmObj, ScmObj, ScmObj, ScmEvalState *); ++ ScmObj (* efunc5) (ScmObj, ScmObj, ScmObj, ScmObj, ScmEvalState *); ++ ScmObj (* efunc6) (ScmObj, ScmObj, ScmObj, ScmObj, ScmObj, ScmEvalState *); ++ ScmObj (* efunc7) (ScmObj, ScmObj, ScmObj, ScmObj, ScmObj, ScmObj, ScmEvalState *); ++ ScmObj (* func0) (void); ++ ScmObj (* func1) (ScmObj); ++ ScmObj (* func2) (ScmObj, ScmObj); ++ ScmObj (* func3) (ScmObj, ScmObj, ScmObj); ++ ScmObj (* func4) (ScmObj, ScmObj, ScmObj, ScmObj); ++ ScmObj (* func5) (ScmObj, ScmObj, ScmObj, ScmObj, ScmObj); ++ ScmObj (* func6) (ScmObj, ScmObj, ScmObj, ScmObj, ScmObj, ScmObj); ++ ScmObj (* func7) (ScmObj, ScmObj, ScmObj, ScmObj, ScmObj, ScmObj, ScmObj); ++ ScmObj (* rfunc) (ScmObj, ScmObj, enum ScmReductionState *); ++} ScmFuncClosure; + + /*======================================= + Variable Definitions +@@ -56,7 +74,7 @@ + /*======================================= + File Local Function Declarations + =======================================*/ +-static ScmObj reduce(ScmObj (*func)(), ScmObj args, ScmObj env, ++static ScmObj reduce(ScmFuncClosure *func, ScmObj args, ScmObj env, + enum ScmValueType need_eval); + #if SCM_USE_CONTINUATION + static void call_continuation(ScmObj cont, ScmObj args, +@@ -96,7 +114,7 @@ scm_call(ScmObj proc, ScmObj args) + + /* ARGS should NOT have been evaluated yet. */ + static ScmObj +-reduce(ScmObj (*func)(), ScmObj args, ScmObj env, enum ScmValueType need_eval) ++reduce(ScmFuncClosure *func, ScmObj args, ScmObj env, enum ScmValueType need_eval) + { + ScmObj left, right; + enum ScmReductionState state; +@@ -104,7 +122,7 @@ reduce(ScmObj (*func)(), ScmObj args, Sc + + if (NO_MORE_ARG(args)) { + state = SCM_REDUCE_0; +- return (*func)(SCM_INVALID, SCM_INVALID, &state); ++ return (func->rfunc)(SCM_INVALID, SCM_INVALID, &state); + } + + left = POP(args); +@@ -113,7 +131,7 @@ reduce(ScmObj (*func)(), ScmObj args, Sc + + if (NO_MORE_ARG(args)) { + state = SCM_REDUCE_1; +- return (*func)(left, left, &state); ++ return (func->rfunc)(left, left, &state); + } + + /* Reduce upto the penult. */ +@@ -121,7 +139,7 @@ reduce(ScmObj (*func)(), ScmObj args, Sc + FOR_EACH_BUTLAST (right, args) { + if (need_eval) + right = EVAL(right, env); +- left = (*func)(left, right, &state); ++ left = (func->rfunc)(left, right, &state); + if (state == SCM_REDUCE_STOP) + return left; + } +@@ -131,7 +149,7 @@ reduce(ScmObj (*func)(), ScmObj args, Sc + state = SCM_REDUCE_LAST; + if (need_eval) + right = EVAL(right, env); +- return (*func)(left, right, &state); ++ return (func->rfunc)(left, right, &state); + } + + #if SCM_USE_CONTINUATION +@@ -235,7 +253,7 @@ call(ScmObj proc, ScmObj args, ScmEvalSt + enum ScmValueType need_eval) + { + ScmObj env, vals; +- ScmObj (*func)(); ++ ScmFuncClosure func; + enum ScmFuncTypeCode type; + scm_bool syntaxp; + int mand_count, i; +@@ -324,10 +342,10 @@ call(ScmObj proc, ScmObj args, ScmEvalSt + /* We have a C function. */ + + type = SCM_FUNC_TYPECODE(proc); +- func = SCM_FUNC_CFUNC(proc); ++ func = (ScmFuncClosure) SCM_FUNC_CFUNC(proc); + + if (type == SCM_REDUCTION_OPERATOR) +- return reduce(func, args, env, need_eval); ++ return reduce(&func, args, env, need_eval); + + syntaxp = type & SCM_FUNCTYPE_SYNTAX; + if (syntaxp) { +@@ -379,28 +397,28 @@ call(ScmObj proc, ScmObj args, ScmEvalSt + if (type & SCM_FUNCTYPE_TAILREC) { + switch (i) { + case 1: +- return (*func)(eval_state); ++ return (func.efunc1)(eval_state); + case 2: +- return (*func)(argbuf[0], eval_state); ++ return (func.efunc2)(argbuf[0], eval_state); + case 3: + #if SCM_FUNCTYPE_MAND_MAX >= 1 +- return (*func)(argbuf[0], argbuf[1], eval_state); ++ return (func.efunc3)(argbuf[0], argbuf[1], eval_state); + #endif + case 4: + #if SCM_FUNCTYPE_MAND_MAX >= 2 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], eval_state); ++ return (func.efunc4)(argbuf[0], argbuf[1], argbuf[2], eval_state); + #endif + case 5: + #if SCM_FUNCTYPE_MAND_MAX >= 3 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], eval_state); ++ return (func.efunc5)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], eval_state); + #endif + case 6: + #if SCM_FUNCTYPE_MAND_MAX >= 4 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], eval_state); ++ return (func.efunc6)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], eval_state); + #endif + case 7: + #if SCM_FUNCTYPE_MAND_MAX >= 5 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], argbuf[5], eval_state); ++ return (func.efunc7)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], argbuf[5], eval_state); + #endif + default: + SCM_NOTREACHED; +@@ -410,30 +428,30 @@ call(ScmObj proc, ScmObj args, ScmEvalSt + + switch (i) { + case 0: +- return (*func)(); ++ return (func.func0)(); + case 1: +- return (*func)(argbuf[0]); ++ return (func.func1)(argbuf[0]); + case 2: +- return (*func)(argbuf[0], argbuf[1]); ++ return (func.func2)(argbuf[0], argbuf[1]); + case 3: + #if SCM_FUNCTYPE_MAND_MAX >= 1 +- return (*func)(argbuf[0], argbuf[1], argbuf[2]); ++ return (func.func3)(argbuf[0], argbuf[1], argbuf[2]); + #endif + case 4: + #if SCM_FUNCTYPE_MAND_MAX >= 2 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3]); ++ return (func.func4)(argbuf[0], argbuf[1], argbuf[2], argbuf[3]); + #endif + case 5: + #if SCM_FUNCTYPE_MAND_MAX >= 3 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4]); ++ return (func.func5)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4]); + #endif + case 6: + #if SCM_FUNCTYPE_MAND_MAX >= 4 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], argbuf[5]); ++ return (func.func6)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], argbuf[5]); + #endif + case 7: + #if SCM_FUNCTYPE_MAND_MAX >= 5 +- return (*func)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], argbuf[5], argbuf[6]); ++ return (func.func7)(argbuf[0], argbuf[1], argbuf[2], argbuf[3], argbuf[4], argbuf[5], argbuf[6]); + #endif + + default: +diff -pruN uim-1.8.9.orig/sigscheme/src/module-srfi34.c uim-1.8.9/sigscheme/src/module-srfi34.c +--- uim-1.8.9.orig/sigscheme/src/module-srfi34.c 2015-05-30 22:08:55.000000000 +0900 ++++ uim-1.8.9/sigscheme/src/module-srfi34.c 2025-01-29 11:40:17.498789749 +0900 +@@ -190,19 +190,19 @@ scm_initialize_srfi34(void) + SCM_ASSERT_FUNCTYPE(scm_syntax_fixed_tailrec_0, &guard_body); + + l_syn_raw_quote +- = MAKE_FUNC(SCM_SYNTAX_FIXED_1, &raw_quote); ++ = MAKE_FUNC(SCM_SYNTAX_FIXED_1, (ScmFuncType)&raw_quote); + l_syn_set_cur_handlers +- = MAKE_FUNC(SCM_SYNTAX_FIXED_1, &set_cur_handlers); ++ = MAKE_FUNC(SCM_SYNTAX_FIXED_1, (ScmFuncType)&set_cur_handlers); + l_proc_with_exception_handlers +- = MAKE_FUNC(SCM_PROCEDURE_FIXED_2, &with_exception_handlers); ++ = MAKE_FUNC(SCM_PROCEDURE_FIXED_2, (ScmFuncType)&with_exception_handlers); + l_syn_guard_internal +- = MAKE_FUNC(SCM_SYNTAX_FIXED_1, &guard_internal); ++ = MAKE_FUNC(SCM_SYNTAX_FIXED_1, (ScmFuncType)&guard_internal); + l_syn_guard_handler +- = MAKE_FUNC(SCM_SYNTAX_FIXED_TAILREC_1, &guard_handler); ++ = MAKE_FUNC(SCM_SYNTAX_FIXED_TAILREC_1, (ScmFuncType)&guard_handler); + l_syn_guard_handler_body +- = MAKE_FUNC(SCM_SYNTAX_FIXED_1, &guard_handler_body); ++ = MAKE_FUNC(SCM_SYNTAX_FIXED_1, (ScmFuncType)&guard_handler_body); + l_syn_guard_body +- = MAKE_FUNC(SCM_SYNTAX_FIXED_TAILREC_0, &guard_body); ++ = MAKE_FUNC(SCM_SYNTAX_FIXED_TAILREC_0, (ScmFuncType)&guard_body); + + /* + * The 'error' procedure should not be invoked directly by diff --git a/uim.spec b/uim.spec index 7b4b301..ad6e039 100644 --- a/uim.spec +++ b/uim.spec @@ -1,126 +1,105 @@ -%define inst_xinput %{_sbindir}/update-alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_sysconfdir}/X11/xinit/xinput.d/uim.conf 50 -%define uninst_xinput %{_sbindir}/update-alternatives --remove xinputrc %{_sysconfdir}/X11/xinit/xinput.d/uim.conf +%global inst_xinput %{_sbindir}/update-alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_sysconfdir}/X11/xinit/xinput.d/uim.conf 50 +%global uninst_xinput %{_sbindir}/update-alternatives --remove xinputrc %{_sysconfdir}/X11/xinit/xinput.d/uim.conf +%global srcver 1.9.6 + +%bcond_with canna Name: uim -Version: 1.8.6 -Release: 1%{?dist} +Version: 1.9.6 +Release: 4%{?dist} # uim itself is licensed under BSD # scm/py.scm, helper/eggtrayicon.[ch], qt/pref-kseparator.{cpp,h} # and qt/chardict/chardict-kseparator.{cpp,h} is licensed under LGPLv2+ # pixmaps/*.{svg,png} is licensed under BSD or LGPLv2 -License: BSD and LGPLv2+ and (BSD or LGPLv2) -URL: http://code.google.com/p/uim/ +License: BSD-3-Clause AND LGPL-2.1-or-later AND (BSD-3-Clause OR LGPL-2.1-or-later) +URL: https://github.com/uim/uim/ BuildRequires: libXft-devel libX11-devel libXext-devel libXrender-devel libXau-devel libXdmcp-devel libXt-devel BuildRequires: libgcroots-devel -BuildRequires: gtk2-devel gtk3-devel ncurses-devel -BuildRequires: anthy-devel Canna-devel eb-devel gettext desktop-file-utils -BuildRequires: qt3-devel kdelibs3-devel -BuildRequires: qt-devel cmake kdelibs-devel -BuildRequires: libedit-devel openssl-devel libcurl-devel sqlite-devel expat-devel +BuildRequires: gtk3-devel ncurses-devel +%if %{with canna} +BuildRequires: Canna-devel +%endif +BuildRequires: anthy-unicode-devel eb-devel gettext desktop-file-utils +BuildRequires: qt-devel cmake +BuildRequires: libedit-devel libcurl-devel sqlite-devel expat-devel BuildRequires: m17n-lib-devel m17n-db-devel BuildRequires: m17n-db m17n-db-extras BuildRequires: emacs libtool automake autoconf intltool -Source0: http://uim.googlecode.com/files/%{name}-%{version}.tar.bz2 +%if 0%{?fedora} < 36 +BuildRequires: xemacs +%endif +BuildRequires: gcc gcc-c++ +Source0: https://github.com/uim/uim/releases/download/%{version}/uim-%{version}.tar.bz2 Source1: xinput.d-uim Source2: uim-init.el Patch1: uim-emacs-utf8.patch -Patch2: uim-enable-libgcroots.patch +#Patch4: uim-ftbfs.patch Summary: A multilingual input method library -Group: System Environment/Libraries Requires(post): %{_sbindir}/update-alternatives /sbin/ldconfig Requires(postun): %{_sbindir}/update-alternatives /sbin/ldconfig Requires: imsettings im-chooser +Requires: emacs-filesystem >= %{_emacs_version} +%if 0%{?fedora} < 36 +Requires: xemacs-filesystem >= %{_xemacs_version} +%endif +Provides: emacs-common-%{name} <= 1.8.6-7 +Obsoletes: emacs-common-%{name} <= 1.8.6-7 +Provides: emacs-%{name} <= 1.8.6-7, emacs-%{name}-el <= 1.8.6-7 +Obsoletes: emacs-%{name} <= 1.8.6-7, emacs-%{name}-el <= 1.8.6-7 +Provides: xemacs-%{name} <= 1.8.6-7, xemacs-%{name}-el <= 1.8.6-7 +Obsoletes: xemacs-%{name} <= 1.8.6-7, xemacs-%{name}-el <= 1.8.6-7 +%if %{without canna} +Obsoletes: %{name}-canna < %{version}-%{release} +%endif %package devel Summary: Development files for the Uim library -Group: Development/Libraries Requires: uim = %{version}-%{release} -%package gtk2 -Summary: GTK+2 support for Uim -Group: User Interface/Desktops -Requires: uim = %{version}-%{release} -# for update-gtk-immodules -Requires(post): gtk2 >= 2.9.1-2 -Requires(postun): gtk2 -Obsoletes: %{name}-gnome < 1.8.5-4 - %package gtk3 Summary: GTK+3 support for Uim -Group: User Interface/Desktops Requires: uim = %{version}-%{release} # for update-gtk-immodules Requires(post): gtk3 Requires(postun): gtk3 Obsoletes: %{name}-gnome < 1.8.5-4 +Obsoletes: %{name}-gtk2 < 1.9.5-1 %package qt Summary: Qt4 support for Uim -Group: User Interface/Desktops - -%package qt3 -Summary: Qt3 support for Uim -Group: User Interface/Desktops -Obsoletes: uim-qt < 1.4.2-2 %{name}-qt-common < 1.6.0 -Provides: %{name}-qt-common = %{version}-%{release} +Provides: uim-qt3 = %{version}-%{release} +Obsoletes: uim-qt3 < 1.8.6-11 +%if 0 %package kde Summary: KDE Applet for Uim -Group: User Interface/Desktops Requires: uim = %{version}-%{release} Requires: uim-qt - -%package kde3 -Summary: KDE3 Applet for Uim -Group: User Interface/Desktops -Requires: uim = %{version}-%{release} -Requires: uim-qt3 - -%package -n emacs-uim -Summary: Emacs support for Uim -Group: System Environment/Libraries -Requires: emacs-common-uim = %{version}-%{release} -Requires: emacs(bin) -Conflicts: uim-el < 1.5.0-1 -Obsoletes: uim-el < 1.5.0-1 -Provides: uim-el = %{version}-%{release} - -%package -n emacs-common-uim -Summary: Common package for Emacsen support for Uim -Group: System Environment/Libraries -Requires: uim = %{version}-%{release} -Conflicts: uim-el-common < 1.5.0-1 -Obsoletes: uim-el-common < 1.5.0-1 -Provides: uim-el-common = %{version}-%{release} - -%package -n xemacs-uim -Summary: XEmacs support for Uim -Group: System Environment/Libraries -Requires: emacs-common-uim = %{version}-%{release} -Requires: xemacs(bin) xemacs-packages-extra +Provides: uim-kde3 = %{version}-%{release} +Obsoletes: uim-kde3 < 1.8.6-11 +%endif %package anthy Summary: Anthy support for Uim -Group: System Environment/Libraries -Requires: anthy >= 9100h-11 +Requires: anthy-unicode Requires: uim = %{version}-%{release} Requires(post): gtk3 /usr/bin/uim-module-manager Requires(postun): gtk3 /usr/bin/uim-module-manager +%if %{with canna} %package canna Summary: Canna support for Uim -Group: System Environment/Libraries Requires: Canna Requires: uim = %{version}-%{release} Requires(post): gtk3 /usr/bin/uim-module-manager Requires(postun): gtk3 /usr/bin/uim-module-manager +%endif # with canna %package skk Summary: SKK support for Uim -Group: System Environment/Libraries Requires: skkdic Requires: uim = %{version}-%{release} Requires(post): gtk3 /usr/bin/uim-module-manager @@ -128,7 +107,6 @@ Requires(postun): gtk3 /usr/bin/uim-module-manager %package m17n Summary: m17n-lib support for Uim -Group: System Environment/Libraries Requires: uim = %{version}-%{release} Requires(post): gtk3 /usr/bin/uim-module-manager Requires(postun): gtk3 /usr/bin/uim-module-manager @@ -144,7 +122,7 @@ This package provides the input method library, the XIM bridge and most of the input methods. For the Japanese input methods you need to install -- uim-anthy for Anthy +- uim-anthy for Anthy Unicode - uim-canna for Canna - uim-skk for SKK. @@ -156,13 +134,6 @@ languages. This package contains the header files and the libraries which is needed for developing Uim applications. -%description gtk2 -Uim is a multilingual input method library. Uim aims to -provide secure and useful input methods for all -languages. - -This package provides the Gtk IM module and helper program. - %description gtk3 Uim is a multilingual input method library. Uim aims to provide secure and useful input methods for all @@ -177,41 +148,22 @@ languages. This package provides the Qt4 IM module and helper programs. -%description qt3 -Uim is a multilingual input method library. Uim aims to -provide secure and useful input methods for all -languages. - -This package provides the Qt3 IM module and helper programs. - +%if 0 %description kde Uim is a multilingual input method library. Uim aims to provide secure and useful input methods for all languages. This package provides the KDE applet. - -%description kde3 -Uim is a multilingual input method library. Uim aims to -provide secure and useful input methods for all -languages. - -This package provides the KDE3 applet. - -%description -n emacs-uim -This package provides Emacs support. - -%description -n emacs-common-uim -This package provides an utility to use Emacsen support for Uim. - -%description -n xemacs-uim -This package provides XEmacs support. +%endif %description anthy This package provides support for Anthy, a Japanese input method. +%if %{with canna} %description canna This package provides support for Canna, a Japanese input method. +%endif %description skk This package provides support for SKK, a Japanese input method. @@ -222,40 +174,41 @@ many languages using the input table map from m17n-db. %prep -%setup -q -%patch1 -p1 -b .1-emacs -%patch2 -p1 -b .2-libgcroots +%autosetup -p1 -n uim-%{srcver} autoconf %build -# assumes that this is built against qt-3.3. -export QTDIR=%{_libdir}/qt-3.3 %configure --with-x --with-xft \ + --with-libgcroots=installed \ +%if %{with canna} --with-canna \ - --with-anthy --with-anthy-utf8 \ +%endif + --without-anthy \ + --with-anthy-utf8 \ --with-m17nlib \ --with-eb --with-eb-conf=%{_libdir}/eb.conf \ --without-scim \ - --with-gtk2 --with-gnome2 \ --with-gtk3 --enable-gnome3-applet \ - --with-qt --with-qt-immodule \ --with-qt4 --with-qt4-immodule \ - --enable-kde-applet --enable-kde4-applet \ + --enable-kde4-applet \ --with-curl \ --with-expat \ - --enable-openssl --with-ssl-engine \ + --disable-openssl \ --with-sqlite3 \ --with-lispdir=%{_datadir}/emacs/site-lisp \ - --enable-pref + --enable-pref \ + --enable-default-toolkit=gtk3 #sed -i -e 's/^\(hardcode_direct=\)$/\1yes/' -e 's/^\(hardcode_minus_L=\)$/\1no/' -e 's/^\(libext=\)$/\1"a"/' -e 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/' libtool sed -i -e 's/^\(hardcode_direct=\)$/\1no/' -e 's/^\(hardcode_minus_L=\)$/\1no/' -e 's/^\(libext=\)$/\1"a"/' libtool -LD_LIBRARY_PATH=$RPM_BUILD_DIR/%{name}-%{version}/uim/.libs make +make %install -LD_LIBRARY_PATH=$RPM_BUILD_DIR/%{name}-%{version}/uim/.libs make install DESTDIR=$RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +%if 0%{?fedora} < 36 # For XEmacs (cd emacs; make install DESTDIR=$RPM_BUILD_ROOT UIMEL_LISP_DIR=%{_datadir}/xemacs/site-packages/lisp/uim-el) +%endif # remove .desktop file (#240706) rm -f $RPM_BUILD_ROOT%{_datadir}/applications/uim.desktop @@ -265,22 +218,25 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/lib*.la rm -rf $RPM_BUILD_ROOT%{_libdir}/uim/plugin/*la rm -rf $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2.*/immodules/im-uim.*a rm -rf $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/3.*/immodules/im-uim.*a -rm -rf $RPM_BUILD_ROOT%{_libdir}/qt-3.*/plugins/inputmethods/lib*.*a #rm -rf $RPM_BUILD_ROOT%{_libdir}/libgcroots.* #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gcroots.pc #rm -rf $RPM_BUILD_ROOT%{_includedir}/gcroots.h rm -rf $RPM_BUILD_ROOT%{_includedir}/sigscheme rm -rf $RPM_BUILD_ROOT%{_docdir}/sigscheme rm -rf $RPM_BUILD_ROOT%{_datadir}/uim/{installed-modules,loader}.scm -rm -rf $RPM_BUILD_ROOT%{_libdir}/kde3/*.la +#rm -rf $RPM_BUILD_ROOT%{_libdir}/kde3/*.la #rm -rf $RPM_BUILD_ROOT%{_datadir}/apps/kicker/applets/uimapplet.desktop +rm $RPM_BUILD_ROOT%{_datadir}/uim/scim.scm || : +rm $RPM_BUILD_ROOT%{_datadir}/uim/pixmaps/scim.{svg,png} || : install -d $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d install -m 0644 -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/uim.conf install -d $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d install -m 0644 -p %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d/ +%if 0%{?fedora} < 36 install -d $RPM_BUILD_ROOT%{_datadir}/xemacs/site-packages/lisp/site-start.d install -m 0644 -p %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/xemacs/site-packages/lisp/site-start.d/ +%endif cp -a fep/README fep/README.fep cp -a fep/README.ja fep/README.fep.ja @@ -303,9 +259,6 @@ cat png.list | sed -e s,$RPM_BUILD_ROOT,,g >> %{name}.lang find $RPM_BUILD_ROOT -name "*.svg" -type f | egrep -v ".*/(anthy|canna|m17n|mana|prime|scim|sj3|skk|wnn)" > svg.list cat svg.list | sed -e s,$RPM_BUILD_ROOT,,g >> %{name}.lang -# compress large doc -bzip2 ChangeLog - %post /sbin/ldconfig @@ -319,22 +272,6 @@ if [ "$1" = "0" ]; then /usr/bin/uim-module-manager --path %{_localstatedir}/lib/uim --unregister tcode trycode tutcode byeoru latin pyload hangul viqr ipa-x-sampa > /dev/null 2>&1 || : fi -%post gtk2 -umask 022 -%{_bindir}/update-gtk-immodules %{_host} || : - -%postun gtk2 -umask 022 -%{_bindir}/update-gtk-immodules %{_host} || : - -%post gtk3 -umask 022 -%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache || : - -%postun gtk3 -umask 022 -%{_bindir}/gtk-query-immodules-3.0-%{__isa_bits} --update-cache || : - %post anthy # since F-13 ## get rid of anthy for inconvenience, because anthy-utf8 is default now. @@ -346,6 +283,7 @@ if [ "$1" = "0" ]; then /usr/bin/uim-module-manager --path %{_localstatedir}/lib/uim --unregister anthy-utf8 > /dev/null 2>&1 || : fi +%if %{with canna} %post canna /usr/bin/uim-module-manager --path %{_localstatedir}/lib/uim --register canna > /dev/null 2>&1 || : @@ -353,6 +291,7 @@ fi if [ "$1" = "0" ]; then /usr/bin/uim-module-manager --path %{_localstatedir}/lib/uim --unregister canna > /dev/null 2>&1 || : fi +%endif %post skk /usr/bin/uim-module-manager --path %{_localstatedir}/lib/uim --register skk > /dev/null 2>&1 || : @@ -372,7 +311,8 @@ fi %files -f %{name}.lang -%doc AUTHORS COPYING ChangeLog* NEWS README fep/README.fep fep/README.fep.key xim/README.xim +%doc AUTHORS NEWS README fep/README.fep fep/README.fep.key xim/README.xim +%license COPYING %lang(ja) %doc fep/README.fep.ja %dir %{_libdir}/uim %dir %{_libdir}/uim/plugin @@ -385,7 +325,9 @@ fi %{_bindir}/uim-module-manager %{_bindir}/uim-sh %{_bindir}/uim-xim -%{_libdir}/lib*.so.* +%{_libdir}/libuim-custom.so.2* +%{_libdir}/libuim-scm.so.0* +%{_libdir}/libuim.so.8* %{_datadir}/uim/byeoru-data/byeoru-dict %{_datadir}/uim/helperdata %{_datadir}/uim/tables/*.table @@ -427,36 +369,34 @@ fi %{_libdir}/uim/plugin/libuim-fileio.so %{_libdir}/uim/plugin/libuim-lolevel.so %{_libdir}/uim/plugin/libuim-look.so -%{_libdir}/uim/plugin/libuim-openssl.so %{_libdir}/uim/plugin/libuim-process.so %{_libdir}/uim/plugin/libuim-socket.so %{_libdir}/uim/plugin/libuim-sqlite3.so +%{_libdir}/uim/plugin/libuim-xkb.so %{_libexecdir}/uim-helper-server %{_mandir}/man1/uim-xim.1* +%doc emacs/README +%lang(ja) %doc emacs/README.ja +%license emacs/COPYING +%{_bindir}/uim-el-agent +%{_bindir}/uim-el-helper-agent +%{_datadir}/emacs/site-lisp/uim-el +%{_datadir}/emacs/site-lisp/site-start.d/uim-init.el +%if 0%{?fedora} < 36 +%{_datadir}/xemacs/site-packages/lisp/uim-el +%{_datadir}/xemacs/site-packages/lisp/site-start.d/uim-init.el +%endif %files devel -%doc AUTHORS COPYING ChangeLog* NEWS README +%doc AUTHORS NEWS README +%license COPYING %{_includedir}/uim/ %{_libdir}/lib*.so %{_libdir}/pkgconfig/* -%files gtk2 -%doc AUTHORS COPYING ChangeLog* NEWS README -# BSD -%{_bindir}/uim-toolbar-gtk -# BSD and LGPLv2+ -%{_bindir}/uim-toolbar-gtk-systray -# BSD -%{_bindir}/uim-pref-gtk -%{_bindir}/uim-im-switcher-gtk -%{_bindir}/uim-input-pad-ja -%{_libdir}/gtk-2.0/2.*/immodules/*.so -%{_libexecdir}/uim-candwin-gtk -%{_libexecdir}/uim-candwin-horizontal-gtk -%{_libexecdir}/uim-candwin-tbl-gtk - %files gtk3 -%doc AUTHORS COPYING ChangeLog* NEWS README +%doc AUTHORS NEWS README +%license COPYING %{_bindir}/uim-im-switcher-gtk3 %{_bindir}/uim-input-pad-ja-gtk3 %{_bindir}/uim-pref-gtk3 @@ -468,7 +408,8 @@ fi %{_libexecdir}/uim-candwin-tbl-gtk3 %files qt -%doc AUTHORS COPYING ChangeLog* NEWS +%doc AUTHORS NEWS +%license COPYING %{_bindir}/uim-chardict-qt4 %{_bindir}/uim-im-switcher-qt4 %{_bindir}/uim-pref-qt4 @@ -476,64 +417,36 @@ fi %{_libexecdir}/uim-candwin-qt4 %{_libdir}/qt4/plugins/inputmethods/libuiminputcontextplugin.so -%files qt3 -%doc AUTHORS COPYING ChangeLog* NEWS README -# BSD and LGPLv2+ -%{_bindir}/uim-chardict-qt -# BSD -%{_bindir}/uim-im-switcher-qt -# BSD and LGPLv2+ -%{_bindir}/uim-pref-qt -# BSD -%{_bindir}/uim-toolbar-qt -%{_libexecdir}/uim-candwin-qt -%{_libdir}/qt-3.*/plugins/inputmethods - +%if 0 %files kde -%doc AUTHORS COPYING ChangeLog* NEWS README +%doc AUTHORS NEWS README +%license COPYING %{_libdir}/kde4/plasma_applet_uim.so %{_datadir}/kde4/services/plasma-applet-uim.desktop - -%files kde3 -%doc AUTHORS COPYING ChangeLog* NEWS README -%{_libdir}/kde3/uim_panelapplet.so -%{_datadir}/apps/kicker/applets/uimapplet.desktop - -%files -n emacs-uim -%doc emacs/COPYING emacs/README -%lang(ja) %doc emacs/README.ja -%{_datadir}/emacs/site-lisp/uim-el -%{_datadir}/emacs/site-lisp/site-start.d/uim-init.el - -%files -n xemacs-uim -%doc emacs/COPYING emacs/README -%lang(ja) %doc emacs/README.ja -%{_datadir}/xemacs/site-packages/lisp/uim-el -%{_datadir}/xemacs/site-packages/lisp/site-start.d/uim-init.el - -%files -n emacs-common-uim -%doc emacs/COPYING emacs/README -%{_bindir}/uim-el-agent -%{_bindir}/uim-el-helper-agent +%endif %files anthy -%doc AUTHORS COPYING ChangeLog* NEWS README -%{_libdir}/uim/plugin/libuim-anthy.so +%doc AUTHORS NEWS README +%license COPYING %{_libdir}/uim/plugin/libuim-anthy-utf8.so %{_datadir}/uim/anthy*.scm # BSD or LGPLv2 %{_datadir}/uim/pixmaps/anthy*.png %dir %{_datadir}/uim +%if %{with canna} %files canna -%doc AUTHORS COPYING ChangeLog* NEWS README +%doc AUTHORS NEWS README +%license COPYING %{_datadir}/uim/canna*.scm # BSD or LGPLv2 %{_datadir}/uim/pixmaps/canna.png %dir %{_datadir}/uim +%endif %files skk -%doc AUTHORS COPYING ChangeLog* NEWS README +%doc AUTHORS NEWS README +%license COPYING %{_libdir}/uim/plugin/libuim-skk.so %{_datadir}/uim/skk*.scm %{_datadir}/uim/pixmaps/skk*.png @@ -541,7 +454,8 @@ fi %dir %{_datadir}/uim %files m17n -%doc AUTHORS COPYING ChangeLog* NEWS README +%doc AUTHORS NEWS README +%license COPYING %{_bindir}/uim-m17nlib-relink-icons %{_libdir}/uim/plugin/libuim-m17nlib.so %{_datadir}/uim/m17nlib.scm @@ -551,6 +465,170 @@ fi %dir %{_datadir}/uim %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1.9.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 1.9.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 1.9.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 3 2025 Akira TAGOH - 1.9.6-1 +- New upstream release. + Resolves: rhbz#2366917 + +* Tue May 13 2025 Akira TAGOH - 1.9.5-1 +- New upstream release. + Resolves: rhbz#2363935 +- Upstream dropped gtk2 support. + +* Fri Apr 18 2025 Akira TAGOH - 1.9.1-1 +- New upstream release. + Resolves: rhbz#2359276 + +* Sat Mar 22 2025 Takao Fujiwara - 1.9.0-2 +- Replace anthy with anthy-unicode + +* Tue Feb 25 2025 Akira TAGOH - 1.9.0-1 +- New upstream release. + Resolves: rhbz#2347165 +- Disable OpenSSL support. + OpenSSL plugin isn't packaged. should be no harm. + +* Wed Jan 29 2025 Akira TAGOH - 1.8.9-10 +- Fix FTBFS + Resolves: rhbz#2341480 + +* Sun Jan 19 2025 Fedora Release Engineering - 1.8.9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 1.8.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 1.8.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Nov 28 2023 Akira TAGOH - 1.8.9-6 +- Fix symbol error on Emacs 29. + Resolves: rhbz#2251120 + +* Sat Jul 22 2023 Fedora Release Engineering - 1.8.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.8.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Dec 5 2022 Akira TAGOH - 1.8.9-3 +- Convert License tag to SPDX. + +* Tue Nov 29 2022 Florian Weimer - 1.8.9-2 +- Port configure script to C99 + +* Thu Aug 25 2022 Akira TAGOH - 1.8.9-1 +- New upstream release. + Resolves: rhbz#2119935 + +* Sat Jul 23 2022 Fedora Release Engineering - 1.8.8-11.20200828git0c2fbfa6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.8.8-10.20200828git0c2fbfa6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Nov 9 2021 Jerry James - 1.8.8-9.20200828git0c2fbfa6 +- Drop XEmacs support in F36 and later + +* Fri Jul 23 2021 Fedora Release Engineering - 1.8.8-8.20200828git0c2fbfa6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 1.8.8-7.20200828git0c2fbfa6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Aug 28 2020 Akira TAGOH - 1.8.8-6.20200828git0c2fbfa6 +- Rebase to snapshot of git 0c2fbfa6. +- Fix aborting in emacs. + Resolves: rhbz#1872512 + +* Wed Jul 29 2020 Fedora Release Engineering - 1.8.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 1.8.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1.8.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 1.8.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jan 22 2019 Akira TAGOH - 1.8.8-1 +- New upstream release. + +* Wed Nov 07 2018 Akira TAGOH - 1.8.6-20 +- Add Obsoletes: uim-canna to uim package. (#1635455) + +* Tue Aug 28 2018 Akira TAGOH - 1.8.6-19 +- Make canna subpackage conditional. + +* Sat Jul 14 2018 Fedora Release Engineering - 1.8.6-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Feb 27 2018 Akira TAGOH - 1.8.6-17 +- Add BR: gcc gcc-c++ +- Fix the buffer overflow. (#1549478) + +* Wed Feb 14 2018 Akira TAGOH - 1.8.6-16 +- Fix the build fail. +- Disable uim-kde sub-package. + +* Fri Feb 09 2018 Fedora Release Engineering - 1.8.6-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 06 2018 Igor Gnatenko - 1.8.6-14 +- Remove obsolete scriptlets + +* Thu Aug 03 2017 Fedora Release Engineering - 1.8.6-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.8.6-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Feb 13 2017 Akira TAGOH - 1.8.6-11 +- Fix FTBFS. (#1424232) +- Drop uim-qt3/uim-kde3 sub-packages due to the build issue. + +* Sat Feb 11 2017 Fedora Release Engineering - 1.8.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 05 2016 Fedora Release Engineering - 1.8.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 4 2016 Akira TAGOH +- Use %%global instead of %%define. + +* Wed Jun 24 2015 Akira TAGOH - 1.8.6-8 +- Merge emacs sub-packages into main (#1234580) +- Revert the icon path for m17n + +* Fri Jun 19 2015 Fedora Release Engineering - 1.8.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 1.8.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Jun 11 2014 Akira TAGOH - 1.8.6-5 +- Fix FTBFS (#1107024) + +* Sun Jun 08 2014 Fedora Release Engineering - 1.8.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Sep 3 2013 Akira TAGOH - 1.8.6-3 +- Drop older Obsoletes and Conflicts lines (#1002125) +- Rebuilt against the latest eb. + +* Sun Aug 04 2013 Fedora Release Engineering - 1.8.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Fri Jul 5 2013 Akira TAGOH - 1.8.6-1 - New upstream release. (#981433) @@ -611,7 +689,7 @@ fi * Tue May 24 2011 Akira TAGOH - 1.7.0-1 - New upstream release. -* Thu May 11 2011 Akira TAGOH - 1.7.0-0.1.20110511svn +* Wed May 11 2011 Akira TAGOH - 1.7.0-0.1.20110511svn - Update to the snapshot for gtk3 support. * Tue Mar 22 2011 Akira TAGOH - 1.6.1-3