Tue Nov 24 11:46:01 2009 UTC ()
Import scim-1.4.9 as inputmethod/scim.

Currently the SCIM project has a wide range of input methods (some may need
other libraries), covering more than 30 languages, including
(Simplified/Traditional) Chinese, Japanese, Korean and many European languages.
What's more, Composing/Dead key support is one of the built-in features.
In addition, several projects have been established to design IMEngines for
SCIM and others supply their own SCIM plugins.

Status:

Vendor Tag:	TNF
Release Tags:	pkgsrc-base


(obache)
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/PLIST
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/buildlink3.mk
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/distinfo
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/Makefile
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/DESCR
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-ab
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-bb
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-bc
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-bd
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-be
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-af
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-ae
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-ad
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-ac
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-ah
diff -r0 -r1.1.1.1 pkgsrc/inputmethod/scim/patches/patch-ag

File Added: pkgsrc/inputmethod/scim/PLIST
@comment $NetBSD: PLIST,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $
bin/scim
bin/scim-config-agent
bin/scim-setup
include/scim-1.0/gtk/scimkeyselection.h
include/scim-1.0/gtk/scimstringview.h
include/scim-1.0/gtk/scimtrayicon.h
include/scim-1.0/scim.h
include/scim-1.0/scim_attribute.h
include/scim-1.0/scim_backend.h
include/scim-1.0/scim_bind.h
include/scim-1.0/scim_compose_key.h
include/scim-1.0/scim_config_base.h
include/scim-1.0/scim_config_module.h
include/scim-1.0/scim_config_path.h
include/scim-1.0/scim_connection.h
include/scim-1.0/scim_debug.h
include/scim-1.0/scim_event.h
include/scim-1.0/scim_exception.h
include/scim-1.0/scim_filter.h
include/scim-1.0/scim_filter_manager.h
include/scim-1.0/scim_filter_module.h
include/scim-1.0/scim_frontend.h
include/scim-1.0/scim_frontend_module.h
include/scim-1.0/scim_global_config.h
include/scim-1.0/scim_helper.h
include/scim-1.0/scim_helper_manager.h
include/scim-1.0/scim_helper_module.h
include/scim-1.0/scim_hotkey.h
include/scim-1.0/scim_iconv.h
include/scim-1.0/scim_imengine.h
include/scim-1.0/scim_imengine_module.h
include/scim-1.0/scim_lookup_table.h
include/scim-1.0/scim_module.h
include/scim-1.0/scim_object.h
include/scim-1.0/scim_panel_agent.h
include/scim-1.0/scim_panel_client.h
include/scim-1.0/scim_panel_common.h
include/scim-1.0/scim_pointer.h
include/scim-1.0/scim_property.h
include/scim-1.0/scim_signals.h
include/scim-1.0/scim_slot.h
include/scim-1.0/scim_socket.h
include/scim-1.0/scim_trans_commands.h
include/scim-1.0/scim_transaction.h
include/scim-1.0/scim_types.h
include/scim-1.0/scim_utility.h
include/scim-1.0/x11/scim_x11_utils.h
lib/libscim-1.0.la
lib/libscim-gtkutils-1.0.la
lib/libscim-x11utils-1.0.la
lib/pkgconfig/scim-gtkutils.pc
lib/pkgconfig/scim-x11utils.pc
lib/pkgconfig/scim.pc
lib/scim-1.0/1.4.0/Config/simple.la
lib/scim-1.0/1.4.0/Config/socket.la
lib/scim-1.0/1.4.0/Filter/sctc.la
lib/scim-1.0/1.4.0/FrontEnd/socket.la
lib/scim-1.0/1.4.0/FrontEnd/x11.la
lib/scim-1.0/1.4.0/Helper/setup.la
lib/scim-1.0/1.4.0/IMEngine/rawcode.la
lib/scim-1.0/1.4.0/IMEngine/socket.la
lib/scim-1.0/1.4.0/SetupUI/aaa-frontend-setup.la
lib/scim-1.0/1.4.0/SetupUI/aaa-imengine-setup.la
lib/scim-1.0/1.4.0/SetupUI/panel-gtk-setup.la
lib/scim-1.0/scim-helper-launcher
lib/scim-1.0/scim-helper-manager
lib/scim-1.0/scim-launcher
lib/scim-1.0/scim-panel-gtk
share/applications/scim-setup.desktop
share/control-center-2.0/capplets/scim-setup.desktop
share/examples/scim/config
share/examples/scim/global
share/locale/as/LC_MESSAGES/scim.mo
share/locale/bn_IN/LC_MESSAGES/scim.mo
share/locale/ca/LC_MESSAGES/scim.mo
share/locale/cs/LC_MESSAGES/scim.mo
share/locale/de/LC_MESSAGES/scim.mo
share/locale/es/LC_MESSAGES/scim.mo
share/locale/fi/LC_MESSAGES/scim.mo
share/locale/fr/LC_MESSAGES/scim.mo
share/locale/gu/LC_MESSAGES/scim.mo
share/locale/hi/LC_MESSAGES/scim.mo
share/locale/it/LC_MESSAGES/scim.mo
share/locale/ja/LC_MESSAGES/scim.mo
share/locale/kn/LC_MESSAGES/scim.mo
share/locale/ko/LC_MESSAGES/scim.mo
share/locale/ml/LC_MESSAGES/scim.mo
share/locale/mr/LC_MESSAGES/scim.mo
share/locale/nl/LC_MESSAGES/scim.mo
share/locale/pa/LC_MESSAGES/scim.mo
share/locale/pt_BR/LC_MESSAGES/scim.mo
share/locale/ru/LC_MESSAGES/scim.mo
share/locale/sk/LC_MESSAGES/scim.mo
share/locale/sv/LC_MESSAGES/scim.mo
share/locale/ta/LC_MESSAGES/scim.mo
share/locale/te/LC_MESSAGES/scim.mo
share/locale/vi/LC_MESSAGES/scim.mo
share/locale/zh_CN/LC_MESSAGES/scim.mo
share/locale/zh_TW/LC_MESSAGES/scim.mo
share/pixmaps/scim-setup.png
share/scim/icons/down.png
share/scim/icons/full-letter.png
share/scim/icons/full-punct.png
share/scim/icons/half-letter.png
share/scim/icons/half-punct.png
share/scim/icons/help.png
share/scim/icons/keyboard.png
share/scim/icons/left.png
share/scim/icons/menu.png
share/scim/icons/pin-down.png
share/scim/icons/pin-up.png
share/scim/icons/rawcode.png
share/scim/icons/right.png
share/scim/icons/sctc-sc-to-tc.png
share/scim/icons/sctc-tc-to-sc.png
share/scim/icons/sctc.png
share/scim/icons/setup.png
share/scim/icons/trademark.png
share/scim/icons/up.png

