Skip site navigation (1)Skip section navigation (2)
Date:      16 Jul 2008 16:09:58 -0000
From:      Kazunori_Fujiwara <fujiwara@wide.ad.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        fujiwara@wide.ad.jp
Subject:   ports/125683: ports/japanese/edict does not work on 7.0/i386, 7.0/amd64
Message-ID:  <20080716160958.26927.qmail@f.pyon.org>
Resent-Message-ID: <200807161640.m6GGe2kK062859@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         125683
>Category:       ports
>Synopsis:       ports/japanese/edict does not work on 7.0/i386, 7.0/amd64
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jul 16 16:40:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Kazunori_Fujiwara
>Release:        FreeBSD 7.0-STABLE amd64
>Organization:
WIDE Project
>Environment:
System: FreeBSD f.pyon.org 7.0-STABLE FreeBSD 7.0-STABLE #1: Sun Jun 29 01:18:10 JST 2008 fujiwara@f.pyon.org:/usr/obj/usr/src/sys/SC7 amd64

ports-current on FreeBSD 7.0 i386
ports-current on FreeBSD 7.0 amd64

>Description:

pors/japanese/edict has two problems.

1. It does not work on FreeBSD 7.0 i386.
   xjdic cannot handle input characters from tty on FreeBSD 7.0.

   Adding "new.c_cc[VMIN] = 1;" for tcsetattr() solves this problem.

2. Marked as BROKEN for amd64

   Patch to xjdxgen.c solves this problem.

	-  indlen = (diclen * 3)/4;
	+  indlen = (diclen * 3*(sizeof(void *)/4))/4; 

>How-To-Repeat:
>Fix:


Index: Makefile
===================================================================
RCS file: /ncvs/ports/japanese/edict/Makefile,v
retrieving revision 1.23
diff -u -b -r1.23 Makefile
--- Makefile	14 Mar 2008 19:07:39 -0000	1.23
+++ Makefile	16 Jul 2008 14:21:55 -0000
@@ -60,10 +60,6 @@
 
 .include <bsd.port.pre.mk>
 
-.if ${ARCH} != "i386"
-BROKEN=		Does not build
-.endif
-
 do-extract:
 	@${RM} -rf ${WRKDIR}
 	@${MKDIR} ${WRKDIR}
Index: files/patch-xjdfrontend.c
===================================================================
RCS file: /ncvs/ports/japanese/edict/files/patch-xjdfrontend.c,v
retrieving revision 1.1
diff -u -b -r1.1 patch-xjdfrontend.c
--- files/patch-xjdfrontend.c	15 Feb 2008 22:05:09 -0000	1.1
+++ files/patch-xjdfrontend.c	19 Jun 2008 09:29:34 -0000
@@ -16,7 +16,7 @@
 +#elif defined(__POSIX__)
 +    tcgetattr(0, &orig); tcgetattr(0, &new);
 +    new.c_lflag &= ~ICANON; new.c_lflag &= ~ISIG; new.c_lflag &= ~ECHO;
-+    new.c_lflag &= ~IXON;
++    new.c_lflag &= ~IXON; new.c_cc[VMIN] = 1;
 +    new.c_cc[4] = 1; new.c_cc[5] = 0;   tcsetattr(0, TCSANOW, &new);
  #else
      ioctl(0, TCGETA, &orig); ioctl(0, TCGETA, &new);



files/patch-64bit:

--- xjdxgen.c	2008-06-19 17:51:17.000000000 +0900
+++ xjdxgen.c-	2008-06-19 17:50:47.000000000 +0900
@@ -154,7 +154,7 @@
   db[diclen] = 10;
   db[0] = 10;
   printf("Dictionary size: %ld bytes.\n",dbyte);
-  indlen = (diclen * 3)/4;
+  indlen = (diclen * 3*(sizeof(void *)/4))/4;
   jindex = (unsigned long *)malloc(indlen);
   if(jindex == NULL)
   {
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080716160958.26927.qmail>