[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Update inputmethod/canna{,-server,-lib} 3.6 to 3.7



nobu-s@ wrote:

> I bumped inputmethod/{canna,canna-server,canna-lib,canna-dict}
> from Canna 3.6 to 3.7, as attached diff or tar.gz files.

I'm also working on Canna 3.7pl3 for pkgsrc recently,
but I noticed your post after I've managed to update my patches..

Anyway, my changes are here:
 - (human readable but broken EUC-JP encoding) shar version:
  https://gist.github.com/tsutsui/f36d746779b9fef9751d
 - tar.gz version (for actual build):
  http://www.ceres.dti.ne.jp/tsutsui/netbsd/pkgsrc-wip-canna37pl3.tar.gz

> Also, I imported FreeBSD's ports/japanese/cannadic which is a GPL
> licensed extra dictionary for canna, to improve kana-kanji 
> conversion, as canna-gplextradic.

Maybe it would be better to submit an independent PR for this cannadic,
if it can be committed without Canna 3.7 updates.

> Not tested yet:
>    + inputmethod/canna-uum
>    + client connection from pkgsrc/editors/mule from NetBSD/amd64 and
>      NetBSD/spparc.

I also pull libspt (required by cannaumm in 3.7) from pkgsrc-wip:
 http://www.j10n.org/libspt/
 https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=tree;f=libspt;hb=HEAD
"make package" just works, but I have not tested binaries.
(I'm not a canna user...)

> Note:
>   canna-lib seem to be broken in NetBSD/sparc, in both of Canna 3.6
>   in pkgsrc-2014Q4 and Canna 3.7 in this new pkgsrc version.

This seems caused by "64 bit time_t on 32 bit architecture" problem.
("long tloc" is used and passed to ctime(3) which requires (time_t *))
My patch includes this fix and it seems to work at least on
NetBSD/luna68k 7.0.

--- lib/RK/dd.c.orig	2003-09-17 08:50:52.000000000 +0000
+++ lib/RK/dd.c
@@ -42,6 +42,12 @@ static char rcsid[]="$Id: dd.c,v 1.5 200
 #include <sys/types.h>
 #include <sys/stat.h>
 
+#ifdef HAVE_TIME_T
+#define TIME_T time_t
+#else
+#define TIME_T long
+#endif
+
 #define	Calloc		calloc
 #define cx_gwt		cx_extdata.ptr
 #define	STRCMP(d, s)	strcmp((char *)(d), (char *)(s))
@@ -742,7 +748,7 @@ _RkRealizeDD(dd)
   int ret = -1;
   int tmpres;
   int			fdes;
-  long		tloc;
+  TIME_T		tloc;
 #ifdef __EMX__
   struct stat		statbuf;
 #endif
---

My changes also have changes:
- Filenames of patches are changed per new scheme for readability
  (and simple comments)
 - patch-ac is merged into existing patch-dic_phono_Imakefile
- PKGSRCREVISION should start from "none" (not 1)
- MASTER_SITES is now OSDN
- "JMNLOCALE = ja_JP.EUC" should be kept for man pages
- "#define ModernElfLink YES" seems unnecessary since recent imake
  in pkgsrc handles shlib minor properly
- Preserve __DragonFly__ checks in canna/widedef.h (untested though)
- Add a hook in cmd.tmpl to disable installation of cmd/forcpp and
  cmd/kpdic in canna-lib, rather than adding and disabling
  "SimpleComamnd" in Imakefiles
- Patch "SUBDIRS" in CannaImakefile rather than using "BUILD_DIRS"
  to specify configure and build dirs in canna-dict/Makefile
  (to avoid extra configure ops in unnecessary dirs)
- Explicitly speficify "lib/RK lib/RKinddep" instead of "lib"
  in canna-server/Makefile to avoid unnecessary lib builds

Anyway, we need some more proper review by actual users.
(mef@ or others?)

---
Izumi Tsutsui