Dear maintainer,
I've prepared an NMU for scim-skk (versioned as 0.5.2-7.3) and
uploaded it to DELAYED/10. Please feel free to tell me if I
should delay it longer.
Regards.
diff -Nru scim-skk-0.5.2/debian/changelog scim-skk-0.5.2/debian/changelog
--- scim-skk-0.5.2/debian/changelog 2022-06-12 20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/changelog 2022-06-12 20:23:35.000000000 -0400
@@ -1,3 +1,15 @@
+scim-skk (0.5.2-7.3) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * Migrate from dpatch to dh. (Closes: #1005985, #998953)
+ * Refresh packaging:
+ + Bump debhelper compat to v13.
+ + Bump Standards-Version to 4.6.1.
+ + Migrate to "3.0 (quilt)" source format.
+ * debian/patches: Add patch to fix LIBTOOL_EXPORT_OPTIONS.
+
+ -- Boyuan Yang <byang@debian.org> Sun, 12 Jun 2022 20:23:35 -0400
+
scim-skk (0.5.2-7.2) unstable; urgency=low
* Non-maintainer upload.
diff -Nru scim-skk-0.5.2/debian/compat scim-skk-0.5.2/debian/compat
--- scim-skk-0.5.2/debian/compat 2022-06-12 20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/compat 1969-12-31 19:00:00.000000000 -0500
@@ -1 +0,0 @@
-7
diff -Nru scim-skk-0.5.2/debian/control scim-skk-0.5.2/debian/control
--- scim-skk-0.5.2/debian/control 2022-06-12 20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/control 2022-06-12 20:15:44.000000000 -0400
@@ -3,8 +3,8 @@
Priority: optional
Maintainer: Ikuya Awashiro <ikuya@oooug.jp>
Uploaders: Yukiharu YABUKI <yyabuki@debian.org>
-Build-Depends: debhelper (>= 7.0.0), dpatch (>= 1.11), libscim-dev (>=
1.4.6), autotools-dev, pkg-config, libltdl-dev
-Standards-Version: 3.9.1.0
+Build-Depends: debhelper-compat (= 13), libscim-dev (>= 1.4.6), pkg-config,
libltdl-dev
+Standards-Version: 4.6.1
Homepage: http://scim-imengine.sourceforge.jp/
Package: scim-skk
diff -Nru scim-skk-0.5.2/debian/patches/0005-AC_SUBST-
LIBTOOL_EXPORT_OPTIONS.patch scim-skk-0.5.2/debian/patches/0005-AC_SUBST-
LIBTOOL_EXPORT_OPTIONS.patch
--- scim-skk-0.5.2/debian/patches/0005-AC_SUBST-
LIBTOOL_EXPORT_OPTIONS.patch 1969-12-31 19:00:00.000000000 -0500
+++ scim-skk-0.5.2/debian/patches/0005-AC_SUBST-
LIBTOOL_EXPORT_OPTIONS.patch 2022-06-12 20:23:25.000000000 -0400
@@ -0,0 +1,20 @@
+From: Boyuan Yang <byang@debian.org>
+Date: Sun, 12 Jun 2022 20:23:21 -0400
+Subject: AC_SUBST LIBTOOL_EXPORT_OPTIONS
+
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index bd3f9fb..acf4a3f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -79,6 +79,7 @@ AC_SUBST(ac_aux_dir)
+ # libtool option to control which symbols are exported
+ # right now, symbols starting with _ are not exported
+ LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
++AC_SUBST([LIBTOOL_EXPORT_OPTIONS])
+
+ # Extra args.
+ AC_ARG_ENABLE(debug,
diff -Nru scim-skk-0.5.2/debian/patches/00list scim-skk-
0.5.2/debian/patches/00list
--- scim-skk-0.5.2/debian/patches/00list 2022-06-12 20:26:31.000000000
-0400
+++ scim-skk-0.5.2/debian/patches/00list 1969-12-31 19:00:00.000000000
-0500
@@ -1,4 +0,0 @@
-01_error_check_to_cdb_get
-02_scim_skk_dictionary.cpp
-20_gcc-4.3-fixes
-99_fix_ftbfs_gtk.dpatch
diff -Nru scim-skk-0.5.2/debian/patches/01_error_check_to_cdb_get.dpatch scim-
skk-0.5.2/debian/patches/01_error_check_to_cdb_get.dpatch
--- scim-skk-0.5.2/debian/patches/01_error_check_to_cdb_get.dpatch 2022-
06-12 20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/patches/01_error_check_to_cdb_get.dpatch 1969-
12-31 19:00:00.000000000 -0500
@@ -1,48 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01_error_check_to_cdb_get.dpatch by Ikuya Awashiro <ikuya@oooug.jp>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
-@DPATCH@
-diff -urNad scim-skk-0.5.2~/src/cdb.cpp scim-skk-0.5.2/src/cdb.cpp
---- scim-skk-0.5.2~/src/cdb.cpp 2005-11-11 20:05:51.000000000 +0900
-+++ scim-skk-0.5.2/src/cdb.cpp 2005-12-23 22:18:33.000000000 +0900
-@@ -70,14 +70,21 @@
- {
- if (!m_open_flag) return false;
-
-- bool retval = false;
-- unsigned int hash_val = calc_hash(key);
-- unsigned int hashtbl_pos = get_value((hash_val % 256) * 2 * 4);
-- unsigned int hashtbl_len = get_value((hash_val % 256) * 2 * 4 + 4);
-- unsigned int entry_point =
-- hashtbl_pos + ((hash_val / 256) % hashtbl_len) * 2 * 4;
-- unsigned int entry_hashval = get_value(entry_point);
-- unsigned int entry_pos = get_value(entry_point + 4);
-+ unsigned int hash_val; /* hash value of key */
-+ unsigned int hashtbl_pos, hashtbl_len; /* position and length of
-+ the hash table */
-+ unsigned int entry_point; /* position of the entry */
-+ unsigned int entry_hashval, entry_pos; /* hash value and position of
-+ the entry */
-+ hash_val = calc_hash(key);
-+ hashtbl_pos = get_value((hash_val % 256) * 2 * 4);
-+ hashtbl_len = get_value((hash_val % 256) * 2 * 4 + 4);
-+ if (hashtbl_len == 0) { /* there are no entries for the hash table */
-+ return false;
-+ }
-+ entry_point = hashtbl_pos + ((hash_val / 256) % hashtbl_len) * 2 * 4;
-+ entry_hashval = get_value(entry_point);
-+ entry_pos = get_value(entry_point + 4);
- while (entry_pos != 0) {
- if (entry_hashval == hash_val) {
- int entry_keylen = get_value(entry_pos);
-@@ -89,6 +96,7 @@
- }
- }
- entry_point += 8;
-+ if (entry_point > m_size - 8) break;
- entry_hashval = get_value(entry_point);
- entry_pos = get_value(entry_point+4);
- }
diff -Nru scim-skk-0.5.2/debian/patches/01_error_check_to_cdb_get.patch scim-
skk-0.5.2/debian/patches/01_error_check_to_cdb_get.patch
--- scim-skk-0.5.2/debian/patches/01_error_check_to_cdb_get.patch 1969-
12-31 19:00:00.000000000 -0500
+++ scim-skk-0.5.2/debian/patches/01_error_check_to_cdb_get.patch 2022-
06-12 20:23:35.000000000 -0400
@@ -0,0 +1,45 @@
+From: Ikuya Awashiro <ikuya@oooug.jp>
+Subject: error check to cdb get
+
+---
+diff -urNad scim-skk-0.5.2~/src/cdb.cpp scim-skk-0.5.2/src/cdb.cpp
+--- scim-skk-0.5.2~/src/cdb.cpp 2005-11-11 20:05:51.000000000 +0900
++++ scim-skk-0.5.2/src/cdb.cpp 2005-12-23 22:18:33.000000000 +0900
+@@ -70,14 +70,21 @@
+ {
+ if (!m_open_flag) return false;
+
+- bool retval = false;
+- unsigned int hash_val = calc_hash(key);
+- unsigned int hashtbl_pos = get_value((hash_val % 256) * 2 * 4);
+- unsigned int hashtbl_len = get_value((hash_val % 256) * 2 * 4 + 4);
+- unsigned int entry_point =
+- hashtbl_pos + ((hash_val / 256) % hashtbl_len) * 2 * 4;
+- unsigned int entry_hashval = get_value(entry_point);
+- unsigned int entry_pos = get_value(entry_point + 4);
++ unsigned int hash_val; /* hash value of key */
++ unsigned int hashtbl_pos, hashtbl_len; /* position and length of
++ the hash table */
++ unsigned int entry_point; /* position of the entry */
++ unsigned int entry_hashval, entry_pos; /* hash value and position of
++ the entry */
++ hash_val = calc_hash(key);
++ hashtbl_pos = get_value((hash_val % 256) * 2 * 4);
++ hashtbl_len = get_value((hash_val % 256) * 2 * 4 + 4);
++ if (hashtbl_len == 0) { /* there are no entries for the hash table */
++ return false;
++ }
++ entry_point = hashtbl_pos + ((hash_val / 256) % hashtbl_len) * 2 * 4;
++ entry_hashval = get_value(entry_point);
++ entry_pos = get_value(entry_point + 4);
+ while (entry_pos != 0) {
+ if (entry_hashval == hash_val) {
+ int entry_keylen = get_value(entry_pos);
+@@ -89,6 +96,7 @@
+ }
+ }
+ entry_point += 8;
++ if (entry_point > m_size - 8) break;
+ entry_hashval = get_value(entry_point);
+ entry_pos = get_value(entry_point+4);
+ }
diff -Nru scim-skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.dpatch
scim-skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.dpatch
--- scim-skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.dpatch 2022-
06-12 20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.dpatch 1969-
12-31 19:00:00.000000000 -0500
@@ -1,24 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02_scim_skk_dictionary.cpp.dpatch by Ikuya Awashiro <ikuya@oooug.jp>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
-@DPATCH@
-diff -urNad scim-skk-0.5.2~/src/scim_skk_dictionary.cpp scim-skk-
0.5.2/src/scim_skk_dictionary.cpp
---- scim-skk-0.5.2~/src/scim_skk_dictionary.cpp 2005-12-18
22:02:39.000000000 +0900
-+++ scim-skk-0.5.2/src/scim_skk_dictionary.cpp 2006-06-18 18:12:15.000000000
+0900
-@@ -543,9 +543,11 @@
- UserDict::write (const WideString &key, const CandPair &data)
- {
- list<CandPair> &cl = m_dictdata[key];
-- for (list<CandPair>::iterator it = cl.begin(); it != cl.end(); it++) {
-+ for (list<CandPair>::iterator it = cl.begin(); it != cl.end();) {
- if (it->first == data.first) {
-- cl.erase(it);
-+ it = cl.erase(it);
-+ } else {
-+ ++it;
- }
- }
- cl.push_front(data);
diff -Nru scim-skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.patch scim-
skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.patch
--- scim-skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.patch 1969-
12-31 19:00:00.000000000 -0500
+++ scim-skk-0.5.2/debian/patches/02_scim_skk_dictionary.cpp.patch 2022-
06-12 20:23:35.000000000 -0400
@@ -0,0 +1,21 @@
+From: Ikuya Awashiro <ikuya@oooug.jp>
+Subject: scim_skk_dictionary.cpp
+
+---
+diff -urNad scim-skk-0.5.2~/src/scim_skk_dictionary.cpp scim-skk-
0.5.2/src/scim_skk_dictionary.cpp
+--- scim-skk-0.5.2~/src/scim_skk_dictionary.cpp 2005-12-18
22:02:39.000000000 +0900
++++ scim-skk-0.5.2/src/scim_skk_dictionary.cpp 2006-06-18 18:12:15.000000000
+0900
+@@ -543,9 +543,11 @@
+ UserDict::write (const WideString &key, const CandPair &data)
+ {
+ list<CandPair> &cl = m_dictdata[key];
+- for (list<CandPair>::iterator it = cl.begin(); it != cl.end(); it++) {
++ for (list<CandPair>::iterator it = cl.begin(); it != cl.end();) {
+ if (it->first == data.first) {
+- cl.erase(it);
++ it = cl.erase(it);
++ } else {
++ ++it;
+ }
+ }
+ cl.push_front(data);
diff -Nru scim-skk-0.5.2/debian/patches/20_gcc-4.3-fixes.dpatch scim-skk-
0.5.2/debian/patches/20_gcc-4.3-fixes.dpatch
--- scim-skk-0.5.2/debian/patches/20_gcc-4.3-fixes.dpatch 2022-06-12
20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/patches/20_gcc-4.3-fixes.dpatch 1969-12-31
19:00:00.000000000 -0500
@@ -1,17 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_gcc-4.3-fixes.dpatch by Cyril Brulebois
<cyril.brulebois@enst-bretagne.fr>
-##
-## DP: fix for building with gcc-4.3 (bug #455270)
-
-@DPATCH@
-diff -urNad scim-skk-0.5.2~/src/scim_skk_imengine_setup.cpp scim-skk-
0.5.2/src/scim_skk_imengine_setup.cpp
---- scim-skk-0.5.2~/src/scim_skk_imengine_setup.cpp 2008-04-05
01:26:25.000000000 +0200
-+++ scim-skk-0.5.2/src/scim_skk_imengine_setup.cpp 2008-04-05
01:27:27.000000000 +0200
-@@ -32,6 +32,7 @@
- #endif
-
- #include <vector>
-+#include <cstring>
-
- #include <scim.h>
- #include <gtk/scimkeyselection.h>
diff -Nru scim-skk-0.5.2/debian/patches/20_gcc-4.3-fixes.patch scim-skk-
0.5.2/debian/patches/20_gcc-4.3-fixes.patch
--- scim-skk-0.5.2/debian/patches/20_gcc-4.3-fixes.patch 1969-12-31
19:00:00.000000000 -0500
+++ scim-skk-0.5.2/debian/patches/20_gcc-4.3-fixes.patch 2022-06-12
20:23:35.000000000 -0400
@@ -0,0 +1,15 @@
+From: Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
+Subject: gcc-4.3 fixes
+
+---
+diff -urNad scim-skk-0.5.2~/src/scim_skk_imengine_setup.cpp scim-skk-
0.5.2/src/scim_skk_imengine_setup.cpp
+--- scim-skk-0.5.2~/src/scim_skk_imengine_setup.cpp 2008-04-05
01:26:25.000000000 +0200
++++ scim-skk-0.5.2/src/scim_skk_imengine_setup.cpp 2008-04-05
01:27:27.000000000 +0200
+@@ -32,6 +32,7 @@
+ #endif
+
+ #include <vector>
++#include <cstring>
+
+ #include <scim.h>
+ #include <gtk/scimkeyselection.h>
diff -Nru scim-skk-0.5.2/debian/patches/99_fix_ftbfs_gtk.dpatch scim-skk-
0.5.2/debian/patches/99_fix_ftbfs_gtk.dpatch
--- scim-skk-0.5.2/debian/patches/99_fix_ftbfs_gtk.dpatch 2022-06-12
20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/patches/99_fix_ftbfs_gtk.dpatch 1969-12-31
19:00:00.000000000 -0500
@@ -1,550 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-# Tz-Huan Huang <tzhuan@gmail.com>
-# DP: FTBFS: scim_skk_setup_dictionaries.cpp:21:21: fatal error: gtk/gtk.h:
No such file or directory
-# BTS: 676014
-
-@DPATCH@
-diff --git a/src/scim_skk_imengine_setup.cpp
b/src/scim_skk_imengine_setup.cpp
-index f881e33..47b5c16 100644
---- a/src/scim_skk_imengine_setup.cpp
-+++ b/src/scim_skk_imengine_setup.cpp
-@@ -179,7 +179,10 @@ static GtkWidget * __widget_annot_target = 0;
- static GtkWidget * __widget_annot_highlight = 0;
- static GtkWidget * __widget_ignore_return = 0;
- static GtkWidget * __widget_selection_style = 0;
-+#if GTK_CHECK_VERSION(2, 12, 0)
-+#else
- static GtkTooltips * __widget_tooltips = 0;
-+#endif
-
- static KeyboardConfigData __config_keyboards_common [] =
- {
-@@ -477,25 +480,43 @@ create_combo_widget (const char *label_text, GtkWidget
**widget,
- {
- GtkWidget *hbox, *label;
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- hbox = gtk_hbox_new (FALSE, 0);
-+#endif
- gtk_widget_show (hbox);
-
- label = gtk_label_new (label_text);
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 4);
-
-+#if GTK_CHECK_VERSION(2, 4, 0)
-+ *widget = gtk_combo_box_text_new_with_entry ();
-+ gtk_editable_set_editable (
-+ GTK_EDITABLE (gtk_bin_get_child (GTK_BIN (*widget))), FALSE);
-+#else
- *widget = gtk_combo_new ();
- gtk_combo_set_value_in_list (GTK_COMBO (*widget), TRUE, FALSE);
- gtk_combo_set_case_sensitive (GTK_COMBO (*widget), TRUE);
-- gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (*widget)->entry), FALSE);
-+ gtk_editable_set_editable (GTK_EDITABLE (GTK_COMBO (*widget)->entry),
FALSE);
-+#endif
- gtk_widget_show (*widget);
- gtk_box_pack_start (GTK_BOX (hbox), *widget, FALSE, FALSE, 4);
-+#if GTK_CHECK_VERSION(2, 4, 0)
-+ g_object_set_data (G_OBJECT (gtk_bin_get_child (GTK_BIN (*widget))),
DATA_POINTER_KEY,
-+ (gpointer) candidates_p);
-+ g_signal_connect ((gpointer) gtk_bin_get_child (GTK_BIN (*widget)),
"changed",
-+ G_CALLBACK (on_default_combo_changed),
-+ data_p);
-+#else
- g_object_set_data (G_OBJECT (GTK_COMBO (*widget)->entry),
DATA_POINTER_KEY,
- (gpointer) candidates_p);
--
- g_signal_connect ((gpointer) GTK_COMBO (*widget)->entry, "changed",
- G_CALLBACK (on_default_combo_changed),
- data_p);
-+#endif
-+
-
- return hbox;
- }
-@@ -506,7 +527,11 @@ create_color_button (ColorConfigData *entry)
- GtkWidget *hbox, *label = NULL;
- if (!entry) return NULL;
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- hbox = gtk_hbox_new (FALSE, 0);
-+#endif
- gtk_widget_show (hbox);
-
- if (entry->label) {
-@@ -528,11 +553,18 @@ create_color_button (ColorConfigData *entry)
- if (label)
- gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry->widget);
-
-+#if GTK_CHECK_VERSION(2, 12, 0)
-+#else
- if (!__widget_tooltips)
- __widget_tooltips = gtk_tooltips_new();
-+#endif
- if (entry->tooltip)
-+#if GTK_CHECK_VERSION(2, 12, 0)
-+ gtk_widget_set_tooltip_text(entry->widget, _(entry->tooltip));
-+#else
- gtk_tooltips_set_tip(__widget_tooltips, entry->widget,
- _(entry->tooltip), NULL);
-+#endif
-
- return hbox;
- }
-@@ -558,7 +590,11 @@ create_options_page ()
- GtkWidget *annot_widgets, *bgcolor_widgets;
- gchar *markup;
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-+#else
- vbox = gtk_vbox_new (FALSE, 0);
-+#endif
- gtk_widget_show (vbox);
-
- /* title 1 */
-@@ -574,7 +610,11 @@ create_options_page ()
-
-
- /* list size */
-- widget = gtk_hbox_new(FALSE, 0);
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
-+ widget = gtk_hbox_new (FALSE, 0);
-+#endif
- label = gtk_label_new (_("List Size:"));
- __widget_listsize = gtk_spin_button_new_with_range(0, 100, 1);
- gtk_spin_button_set_digits(GTK_SPIN_BUTTON (__widget_listsize), 0);
-@@ -601,7 +641,11 @@ create_options_page ()
- gtk_box_pack_start (GTK_BOX (vbox), __widget_annot_view, FALSE, FALSE,
1);
- gtk_container_set_border_width (GTK_CONTAINER (__widget_annot_view), 0);
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ annot_widgets = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-+#else
- annot_widgets = gtk_vbox_new(FALSE, 0);
-+#endif
- gtk_box_pack_start (GTK_BOX(vbox), annot_widgets, FALSE, FALSE, 1);
- gtk_widget_show(annot_widgets);
- widget = create_combo_widget (_("Position of Annotation:"),
-@@ -619,7 +663,11 @@ create_options_page ()
- gtk_box_pack_start (GTK_BOX (annot_widgets), widget, FALSE, FALSE, 1);
-
- /* annotation color */
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- hbox = gtk_hbox_new(FALSE, 0);
-+#endif
- gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 1);
- gtk_widget_show(hbox);
- __widget_annot_highlight =
gtk_check_button_new_with_mnemonic(_("Highlight Annotation."));
-@@ -655,26 +703,38 @@ create_dictionary_page ()
- {
- GtkWidget *vbox, *widget, *label, *button;
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-+#else
- vbox = gtk_vbox_new (FALSE, 0);
-+#endif
- gtk_widget_show (vbox);
-
- /* system dictionaries */
- __widget_sysdicts = dict_selection_widget_setup();
- gtk_box_pack_start (GTK_BOX (vbox), __widget_sysdicts, FALSE, FALSE, 4);
-+#if GTK_CHECK_VERSION(3, 2, 0)
-+ widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL);
-+#else
- widget = gtk_hseparator_new();
-+#endif
- gtk_widget_show(widget);
- gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0);
-
- /* user dictionary */
-- widget = gtk_hbox_new(FALSE, 0);
-- label = gtk_label_new(_("User Dictionary Name:"));
-- __widget_userdict = gtk_entry_new();
-- gtk_widget_show(label);
-- gtk_widget_show(__widget_userdict);
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
-+ widget = gtk_hbox_new (FALSE, 0);
-+#endif
-+ label = gtk_label_new (_("User Dictionary Name:"));
-+ __widget_userdict = gtk_entry_new ();
-+ gtk_widget_show (label);
-+ gtk_widget_show (__widget_userdict);
- gtk_box_pack_start (GTK_BOX (widget), label, FALSE, FALSE, 4);
- gtk_box_pack_start (GTK_BOX (widget), __widget_userdict, TRUE, TRUE, 4);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), __widget_userdict);
-- gtk_widget_show(widget);
-+ gtk_widget_show (widget);
- gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 4);
-
- g_signal_connect ((gpointer) __widget_userdict, "changed",
-@@ -720,7 +780,7 @@ create_keyboard_page (unsigned int page)
- // Create keyboard setting.
- for (unsigned int i = 0; data[i].key; ++ i) {
- APPEND_ENTRY(_(data[i].label), data[i].entry, i);
-- gtk_entry_set_editable (GTK_ENTRY (data[i].entry), FALSE);
-+ gtk_editable_set_editable (GTK_EDITABLE (data[i].entry), FALSE);
-
- data[i].button = gtk_button_new_with_label ("...");
- gtk_widget_show (data[i].button);
-@@ -739,11 +799,18 @@ create_keyboard_page (unsigned int page)
- &(data[i].data));
- }
-
-+#if GTK_CHECK_VERSION(2, 12, 0)
-+#else
- if (!__widget_tooltips)
- __widget_tooltips = gtk_tooltips_new();
-+#endif
- for (unsigned int i = 0; data[i].key; ++ i) {
-+#if GTK_CHECK_VERSION(2, 12, 0)
-+ gtk_widget_set_tooltip_text (data[i].entry, _(data[i].tooltip));
-+#else
- gtk_tooltips_set_tip (__widget_tooltips, data[i].entry,
- _(data[i].tooltip), NULL);
-+#endif
- }
-
- return table;
-@@ -835,9 +907,19 @@ create_setup_window ()
- }
-
- static void
--setup_combo_value (GtkCombo *combo,
-+setup_combo_value (GtkWidget *combo,
- ComboConfigData *data, const String & str)
- {
-+#if GTK_CHECK_VERSION(2, 4, 0)
-+ gint default_index = -1;
-+ for (gint i = 0; data[i].label; i++) {
-+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo),
_(data[i].label));
-+ if (!strcmp (data[i].data, str.c_str ()))
-+ default_index = i;
-+ }
-+ if (default_index != -1)
-+ gtk_combo_box_set_active (GTK_COMBO_BOX (combo), default_index);
-+#else
- GList *list = NULL;
- const char *defval = NULL;
-
-@@ -852,23 +934,24 @@ setup_combo_value (GtkCombo *combo,
-
- if (defval)
- gtk_entry_set_text (GTK_ENTRY (combo->entry), defval);
-+#endif
- }
-
- static void
- setup_widget_value ()
- {
- if (__widget_selection_style) {
-- setup_combo_value (GTK_COMBO (__widget_selection_style),
-+ setup_combo_value (__widget_selection_style,
- selection_style, __config_selection_style);
- }
-
- if (__widget_annot_pos) {
-- setup_combo_value (GTK_COMBO (__widget_annot_pos),
-+ setup_combo_value (__widget_annot_pos,
- annot_position, __config_annot_pos);
- }
-
- if (__widget_annot_target) {
-- setup_combo_value (GTK_COMBO (__widget_annot_target),
-+ setup_combo_value (__widget_annot_target,
- annot_target, __config_annot_target);
- }
-
-@@ -1107,6 +1190,29 @@ on_default_file_selection_clicked (GtkButton *button,
- FileConfigData *data = static_cast <FileConfigData *> (user_data);
-
- if (data) {
-+#if GTK_CHECK_VERSION(2, 4, 0)
-+ GtkWidget *dialog = gtk_file_chooser_dialog_new(
-+ _(data->title), NULL, GTK_FILE_CHOOSER_ACTION_OPEN,
-+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
-+ NULL);
-+ gtk_file_chooser_set_filename (
-+ GTK_FILE_CHOOSER (dialog),
-+ gtk_entry_get_text (GTK_ENTRY (data->entry)));
-+
-+ if (gtk_dialog_run(GTK_DIALOG (dialog)) ==
GTK_RESPONSE_ACCEPT) {
-+ char *filename;
-+ filename = gtk_file_chooser_get_filename
(GTK_FILE_CHOOSER (dialog));
-+ gtk_entry_set_text (GTK_ENTRY (data->entry),
filename);
-+ if (strcmp (filename, gtk_entry_get_text (GTK_ENTRY (data-
-+ gtk_entry_set_text (GTK_ENTRY (data->entry), filename);
-+ data->data = filename;
-+ __have_changed = true;
-+ }
-+ g_free (filename);
-+ }
-+ gtk_widget_destroy (dialog);
-+#else
- GtkWidget *dialog = gtk_file_selection_new (_(data->title));
- gint result;
-
-@@ -1129,6 +1235,7 @@ on_default_file_selection_clicked (GtkButton *button,
- }
-
- gtk_widget_destroy (dialog);
-+#endif
- }
- }
-
-diff --git a/src/scim_skk_setup_dictionaries.cpp
b/src/scim_skk_setup_dictionaries.cpp
-index 6050165..5f9dd1f 100644
---- a/src/scim_skk_setup_dictionaries.cpp
-+++ b/src/scim_skk_setup_dictionaries.cpp
-@@ -59,7 +59,7 @@ enum DictColumnType {
- };
-
- struct DictionaryConfigWidgets {
-- gchar *title;
-+ const gchar *title;
- GtkWidget *widget;
- GtkWidget *entry;
- GtkWidget *button;
-@@ -170,7 +170,11 @@ inline void
- dict_entry_widgets_dictfile_setup (DictionaryConfigWidgets *widgets)
- {
- GtkWidget *label;
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ widgets->widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- widgets->widget = gtk_hbox_new(FALSE, 0);
-+#endif
- label = gtk_label_new(widgets->title);
- widgets->entry = gtk_entry_new();
- widgets->button = gtk_button_new_with_label ("...");
-@@ -195,8 +199,13 @@ dict_entry_widgets_skkserv_setup
(DictionaryConfigWidgets *widgets)
- {
- GtkWidget *hbox, *label;
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ widgets->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- widgets->widget = gtk_vbox_new(FALSE, 0);
- hbox = gtk_hbox_new(FALSE, 0);
-+#endif
- gtk_widget_hide(widgets->widget);
- label = gtk_label_new(_("Server Name:"));
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
-@@ -205,7 +214,11 @@ dict_entry_widgets_skkserv_setup
(DictionaryConfigWidgets *widgets)
- TRUE, TRUE, 4);
- gtk_box_pack_start(GTK_BOX(widgets->widget), hbox,
- FALSE, FALSE, 4);
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- hbox = gtk_hbox_new(FALSE, 0);
-+#endif
- label = gtk_label_new(_("Port Number:"));
- widgets->entry2 = gtk_entry_new();
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
-@@ -224,7 +237,11 @@ dict_entry_widgets_setup (GtkBox *container,
- GtkWidget *button;
-
- /* edit buttons */
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- hbox = gtk_hbox_new(FALSE, 0);
-+#endif
- button = gtk_button_new_with_label(_("Add"));
- gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, FALSE, 4);
- g_signal_connect((gpointer) button, "clicked",
-@@ -245,7 +262,11 @@ dict_selection_widget_setup (void)
- {
- GtkWidget *tree;
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ __widget_sysdicts = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-+#else
- __widget_sysdicts = gtk_vbox_new(FALSE, 0);
-+#endif
- dict_list_setup(__config_sysdicts);
-
- /* setup container for dictionaries selection */
-@@ -257,10 +278,18 @@ dict_selection_widget_setup (void)
-
- {
- GtkWidget *hbox, *vbox, *button;
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- hbox = gtk_hbox_new(FALSE, 0);
-+#endif
- gtk_widget_show(hbox);
- gtk_box_pack_start(GTK_BOX(hbox), tree, TRUE, TRUE, 4);
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-+#else
- vbox = gtk_vbox_new(FALSE, 0);
-+#endif
- button = gtk_button_new_from_stock(GTK_STOCK_GO_UP);
- gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, FALSE, 4);
- g_signal_connect((gpointer) button, "clicked",
-@@ -301,6 +330,24 @@ file_selection_clicked_cb (GtkButton *button,
- DictionaryConfigWidgets *data = static_cast <DictionaryConfigWidgets *>
(user_data);
-
- if (data) {
-+#if GTK_CHECK_VERSION(2, 4, 0)
-+ GtkWidget *dialog = gtk_file_chooser_dialog_new (
-+ _(data->title), NULL, GTK_FILE_CHOOSER_ACTION_OPEN,
-+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
-+ NULL);
-+ gtk_file_chooser_set_filename (
-+ GTK_FILE_CHOOSER (dialog),
-+ gtk_entry_get_text (GTK_ENTRY (data->entry)));
-+
-+ if (gtk_dialog_run(GTK_DIALOG (dialog)) ==
GTK_RESPONSE_ACCEPT) {
-+ char *filename;
-+ filename = gtk_file_chooser_get_filename
(GTK_FILE_CHOOSER (dialog));
-+ gtk_entry_set_text (GTK_ENTRY (data->entry),
filename);
-+ g_free (filename);
-+ }
-+ gtk_widget_destroy (dialog);
-+#else
- GtkWidget *dialog = gtk_file_selection_new (_(data->title));
- gint result;
-
-@@ -318,6 +365,7 @@ file_selection_clicked_cb (GtkButton *button,
- }
-
- gtk_widget_destroy (dialog);
-+#endif
- }
- }
-
-@@ -325,12 +373,20 @@ static void
- dict_type_changed_cb (GtkComboBox *combo,
- gpointer userdata)
- {
-+#if GTK_CHECK_VERSION(2, 24, 0)
-+ gchar *typetext = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT
(combo));
-+#else
- gchar *typetext = gtk_combo_box_get_active_text(combo);
-+#endif
- for (int i = 0; __dict_type_names[i] != ""; i++) {
- if (__dict_type_names[i] == typetext) {
- gtk_widget_show_all(__widgets_dicts[i].widget);
- } else {
-+#if GTK_CHECK_VERSION(2, 24, 0)
-+ gtk_widget_hide(__widgets_dicts[i].widget);
-+#else
- gtk_widget_hide_all(__widgets_dicts[i].widget);
-+#endif
- }
- }
- gtk_entry_set_text(GTK_ENTRY(__widgets_dicts[0].entry), "");
-@@ -351,37 +407,74 @@ dict_list_add_clicked_cb (GtkButton *button,
- gtk_window_set_title(GTK_WINDOW(dialog),
- _("Add new dictionary"));
-
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-+#else
- hbox = gtk_hbox_new(FALSE, 0);
-+#endif
- gtk_widget_show(hbox);
- label = gtk_label_new(_("Dictionary Type: "));
- gtk_widget_show(label);
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
-+#if GTK_CHECK_VERSION(2, 24, 0)
-+ __combo_box_dict_types = gtk_combo_box_text_new();
-+#else
- __combo_box_dict_types = gtk_combo_box_new_text();
-+#endif
- for (int i = 0; !__dict_type_names[i].empty(); i++) {
-+#if GTK_CHECK_VERSION(2, 24, 0)
-+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT
(__combo_box_dict_types),
-+ __dict_type_names[i].data());
-+#else
- gtk_combo_box_append_text(GTK_COMBO_BOX(__combo_box_dict_types),
- __dict_type_names[i].data());
-+#endif
- }
- g_signal_connect((gpointer) __combo_box_dict_types, "changed",
- G_CALLBACK(dict_type_changed_cb),
- NULL);
- gtk_widget_show(__combo_box_dict_types);
- gtk_box_pack_start(GTK_BOX(hbox), __combo_box_dict_types, FALSE, TRUE,
4);
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ gtk_box_pack_start(
-+ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
-+ hbox, FALSE, FALSE, 4);
-+#else
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE,
FALSE, 4);
-+#endif
-
- /* dictionary file widgets */
- dict_entry_widgets_dictfile_setup(&(__widgets_dicts[0]));
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ gtk_box_pack_start(
-+ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
-+ __widgets_dicts[0].widget, TRUE, TRUE, 4);
-+#else
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
__widgets_dicts[0].widget,
- TRUE, FALSE, 4);
-+#endif
-
- /* skkserv widgets */
- dict_entry_widgets_skkserv_setup(&__widgets_dicts[1]);
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ gtk_box_pack_start(
-+ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
-+ __widgets_dicts[1].widget, TRUE, FALSE, 4);
-+#else
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
__widgets_dicts[1].widget,
- TRUE, FALSE, 4);
-+#endif
-
- /* dictionary file widgets */
- dict_entry_widgets_dictfile_setup(&__widgets_dicts[2]);
-+#if GTK_CHECK_VERSION(3, 0, 0)
-+ gtk_box_pack_start(
-+ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
-+ __widgets_dicts[2].widget, TRUE, FALSE, 4);
-+#else
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
__widgets_dicts[2].widget,
- TRUE, FALSE, 4);
-+#endif
-
- gtk_combo_box_set_active(GTK_COMBO_BOX(__combo_box_dict_types), 0);
-
-@@ -392,12 +485,19 @@ dict_list_add_clicked_cb (GtkButton *button,
- _("Add"),
- GTK_RESPONSE_OK);
- gtk_widget_grab_default(ok_button);
-+#if GTK_CHECK_VERSION(2, 22, 0)
-+#else
- gtk_dialog_set_has_separator(GTK_DIALOG(dialog), TRUE);
-+#endif
- gtk_widget_show(dialog);
-
- result = gtk_dialog_run(GTK_DIALOG(dialog));
- if (result == GTK_RESPONSE_OK) {
-+#if GTK_CHECK_VERSION(2, 24, 0)
-+ String dict_type =
gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(__combo_box_dict_types))
;
-+#else
- String dict_type =
gtk_combo_box_get_active_text(GTK_COMBO_BOX(__combo_box_dict_types));
-+#endif
- String dict_name;
- GtkTreeIter iter;
- GtkTreeModel *model =
gtk_tree_view_get_model(GTK_TREE_VIEW(userdata));
diff -Nru scim-skk-0.5.2/debian/patches/99_fix_ftbfs_gtk.patch scim-skk-
0.5.2/debian/patches/99_fix_ftbfs_gtk.patch
--- scim-skk-0.5.2/debian/patches/99_fix_ftbfs_gtk.patch 1969-12-31
19:00:00.000000000 -0500
+++ scim-skk-0.5.2/debian/patches/99_fix_ftbfs_gtk.patch 2022-06-12
20:23:35.000000000 -0400
@@ -0,0 +1,552 @@
+From: Tz-Huan Huang <tzhuan@gmail.com>
+Subject: bug676014
+
+FTBFS: scim_skk_setup_dictionaries.cpp:21:21: fatal error: gtk/gtk.h: No such
file or directory
+
+Bug-Debian: https://bugs.debian.org/676014
+
+---
+diff --git a/src/scim_skk_imengine_setup.cpp
b/src/scim_skk_imengine_setup.cpp
+index f881e33..47b5c16 100644
+--- a/src/scim_skk_imengine_setup.cpp
++++ b/src/scim_skk_imengine_setup.cpp
+@@ -179,7 +179,10 @@ static GtkWidget * __widget_annot_target = 0;
+ static GtkWidget * __widget_annot_highlight = 0;
+ static GtkWidget * __widget_ignore_return = 0;
+ static GtkWidget * __widget_selection_style = 0;
++#if GTK_CHECK_VERSION(2, 12, 0)
++#else
+ static GtkTooltips * __widget_tooltips = 0;
++#endif
+
+ static KeyboardConfigData __config_keyboards_common [] =
+ {
+@@ -477,25 +480,43 @@ create_combo_widget (const char *label_text, GtkWidget
**widget,
+ {
+ GtkWidget *hbox, *label;
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ hbox = gtk_hbox_new (FALSE, 0);
++#endif
+ gtk_widget_show (hbox);
+
+ label = gtk_label_new (label_text);
+ gtk_widget_show (label);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 4);
+
++#if GTK_CHECK_VERSION(2, 4, 0)
++ *widget = gtk_combo_box_text_new_with_entry ();
++ gtk_editable_set_editable (
++ GTK_EDITABLE (gtk_bin_get_child (GTK_BIN (*widget))), FALSE);
++#else
+ *widget = gtk_combo_new ();
+ gtk_combo_set_value_in_list (GTK_COMBO (*widget), TRUE, FALSE);
+ gtk_combo_set_case_sensitive (GTK_COMBO (*widget), TRUE);
+- gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (*widget)->entry), FALSE);
++ gtk_editable_set_editable (GTK_EDITABLE (GTK_COMBO (*widget)->entry),
FALSE);
++#endif
+ gtk_widget_show (*widget);
+ gtk_box_pack_start (GTK_BOX (hbox), *widget, FALSE, FALSE, 4);
++#if GTK_CHECK_VERSION(2, 4, 0)
++ g_object_set_data (G_OBJECT (gtk_bin_get_child (GTK_BIN (*widget))),
DATA_POINTER_KEY,
++ (gpointer) candidates_p);
++ g_signal_connect ((gpointer) gtk_bin_get_child (GTK_BIN (*widget)),
"changed",
++ G_CALLBACK (on_default_combo_changed),
++ data_p);
++#else
+ g_object_set_data (G_OBJECT (GTK_COMBO (*widget)->entry),
DATA_POINTER_KEY,
+ (gpointer) candidates_p);
+-
+ g_signal_connect ((gpointer) GTK_COMBO (*widget)->entry, "changed",
+ G_CALLBACK (on_default_combo_changed),
+ data_p);
++#endif
++
+
+ return hbox;
+ }
+@@ -506,7 +527,11 @@ create_color_button (ColorConfigData *entry)
+ GtkWidget *hbox, *label = NULL;
+ if (!entry) return NULL;
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ hbox = gtk_hbox_new (FALSE, 0);
++#endif
+ gtk_widget_show (hbox);
+
+ if (entry->label) {
+@@ -528,11 +553,18 @@ create_color_button (ColorConfigData *entry)
+ if (label)
+ gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry->widget);
+
++#if GTK_CHECK_VERSION(2, 12, 0)
++#else
+ if (!__widget_tooltips)
+ __widget_tooltips = gtk_tooltips_new();
++#endif
+ if (entry->tooltip)
++#if GTK_CHECK_VERSION(2, 12, 0)
++ gtk_widget_set_tooltip_text(entry->widget, _(entry->tooltip));
++#else
+ gtk_tooltips_set_tip(__widget_tooltips, entry->widget,
+ _(entry->tooltip), NULL);
++#endif
+
+ return hbox;
+ }
+@@ -558,7 +590,11 @@ create_options_page ()
+ GtkWidget *annot_widgets, *bgcolor_widgets;
+ gchar *markup;
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
++#else
+ vbox = gtk_vbox_new (FALSE, 0);
++#endif
+ gtk_widget_show (vbox);
+
+ /* title 1 */
+@@ -574,7 +610,11 @@ create_options_page ()
+
+
+ /* list size */
+- widget = gtk_hbox_new(FALSE, 0);
++#if GTK_CHECK_VERSION(3, 0, 0)
++ widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
++ widget = gtk_hbox_new (FALSE, 0);
++#endif
+ label = gtk_label_new (_("List Size:"));
+ __widget_listsize = gtk_spin_button_new_with_range(0, 100, 1);
+ gtk_spin_button_set_digits(GTK_SPIN_BUTTON (__widget_listsize), 0);
+@@ -601,7 +641,11 @@ create_options_page ()
+ gtk_box_pack_start (GTK_BOX (vbox), __widget_annot_view, FALSE, FALSE,
1);
+ gtk_container_set_border_width (GTK_CONTAINER (__widget_annot_view), 0);
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ annot_widgets = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
++#else
+ annot_widgets = gtk_vbox_new(FALSE, 0);
++#endif
+ gtk_box_pack_start (GTK_BOX(vbox), annot_widgets, FALSE, FALSE, 1);
+ gtk_widget_show(annot_widgets);
+ widget = create_combo_widget (_("Position of Annotation:"),
+@@ -619,7 +663,11 @@ create_options_page ()
+ gtk_box_pack_start (GTK_BOX (annot_widgets), widget, FALSE, FALSE, 1);
+
+ /* annotation color */
++#if GTK_CHECK_VERSION(3, 0, 0)
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ hbox = gtk_hbox_new(FALSE, 0);
++#endif
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 1);
+ gtk_widget_show(hbox);
+ __widget_annot_highlight =
gtk_check_button_new_with_mnemonic(_("Highlight Annotation."));
+@@ -655,26 +703,38 @@ create_dictionary_page ()
+ {
+ GtkWidget *vbox, *widget, *label, *button;
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
++#else
+ vbox = gtk_vbox_new (FALSE, 0);
++#endif
+ gtk_widget_show (vbox);
+
+ /* system dictionaries */
+ __widget_sysdicts = dict_selection_widget_setup();
+ gtk_box_pack_start (GTK_BOX (vbox), __widget_sysdicts, FALSE, FALSE, 4);
++#if GTK_CHECK_VERSION(3, 2, 0)
++ widget = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL);
++#else
+ widget = gtk_hseparator_new();
++#endif
+ gtk_widget_show(widget);
+ gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0);
+
+ /* user dictionary */
+- widget = gtk_hbox_new(FALSE, 0);
+- label = gtk_label_new(_("User Dictionary Name:"));
+- __widget_userdict = gtk_entry_new();
+- gtk_widget_show(label);
+- gtk_widget_show(__widget_userdict);
++#if GTK_CHECK_VERSION(3, 0, 0)
++ widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
++ widget = gtk_hbox_new (FALSE, 0);
++#endif
++ label = gtk_label_new (_("User Dictionary Name:"));
++ __widget_userdict = gtk_entry_new ();
++ gtk_widget_show (label);
++ gtk_widget_show (__widget_userdict);
+ gtk_box_pack_start (GTK_BOX (widget), label, FALSE, FALSE, 4);
+ gtk_box_pack_start (GTK_BOX (widget), __widget_userdict, TRUE, TRUE, 4);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), __widget_userdict);
+- gtk_widget_show(widget);
++ gtk_widget_show (widget);
+ gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 4);
+
+ g_signal_connect ((gpointer) __widget_userdict, "changed",
+@@ -720,7 +780,7 @@ create_keyboard_page (unsigned int page)
+ // Create keyboard setting.
+ for (unsigned int i = 0; data[i].key; ++ i) {
+ APPEND_ENTRY(_(data[i].label), data[i].entry, i);
+- gtk_entry_set_editable (GTK_ENTRY (data[i].entry), FALSE);
++ gtk_editable_set_editable (GTK_EDITABLE (data[i].entry), FALSE);
+
+ data[i].button = gtk_button_new_with_label ("...");
+ gtk_widget_show (data[i].button);
+@@ -739,11 +799,18 @@ create_keyboard_page (unsigned int page)
+ &(data[i].data));
+ }
+
++#if GTK_CHECK_VERSION(2, 12, 0)
++#else
+ if (!__widget_tooltips)
+ __widget_tooltips = gtk_tooltips_new();
++#endif
+ for (unsigned int i = 0; data[i].key; ++ i) {
++#if GTK_CHECK_VERSION(2, 12, 0)
++ gtk_widget_set_tooltip_text (data[i].entry, _(data[i].tooltip));
++#else
+ gtk_tooltips_set_tip (__widget_tooltips, data[i].entry,
+ _(data[i].tooltip), NULL);
++#endif
+ }
+
+ return table;
+@@ -835,9 +907,19 @@ create_setup_window ()
+ }
+
+ static void
+-setup_combo_value (GtkCombo *combo,
++setup_combo_value (GtkWidget *combo,
+ ComboConfigData *data, const String & str)
+ {
++#if GTK_CHECK_VERSION(2, 4, 0)
++ gint default_index = -1;
++ for (gint i = 0; data[i].label; i++) {
++ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo),
_(data[i].label));
++ if (!strcmp (data[i].data, str.c_str ()))
++ default_index = i;
++ }
++ if (default_index != -1)
++ gtk_combo_box_set_active (GTK_COMBO_BOX (combo), default_index);
++#else
+ GList *list = NULL;
+ const char *defval = NULL;
+
+@@ -852,23 +934,24 @@ setup_combo_value (GtkCombo *combo,
+
+ if (defval)
+ gtk_entry_set_text (GTK_ENTRY (combo->entry), defval);
++#endif
+ }
+
+ static void
+ setup_widget_value ()
+ {
+ if (__widget_selection_style) {
+- setup_combo_value (GTK_COMBO (__widget_selection_style),
++ setup_combo_value (__widget_selection_style,
+ selection_style, __config_selection_style);
+ }
+
+ if (__widget_annot_pos) {
+- setup_combo_value (GTK_COMBO (__widget_annot_pos),
++ setup_combo_value (__widget_annot_pos,
+ annot_position, __config_annot_pos);
+ }
+
+ if (__widget_annot_target) {
+- setup_combo_value (GTK_COMBO (__widget_annot_target),
++ setup_combo_value (__widget_annot_target,
+ annot_target, __config_annot_target);
+ }
+
+@@ -1107,6 +1190,29 @@ on_default_file_selection_clicked (GtkButton *button,
+ FileConfigData *data = static_cast <FileConfigData *> (user_data);
+
+ if (data) {
++#if GTK_CHECK_VERSION(2, 4, 0)
++ GtkWidget *dialog = gtk_file_chooser_dialog_new(
++ _(data->title), NULL, GTK_FILE_CHOOSER_ACTION_OPEN,
++ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
++ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
++ NULL);
++ gtk_file_chooser_set_filename (
++ GTK_FILE_CHOOSER (dialog),
++ gtk_entry_get_text (GTK_ENTRY (data->entry)));
++
++ if (gtk_dialog_run(GTK_DIALOG (dialog)) ==
GTK_RESPONSE_ACCEPT) {
++ char *filename;
++ filename = gtk_file_chooser_get_filename
(GTK_FILE_CHOOSER (dialog));
++ gtk_entry_set_text (GTK_ENTRY (data->entry),
filename);
++ if (strcmp (filename, gtk_entry_get_text (GTK_ENTRY (data-
++ gtk_entry_set_text (GTK_ENTRY (data->entry), filename);
++ data->data = filename;
++ __have_changed = true;
++ }
++ g_free (filename);
++ }
++ gtk_widget_destroy (dialog);
++#else
+ GtkWidget *dialog = gtk_file_selection_new (_(data->title));
+ gint result;
+
+@@ -1129,6 +1235,7 @@ on_default_file_selection_clicked (GtkButton *button,
+ }
+
+ gtk_widget_destroy (dialog);
++#endif
+ }
+ }
+
+diff --git a/src/scim_skk_setup_dictionaries.cpp
b/src/scim_skk_setup_dictionaries.cpp
+index 6050165..5f9dd1f 100644
+--- a/src/scim_skk_setup_dictionaries.cpp
++++ b/src/scim_skk_setup_dictionaries.cpp
+@@ -59,7 +59,7 @@ enum DictColumnType {
+ };
+
+ struct DictionaryConfigWidgets {
+- gchar *title;
++ const gchar *title;
+ GtkWidget *widget;
+ GtkWidget *entry;
+ GtkWidget *button;
+@@ -170,7 +170,11 @@ inline void
+ dict_entry_widgets_dictfile_setup (DictionaryConfigWidgets *widgets)
+ {
+ GtkWidget *label;
++#if GTK_CHECK_VERSION(3, 0, 0)
++ widgets->widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ widgets->widget = gtk_hbox_new(FALSE, 0);
++#endif
+ label = gtk_label_new(widgets->title);
+ widgets->entry = gtk_entry_new();
+ widgets->button = gtk_button_new_with_label ("...");
+@@ -195,8 +199,13 @@ dict_entry_widgets_skkserv_setup
(DictionaryConfigWidgets *widgets)
+ {
+ GtkWidget *hbox, *label;
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ widgets->widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ widgets->widget = gtk_vbox_new(FALSE, 0);
+ hbox = gtk_hbox_new(FALSE, 0);
++#endif
+ gtk_widget_hide(widgets->widget);
+ label = gtk_label_new(_("Server Name:"));
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
+@@ -205,7 +214,11 @@ dict_entry_widgets_skkserv_setup
(DictionaryConfigWidgets *widgets)
+ TRUE, TRUE, 4);
+ gtk_box_pack_start(GTK_BOX(widgets->widget), hbox,
+ FALSE, FALSE, 4);
++#if GTK_CHECK_VERSION(3, 0, 0)
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ hbox = gtk_hbox_new(FALSE, 0);
++#endif
+ label = gtk_label_new(_("Port Number:"));
+ widgets->entry2 = gtk_entry_new();
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
+@@ -224,7 +237,11 @@ dict_entry_widgets_setup (GtkBox *container,
+ GtkWidget *button;
+
+ /* edit buttons */
++#if GTK_CHECK_VERSION(3, 0, 0)
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ hbox = gtk_hbox_new(FALSE, 0);
++#endif
+ button = gtk_button_new_with_label(_("Add"));
+ gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, FALSE, 4);
+ g_signal_connect((gpointer) button, "clicked",
+@@ -245,7 +262,11 @@ dict_selection_widget_setup (void)
+ {
+ GtkWidget *tree;
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ __widget_sysdicts = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
++#else
+ __widget_sysdicts = gtk_vbox_new(FALSE, 0);
++#endif
+ dict_list_setup(__config_sysdicts);
+
+ /* setup container for dictionaries selection */
+@@ -257,10 +278,18 @@ dict_selection_widget_setup (void)
+
+ {
+ GtkWidget *hbox, *vbox, *button;
++#if GTK_CHECK_VERSION(3, 0, 0)
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ hbox = gtk_hbox_new(FALSE, 0);
++#endif
+ gtk_widget_show(hbox);
+ gtk_box_pack_start(GTK_BOX(hbox), tree, TRUE, TRUE, 4);
++#if GTK_CHECK_VERSION(3, 0, 0)
++ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
++#else
+ vbox = gtk_vbox_new(FALSE, 0);
++#endif
+ button = gtk_button_new_from_stock(GTK_STOCK_GO_UP);
+ gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, FALSE, 4);
+ g_signal_connect((gpointer) button, "clicked",
+@@ -301,6 +330,24 @@ file_selection_clicked_cb (GtkButton *button,
+ DictionaryConfigWidgets *data = static_cast <DictionaryConfigWidgets *>
(user_data);
+
+ if (data) {
++#if GTK_CHECK_VERSION(2, 4, 0)
++ GtkWidget *dialog = gtk_file_chooser_dialog_new (
++ _(data->title), NULL, GTK_FILE_CHOOSER_ACTION_OPEN,
++ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
++ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
++ NULL);
++ gtk_file_chooser_set_filename (
++ GTK_FILE_CHOOSER (dialog),
++ gtk_entry_get_text (GTK_ENTRY (data->entry)));
++
++ if (gtk_dialog_run(GTK_DIALOG (dialog)) ==
GTK_RESPONSE_ACCEPT) {
++ char *filename;
++ filename = gtk_file_chooser_get_filename
(GTK_FILE_CHOOSER (dialog));
++ gtk_entry_set_text (GTK_ENTRY (data->entry),
filename);
++ g_free (filename);
++ }
++ gtk_widget_destroy (dialog);
++#else
+ GtkWidget *dialog = gtk_file_selection_new (_(data->title));
+ gint result;
+
+@@ -318,6 +365,7 @@ file_selection_clicked_cb (GtkButton *button,
+ }
+
+ gtk_widget_destroy (dialog);
++#endif
+ }
+ }
+
+@@ -325,12 +373,20 @@ static void
+ dict_type_changed_cb (GtkComboBox *combo,
+ gpointer userdata)
+ {
++#if GTK_CHECK_VERSION(2, 24, 0)
++ gchar *typetext = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT
(combo));
++#else
+ gchar *typetext = gtk_combo_box_get_active_text(combo);
++#endif
+ for (int i = 0; __dict_type_names[i] != ""; i++) {
+ if (__dict_type_names[i] == typetext) {
+ gtk_widget_show_all(__widgets_dicts[i].widget);
+ } else {
++#if GTK_CHECK_VERSION(2, 24, 0)
++ gtk_widget_hide(__widgets_dicts[i].widget);
++#else
+ gtk_widget_hide_all(__widgets_dicts[i].widget);
++#endif
+ }
+ }
+ gtk_entry_set_text(GTK_ENTRY(__widgets_dicts[0].entry), "");
+@@ -351,37 +407,74 @@ dict_list_add_clicked_cb (GtkButton *button,
+ gtk_window_set_title(GTK_WINDOW(dialog),
+ _("Add new dictionary"));
+
++#if GTK_CHECK_VERSION(3, 0, 0)
++ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
++#else
+ hbox = gtk_hbox_new(FALSE, 0);
++#endif
+ gtk_widget_show(hbox);
+ label = gtk_label_new(_("Dictionary Type: "));
+ gtk_widget_show(label);
+ gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
++#if GTK_CHECK_VERSION(2, 24, 0)
++ __combo_box_dict_types = gtk_combo_box_text_new();
++#else
+ __combo_box_dict_types = gtk_combo_box_new_text();
++#endif
+ for (int i = 0; !__dict_type_names[i].empty(); i++) {
++#if GTK_CHECK_VERSION(2, 24, 0)
++ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT
(__combo_box_dict_types),
++ __dict_type_names[i].data());
++#else
+ gtk_combo_box_append_text(GTK_COMBO_BOX(__combo_box_dict_types),
+ __dict_type_names[i].data());
++#endif
+ }
+ g_signal_connect((gpointer) __combo_box_dict_types, "changed",
+ G_CALLBACK(dict_type_changed_cb),
+ NULL);
+ gtk_widget_show(__combo_box_dict_types);
+ gtk_box_pack_start(GTK_BOX(hbox), __combo_box_dict_types, FALSE, TRUE,
4);
++#if GTK_CHECK_VERSION(3, 0, 0)
++ gtk_box_pack_start(
++ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
++ hbox, FALSE, FALSE, 4);
++#else
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, FALSE,
FALSE, 4);
++#endif
+
+ /* dictionary file widgets */
+ dict_entry_widgets_dictfile_setup(&(__widgets_dicts[0]));
++#if GTK_CHECK_VERSION(3, 0, 0)
++ gtk_box_pack_start(
++ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
++ __widgets_dicts[0].widget, TRUE, TRUE, 4);
++#else
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
__widgets_dicts[0].widget,
+ TRUE, FALSE, 4);
++#endif
+
+ /* skkserv widgets */
+ dict_entry_widgets_skkserv_setup(&__widgets_dicts[1]);
++#if GTK_CHECK_VERSION(3, 0, 0)
++ gtk_box_pack_start(
++ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
++ __widgets_dicts[1].widget, TRUE, FALSE, 4);
++#else
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
__widgets_dicts[1].widget,
+ TRUE, FALSE, 4);
++#endif
+
+ /* dictionary file widgets */
+ dict_entry_widgets_dictfile_setup(&__widgets_dicts[2]);
++#if GTK_CHECK_VERSION(3, 0, 0)
++ gtk_box_pack_start(
++ GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))),
++ __widgets_dicts[2].widget, TRUE, FALSE, 4);
++#else
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox),
__widgets_dicts[2].widget,
+ TRUE, FALSE, 4);
++#endif
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(__combo_box_dict_types), 0);
+
+@@ -392,12 +485,19 @@ dict_list_add_clicked_cb (GtkButton *button,
+ _("Add"),
+ GTK_RESPONSE_OK);
+ gtk_widget_grab_default(ok_button);
++#if GTK_CHECK_VERSION(2, 22, 0)
++#else
+ gtk_dialog_set_has_separator(GTK_DIALOG(dialog), TRUE);
++#endif
+ gtk_widget_show(dialog);
+
+ result = gtk_dialog_run(GTK_DIALOG(dialog));
+ if (result == GTK_RESPONSE_OK) {
++#if GTK_CHECK_VERSION(2, 24, 0)
++ String dict_type =
gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(__combo_box_dict_types))
;
++#else
+ String dict_type =
gtk_combo_box_get_active_text(GTK_COMBO_BOX(__combo_box_dict_types));
++#endif
+ String dict_name;
+ GtkTreeIter iter;
+ GtkTreeModel *model =
gtk_tree_view_get_model(GTK_TREE_VIEW(userdata));
diff -Nru scim-skk-0.5.2/debian/patches/series scim-skk-
0.5.2/debian/patches/series
--- scim-skk-0.5.2/debian/patches/series 1969-12-31 19:00:00.000000000
-0500
+++ scim-skk-0.5.2/debian/patches/series 2022-06-12 20:23:25.000000000
-0400
@@ -0,0 +1,5 @@
+01_error_check_to_cdb_get.patch
+02_scim_skk_dictionary.cpp.patch
+20_gcc-4.3-fixes.patch
+99_fix_ftbfs_gtk.patch
+0005-AC_SUBST-LIBTOOL_EXPORT_OPTIONS.patch
diff -Nru scim-skk-0.5.2/debian/README.source scim-skk-
0.5.2/debian/README.source
--- scim-skk-0.5.2/debian/README.source 2022-06-12 20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/README.source 1969-12-31 19:00:00.000000000 -0500
@@ -1,38 +0,0 @@
-This package uses dpatch to manage all modifications to the upstream
-source. Changes are stored in the source package as diffs in
-debian/patches and applied during the build.
-
-To get the fully patched source after unpacking the source package, cd
-to the root level of the source package and run:
-
- debian/rules patch
-
-Removing a patch is as simple as removing its entry from the
-debian/patches/00list file, and please also remove the patch file
-itself.
-
-Creating a new patch is done with "dpatch-edit-patch patch XX_patchname"
-where you should replace XX with a new number and patchname with a
-descriptive shortname of the patch. You can then simply edit all the
-files your patch wants to edit, and then simply "exit 0" from the shell
-to actually create the patch file.
-
-To tweak an already existing patch, call "dpatch-edit-patch XX_patchname"
-and replace XX_patchname with the actual filename from debian/patches
-you want to use.
-
-To clean up afterwards again, "debian/rules unpatch" will do the
-work for you - or you can of course choose to call
-"fakeroot debian/rules clean" all together.
-
-
----
-
-this documentation is part of dpatch package, and may be used by
-packages using dpatch to comply with policy on README.source. This
-documentation is meant to be useful to users who are not proficient in
-dpatch in doing work with dpatch-based packages. Please send any
-improvements to the BTS of dpatch package.
-
-original text by Gerfried Fuchs, edited by Junichi Uekawa <dancer@debian.org>
-10 Aug 2008.
diff -Nru scim-skk-0.5.2/debian/rules scim-skk-0.5.2/debian/rules
--- scim-skk-0.5.2/debian/rules 2022-06-12 20:26:31.000000000 -0400
+++ scim-skk-0.5.2/debian/rules 2022-06-12 20:16:34.000000000 -0400
@@ -1,122 +1,27 @@
#!/usr/bin/make -f
# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1