cvs commit: ports/sysutils/screen Makefile pkg-plist ports/sysutils/screen/ (fwd)

Cy Schubert Cy.Schubert at komquats.com
Wed May 4 03:12:10 UTC 2011


In message <20110503213723.GA16152 at hades.panopticon>, Dmitry Marakasov 
writes:
> * Valentin Nechayev (netch at netch.kiev.ua) wrote:
> 
> > > Unfortunately I will not commit any patched version of this patch without
>  
> > > having it fully tested. As I do not use UTF8 character sets, I cannot tel
> l 
> > > if the patch will work or not.
> > 
> > OK. Dmitry and other volunteers, please test the following. At least
> > it correctly works on my system within the following modes:
> > 1) utf-8 both outside and inside
> > 2) koi8-u both outside and inside
> > 3) koi8-r both outside and inside
> > 4) koi8-u outside, utf-8 inside
> > 5) utf-8 outside, koi8-u inside
> 
> Works for me with utf-8 outside, utf-8 and koi8-r inside.

I noticed that this patch is being discussed on screen-devel. It would be 
ideal if the screen upline would adopt this patch.

On another thought, I'd like to offer a compromise. Inclusion of this patch 
could be controlled through an option. Ifdefs would normally work however 
conditionally patching man pages should also be considered. What I have in 
mind is naming the patches with a koi8u prefix, e.g. koi8u-patch-*, and 
setting $EXTRA_PATCHES to include those patches. If the patches cause any 
other gas not discovered during testing any resulting problems are limited 
to only those who specified the option, making fixing such a problem less 
critical than having to immediately reverse the commit at a future date to 
satisfy most users' requirements for a stable package. To this end 
following is a patch which satisfies this requirement.

Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/sysutils/screen/Makefile,v
retrieving revision 1.84
diff -u -r1.84 Makefile
--- Makefile	3 May 2011 19:34:48 -0000	1.84
+++ Makefile	4 May 2011 03:09:00 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	screen
 PORTVERSION=	4.0.3
-PORTREVISION=	12
+PORTREVISION=	13
 CATEGORIES=	sysutils
 MASTER_SITES=	ftp://ftp.uni-erlangen.de/pub/utilities/screen/ \
 		http://komquats.com/distfiles/ \
@@ -24,7 +24,8 @@
 		NETHACK "Enable nethack-style messages" ON \
 		XTERM_256 "Enable support for 256 colour xterm" OFF \
 		HOSTINLOCKED "Print user at host in locked message" OFF \
-		SHOWENC "Show encoding on the status line" OFF
+		SHOWENC "Show encoding on the status line" OFF \
+		KOI8U "Add support for koi8-u encooding" OFF
 
 .include <bsd.port.pre.mk>
 
@@ -71,9 +72,15 @@
 EXTRA_PATCHES+=	${FILESDIR}/opt-showencoding
 .endif
 
+.if defined(WITH_KOI8U)
+EXTRA_PATCHES+= `${ECHO} ${FILESDIR}/opt-koi8u-*`
+PLIST_FILES+=	%%DATADIR%%/utf8encodings/a3
+.endif
+
 post-patch:
 	@${RM} ${WRKSRC}/doc/screen.info*
 	@${REINPLACE_CMD} -e 's|/dev/ptmx|/nonexistent|' ${WRKSRC}/configure
+	@uudecode -o ${WRKSRC}/utf8encodings/a3 ${FILESDIR}/uue-utf8encodings_a3
 
 post-install:
 	@${MKDIR} ${EXAMPLESDIR}
