Subject: Re: pkg/20017: Update comms/scmxx package to 0.6.3.5
To: None <gnats-bugs@gnats.netbsd.org>
From: Dave Huang <khym@azeotrope.org>
List: netbsd-bugs
Date: 02/22/2003 07:13:08
After looking at it a bit more, it turns out that GNU iconv interprets 
"char" to mean the result of nl_langinfo(CODESET) mapped to a character 
set name it recognizes (see /usr/pkg/lib/charset.alias). So here's an 
updated patch that seems to work.

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/comms/scmxx/Makefile,v
retrieving revision 1.18
diff -u -r1.18 Makefile
--- Makefile	2002/10/22 15:33:10	1.18
+++ Makefile	2003/02/19 10:45:05
@@ -1,7 +1,7 @@
 # $NetBSD: Makefile,v 1.18 2002/10/22 15:33:10 kleink Exp $
 #
 
-DISTNAME=		scmxx-0.6.1.6
+DISTNAME=		scmxx-0.6.3.5
 CATEGORIES=		comms
 MASTER_SITES=		http://ma2geo.mathematik.uni-karlsruhe.de/~hendrik/scmxx/download/
 EXTRACT_SUFX=		.tar.bz2
@@ -11,24 +11,29 @@
 COMMENT=		Data exchange utility for Siemens mobile phones
 
 GNU_CONFIGURE=		yes
+USE_BUILDLINK2=		yes
 USE_GMAKE=		yes
 
 post-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/scmxx
 	${INSTALL_DATA} ${WRKSRC}/docs/doc_sources.txt			\
 	    ${PREFIX}/share/doc/scmxx
-	${INSTALL_DATA} ${WRKSRC}/docs/greekchars.txt			\
+	${INSTALL_DATA} ${WRKSRC}/docs/gsm0338.txt			\
 	    ${PREFIX}/share/doc/scmxx
 	${INSTALL_DATA} ${WRKSRC}/docs/gsmcharset.txt			\
 	    ${PREFIX}/share/doc/scmxx
-	${INSTALL_DATA} ${WRKSRC}/docs/specialchars.txt			\
-	    ${PREFIX}/share/doc/scmxx
 	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/scmxx
+	${INSTALL_DATA} ${WRKSRC}/examples/debian_with_scmxx.bmp	\
+	    ${PREFIX}/share/examples/scmxx
 	${INSTALL_DATA} ${WRKSRC}/examples/phonebook			\
 	    ${PREFIX}/share/examples/scmxx
-	${INSTALL_DATA} ${WRKSRC}/examples/sms				\
+	${INSTALL_DATA} ${WRKSRC}/examples/sms.txt			\
 	    ${PREFIX}/share/examples/scmxx
-	${INSTALL_DATA} ${WRKSRC}/examples/vCalendar			\
+	${INSTALL_DATA} ${WRKSRC}/examples/vCalendar.vcs		\
 	    ${PREFIX}/share/examples/scmxx
+	${INSTALL_DATA} ${WRKSRC}/examples/vCard.vcf			\
+	    ${PREFIX}/share/examples/scmxx
+
+.include "../../converters/libiconv/buildlink2.mk"
 
 .include "../../mk/bsd.pkg.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/comms/scmxx/PLIST,v
retrieving revision 1.4
diff -u -r1.4 PLIST
--- PLIST	2002/05/20 21:54:18	1.4
+++ PLIST	2003/02/19 10:45:05
@@ -2,11 +2,12 @@
 bin/scmxx
 man/man1/scmxx.1
 share/doc/scmxx/doc_sources.txt
-share/doc/scmxx/greekchars.txt
+share/doc/scmxx/gsm0338.txt
 share/doc/scmxx/gsmcharset.txt
-share/doc/scmxx/specialchars.txt
+share/examples/scmxx/debian_with_scmxx.bmp
 share/examples/scmxx/phonebook
-share/examples/scmxx/sms
-share/examples/scmxx/vCalendar
+share/examples/scmxx/sms.txt
+share/examples/scmxx/vCalendar.vcs
+share/examples/scmxx/vCard.vcf
 @dirrm share/doc/scmxx
 @dirrm share/examples/scmxx
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/comms/scmxx/distinfo,v
retrieving revision 1.15
diff -u -r1.15 distinfo
--- distinfo	2002/10/22 15:33:10	1.15
+++ distinfo	2003/02/19 10:45:05
@@ -1,4 +1,6 @@
 $NetBSD: distinfo,v 1.15 2002/10/22 15:33:10 kleink Exp $
 