File Added: pkgsrc/inputmethod/scim/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

BUILDLINK_TREE+=	scim

.if !defined(SCIM_BUILDLINK3_MK)
SCIM_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.scim+=	scim>=1.4.7
BUILDLINK_PKGSRCDIR.scim?=	../../inputmethod/scim

.include "../../devel/gettext-lib/buildlink3.mk"

.if defined(USE_SCIM_GTKUTILS) && !empty(USE_SCIM_GTKUTILS:M[Yy][Ee][Ss])
.  include "../../x11/gtk2/buildlink3.mk"
.endif

.endif # SCIM_BUILDLINK3_MK

BUILDLINK_TREE+=	-scim

File Added: pkgsrc/inputmethod/scim/distinfo
$NetBSD: distinfo,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

SHA1 (scim-1.4.9.tar.gz) = 7717339575fdbf909309a78882e30c60cce9f8eb
RMD160 (scim-1.4.9.tar.gz) = f84d51aad96fe8c2b32ef1b922ebfe9499f70c90
Size (scim-1.4.9.tar.gz) = 2928091 bytes
SHA1 (patch-ab) = c5220c83ec8125f75b1e5d7b41f4438ec73becbf
SHA1 (patch-ac) = ad168f68be04c7865890fe83c56e51b5b539383d
SHA1 (patch-ad) = 2812ded533f29bd69bad180c33c81fd49e6213e6
SHA1 (patch-ae) = 61909935f6226d2126392d0990f81243dc2bb933
SHA1 (patch-af) = 010d4f31d684b8163672d2521ebff74230591d66
SHA1 (patch-ag) = 2f97e1d9c9a96096524903c43ba4f7626956450d
SHA1 (patch-ah) = abb315ac44a36e99d8c456b1cb3af9290a29be12
SHA1 (patch-bb) = 978220761e766fed801c9d5fc89ed6c1c562af92
SHA1 (patch-bc) = 3e4c7aa2afd8bb64bfe7fbc46a3e739d59b0e133
SHA1 (patch-bd) = 9912d596f5e54f59dfc0bd01c22a457f056c84e1
SHA1 (patch-be) = 85a98134d77038d20544241410ec8130df2ea94c