Index: files/opt-koi8u-ansi.h
===================================================================
RCS file: files/opt-koi8u-ansi.h
diff -N files/opt-koi8u-ansi.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/opt-koi8u-ansi.h	4 May 2011 03:09:00 -0000
@@ -0,0 +1,10 @@
+--- ansi.h
++++ ansi.h
+@@ -128,6 +128,7 @@
+ #define KOI8R	6
+ #define CP1251	7
+ #define GBK	20
++#define KOI8U	21
+ 
+ #define EUC	EUC_JP
+ 
Index: files/opt-koi8u-doc_screen.1
===================================================================
RCS file: files/opt-koi8u-doc_screen.1
diff -N files/opt-koi8u-doc_screen.1
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/opt-koi8u-doc_screen.1	4 May 2011 03:09:00 -0000
@@ -0,0 +1,15 @@
+diff -u -rNu doc/screen.1 doc/screen.1
+--- doc/screen.1	2003-12-05 15:51:57.000000000 +0200
++++ doc/screen.1	2011-03-29 11:22:55.739089194 +0300
+@@ -1688,8 +1688,9 @@
+ There is also a way to select a terminal encoding depending on
+ the terminal type by using the \*QKJ\*U termcap entry.
+ 
+-Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5, GBK, KOI8-R,
+-CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6,
++Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5, GBK,
++KOI8-R, KOI8-U, CP1251, UTF-8,
++ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6,
+ ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis.
+ 
+ See also \*Qdefencoding\*U, which changes the default setting of a new
Index: files/opt-koi8u-doc_screen.texinfo
===================================================================
RCS file: files/opt-koi8u-doc_screen.texinfo
diff -N files/opt-koi8u-doc_screen.texinfo
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/opt-koi8u-doc_screen.texinfo	4 May 2011 03:09:00 -0000
@@ -0,0 +1,13 @@
+diff -u -rNu doc/screen.texinfo doc/screen.texinfo
+--- doc/screen.texinfo	2003-12-05 15:51:46.000000000 +0200
++++ doc/screen.texinfo	2011-03-29 11:22:30.536269863 +0300
+@@ -2726,7 +2726,8 @@
+ 
+ Supported encodings are
+ @code{eucJP}, @code{SJIS}, @code{eucKR},
+- at code{eucCN}, @code{Big5}, @code{GBK}, @code{KOI8-R}, @code{CP1251},
++ at code{eucCN}, @code{Big5}, @code{GBK},
++ at code{KOI8-R}, @code{KOI8-U}, @code{CP1251},
+ @code{UTF-8}, @code{ISO8859-2}, @code{ISO8859-3},
+ @code{ISO8859-4}, @code{ISO8859-5}, @code{ISO8859-6},
+ @code{ISO8859-7}, @code{ISO8859-8}, @code{ISO8859-9},
Index: files/opt-koi8u-encoding.c
===================================================================
RCS file: files/opt-koi8u-encoding.c
diff -N files/opt-koi8u-encoding.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/opt-koi8u-encoding.c	4 May 2011 03:09:00 -0000
@@ -0,0 +1,20 @@
+--- encoding.c
++++ encoding.c
+@@ -57,6 +57,7 @@
+ 
+ /* big5 font:   ^X */
+ /* KOI8-R font: 96 ! */
++/* KOI8-U font: 96 # */
+ /* CP1251 font: 96 ? */
+ 
+ struct encoding encodings[] = {
+@@ -80,7 +81,8 @@
+   { "ISO8859-10",	0,		0x80|'V',	0, 0, 0 },
+   { "ISO8859-15",	0,		0x80|'b',	0, 0, 0 },
+   { "jis",		0,		0,		0, 0, "\002\004I" },
+-  { "GBK",		"B\031BB01",	0x80|'b',	1, 1, "\031" }
++  { "GBK",		"B\031BB01",	0x80|'b',	1, 1, "\031" },
++  { "KOI8-U",		0,		0x80|'#',	0, 1, 0 }
+ };
+ 
+ #ifdef UTF8
Index: files/uue-utf8encodings_a3
===================================================================
RCS file: files/uue-utf8encodings_a3
diff -N files/uue-utf8encodings_a3
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/uue-utf8encodings_a3	4 May 2011 03:09:00 -0000
@@ -0,0 +1,15 @@
+begin 644 a3
+M4V-R965N23)55$8X`*,`@$M/23 at M50```(`E``"!)0(`@B4,`(,E$`"$)10`
+MA248`(8E'`"')20`B"4L`(DE-`"*)3P`BR6``(PEA`"-)8@`CB6,`(\ED`"0
+M)9$`D262`)(EDP"3(R``E"6@`)4B&0"6(AH`ER)(`)@B9`"9(F4`F@"@`)LC
+M(0"<`+``G0"R`)X`MP"?`/<`H"50`*$E40"B)5(`HP11`*0$5`"E)50`I at 16
+M`*<$5P"H)5<`J258`*HE60"K)5H`K"5;`*T$D0"N)5T`KR5>`+`E7P"Q)6``
+MLB5A`+,$`0"T!`,`M25C`+8$!@"W!`<`N"5F`+DE9P"Z)6@`NR5I`+PE:@"]
+M!)``OB5L`+\`J0#`!$X`P00P`,($,0##!$8`Q`0T`,4$-0#&!$0`QP0S`,@$
+M10#)!#@`R at 0Y`,L$.@#,!#L`S00\`,X$/0#/!#X`T`0_`-$$3P#2!$``TP1!
+M`-0$0@#5!$,`U at 0V`-<$,@#8!$P`V01+`-H$-P#;!$@`W`1-`-T$20#>!$<`
+MWP1*`.`$+@#A!!``X at 01`.,$)@#D!!0`Y005`.8$)`#G!!,`Z`0E`.D$&`#J
+M!!D`ZP0:`.P$&P#M!!P`[@0=`.\$'@#P!!\`\00O`/($(`#S!"$`]`0B`/4$
+I(P#V!!8`]P02`/@$+`#Y!"L`^@07`/L$*`#\!"T`_00I`/X$)P#_!"H`
+`
+end

Can a few people test this out please? Using the following modes:

1) utf-8 both outside and inside
2) koi8-u both outside and inside
3) koi8-r both outside and inside
4) koi8-u outside, utf-8 inside
5) utf-8 outside, koi8-u inside

With and without the KOI8U option, e.g. install with the KOI8U option and 
install without the KOI8U option.


-- 
Cheers,
Cy Schubert <Cy.Schubert at komquats.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org

	Q: How did the regular expression cross the road?
	A: ^.*$




More information about the freebsd-ports mailing list