-SHA1 (scmxx-0.6.1.6.tar.bz2) = 7ba9060c8e1d3262b71ab07dacb67ecc6f3ef986
-Size (scmxx-0.6.1.6.tar.bz2) = 52968 bytes
+SHA1 (scmxx-0.6.3.5.tar.bz2) = 3d186d8bb354dd19cd77067c4ac43bde8f52ebe3
+Size (scmxx-0.6.3.5.tar.bz2) = 77185 bytes
+SHA1 (patch-aa) = a995f416dfab9278e253308951a91ea834e0229e
+SHA1 (patch-ab) = 72d7ee59ffe2debdd053beccbc55ed5f8139b729
--- /dev/null	Wed Feb 19 04:40:12 2003
+++ patches/patch-aa	Wed Feb 19 04:20:39 2003
@@ -0,0 +1,8 @@
+--- src/Makefile.in.orig	Thu Jan 23 13:07:18 2003
++++ src/Makefile.in	Thu Jan 23 13:10:09 2003
+@@ -70,4 +70,4 @@
+ 
+ $(BINARY): $(OBJECTS)
+ 	$(COMPILER) -o $(BINARY) $(OBJECTS) $(LDFLAGS)
+-	@if [ "@EXEEXT@" == ".exe" ]; then chmod 755 $(BINARY); fi
++	@if [ "@EXEEXT@" = ".exe" ]; then chmod 755 $(BINARY); fi
--- /dev/null	Wed Feb 19 04:40:12 2003
+++ patches/patch-ab	Wed Feb 19 04:38:05 2003
@@ -0,0 +1,61 @@
+--- src/s35_pbook.c.orig	Tue Dec 31 07:31:17 2002
++++ src/s35_pbook.c	Wed Feb 19 04:23:48 2003
+@@ -225,7 +225,7 @@
+       if (token[strlen(token)-1]=='"') {
+ 	token[strlen(token)-1]=0;
+       }
+-      wide_str=convert_to_internal(nl_langinfo(CODESET),token,strlen(token));
++      wide_str=convert_to_internal("char",token,strlen(token));
+       token=convert_to_gsm(wide_str);
+       mem_realloc(wide_str,0);
+       if (strlen(token)>text_length+2) {
+@@ -355,7 +355,7 @@
+     token=(char *)strtok(NULL,"");
+     //character conversion on token 4
+     wide_str=convert_from_gsm(token);
+-    token=convert_from_internal(nl_langinfo(CODESET),wide_str,2);
++    token=convert_from_internal("char",wide_str,2);
+     mem_realloc(wide_str,0);
+     //write converted token 4, also write a newline to make the file readable
+     if (strlen(file)) {
+--- src/smspdu.c.orig	Tue Dec 31 07:31:17 2002
++++ src/smspdu.c	Wed Feb 19 04:24:18 2003
+@@ -76,7 +76,7 @@
+ 	//leave PID and vp_relative as is
+ 	
+ 	//process user data length and user data
+-	wide_str=convert_to_internal(nl_langinfo(CODESET),smstext,strlen(smstext));
++	wide_str=convert_to_internal("char",smstext,strlen(smstext));
+ 	ud=sms_data_7bit_encode(wide_str,&udl);
+ 	mem_realloc(wide_str,0);
+ 	
+@@ -179,7 +179,7 @@
+ 				sprintf(&oa.number[strlen(oa.number)],"%c%c",pdu[i],pdu[i+1]);
+ 			}
+ 			wide_str=sms_data_7bit_decode(oa.number,(oa.length*4)/7);
+-			t=convert_from_internal(nl_langinfo(CODESET),wide_str,2);
++			t=convert_from_internal("char",wide_str,2);
+ 			mem_realloc(wide_str,0);
+ 			strcpy(oa.number,t);
+ 			mem_realloc(t,0);
+@@ -282,9 +282,9 @@
+ 		//all encodings of uncompressed 7bit
+ 	        wide_str=sms_data_7bit_decode(pdu+where,udl);
+ 		if ((pdutype>>6)&1){
+-		    t=convert_from_internal(nl_langinfo(CODESET),&wide_str[1+((udh_length*8)+(udh_length*8)%7)/7],2);
++		    t=convert_from_internal("char",&wide_str[1+((udh_length*8)+(udh_length*8)%7)/7],2);
+ 		} else {
+-		    t=convert_from_internal(nl_langinfo(CODESET),wide_str,2);
++		    t=convert_from_internal("char",wide_str,2);
+ 		}
+ 		mem_realloc(wide_str,0);
+ 		strcpy(ud,t);
+@@ -299,7 +299,7 @@
+ 		} else {
+ 		    wide_str=convert_from_ucs2(pdu+where);
+ 		}
+-		t=convert_from_internal(nl_langinfo(CODESET),wide_str,2);
++		t=convert_from_internal("char",wide_str,2);
+ 		mem_realloc(wide_str,0);
+ 		strcpy(ud,t);
+ 		mem_realloc(t,0);