ports/70326: [maintainer update] make textproc/scim available on 4.x

Jie Gao gaoj at cpsc.ucalgary.ca
Wed Aug 11 21:30:27 UTC 2004


>Number:         70326
>Category:       ports
>Synopsis:       [maintainer update] make textproc/scim available on 4.x
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 11 21:30:27 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Jie Gao
>Release:        FreeBSD 4.10-STABLE i386
>Organization:
>Environment:
System: FreeBSD aibsd-stable.cpsc.ucalgary.ca 4.10-STABLE FreeBSD 4.10-STABLE #0: Wed Aug 4 17:21:59 MDT 2004 root at aibsd-stable.cpsc.ucalgary.ca:/usr/obj/usr/src/sys/AIBSDSTABLE i386


	
>Description:
	
The textproc/scim port and related ones were marked as broken on 4.x because
C99 compliant wctype functions are not available. However, such functions are
only used in a single executable's sources. So on 4.x, I made a hack to drop
that executable and other parts will compile after extra patches.

That dropped executable on 4.x is only used for making input method tables. So
the scim-tables ports are still not available for 4.x but others will work.

The functionality on 5.x remains unchanged.

Also add SF.net master sites to the ports (except the ones that already have
SF.net master sites).

>How-To-Repeat:
	
N/A

>Fix:

	
Apply the following patches to the ports directories.

--- patch-textproc-scim begins here ---
Index: textproc/scim/Makefile
===================================================================
RCS file: /home/grads/gaoj/repository/ports/textproc/scim/Makefile,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- textproc/scim/Makefile	6 Aug 2004 00:24:37 -0000	1.1
+++ textproc/scim/Makefile	6 Aug 2004 00:47:04 -0000	1.3
@@ -7,9 +7,11 @@
 
 PORTNAME=	scim
 PORTVERSION=	0.99.5
+PORTREVISION=	1
 CATEGORIES=	textproc
-MASTER_SITES=	http://freedesktop.org/~suzhe/sources/
-
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
+		http://freedesktop.org/~suzhe/sources/
+MASTER_SITE_SUBDIR=scim
 MAINTAINER=	gaoj at cpsc.ucalgary.ca
 COMMENT=	Smart Common Input Method platform
 
@@ -21,15 +23,21 @@
 USE_REINPLACE=	yes
 INSTALLS_SHLIB=	yes
 USE_LIBTOOL_VER=	15
-CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include -D__STDC_ISO_10646__" \
-		LDFLAGS="-L${LOCALBASE}/lib -lintl" \
-		PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
+CONFIGURE_ENV=	PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
 		PTHREAD_LIBS="${PTHREAD_LIBS}"
 
 .include <bsd.port.pre.mk>
 
-.if ${OSVERSION} <= 499999
-BROKEN=		"4.x lacks C99 compliant wctypes implementation"
+.if ${OSVERSION} < 500035
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libstlport_gcc.so:${PORTSDIR}/devel/stlport
+RUN_DEPENDS+=   ${LOCALBASE}/lib/libstlport_gcc.so:${PORTSDIR}/devel/stlport
+CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include -I${LOCALBASE}/include/stlport" \
+                LDFLAGS="-L${LOCALBASE}/lib -lstlport_gcc -lintl ${PTHREAD_LIBS}"
+EXTRA_PATCHES=	${FILESDIR}/extra-patch-4-stable
+PLIST_SUB=	NOSTABLE="@comment "
+.else
+CONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include -D__STDC_ISO_10646__" \
+		LDFLAGS="-L${LOCALBASE}/lib -lintl"
 .endif
 
 post-configure:
Index: textproc/scim/pkg-plist
===================================================================
RCS file: /home/grads/gaoj/repository/ports/textproc/scim/pkg-plist,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- textproc/scim/pkg-plist	6 Aug 2004 00:24:37 -0000	1.1
+++ textproc/scim/pkg-plist	6 Aug 2004 00:35:10 -0000	1.2
@@ -1,6 +1,6 @@
 bin/scim
 bin/scim-config-agent
-bin/scim-make-table
+%%NOSTABLE%%bin/scim-make-table
 bin/scim-setup
 @unexec env GCONF_CONFIG_SOURCE=xml::%D/etc/gconf/gconf.xml.defaults gconftool-2 --makefile-uninstall-rule %D/etc/gconf/schemas/scim.schemas >/dev/null || /usr/bin/true
 etc/gconf/schemas/scim.schemas