File Added: pkgsrc/inputmethod/scim/Makefile
# $NetBSD: Makefile,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $
#

DISTNAME=		scim-1.4.9
CATEGORIES=		inputmethod
MASTER_SITES=		${MASTER_SITE_SOURCEFORGE:=scim/}

MAINTAINER=		obache@NetBSD.org
HOMEPAGE=		http://www.scim-im.org/
COMMENT=		Smart Common Input Method
LICENSE=		gnu-lgpl-v2.1

PKG_DESTDIR_SUPPORT=	user-destdir

PKG_SYSCONFSUBDIR=	scim

USE_PKGLOCALEDIR=	yes
USE_LANGUAGES=		c c++
USE_LIBTOOL=		yes
USE_TOOLS+=		msgfmt pkg-config
USE_TOOLS+=		gmake	# make scim-setup.desktop
USE_TOOLS+=		perl intltool

PKGCONFIG_OVERRIDE=	scim-gtkutils.pc.in
PKGCONFIG_OVERRIDE+=	scim-x11utils.pc.in
PKGCONFIG_OVERRIDE+=	scim.pc.in

GNU_CONFIGURE=		yes

CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
# dlopen c++ so module from c gtk2 apps cause some troubles.
CONFIGURE_ARGS+=	--disable-gtk2-immodule

EGDIR=			${PREFIX}/share/examples/scim
CONF_FILES=		${EGDIR}/config ${PKG_SYSCONFDIR}/config
CONF_FILES+=		${EGDIR}/global ${PKG_SYSCONFDIR}/global

INSTALL_MAKE_FLAGS+=	sysconfdir=${PREFIX}/share/examples

# for DLOPEN_REQUIRE_PTHREADS
PTHREAD_AUTO_VARS=	yes

.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../x11/gtk2/buildlink3.mk"
.include "../../x11/libICE/buildlink3.mk"
BUILDLINK_DEPMETHOD.libXt=	build
.include "../../x11/libXt/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/inputmethod/scim/DESCR
Currently the SCIM project has a wide range of input methods (some may need
other libraries), covering more than 30 languages, including
(Simplified/Traditional) Chinese, Japanese, Korean and many European languages.
What's more, Composing/Dead key support is one of the built-in features.
In addition, several projects have been established to design IMEngines for
SCIM and others supply their own SCIM plugins.

File Added: pkgsrc/inputmethod/scim/patches/patch-ab
$NetBSD: patch-ab,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- src/scim_chartraits.cpp.orig	2008-11-02 06:42:37.000000000 +0000
+++ src/scim_chartraits.cpp
@@ -26,4 +26,5 @@
  */
 
+#if 0
 #include <string>
 #include "scim_types.h"
@@ -41,27 +42,33 @@ namespace std
   
 template<>
