On 21.06.2017 17:24, [email protected] wrote:
> Thank you for your detailed reporting!
>
> On Mon, May 29, 2017 at 11:27:23PM +0300, Yuriy M. Kaminskiy wrote:
>> gtk{2,3}, qt and qt5 IM plugins
>> /usr/lib/$ARCH/gtk-2.0/2.10.0/immodules/im-uim.so
>> /usr/lib/$ARCH/gtk-3.0/3.0.0/immodules/im-uim.so
>> /usr/lib/$ARCH/qt4/plugins/inputmethods/libuiminputcontextplugin.so
>> /usr/lib/$ARCH/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so
>> are supposed to be used and installed for all enabled architectures, but
>> shipped in non-multi-arched packages uim-{gtk2.0,gtk3,qt,qt5}. I guess, they
>> should be splitted off to separate packages with Multi-Arch: same; also
>> uim-{gtk2.0,gtk3,qt,qt5} should
>> be marked as Multi-Arch: foreign, as (with exception of those gtk/qt
>> plugins) they contain non-arch-specific tools, that can be called by
>> different-arch programs.
>
> help wanted, sorry for my no time.
Patch (against uim 1:1.8.6+gh20161003.0.d63dadd-2 plus 4dfc83ef204364,
bdb381c7d99f, 63777be6d8a applied) attached, compile-tested only (in
jessie+backports pbuilder, with gnome applet disabled).
With all patches applied (and changelog version bumped to *-3.1~local,
to satisfy added Replaces/Breaks), aptitude seems happy about
co-installation of uim-*-immodule for :i386 and :amd64 (but I nave not
tried to install them yet).
Unfortunately, uim depends on backends, and most of them are non
multi-arch-compatible:
*) uim-anthy depends on anthy, and anthy package is not multi-arch
(shared library and anthy-common are properly marked as m-a:
same/foreign, but anthy package [which is/was required for binary
dictionary generation] is not; same in stretch/buster/sid).
In experimental (anthy >= 1:0.2), it seems anthy packages was
reshuffled, and uim-anthy need not depend on anthy package (automatic
shared library dependency is sufficient).
*) same with uim-skk (none of *skk* dependencies are marked as
multi-arch; I think, all of them should be marked as Multi-Arch: foreign).
Note: I don't use *skk*, so not in good position to fill bugs on them.
*) uim-m17n should be co-installable in stretch (but not in jessie [and
I'm on jessie, so cannot test]).
*) uim-mozc seems (almost) co-installable (except for broken indirect
Recommends: on non-co-installable mozc-utils-gui [it should've been
marked m-a: foreign]).
Note: I don't use mozc, so cannot/should not fill bugs on it.
>> (TBD: why /usr/lib/i386-linux-gnu/uim/uim-candwin-{*gtk{,3},qt[45]} are in
>> architecture-specific locations? (they either should be moved together with
>> gtk/qt plugins, or moved to non-arch-specific directories, have not checked
>> code yet).)
>
> They are invoked by /usr/lib/$ARCH/{gtk-[23].0/*/immodules/im-uim.so,
> qt[45]/plugins/*/*.so} with hardcoded /usr/lib/$ARCH/ path, I think.
So far, in above patch I /assume/ they are not arch-specific (it /looks/
like they use arch-independent text-based protocol) and can be moved to
arch-independent location (--libexec=/usr/lib/uim) and Multi-Arch:
foreign packages.
And same with uim-utils (/usr/lib/*/uim/uim-helper-server; this one is
*critical* for multi-arching the rest).
>> Also, I think uim-skk, uim-anthy, uim-m17nlib should be marked Multi-Arch:
>> same, as they are also should be used by each arch plugin (and, obviously,
>> co-installable).
>
> fixed in git.debian.org.
>
> https://anonscm.debian.org/cgit/collab-maint/uim.git/commit/?id=bdb381c7d99fa677315c26011f291786cb48fa34
>
>> And almost all remaining non-marked utilities/plugins packages
>> (especially Arch:all) should be marked Multi-Arch: foreign (otherwise they
>> are satisfied as dependency only for primary architecture).
>
> fixed in git.debian.org
>
> https://anonscm.debian.org/cgit/collab-maint/uim.git/commit/?id=4dfc83ef204364c94bff8b164bd8759f1c6fce70
thanks;
P.S. while rebuilding package, I noticed some noise about
`dpkg-shlibdeps: warning: package could avoid a useless dependency
if...` and `dpkg-shlibdeps: warning: [...] contains an unresolvable
reference to symbol [...]: it's probably a plugin`. Second attached
patch fixes them, compile-tested only too.
---
uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-applet-gnome.install.orig
2016-06-22 08:06:35.000000000 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-applet-gnome.install
2017-06-21 22:40:53.562099505 +0300
@@ -1,4 +1,4 @@
-usr/lib/*/uim/uim-toolbar-applet-gnome3
+usr/lib/uim/uim-toolbar-applet-gnome3
usr/share/dbus-1/services/org.gnome.panel.applet.UimAppletFactory.service
usr/share/gnome-panel/5.0/applets/UimApplet.panel-applet
usr/share/uim/ui/uim-applet-menu.xml
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-utils.install.orig
2016-06-22 08:06:35.000000000 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-utils.install
2017-06-21 22:34:54.207284107 +0300
@@ -1,4 +1,4 @@
usr/bin/uim-sh
usr/bin/uim-module-manager
usr/bin/uim-help
-usr/lib/*/uim/uim-helper-server
+usr/lib/uim/uim-helper-server
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/rules.orig 2016-06-26
06:37:33.000000000 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/rules 2017-06-21
22:29:30.967547507 +0300
@@ -13,7 +13,7 @@
confflags := \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
- --libexecdir=/usr/lib/$(DEB_HOST_MULTIARCH)/uim \
+ --libexecdir=/usr/lib/uim \
--with-libgcroots=installed \
--disable-rpath \
--enable-static \
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt-immodule.install.orig
2017-06-21 22:27:24.926768156 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt-immodule.install
2017-06-21 22:28:06.693702211 +0300
@@ -0,0 +1 @@
+usr/lib/*/qt4/plugins/inputmethods/libuiminputcontextplugin.so
---
uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt5-immodule.install.orig
2017-06-21 22:27:24.926768156 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt5-immodule.install
2017-06-21 22:27:59.525885494 +0300
@@ -0,0 +1 @@
+usr/lib/*/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so
---
uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk3-immodule.install.orig
2017-06-21 22:27:24.922768261 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk3-immodule.install
2017-06-21 22:27:46.658213859 +0300
@@ -0,0 +1 @@
+usr/lib/*/gtk-3.0/*/immodules/im-uim.so
---
uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk2.0-immodule.install.orig
2017-06-21 22:27:24.918768353 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk2.0-immodule.install
2017-06-21 22:27:36.226479932 +0300
@@ -0,0 +1 @@
+usr/lib/*/gtk-2.0/*/immodules/im-uim.so
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt5.install.orig
2016-06-22 08:06:38.000000000 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt5.install
2017-06-21 22:25:25.493814496 +0300
@@ -2,5 +2,4 @@
usr/bin/uim-im-switcher-qt5
usr/bin/uim-chardict-qt5
usr/bin/uim-toolbar-qt5
-usr/lib/*/uim/uim-candwin-qt5
-usr/lib/*/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so
+usr/lib/uim/uim-candwin-qt5
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt.install.orig
2016-06-22 08:06:35.000000000 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-qt.install
2017-06-21 22:25:39.409459558 +0300
@@ -2,5 +2,4 @@
usr/bin/uim-im-switcher-qt4
usr/bin/uim-chardict-qt4
usr/bin/uim-toolbar-qt4
-usr/lib/*/uim/uim-candwin-qt4
-usr/lib/*/qt4/plugins/inputmethods/libuiminputcontextplugin.so
+usr/lib/uim/uim-candwin-qt4
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk3.install.orig
2016-06-22 08:06:35.000000000 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk3.install
2017-06-21 22:25:58.012985027 +0300
@@ -1,7 +1,6 @@
-usr/lib/*/gtk-3.0/*/immodules/im-uim.so
-usr/lib/*/uim/uim-candwin-gtk3
-usr/lib/*/uim/uim-candwin-horizontal-gtk3
-usr/lib/*/uim/uim-candwin-tbl-gtk3
+usr/lib/uim/uim-candwin-gtk3
+usr/lib/uim/uim-candwin-horizontal-gtk3
+usr/lib/uim/uim-candwin-tbl-gtk3
usr/bin/uim-toolbar-gtk3
usr/bin/uim-toolbar-gtk3-systray
usr/bin/uim-im-switcher-gtk3
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk2.0.install.orig
2016-06-22 08:06:35.000000000 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/uim-gtk2.0.install
2017-06-21 22:26:15.668534693 +0300
@@ -1,7 +1,6 @@
-usr/lib/*/gtk-2.0/*/immodules/im-uim.so
-usr/lib/*/uim/uim-candwin-gtk
-usr/lib/*/uim/uim-candwin-horizontal-gtk
-usr/lib/*/uim/uim-candwin-tbl-gtk
+usr/lib/uim/uim-candwin-gtk
+usr/lib/uim/uim-candwin-horizontal-gtk
+usr/lib/uim/uim-candwin-tbl-gtk
usr/bin/uim-toolbar-gtk
usr/bin/uim-toolbar-gtk-systray
usr/bin/uim-im-switcher-gtk
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/control.orig 2017-06-21
18:46:16.804699903 +0300
+++ uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/control 2017-06-22
14:27:33.319831007 +0300
@@ -230,6 +230,9 @@
Scheme, so it's very simple and flexible.
.
This package contains the plugin files for uim.
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
Package: libuim-dev
Section: libdevel
@@ -253,7 +256,9 @@
Package: uim-gtk2.0
Section: x11
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-gtk2.0-immodule (= ${binary:Version}),
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
uim-common (>= ${source:Version})
@@ -267,13 +272,40 @@
M17n (for many other languages). Most of its functions are implemented in
Scheme, so it's very simple and flexible.
.
+ This package contains an GTK+2.0 front-end applications for uim.
+
+Package: uim-gtk2.0-immodule
+Section: x11
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-gtk2.0 (= ${binary:Version}),
+ uim-utils (>= ${source:Version}),
+ libuim-data (>= ${source:Version}),
+ uim-common (>= ${source:Version})
+#Suggests: uim-gtk2.0 | uim-gtk3 | uim-qt4 | uim-qt5
+Replaces: uim-xim (<< 1:1.6.0-1), uim-gtk2.0 (<<1:1.8.6+gh20161003.0.d63dadd-3)
+Breaks: uim-xim (<< 1:1.6.0-1), uim-gtk2.0 (<<1:1.8.6+gh20161003.0.d63dadd-3)
+Description: Universal Input Method - GTK+2.x IM-module
+ Uim is an input method module library which supports various scripts and can
+ act as a front end for a range of input methods, including Anthy, Canna,
+ PRIME, or SKK (for Japanese), Pinyin (for Chinese), Byeoru (for Korean), and
+ M17n (for many other languages). Most of its functions are implemented in
+ Scheme, so it's very simple and flexible.
+ .
This package contains an IM-module to support the use of uim on GTK+2.0
applications.
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
Package: uim-gtk3
Section: x11
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-gtk3-immodule (= ${binary:Version}),
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
uim-common (>= ${source:Version})
@@ -285,13 +317,40 @@
M17n (for many other languages). Most of its functions are implemented in
Scheme, so it's very simple and flexible.
.
+ This package contains an GTK+3.0 front-end applications for uim.
+
+Package: uim-gtk3-immodule
+Section: x11
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-gtk3 (= ${binary:Version}),
+ uim-utils (>= ${source:Version}),
+ libuim-data (>= ${source:Version}),
+ uim-common (>= ${source:Version})
+#Suggests: uim-gtk3 | uim-gtk2.0 | uim-qt4 | uim-qt5
+Breaks: uim-gtk3 (<<1:1.8.6+gh20161003.0.d63dadd-3)
+Replaces: uim-gtk3 (<<1:1.8.6+gh20161003.0.d63dadd-3)
+Description: Universal Input Method - GTK+3.x IM module
+ Uim is an input method module library which supports various scripts and can
+ act as a front end for a range of input methods, including Anthy, Canna,
+ PRIME, or SKK (for Japanese), Pinyin (for Chinese), Byeoru (for Korean), and
+ M17n (for many other languages). Most of its functions are implemented in
+ Scheme, so it's very simple and flexible.
+ .
This package contains an IM-module to support the use of uim on GTK+3.0
applications.
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
Package: uim-qt
Section: x11
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-qt-immodule (>= ${source:Version}),
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
uim-common (>= ${source:Version})
@@ -307,10 +366,37 @@
This package contains some graphical utilities (but not a full IM-module)
using Qt 4.x.
+Package: uim-qt-immodule
+Section: x11
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-qt (= ${binary:Version}),
+ uim-utils (>= ${source:Version}),
+ libuim-data (>= ${source:Version}),
+ uim-common (>= ${source:Version})
+Breaks: uim-qt (<<1:1.8.6+gh20161003.0.d63dadd-3)
+Replaces: uim-qt (<<1:1.8.6+gh20161003.0.d63dadd-3)
+#Suggests: uim-qt4 | uim-qt5 | uim-gtk3 | uim-gtk2.0
+Description: Universal Input Method - Qt 4.x IM module
+ Uim is an input method module library which supports various scripts and can
+ act as a front end for a range of input methods, including Anthy, Canna,
+ PRIME, or SKK (for Japanese), Pinyin (for Chinese), Byeoru (for Korean), and
+ M17n (for many other languages). Most of its functions are implemented in
+ Scheme, so it's very simple and flexible.
+ .
+ This package contains an IM-module to support the use of uim on Qt 4.x.
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
+
Package: uim-qt5
Section: x11
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-qt5-immodule (= ${binary:Version}),
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
uim-common (>= ${source:Version})
@@ -324,9 +410,32 @@
This package contains some graphical utilities (but not a full IM-module)
using Qt 5.x.
+Package: uim-qt5-immodule
+Section: x11
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ uim-qt5 (= ${binary:Version}),
+ uim-utils (>= ${source:Version}),
+ libuim-data (>= ${source:Version}),
+ uim-common (>= ${source:Version})
+#Suggests: uim-qt5 | uim-qt | uim-gtk3 | uim-gtk2.0
+Description: Universal Input Method - Qt 5.x IM module
+ Uim is an input method module library which supports various scripts and can
+ act as a front end for a range of input methods, including Anthy, Canna,
+ PRIME, or SKK (for Japanese), Pinyin (for Chinese), Byeoru (for Korean), and
+ M17n (for many other languages). Most of its functions are implemented in
+ Scheme, so it's very simple and flexible.
+ .
+ This package contains an IM-module to support the use of uim on Qt 5.x.
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
+
Package: uim-xim
Section: x11
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
uim-common (>= ${source:Version}),
libuim-data (>= ${source:Version}),
@@ -345,6 +454,8 @@
Package: uim-applet-gnome
Section: gnome
Architecture: any
+Multi-Arch: foreign
+# FIXME is this correct?
Depends: ${misc:Depends}, ${shlibs:Depends},
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
@@ -363,6 +474,8 @@
Package: plasma-widget-uim
Section: kde
Architecture: any
+#Multi-Arch: ???
+# FIXME
Depends: ${misc:Depends}, ${shlibs:Depends},
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
@@ -383,6 +496,7 @@
Package: uim-dict-gtk
Section: x11
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
uim-common (>= ${source:Version})
Description: Universal Input Method - GTK+2.x Japanese dictionary tool
@@ -397,6 +511,7 @@
Package: uim-dict-gtk3
Section: x11
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
uim-common (>= ${source:Version})
Description: Universal Input Method - GTK+3.x Japanese dictionary tool
@@ -411,6 +526,7 @@
Package: uim-fep
Section: utils
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
@@ -428,6 +544,7 @@
Package: uim-utils
Section: utils
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
libuim-data (>= ${source:Version}),
libuim-plugins (>= ${source:Version}),
@@ -449,7 +566,7 @@
libuim-data (>= ${source:Version}),
libuim-plugins (>= ${source:Version}),
uim-common (>= ${source:Version}),
- anthy
+ anthy (<< 1:0.2) | anthy-common (>= 1:0.2)
Suggests: uim-dict-gtk | uim-dict-gtk3
Multi-Arch: same
Description: Universal Input Method - Anthy plugin
@@ -461,6 +578,9 @@
.
This package contains a plugin for uim to support the use of the Japanese
input method Anthy.
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
Package: uim-skk
Section: utils
@@ -481,6 +601,9 @@
.
This package contains a plugin for uim to support the use of the Japanese
input method SKK.
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
Package: uim-m17nlib
Section: utils
@@ -500,10 +623,14 @@
.
This package contains a plugin for uim to support the use of the
general-purpose input method M17n (for "Multilingualization").
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
Package: uim-el
Section: lisp
Architecture: any
+Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends},
uim-utils (>= ${source:Version}),
libuim-data (>= ${source:Version}),
@@ -639,6 +766,9 @@
This package provides uim support for the International Phonetic Alphabet,
using the 7-bit extended-SAMPA system - see
http://www.phon.ucl.ac.uk/home/sampa/x-sampa.htm
+ .
+ If you use Mutli-Arch, it is advised to install this package in all enabled
+ architectures.
Package: uim-look
Section: utils
diff -urN
uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/patches/fix-lib-deps.patch
uim-1.8.6+gh20161003.0.d63dadd/debian/patches/fix-lib-deps.patch
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/patches/fix-lib-deps.patch
1970-01-01 03:00:00.000000000 +0300
+++ uim-1.8.6+gh20161003.0.d63dadd/debian/patches/fix-lib-deps.patch
2017-06-22 00:53:35.186494617 +0300
@@ -0,0 +1,63 @@
+Index: uim-1.8.6+gh20161003.0.d63dadd/uim/Makefile.am
+===================================================================
+--- uim-1.8.6+gh20161003.0.d63dadd.orig/uim/Makefile.am
++++ uim-1.8.6+gh20161003.0.d63dadd/uim/Makefile.am
+@@ -135,7 +135,7 @@ endif
+ if EXPAT
+ uim_plugin_LTLIBRARIES += libuim-expat.la
+ libuim_expat_la_SOURCES = expat.c
+-libuim_expat_la_LIBADD = @EXPAT_LIBS@ libuim.la
++libuim_expat_la_LIBADD = @EXPAT_LIBS@ libuim.la libuim-scm.la
+ libuim_expat_la_LDFLAGS = -rpath $(uim_plugindir) -avoid-version -module
+ libuim_expat_la_CPPFLAGS = -I$(top_srcdir) @EXPAT_CFLAGS@
+ endif
+@@ -213,7 +213,7 @@ libuim_bsdlook_la_CPPFLAGS = -I$(top_src
+
+ uim_plugin_LTLIBRARIES += libuim-lolevel.la
+ libuim_lolevel_la_SOURCES = lolevel.c
+-libuim_lolevel_la_LIBADD = libuim.la
++libuim_lolevel_la_LIBADD = libuim.la libuim-scm.la
+ libuim_lolevel_la_LDFLAGS = -rpath $(uim_plugindir) -avoid-version -module
+ libuim_lolevel_la_CPPFLAGS = -I$(top_srcdir)
+
+Index: uim-1.8.6+gh20161003.0.d63dadd/gtk2/immodule/Makefile.am
+===================================================================
+--- uim-1.8.6+gh20161003.0.d63dadd.orig/gtk2/immodule/Makefile.am
++++ uim-1.8.6+gh20161003.0.d63dadd/gtk2/immodule/Makefile.am
+@@ -11,13 +11,14 @@ module_LTLIBRARIES = $(im_uim_la)
+
+
+ im_uim_la_SOURCES = $(IM_UIM_SOURCES)
+-im_uim_la_LDFLAGS = -module -avoid-version @GTK2_LIBS@
++im_uim_la_LDFLAGS = -module -avoid-version
+ im_uim_la_LIBADD = $(top_builddir)/uim/libuim-scm.la \
+ $(top_builddir)/uim/libuim.la \
+ $(top_builddir)/uim/libuim-counted-init.la
+ if LIBUIM_X_UTIL
+ im_uim_la_LIBADD += $(top_builddir)/uim/libuim-x-util.la
+ endif
++im_uim_la_LIBADD += -lm @GTK2_LIBS@
+
+
+ IM_UIM_SOURCES = \
+Index: uim-1.8.6+gh20161003.0.d63dadd/gtk3/immodule/Makefile.am
+===================================================================
+--- uim-1.8.6+gh20161003.0.d63dadd.orig/gtk3/immodule/Makefile.am
++++ uim-1.8.6+gh20161003.0.d63dadd/gtk3/immodule/Makefile.am
+@@ -10,13 +10,15 @@ module_LTLIBRARIES = $(im_uim_la)
+
+
+ im_uim_la_SOURCES = $(IM_UIM_SOURCES)
+-im_uim_la_LDFLAGS = -module -avoid-version @GTK3_LIBS@
++im_uim_la_LDFLAGS = -module -avoid-version
+ im_uim_la_LIBADD = $(top_builddir)/uim/libuim-scm.la \
+ $(top_builddir)/uim/libuim.la \
+ $(top_builddir)/uim/libuim-counted-init.la
+ if LIBUIM_X_UTIL
+ im_uim_la_LIBADD += $(top_builddir)/uim/libuim-x-util.la
+ endif
++im_uim_la_LIBADD += @GTK3_LIBS@
++im_uim_la_LIBADD += -lm
+
+
+ IM_UIM_SOURCES = \
diff -urN uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/patches/series
uim-1.8.6+gh20161003.0.d63dadd/debian/patches/series
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/patches/series
2017-06-21 18:45:15.926246535 +0300
+++ uim-1.8.6+gh20161003.0.d63dadd/debian/patches/series 2017-06-22
00:00:41.843503132 +0300
@@ -7,3 +7,4 @@
qt5-qt4-coexist.patch
qt5-disable-debug-flag.patch
do_not_use_run-singletest_sh.patch
+fix-lib-deps.patch
diff -urN uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/rules
uim-1.8.6+gh20161003.0.d63dadd/debian/rules
--- uim_1.8.6+gh20161003.0.d63dadd-2.debian/debian/rules 2017-06-21
22:29:30.967547507 +0300
+++ uim-1.8.6+gh20161003.0.d63dadd/debian/rules 2017-06-22 00:25:26.669535637
+0300
@@ -5,6 +5,9 @@
#export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
@@ -51,7 +54,7 @@
dh $@ --with autotools_dev,autoreconf
override_dh_autoreconf:
- dh_autoreconf $(CURDIR)/autogen.sh
+ dh_autoreconf --as-needed $(CURDIR)/autogen.sh
override_dh_auto_configure:
dh_auto_configure -- $(confflags)