Index: textproc/scim/files/extra-patch-4-stable
===================================================================
RCS file: textproc/scim/files/extra-patch-4-stable
diff -N textproc/scim/files/extra-patch-4-stable
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ textproc/scim/files/extra-patch-4-stable	6 Aug 2004 00:35:10 -0000	1.1
@@ -0,0 +1,95 @@
+--- src/scim_event.cpp.orig	Wed Aug  4 19:20:29 2004
++++ src/scim_event.cpp	Wed Aug  4 19:20:49 2004
+@@ -25,6 +25,7 @@
+ #define Uses_SCIM_EVENT
+ #include "scim_private.h"
+ #include "scim.h"
++#include <cstdio>
+ 
+ namespace scim {
+ 
+--- src/scim_global_config.cpp.orig	Wed Aug  4 19:22:06 2004
++++ src/scim_global_config.cpp	Wed Aug  4 19:22:10 2004
+@@ -32,6 +32,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <cstdio>
+ 
+ #include "scim_private.h"
+ #include "scim.h"
+--- modules/IMEngine/scim_socket_imengine.cpp.orig	Wed Aug  4 19:25:53 2004
++++ modules/IMEngine/scim_socket_imengine.cpp	Wed Aug  4 19:26:50 2004
+@@ -39,6 +39,7 @@
+ #include "scim.h"
+ #include "scim_socket_imengine.h"
+ #include <unistd.h>
++#include <cstdio>
+ 
+ #define scim_module_init                    socket_LTX_scim_module_init
+ #define scim_module_exit                    socket_LTX_scim_module_exit
+--- modules/Config/scim_gconf_config.cpp.orig	Wed Aug  4 19:42:16 2004
++++ modules/Config/scim_gconf_config.cpp	Wed Aug  4 19:49:22 2004
+@@ -34,6 +34,7 @@
+ #include "scim_private.h"
+ #include "scim.h"
+ #include "scim_gconf_config.h"
++#include <cstdio>
+ 
+ #define scim_module_init gconf_LTX_scim_module_init
+ #define scim_module_exit gconf_LTX_scim_module_exit
+@@ -496,11 +498,11 @@
+     std::vector <String> strs;
+     if (scim_split_string_list (strs, str, ':') == 2) {
+         time_t sec = (time_t) strtol (strs [0].c_str (), 0, 10);
+-        suseconds_t usec = (suseconds_t) strtol (strs [1].c_str (), 0, 10);
++        long usec = (long) strtol (strs [1].c_str (), 0, 10);
+         // The config file is newer, so load it.
+         if (m_update_timestamp.tv_sec < sec || (m_update_timestamp.tv_sec == sec && m_update_timestamp.tv_usec < usec)) {
+             m_update_timestamp.tv_sec = (time_t) sec;
+-            m_update_timestamp.tv_usec = (suseconds_t) usec;
++            m_update_timestamp.tv_usec = (long) usec;
+             m_need_reload = true;
+         }
+     }
+--- modules/Config/scim_simple_config.cpp.orig	Wed Aug  4 19:50:05 2004
++++ modules/Config/scim_simple_config.cpp	Wed Aug  4 19:50:46 2004
+@@ -596,13 +596,13 @@
+         std::vector <String> strs;
+         if (scim_split_string_list (strs, it->second, ':') == 2) {
+             time_t sec = (time_t) strtol (strs [0].c_str (), 0, 10);
+-            suseconds_t usec = (suseconds_t) strtol (strs [1].c_str (), 0, 10);
++            long usec = (long) strtol (strs [1].c_str (), 0, 10);
+ 
+             // The config file is newer, so load it.
+             if (m_update_timestamp.tv_sec < sec || (m_update_timestamp.tv_sec == sec && m_update_timestamp.tv_usec < usec)) {
+                 m_config.swap (config);
+                 m_update_timestamp.tv_sec = (time_t) sec;
+-                m_update_timestamp.tv_usec = (suseconds_t) usec;
++                m_update_timestamp.tv_usec = (long) usec;
+                 return true;
+             }
+         }
+--- modules/Config/scim_socket_config.cpp.orig	Wed Aug  4 19:51:15 2004
++++ modules/Config/scim_socket_config.cpp	Wed Aug  4 19:51:44 2004
+@@ -581,7 +581,7 @@
+                     std::vector <String> strs;
+                     if (scim_split_string_list (strs, str, ':') == 2) {
+                         time_t sec = (time_t) strtol (strs [0].c_str (), 0, 10);
+-                        suseconds_t usec = (suseconds_t) strtol (strs [1].c_str (), 0, 10);
++                        long usec = (long) strtol (strs [1].c_str (), 0, 10);
+  
+                         // The config file is newer, so load it.
+                         if (m_update_timestamp.tv_sec < sec ||
+--- modules/IMEngine/Makefile.in.orig	Thu Aug  5 16:55:50 2004
++++ modules/IMEngine/Makefile.in	Thu Aug  5 16:57:34 2004
+@@ -74,8 +74,7 @@
+ 	libgenerictable.la
+ am_table_la_OBJECTS = scim_table_imengine.lo
+ table_la_OBJECTS = $(am_table_la_OBJECTS)
+- at SCIM_BUILD_IMENGINE_TABLE_TRUE@am__EXEEXT_1 =  \
+- at SCIM_BUILD_IMENGINE_TABLE_TRUE@	scim-make-table$(EXEEXT)
++ at SCIM_BUILD_IMENGINE_TABLE_TRUE@am__EXEEXT_1 =  
+ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+ PROGRAMS = $(bin_PROGRAMS)
+ am_scim_make_table_OBJECTS = scim_make_table.$(OBJEXT)
--- patch-textproc-scim ends here ---

--- patch-chinese-scim-chinese begins here ---
Index: chinese/scim-chinese/Makefile
===================================================================
RCS file: /home/grads/gaoj/repository/ports/chinese/scim-chinese/Makefile,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- chinese/scim-chinese/Makefile	6 Aug 2004 00:24:32 -0000	1.1
+++ chinese/scim-chinese/Makefile	11 Aug 2004 20:18:49 -0000	1.3
@@ -7,9 +7,11 @@
 
 PORTNAME=	scim-chinese
 PORTVERSION=	0.4.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	chinese
-MASTER_SITES=	http://freedesktop.org/~suzhe/scim-chinese/
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
+		http://freedesktop.org/~suzhe/scim-chinese/
+MASTER_SITE_SUBDIR=scim
 
 MAINTAINER=	gaoj at cpsc.ucalgary.ca
 COMMENT=	SCIM Chinese Smart Pinyin input method
@@ -22,15 +24,27 @@
 USE_ICONV=	yes
 USE_GMAKE=	yes
 USE_LIBTOOL_VER=	15
-CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include -D__STDC_ISO_10646__" \
-		LDFLAGS="-L${LOCALBASE}/lib -lintl" \
-		PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
+
+CONFIGURE_ENV=	PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
 		PTHREAD_LIBS="${PTHREAD_LIBS}"
 
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500035
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libstlport_gcc.so:${PORTSDIR}/devel/stlport
+RUN_DEPENDS+=   ${LOCALBASE}/lib/libstlport_gcc.so:${PORTSDIR}/devel/stlport
+CONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include -I${LOCALBASE}/include/stlport" \
+                LDFLAGS="-L${LOCALBASE}/lib -lstlport_gcc -lintl ${PTHREAD_LIBS}"
+EXTRA_PATCHES=	${FILESDIR}/extra-patch-4-stable
+.else
+CONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include -D__STDC_ISO_10646__" \
+		LDFLAGS="-L${LOCALBASE}/lib -lintl"
+.endif
+
 post-install:
 	@${CAT} ${PKGMESSAGE}
 	@${ECHO}
 	@${ECHO} To display this message again, type \`make post-install\'
 	@${ECHO}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: chinese/scim-chinese/files/extra-patch-4-stable
===================================================================
RCS file: chinese/scim-chinese/files/extra-patch-4-stable
diff -N chinese/scim-chinese/files/extra-patch-4-stable
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ chinese/scim-chinese/files/extra-patch-4-stable	6 Aug 2004 00:48:28 -0000	1.1
@@ -0,0 +1,10 @@
+--- src/scim_special_table.cpp.orig	Wed Aug  4 20:10:57 2004
++++ src/scim_special_table.cpp	Wed Aug  4 20:11:13 2004
+@@ -23,6 +23,7 @@
+ #include <time.h>
+ #include <scim.h>
+ #include "scim_special_table.h"
++#include <cstdio>
+ 
+ static inline String
+ _trim_blank (const String &str)
--- patch-chinese-scim-chinese ends here ---

--- patch-textproc-skim begins here ---
Index: textproc/skim/Makefile
===================================================================
RCS file: /home/grads/gaoj/repository/ports/textproc/skim/Makefile,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- textproc/skim/Makefile	6 Aug 2004 01:04:58 -0000	1.2
+++ textproc/skim/Makefile	6 Aug 2004 01:29:14 -0000	1.3
@@ -7,6 +7,7 @@
 
 PORTNAME=	skim
 PORTVERSION=	0.9.4
+PORTREVISION=	1
 CATEGORIES=	textproc kde
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
 		http://freedesktop.org/~cougar/skim/downloads/
@@ -22,10 +23,21 @@
 USE_GMAKE=	yes
 USE_REINPLACE=	yes
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV=	CXXFLAGS="${CXXFLAGS} -D__STDC_ISO_10646__" \
-		PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
+
+CONFIGURE_ENV=	PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
 		PTHREAD_LIBS="${PTHREAD_LIBS}"
 
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500035
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libstlport_gcc.so:${PORTSDIR}/devel/stlport
+RUN_DEPENDS+=   ${LOCALBASE}/lib/libstlport_gcc.so:${PORTSDIR}/devel/stlport
+CONFIGURE_ENV+= CXXFLAGS="-I${LOCALBASE}/include -I${LOCALBASE}/include/stlport" \
+                LDFLAGS="-L${LOCALBASE}/lib -lstlport_gcc -lintl ${PTHREAD_LIBS}"
+.else
+CONFIGURE_ENV+=	CXXFLAGS="-I${LOCALBASE}/include -D__STDC_ISO_10646__" \
+		LDFLAGS="-L${LOCALBASE}/lib -lintl"
+.endif
 pre-configure:
 	${REINPLACE_CMD} "s,-pedantic,,g; \
 		s,-pthread,${PTHREAD_LIBS},g" ${WRKSRC}/configure
@@ -35,4 +47,4 @@
 	@${CAT} ${PKGMESSAGE}
 	@${ECHO} To display this message again, type make post-install
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
--- patch-textproc-skim ends here ---

--- patch-chinese-scim-tables begins here ---
Index: chinese/scim-tables/Makefile
===================================================================
RCS file: /home/grads/gaoj/repository/ports/chinese/scim-tables/Makefile,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- chinese/scim-tables/Makefile	6 Aug 2004 00:24:33 -0000	1.1
+++ chinese/scim-tables/Makefile	11 Aug 2004 20:57:51 -0000	1.3
@@ -8,7 +8,9 @@
 PORTNAME=	scim-tables
 PORTVERSION=	0.4.0
 CATEGORIES=	chinese
-MASTER_SITES=	http://freedesktop.org/~suzhe/sources/
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
+		http://freedesktop.org/~suzhe/sources/
+MASTER_SITE_SUBDIR=scim
 
 MAINTAINER=	gaoj at cpsc.ucalgary.ca
 COMMENT=	SCIM table based Chinese input methods
@@ -20,10 +22,16 @@
 USE_GMAKE=	yes
 GNU_CONFIGURE=	yes
 
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500035
+BROKEN=		scim-make-table is not available for 4.x
+.endif
+
 post-install:
 	@${CAT} ${PKGMESSAGE}
 	@${ECHO}
 	@${ECHO} To display this message again, type \`make post-install\'
 	@${ECHO}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
--- patch-chinese-scim-tables ends here ---

--- patch-korean-scim-tables begins here ---
Index: korean/scim-tables/Makefile
===================================================================
RCS file: /home/grads/gaoj/repository/ports/korean/scim-tables/Makefile,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- korean/scim-tables/Makefile	6 Aug 2004 00:24:36 -0000	1.1
+++ korean/scim-tables/Makefile	11 Aug 2004 21:00:00 -0000	1.3
@@ -8,7 +8,9 @@
 PORTNAME=	scim-tables
 PORTVERSION=	0.4.0
 CATEGORIES=	korean
-MASTER_SITES=	http://freedesktop.org/~suzhe/sources/
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
+		http://freedesktop.org/~suzhe/sources/
+MASTER_SITE_SUBDIR=scim
 
 MAINTAINER=	ports at freebsd.org
 COMMENT=	SCIM table based Korean input methods
@@ -20,10 +22,16 @@
 USE_GMAKE=	yes
 GNU_CONFIGURE=	yes
 
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500035
+BROKEN=		scim-make-table is not available for 4.x
+.endif
+
 post-install:
 	@${CAT} ${PKGMESSAGE}
 	@${ECHO}
 	@${ECHO} To display this message again, type \`make post-install\'
 	@${ECHO}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
--- patch-korean-scim-tables ends here ---

--- patch-japanese-scim-tables begins here ---
Index: japanese/scim-tables/Makefile
===================================================================
RCS file: /home/grads/gaoj/repository/ports/japanese/scim-tables/Makefile,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- japanese/scim-tables/Makefile	6 Aug 2004 00:24:35 -0000	1.1
+++ japanese/scim-tables/Makefile	11 Aug 2004 21:02:05 -0000	1.3
@@ -8,7 +8,9 @@
 PORTNAME=	scim-tables
 PORTVERSION=	0.4.0
 CATEGORIES=	japanese
-MASTER_SITES=	http://freedesktop.org/~suzhe/sources/
+MASTER_SITES=	${MASTER_SITE_SOURCEFORGE} \
+		http://freedesktop.org/~suzhe/sources/
+MASTER_SITE_SUBDIR=scim
 
 MAINTAINER=	ports at freebsd.org
 COMMENT=	SCIM table based Japanese input methods
@@ -20,10 +22,16 @@
 USE_GMAKE=	yes
 GNU_CONFIGURE=	yes
 
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 500035
+BROKEN=		scim-make-table is not available for 4.x
+.endif
+
 post-install:
 	@${CAT} ${PKGMESSAGE}
 	@${ECHO}
 	@${ECHO} To display this message again, type \`make post-install\'
 	@${ECHO}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
--- patch-japanese-scim-tables ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list