-void
-char_traits<ucs4_t>::assign(char_type& __c1, const char_type& __c2)
+struct char_traits<ucs4_t>
+{
+
+typedef ucs4_t char_type;
+typedef ucs4_t int_type;
+typedef streampos pos_type;
+typedef streamoff off_type;
+typedef mbstate_t state_type;
+
+static void
+assign(char_type& __c1, const char_type& __c2)
 {
     __c1 = __c2;
 }
 
-template<>
-bool 
-char_traits<ucs4_t>::eq(const char_type& __c1, const char_type& __c2)
+static bool 
+eq(const char_type& __c1, const char_type& __c2)
 {
     return __c1 == __c2;
 }
 
-template<>
-bool 
-char_traits<ucs4_t>::lt(const char_type& __c1, const char_type& __c2)
+static bool 
+lt(const char_type& __c1, const char_type& __c2)
 {
     return __c1 < __c2;
 }
 
-template<>
-char_traits<ucs4_t>::char_type*
-char_traits<ucs4_t>::assign(char_type* __s, size_t __n, char_type __a)
+static char_type*
+assign(char_type* __s, size_t __n, char_type __a)
 {
     char_type* dest = __s;
@@ -71,7 +78,6 @@ char_traits<ucs4_t>::assign(char_type* _
 }
 
-template<>
-char_traits<ucs4_t>::char_type*
-char_traits<ucs4_t>::copy(char_type* __s1, const char_type* __s2, size_t __n)
+static char_type*
+copy(char_type* __s1, const char_type* __s2, size_t __n)
 {
     char_type* dest = __s1;
@@ -82,13 +88,12 @@ char_traits<ucs4_t>::copy(char_type* __s
 }
 
-template<>
-char_traits<ucs4_t>::char_type*
-char_traits<ucs4_t>::move(char_type* __s1, const char_type* __s2, size_t __n)
+static char_type*
+move(char_type* __s1, const char_type* __s2, size_t __n)
 {
-    if (__s1 + __n > __s2) {
+    if (__s1 > __s2) {
         char_type* dest = __s1 + __n - 1;
-        const char_type* from = __s2;
+        const char_type* from = __s2 + __n - 1;
         while (__n-- > 0)
-            *(dest--) = *(from++);
+            *(dest--) = *(from--);
         return __s1;
     } else {
@@ -97,7 +102,6 @@ char_traits<ucs4_t>::move(char_type* __s
 }
 
-template<>
-size_t
-char_traits<ucs4_t>::length(const char_type* __s)
+static size_t
+length(const char_type* __s)
 {
     size_t __result = 0;
@@ -107,7 +111,6 @@ char_traits<ucs4_t>::length(const char_t
 }
 
-template<>
-int
-char_traits<ucs4_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n)
+static int
+compare(const char_type* __s1, const char_type* __s2, size_t __n)
 {
     while ( (*__s1 == *__s2++) && __n-- > 0 )
@@ -118,7 +121,6 @@ char_traits<ucs4_t>::compare(const char_
 }
 
-template<>
-const char_traits<ucs4_t>::char_type*
-char_traits<ucs4_t>::find(const char_type* __s, size_t __n, const char_type& __a)
+static const char_type*
+find(const char_type* __s, size_t __n, const char_type& __a)
 {
     while (__n-- > 0) {
@@ -130,40 +132,38 @@ char_traits<ucs4_t>::find(const char_typ
 }
 
-template<>
-char_traits<ucs4_t>::char_type
-char_traits<ucs4_t>::to_char_type (const int_type& __c)
+static char_type
+to_char_type(const int_type& __c)
 {
     return static_cast<char_type>(__c);
 }
 
-template<>
-char_traits<ucs4_t>::int_type
-char_traits<ucs4_t>::to_int_type (const char_type& __c)
+static int_type
+to_int_type(const char_type& __c)
 {
     return static_cast<int_type>(__c);
 }
 
-template<>
-bool
-char_traits<ucs4_t>::eq_int_type(const int_type& __c1, const int_type& __c2)
+static bool
+eq_int_type(const int_type& __c1, const int_type& __c2)
 {
     return __c1 == __c2;
 }
 
-template<>
-char_traits<ucs4_t>::int_type
-char_traits<ucs4_t>::eof ()
+static int_type
+eof()
 {
-    return static_cast<int_type>(EOF);
+    return static_cast<int_type>(-1);
 }
 
-template<>
-char_traits<ucs4_t>::int_type
-char_traits<ucs4_t>::not_eof (const int_type& __c)
+static int_type
+not_eof(const int_type& __c)
 {
-    return (__c == eof()) ? 0 : __c;
+    return eq_int_type(__c, eof()) ? static_cast<int_type>(0) : __c;
 }
 
-}
+}; //struct char_traits<ucs4_t>
+
+} //namespace std
+#endif
 #endif
 

File Added: pkgsrc/inputmethod/scim/patches/patch-bb
$NetBSD: patch-bb,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- extras/gtk2_immodule/gtkimcontextscim.cpp.orig	2008-11-02 06:43:15.000000000 +0000
+++ extras/gtk2_immodule/gtkimcontextscim.cpp
@@ -274,11 +274,11 @@ static int                              
 static FrontEndHotkeyMatcher                            _frontend_hotkey_matcher;
 static IMEngineHotkeyMatcher                            _imengine_hotkey_matcher;
 
-static IMEngineInstancePointer                          _default_instance;
+static IMEngineInstancePointer                          _default_instance = IMEngineInstancePointer(0);
 
 static ConfigModule                                    *_config_module              = 0;
-static ConfigPointer                                    _config;
-static BackEndPointer                                   _backend;
+static ConfigPointer                                    _config = ConfigPointer(0);
+static BackEndPointer                                   _backend = BackEndPointer(0);
 
 static GtkIMContextSCIM                                *_focused_ic                 = 0;
 static GtkWidget                                       *_focused_widget             = 0;
@@ -296,8 +296,8 @@ static bool                             
 static int                                              _instance_count             = 0;
 static int                                              _context_count              = 0;
 
-static IMEngineFactoryPointer                           _fallback_factory;
-static IMEngineInstancePointer                          _fallback_instance;
+static IMEngineFactoryPointer                           _fallback_factory = IMEngineFactoryPointer(0);
+static IMEngineInstancePointer                          _fallback_instance = IMEngineInstancePointer(0);
 
 static PanelClient                                      _panel_client;
 
@@ -310,6 +310,7 @@ static bool                             
 static bool                                             _shared_input_method        = false;
 static bool                                             _use_key_snooper            = true;
 
+#if 0
 // A hack to shutdown the immodule cleanly even if im_module_exit () is not called when exiting.
 class FinalizeHandler
 {
@@ -324,6 +325,7 @@ public:
 };
 
 static FinalizeHandler                                  _finalize_handler;
+#endif
 
 /* Function Implementations */
 
@@ -436,6 +438,7 @@ gtk_im_context_scim_register_type (GType
         sizeof               (GtkIMContextSCIM),
         0,
         (GtkObjectInitFunc)  gtk_im_context_scim_init,
+        0
     };
 
     SCIM_DEBUG_FRONTEND(1) << "gtk_im_context_scim_register_type...\n";

File Added: pkgsrc/inputmethod/scim/patches/Attic/patch-bc
$NetBSD: patch-bc,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- utils/scimkeyselection.cpp.orig	2008-11-02 06:42:49.000000000 +0000
+++ utils/scimkeyselection.cpp
@@ -79,6 +79,7 @@ scim_key_selection_register_type (GTypeM
         sizeof (ScimKeySelection),
         0,
         (GInstanceInitFunc) scim_key_selection_init,
+        0
     };
 
     if (!key_selection_type) {
@@ -608,6 +609,7 @@ scim_key_selection_dialog_register_type 
         sizeof (ScimKeySelectionDialog),
         0,
         (GInstanceInitFunc) scim_key_selection_dialog_init,
+        0
     };
 
     if (!key_selection_dialog_type) {

File Added: pkgsrc/inputmethod/scim/patches/Attic/patch-bd
$NetBSD: patch-bd,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- utils/scimstringview.c.orig	2008-11-02 06:42:49.000000000 +0000
+++ utils/scimstringview.c
@@ -134,6 +134,7 @@ scim_string_view_register_type (GTypeMod
     sizeof (ScimStringView),
     0,
     (GInstanceInitFunc) scim_string_view_init,
+    0
   };
 
   if (!string_view_type)

File Added: pkgsrc/inputmethod/scim/patches/Attic/patch-be
$NetBSD: patch-be,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- utils/scimtrayicon.c.orig	2008-11-02 06:42:49.000000000 +0000
+++ utils/scimtrayicon.c
@@ -72,7 +72,8 @@ scim_tray_icon_get_type (void)
             NULL, /* class_data */
             sizeof (ScimTrayIcon),
             0,    /* n_preallocs */
-            (GInstanceInitFunc) scim_tray_icon_init
+            (GInstanceInitFunc) scim_tray_icon_init,
+            0
         };
         our_type = g_type_register_static (GTK_TYPE_PLUG, "ScimTrayIcon", &our_info, 0);
     }

File Added: pkgsrc/inputmethod/scim/patches/patch-af
$NetBSD: patch-af,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- modules/IMEngine/scim_rawcode_imengine.cpp.orig	2008-11-02 06:42:21.000000000 +0000
+++ modules/IMEngine/scim_rawcode_imengine.cpp
@@ -48,7 +48,7 @@
 
 using namespace scim;
 
-static Pointer <RawCodeFactory> __rawcode_factory;
+static Pointer <RawCodeFactory> __rawcode_factory = Pointer<RawCodeFactory>(0);
 
 static String __rawcode_locales;
 

File Added: pkgsrc/inputmethod/scim/patches/patch-ae
$NetBSD: patch-ae,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- modules/FrontEnd/scim_x11_frontend.cpp.orig	2008-11-02 06:42:11.000000000 +0000
+++ modules/FrontEnd/scim_x11_frontend.cpp
@@ -71,7 +71,7 @@
 using namespace scim;
 
 //Local static data
-static Pointer <X11FrontEnd> _scim_frontend (0);
+static Pointer <X11FrontEnd> _scim_frontend = Pointer<X11FrontEnd>(0);
 
 //Module Interface
 extern "C" {

File Added: pkgsrc/inputmethod/scim/patches/patch-ad
$NetBSD: patch-ad,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- modules/FrontEnd/scim_socket_frontend.cpp.orig	2008-11-02 06:42:11.000000000 +0000
+++ modules/FrontEnd/scim_socket_frontend.cpp
@@ -51,7 +51,7 @@
 
 using namespace scim;
 
-static Pointer <SocketFrontEnd> _scim_frontend (0);
+static Pointer <SocketFrontEnd> _scim_frontend = Pointer<SocketFrontEnd>(0);
 
 static int _argc;
 static char **_argv;

File Added: pkgsrc/inputmethod/scim/patches/patch-ac
$NetBSD: patch-ac,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- extras/panel/scim_panel_gtk.cpp.orig	2008-11-02 06:43:13.000000000 +0000
+++ extras/panel/scim_panel_gtk.cpp
@@ -464,7 +464,7 @@ static GdkColor           _active_bg;
 static GdkColor           _active_text;
 
 static ConfigModule      *_config_module               = 0;
-static ConfigPointer      _config;
+static ConfigPointer      _config = ConfigPointer(0);
 
 static guint              _check_exit_timeout          = 0;
 

File Added: pkgsrc/inputmethod/scim/patches/patch-ah
$NetBSD: patch-ah,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- src/scim_types.h.in.orig	2008-11-02 06:42:37.000000000 +0000
+++ src/scim_types.h.in
@@ -31,13 +31,7 @@
 #define __SCIM_TYPES_H
 
 @INCLUDE_STDINT@
-
-#ifdef __FreeBSD__
-# include <osreldate.h>
-# if __FreeBSD_version > 500035
-#  define __STDC_ISO_10646__
-# endif
-#endif
+#include <string>
 
 namespace scim {
 
@@ -51,6 +45,136 @@ typedef @UINT64@ uint64;
     typedef uint32 ucs4_t;
 #endif
 
+} // namespace scim
+
+#ifndef __STDC_ISO_10646__
+#include <cstring>
+
+namespace std
+{
+
+template<>
+struct char_traits<scim::ucs4_t>
+{
+
+typedef scim::ucs4_t char_type;
+typedef scim::ucs4_t int_type;
+typedef streampos pos_type;
+typedef streamoff off_type;
+typedef mbstate_t state_type;
+
+static void
+assign(char_type& __c1, const char_type& __c2)
+{
+    __c1 = __c2;
+}
+
+static bool 
+eq(const char_type& __c1, const char_type& __c2)
+{
+    return __c1 == __c2;
+}
+
+static bool 
+lt(const char_type& __c1, const char_type& __c2)
+{
+    return __c1 < __c2;
+}
+
+static char_type*
+assign(char_type* __s, size_t __n, char_type __a)
+{
+    while (__n-- > 0) 
+        assign(__s[__n], __a);
+    return __s;
+}
+
+static char_type*
+copy(char_type* __s1, const char_type* __s2, size_t __n)
+{
+    return static_cast<char_type *>
+        (memcpy(__s1, __s2, __n * sizeof(char_type)));
+}
+
+static char_type*
+move(char_type* __s1, const char_type* __s2, size_t __n)
+{
+    return static_cast<char_type *>
+        (memmove(__s1, __s2, __n * sizeof(char_type)));
+}
+
+static size_t
+length(const char_type* __s)
+{
+    const char_type *__p;
+
+    __p = __s;
+    while (eq(*__p, static_cast<int_type>(0)))
+        ++__p;
+    return static_cast<size_t>(__p - __s);
+}
+
+static int
+compare(const char_type* __s1, const char_type* __s2, size_t __n)
+{
+    size_t __i;
+
+    for (__i = 0; __i < __n; ++__i)
+        if (!eq(__s1[__i], __s2[__i]))
+            return lt(__s1[__i], __s2[__i]) ? -1 : 1;
+    return 0;
+}
+
+static const char_type*
+find(const char_type* __s, size_t __n, const char_type& __a)
+{
+    while (__n-- > 0) {
+        if (eq(*__s, __a))
+            return __s;
+        ++__s;
+    }
+    return 0;
+}
+
+static bool
+eq_int_type(const int_type& __c1, const int_type& __c2)
+{
+    return __c1 == __c2;
+}
+
+static char_type
+to_char_type(const int_type& __c)
+{
+    return static_cast<char_type>(__c);
+}
+
+static int_type
+to_int_type(const char_type& __c)
+{
+    return static_cast<int_type>(__c);
+}
+
+static int_type
+eof()
+{
+    return static_cast<int_type>(-1);
+}
+
+static int_type
+not_eof(const int_type& __c)
+{
+    return eq_int_type(__c, eof())
+	? static_cast<int_type>(0) : __c;
+}
+
+}; // struct char_traits<scim::ucs4_t>
+
+} // namespace std
+
+#endif //!__STDC_ISO_10646__
+
+namespace scim {
+
 typedef std::basic_string<char> String;
 typedef std::basic_string<ucs4_t> WideString;
 

File Added: pkgsrc/inputmethod/scim/patches/patch-ag
$NetBSD: patch-ag,v 1.1.1.1 2009/11/24 11:46:01 obache Exp $

--- src/scim_config_base.cpp.orig	2008-11-02 06:42:34.000000000 +0000
+++ src/scim_config_base.cpp
@@ -30,7 +30,7 @@
 
 namespace scim {
 
-ConfigPointer _scim_default_config (0);
+ConfigPointer _scim_default_config = ConfigPointer(0);
 ConfigModule _scim_default_config_module;
 
 static ConfigPointer