> canna's latest version is 3.8, living on https://canna-input.github.io/.
> I'm trying to update japanese/canna/ to 3.8.

Here is my effort to update japanese/canna to 3.8.
The diff contents may be cumbersome to read, so,
I added the tarball for the updated files.

Some changes to propose:
  - choose single package instead of keeping multi packages
  - moving dictionary files to /var/db/canna/
    (I noticed after some work that the original place is /var/dict/canna/)

Please check if this update works...
Trying to use canna with kinput2, I found that kinput2 does not work
(always crash right after start).

-- yozo.
diff -urN -x CVS canna/Makefile 3.8/Makefile
--- canna/Makefile      Sat Jun 20 12:59:49 2026
+++ 3.8/Makefile        Sat Jun 27 17:38:10 2026
@@ -1,65 +1,30 @@
-BROKEN=                fails to build after move to LLVM 22
 
-COMMENT-main=  canna (kana-kanji converter) libraries
-COMMENT-dict=  canna (kana-kanji converter) dictionaries
-COMMENT-server=        canna (kana-kanji converter) server
+COMMENT=       japanese input system
 
-DISTNAME=      Canna35b2
+CANNA_TAG=     release-3.8
+DIST_TUPLE+=   github canna-input canna ${CANNA_TAG} .
 
-PKGNAME-main=  cannalib-3.5b2
-PKGNAME-dict=  cannadict-3.5b2
-PKGNAME-server=        cannaserver-3.5b2
+SHARED_LIBS+=  RKC                       1.2
+SHARED_LIBS+=  RKC16                     1.2
+SHARED_LIBS+=  canna                     1.2
+SHARED_LIBS+=  canna16                   1.2
 
-REVISION-main =        6
-REVISION-dict =        1
-REVISION-server = 8
-
-SHARED_LIBS=   RKC     1.0 \
-               RKC16   1.0 \
-               canna   1.0 \
-               canna16 1.0
-
 CATEGORIES=    japanese
 
-SITES =                ftp://ftp.sra.co.jp/pub/misc/canna/
-
-SITES.p=       http://www.jaist.ac.jp/~fujieda/canna/
-PATCHFILES.p=  Canna35b2-unoff1.patch.gz Canna35b2-unoff2.patch.gz \
-               Canna35b2-hack1.patch.gz
-PATCH_DIST_STRIP=      -p1
-
 MAINTAINER=    Marc Espie <[email protected]>
 
-HOMEPAGE =     http://www.nec.co.jp/canna/
+HOMEPAGE=      https://canna-input.github.io/
 
+# https://github.com/canna-input/canna/blob/main/COPYRIGHT
 PERMIT_PACKAGE=        Yes
 
-MULTI_PACKAGES=-main -dict -server
+WANTLIB+=              c
 
-CFLAGS_base-clang =    -Wno-error=int-conversion
-
-BUILD_DEPENDS=         japanese/nkf
-
-PREFIX-dict=           ${VARBASE}/dict
-LIB_DEPENDS-server=    japanese/canna
-WANTLIB-server=        c canna
-
-SUBST_VARS=    DICT_DIR
 CONFIGURE_STYLE=imake
-CANNAOWNER=    daemon
-CANNAGROUP=    daemon
-DICT_DIR=      ${VARBASE}/dict/canna
-DIFF_ARGS=     -U 2
-
-MAKE_ENV+=      CANNAOWNER=${CANNAOWNER} CANNAGROUP=${CANNAGROUP} \
-               DICT_DIR=${DICT_DIR} CANNA_SPOOL=${VARBASE}/spool/canna
-
-MAKE_FLAGS=    LIBRKC_VERSION=$(LIBRKC_VERSION) \
-               LIBRKC16_VERSION=$(LIBRKC16_VERSION) \
-               LIBcanna_VERSION=$(LIBcanna_VERSION) \
-               LIBcanna16_VERSION=$(LIBcanna16_VERSION) \
-               COPTS="${COPTS} ${CFLAGS}"
-
+## either LOCALSTATEDIR or VARBASE, sync with patch-Canna_conf
+MAKE_ENV+=     CANNAOWNER=daemon CANNAGROUP=daemon \
+               LOCALSTATEDIR=${LOCALSTATEDIR}
 NO_TEST=       Yes
+WRKDIST=       ${WRKDIR}/canna-${CANNA_TAG}
 
 .include <bsd.port.mk>
diff -urN -x CVS canna/distinfo 3.8/distinfo
--- canna/distinfo      Sun Jan 18 12:14:16 2015
+++ 3.8/distinfo        Wed Jun 17 17:02:57 2026
@@ -1,8 +1,2 @@
-SHA256 (Canna35b2-hack1.patch.gz) = 
i9UUdYEsbtSYZNjPOnU+EAmhEKzqQJaqRaGCEsfSNHg=
-SHA256 (Canna35b2-unoff1.patch.gz) = 
IXZWdrxOrmJPgDh/g+xm3dAiVtcqhMtWFCwF/2AYeQQ=
-SHA256 (Canna35b2-unoff2.patch.gz) = 
JMNRfemO3kA2Enfm+DnJvkUuThjGYSvtqy+KlvtiD7U=
-SHA256 (Canna35b2.tar.gz) = 6zVUs2FeAjr5j68ytjVlC5YQUVk2m0DaruSr5TomUqs=
-SIZE (Canna35b2-hack1.patch.gz) = 8384
-SIZE (Canna35b2-unoff1.patch.gz) = 21443
-SIZE (Canna35b2-unoff2.patch.gz) = 11375
-SIZE (Canna35b2.tar.gz) = 1333329
+SHA256 (canna-input-canna-release-3.8.tar.gz) = 
pUJacwnwPcqhgRsk1n3iWZHhKJcFOFnJSzAxI72P0kg=
+SIZE (canna-input-canna-release-3.8.tar.gz) = 2973395
diff -urN -x CVS canna/patches/patch-Canna_conf 3.8/patches/patch-Canna_conf
--- canna/patches/patch-Canna_conf      Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-Canna_conf        Thu Jun 25 14:47:30 2026
@@ -1,154 +1,32 @@
 Index: Canna.conf
 --- Canna.conf.orig
 +++ Canna.conf
-@@ -129,19 +129,19 @@
-  */
+@@ -150,7 +150,7 @@ XCOMM cannaManDir = $(cannaPrefix)/share/man
+ cannaManDir = $(cannaPrefix)/man
+ cannaIncDir = $(cannaPrefix)/include/canna
  
--cannaBinDir = /usr/local/canna/bin
--cannaSrvDir = /usr/local/canna/bin
--cannaLibDir = /usr/local/canna/lib
--cannaManDir = /usr/local/canna/man
--cannaIncDir = /usr/local/canna/include/canna
--libCannaDir = /usr/lib
-+cannaBinDir = ${BINDIR}
-+cannaSrvDir = ${BINDIR}
-+cannaLibDir = ${USRLIBDIR}
-+cannaManDir = ${MANPATH}
-+cannaIncDir = ${INCDIR}/canna
-+libCannaDir = ${USRLIBDIR}
+-libCannaDir = DefLibCannaDir
++libCannaDir = ${LOCALBASE}/lib
+ ErrDir  = DefErrDir
  
--ErrDir  = /usr/spool/canna
-+ErrDir  = ${CANNA_SPOOL}
+ /* µì¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹API¤ò̵¸ú¤Ë¤¹¤ë¾ì¹ç¤Ï0¤ÈÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */
+@@ -175,8 +175,8 @@ ErrDir  = DefErrDir
+ #endif
  
- wcharDefinition = -DCANNA_WCHAR
- Wlib =
--JapaneseLocale = japanese
-+JapaneseLocale = ja_JP.eucJP
  
 -cannaOwner = bin
 -cannaGroup = bin
 +cannaOwner = ${CANNAOWNER}
 +cannaGroup = ${CANNAGROUP}
  
- cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup)
-@@ -149,5 +149,10 @@ cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup)
- pointerIntegerDef =
- 
--cannaDsoRev = 1
-+cannaDsoRev = 1.0
-+LIBRKC_VERSION= 1.0
-+LIBRKC16_VERSION= 1.0
-+LIBcanna_VERSION= 1.0
-+LIBcanna16_VERSION = 1.0
-+
-     /* SunOS 4.x ¤ò¤ª»È¤¤¤ÎÊý¤Ç shared object ¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï
-             cannaDsoRev = 1.1
-@@ -205,5 +210,5 @@ dontHaveRename = 0
+ #ifdef InstallAsUser
+ cannaOwnerGroup =
+@@ -243,7 +243,7 @@ cannaLight = 1
+ /* #define UseInstalledLibCanna YES */
  #define UseInstalledLibCanna NO
  
 -DicDir   = $(cannaLibDir)/dic
-+DicDir   = ${DICT_DIR}
++DicDir   = ${LOCALSTATEDIR}/db
  
- #ifdef NeXT
-@@ -232,5 +237,5 @@ DicDir   = $(cannaLibDir)/dic
- #if UseInstalledLibCanna
- # if DoSharedLib
--    DEPCANNALIB = $(libCannaDir)/libcanna.$(sharedLibExtension)
-+    DEPCANNALIB = $(libCannaDir)/libcanna.so.$(LIBcanna_VERSION)
- # else
- #ifdef __EMX__
-@@ -243,5 +248,5 @@ DicDir   = $(cannaLibDir)/dic
- #else /* ! UseInstalledLibCanna */
- # if DoSharedLib
--    DEPCANNALIB = $(CANNASRC)/libcanna.$(sharedLibExtension)
-+    DEPCANNALIB = $(CANNASRC)/libcanna.so.$(LIBcanna_VERSION)
- # else
- #ifdef __EMX__
-@@ -256,5 +261,5 @@ DicDir   = $(cannaLibDir)/dic
- #if UseInstalledLibCanna
- # if DoSharedLib
--    DEPCANNALIB16 = $(libCannaDir)/libcanna16.$(sharedLibExtension)
-+    DEPCANNALIB16 = $(libCannaDir)/libcanna16.so.$(LIBcanna16_VERSION)
- # else
-     DEPCANNALIB16 = $(libCannaDir)/libcanna16.a
-@@ -263,5 +268,5 @@ DicDir   = $(cannaLibDir)/dic
- #else /* ! UseInstalledLibCanna */
- # if DoSharedLib
--    DEPCANNALIB16 = $(CANNASRC)/libcanna16.$(sharedLibExtension)
-+    DEPCANNALIB16 = $(CANNASRC)/libcanna16.so.$(LIBcanna16_VERSION)
- # else
-     DEPCANNALIB16 = $(CANNASRC)/libcanna16.a
-@@ -327,11 +332,15 @@ clean::                                                  
                @@\
- #endif
- #define       InstallManPageLong(file,destdir,dest)                           
@@\
--ConvertPathName(file.tmp,file.$(MANSRCSUFF))                          @@\
--install.man:: file.tmp                                                        
@@\
-+ConvertPathName(file.jtmp,file.jmn)                                   @@\
-+ConvertPathName(file.tmp,file.man)                                    @@\
-+install.man:: file.tmp file.jtmp                                      @@\
-+      MakeDir($(DESTDIR)destdir/ja/man$(MANSUFFIX))           @@\
-       MakeDir($(DESTDIR)destdir/man$(MANSUFFIX))                      @@\
-       $(INSTALL) -c $(INSTMANFLAGS) file.tmp 
$(DESTDIR)destdir/man$(MANSUFFIX)/dest.$(MANSUFFIX)      @@\
--      $(RM) file.tmp                                                  @@\
-+      nkf -w file.jtmp > file.j$(MANSUFFIX); \        @@\
-+      $(INSTALL) -c $(INSTMANFLAGS) file.j$(MANSUFFIX) 
$(DESTDIR)destdir/ja/man$(MANSUFFIX)/dest.$(MANSUFFIX) @@\
-+      $(RM) file.tmp file.jtmp file.j$(MANSUFFIX)                             
@@\
- clean::                                                                       
@@\
--      $(RM) file.tmp
-+      $(RM) file.tmp file.jtmp file.j$(MANSUFFIX)                     
+ /* ¤³¤³¤«¤é²¼¤ÏÊѹ¹ÉÔÍפǤ¹ */
  
- #ifdef InstallManPage
-@@ -345,11 +354,15 @@ InstallManPageLong(file,destdir,file)
- #endif
- #define       InstallLibManPageLong(file,destdir,dest)                        
@@\
--ConvertPathName(file.tmp,file.$(MANSRCSUFF))                          @@\
--install.man:: file.tmp                                                        
@@\
-+ConvertPathName(file.jtmp,file.jmn)                                   @@\
-+ConvertPathName(file.tmp,file.man)                                    @@\
-+install.man:: file.tmp file.jtmp                                      @@\
-+      MakeDir($(DESTDIR)destdir/ja/man$(LIBMANSUFFIX))                @@\
-       MakeDir($(DESTDIR)destdir/man$(LIBMANSUFFIX))                   @@\
-       $(INSTALL) -c $(INSTMANFLAGS) file.tmp 
$(DESTDIR)destdir/man$(LIBMANSUFFIX)/dest.$(LIBMANSUFFIX)        @@\
--      $(RM) file.tmp                                                  @@\
-+      nkf -w file.jtmp > file.j$(LIBMANSUFFIX); \     @@\
-+      $(INSTALL) -c $(INSTMANFLAGS) file.j$(LIBMANSUFFIX) 
$(DESTDIR)destdir/ja/man$(LIBMANSUFFIX)/dest.$(LIBMANSUFFIX)        @@\
-+      $(RM) file.tmp file.jtmp file.j$(LIBMANSUFFIX)                          
@@\
- clean::                                                                       
@@\
--      $(RM) file.tmp
-+      $(RM) file.tmp file.jtmp file.j$(LIBMANSUFFIX)                  
- 
- #ifdef InstallLibManPage
-@@ -364,11 +377,14 @@ InstallLibManPageLong(file,destdir,file)
- #define InstallLibManPageAliases(file,destdir,aliases)                        
@@\
- install.man::                                                         @@\
--      @(TMP=/tmp/tmp.$$$$; \                                          @@\
--      $(RM) $${TMP}; \                                                @@\
--      echo .so `basename destdir/man$(LIBMANSUFFIX)`/file.$(LIBMANSUFFIX) > 
$${TMP}; \        @@\
--      for i in aliases; do (set -x; \                                 @@\
--      $(INSTALL) -c $(INSTMANFLAGS) $${TMP} 
$(DESTDIR)destdir/man$(LIBMANSUFFIX)/$$i.$(LIBMANSUFFIX)); \ @@\
--      done; \                                                         @@\
--      $(RM) $${TMP})
-+      cd $(DESTDIR)/destdir/man$(LIBMANSUFFIX); \                     @@\
-+      for i in aliases; do \                                          @@\
-+      $(RM) $$i.$(LIBMANSUFFIX); \                                    @@\
-+      $(LN) file.$(LIBMANSUFFIX) $$i.$(LIBMANSUFFIX); \               @@\
-+      done; \                                                         @@\
-+      cd $(DESTDIR)/destdir/ja/man$(LIBMANSUFFIX); \                  @@\
-+      for i in aliases; do \                                          @@\
-+      $(RM) $$i.$(LIBMANSUFFIX); \                                    @@\
-+      $(LN) file.$(LIBMANSUFFIX) $$i.$(LIBMANSUFFIX); \               @@\
-+      done
- #ifndef MakeDirectoriesLong
- #define MakeDirectoriesLong(step,dirs,owner,group)                    @@\
-@@ -456,2 +472,11 @@ dst:: Canna.conf                                          
        @@\
-        echo "#endif") > $@
- #endif
-+
-+#ifdef LinkFileList
-+#undef LinkFileList
-+#endif
-+#define LinkFileList(step,list,dir,sub)                                       
@@\
-+step:: list                                                           @@\
-+      @MakeFlagsToShellFlags(i,set +e); \                             @@\
-+      echo "  cd" dir; cd dir && \                                    @@\
-+      for i in list; do (set -x; $(LN) -f sub/$$i .); done
diff -urN -x CVS canna/patches/patch-Imakefile 3.8/patches/patch-Imakefile
--- canna/patches/patch-Imakefile       Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-Imakefile Thu Jan  1 09:00:00 1970
@@ -1,22 +0,0 @@
---- Imakefile.orig     Wed Nov 27 08:01:34 1996
-+++ Imakefile  Sat Apr 22 03:10:07 2000
-@@ -61,5 +61,5 @@ instserver::
-       do \
-               (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
--              $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
-+              $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \
-       done
- 
-@@ -69,5 +69,5 @@ instclient::
-       do \
-               (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
--              $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
-+              $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \
-       done
- 
-@@ -77,4 +77,4 @@ instsgs::
-       do \
-               (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
--              $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
-+              $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \
-       done
diff -urN -x CVS canna/patches/patch-canna_widedef_h 
3.8/patches/patch-canna_widedef_h
--- canna/patches/patch-canna_widedef_h Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-canna_widedef_h   Wed Jun 17 18:18:17 2026
@@ -1,17 +1,12 @@
---- canna/widedef.h.orig       Fri Nov 29 14:00:55 1996
-+++ canna/widedef.h    Sun Jan 15 15:32:57 2006
-@@ -62,5 +62,13 @@
- #endif /* HAVE_WCHAR_OPERATION */
+Index: canna/widedef.h
+--- canna/widedef.h.orig
++++ canna/widedef.h
+@@ -31,7 +31,7 @@
+ #endif
  
--#if defined(__FreeBSD__) || defined(__NetBSD__)
-+#if defined(__OpenBSD__)
-+#define _WCHAR_T_DEFINED_
-+# ifdef WCHAR16
-+typedef unsigned short wchar_t;
-+# else
-+typedef unsigned long wchar_t;
-+# endif
-+# define _WCHAR_T
-+#elif defined(__FreeBSD__) || defined(__NetBSD__)
- # ifdef _BSD_WCHAR_T_
- #  undef _BSD_WCHAR_T_
+ #if (defined(__FreeBSD__) && __FreeBSD_version < 500000) \
+-    || defined(__NetBSD__) || defined(__OpenBSD__)
++    || defined(__NetBSD__)
+ # include <machine/ansi.h>
+ #endif
+ 
diff -urN -x CVS canna/patches/patch-cmd_catdic_Imakefile 
3.8/patches/patch-cmd_catdic_Imakefile
--- canna/patches/patch-cmd_catdic_Imakefile    Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-cmd_catdic_Imakefile      Thu Jan  1 09:00:00 1970
@@ -1,44 +0,0 @@
---- cmd/catdic/Imakefile.orig  Mon Dec  2 12:38:14 1996
-+++ cmd/catdic/Imakefile       Sat Apr 22 03:10:08 2000
-@@ -76,22 +76,22 @@ install::
- #else
- install::
--      $(RM) $(cannaBinDir)/cpdic
--      $(RM) $(cannaBinDir)/lsdic
--      $(RM) $(cannaBinDir)/mkdic
--      $(RM) $(cannaBinDir)/mvdic
--      $(RM) $(cannaBinDir)/rmdic
--      $(RM) $(cannaBinDir)/syncdic
--      $(RM) $(cannaBinDir)/chmoddic
--      $(RM) $(cannaBinDir)/addwords
--      $(RM) $(cannaBinDir)/delwords
--      $(RM) $(cannaBinDir)/cannakill
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/cpdic
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/lsdic
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/mkdic
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/mvdic
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/rmdic
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/syncdic
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/addwords
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/delwords
--      $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/cannakill
-+      $(RM) $(DESTDIR)$(cannaBinDir)/cpdic
-+      $(RM) $(DESTDIR)$(cannaBinDir)/lsdic
-+      $(RM) $(DESTDIR)$(cannaBinDir)/mkdic
-+      $(RM) $(DESTDIR)$(cannaBinDir)/mvdic
-+      $(RM) $(DESTDIR)$(cannaBinDir)/rmdic
-+      $(RM) $(DESTDIR)$(cannaBinDir)/syncdic
-+      $(RM) $(DESTDIR)$(cannaBinDir)/chmoddic
-+      $(RM) $(DESTDIR)$(cannaBinDir)/addwords
-+      $(RM) $(DESTDIR)$(cannaBinDir)/delwords
-+      $(RM) $(DESTDIR)$(cannaBinDir)/cannakill
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic cpdic
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic lsdic
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic mkdic
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic mvdic
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic rmdic
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic syncdic
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic addwords
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic delwords
-+      cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic cannakill
- #endif
diff -urN -x CVS canna/patches/patch-dic_ideo_grammar_Imakefile 
3.8/patches/patch-dic_ideo_grammar_Imakefile
--- canna/patches/patch-dic_ideo_grammar_Imakefile      Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-dic_ideo_grammar_Imakefile        Thu Jan  1 09:00:00 1970
@@ -1,11 +0,0 @@
---- dic/ideo/grammar/Imakefile.orig    Wed Nov 27 08:14:45 1996
-+++ dic/ideo/grammar/Imakefile Fri Aug 29 16:52:05 2008
-@@ -86,5 +86,5 @@ InstallMultipleFlags($(ALLDIC),$(CANNADICDIR),-m 0664 
- 
- install::
--      $(CHGRP) $(cannaGroup) $(CANNADICDIR)
--      $(CHOWN) $(cannaOwner) $(CANNADICDIR)
--      $(CHMOD) ug+w $(CANNADICDIR)
-+      $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR)
-+      $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR)
-+      $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR)
diff -urN -x CVS canna/patches/patch-dic_ideo_pubdic_pod_c 
3.8/patches/patch-dic_ideo_pubdic_pod_c
--- canna/patches/patch-dic_ideo_pubdic_pod_c   Thu Jul 20 02:16:46 2023
+++ 3.8/patches/patch-dic_ideo_pubdic_pod_c     Thu Jan  1 09:00:00 1970
@@ -1,22 +0,0 @@
-Index: dic/ideo/pubdic/pod.c
---- dic/ideo/pubdic/pod.c.orig
-+++ dic/ideo/pubdic/pod.c
-@@ -26,4 +26,5 @@ static char rcsid[] = "$Id: pod.c,v 1.41 1994/05/31 11
- 
- #include <stdio.h>
-+#include <stdlib.h>
- 
- #define bzero(a, c) memset(a, 0, c)
-@@ -52,5 +53,5 @@ static int list_kinds;
- static int copy_frequency, extract_kana = 0;
- static long specific_kind;
--static FILE *in1 = stdin, *in2 = stdin;
-+static FILE *in1, *in2;
- static char *common_out, *old_out, *new_out, *hinshi_table, *bunrui;
- static char *description_table;
-@@ -1378,4 +1379,5 @@ char *argv[];
- #endif
- 
-+  in1 = in2 = stdin;
-   (void)internkind(kihonh); /* ´ðËܼ­½ñÍÑ¡£1L ¤È¤·¤ÆÅÐÏ¿ */
-   parseargs(argc, argv);
diff -urN -x CVS canna/patches/patch-dic_ideo_words_Imakefile 
3.8/patches/patch-dic_ideo_words_Imakefile
--- canna/patches/patch-dic_ideo_words_Imakefile        Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-dic_ideo_words_Imakefile  Thu Jan  1 09:00:00 1970
@@ -1,21 +0,0 @@
---- dic/ideo/words/Imakefile.orig      Sat Apr 22 03:10:06 2000
-+++ dic/ideo/words/Imakefile   Sat Apr 22 03:10:08 2000
-@@ -70,11 +70,11 @@ InstallNonExec(dics.dir,$(CANNADICDIR))
- 
- install::
--      $(CHGRP) $(cannaGroup) $(CANNADICDIR)
--      $(CHOWN) $(cannaOwner) $(CANNADICDIR)
--      $(CHMOD) ug+w $(CANNADICDIR)
--      $(CHGRP) $(cannaGroup) $(DicDir)
--      $(CHOWN) $(cannaOwner) $(DicDir)
--      $(CHMOD) ug+w $(DicDir)
--      $(CHMOD) -w $(CANNADICDIR)/dics.dir
-+      $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR)
-+      $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR)
-+      $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR)
-+      $(CHGRP) $(cannaGroup) $(DESTDIR)$(DicDir)
-+      $(CHOWN) $(cannaOwner) $(DESTDIR)$(DicDir)
-+      $(CHMOD) ug+w $(DESTDIR)$(DicDir)
-+      $(CHMOD) -w $(DESTDIR)$(CANNADICDIR)/dics.dir
- 
- #ifndef USE_OBSOLETE_STYLE_FILENAME
diff -urN -x CVS canna/patches/patch-lib_RKC16_Imakefile 
3.8/patches/patch-lib_RKC16_Imakefile
--- canna/patches/patch-lib_RKC16_Imakefile     Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC16_Imakefile       Thu Jan  1 09:00:00 1970
@@ -1,22 +0,0 @@
---- lib/RKC16/Imakefile.orig   Thu Dec 29 13:41:34 2005
-+++ lib/RKC16/Imakefile        Thu Dec 29 13:42:02 2005
-@@ -24,5 +24,5 @@
- #if ProjectX > 5
- #define LibName RKC16
--#define SoRev         cannaDsoRev
-+#define SoRev         LIBRKC16_VERSION
- #define SHLIBDIR      libCannaDir
- #define USRLIBDIR     libCannaDir
-@@ -40,9 +40,9 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(RKC16,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(RKC16,$(LIBRKC16_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(RKC16,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(RKC16,$(LIBRKC16_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(RKC16,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(RKC16,$(LIBRKC16_VERSION),$(libCannaDir))
- #endif /* DoSharedLib */
- #else /* !engineSwitch */
diff -urN -x CVS canna/patches/patch-lib_RKC_Imakefile 
3.8/patches/patch-lib_RKC_Imakefile
--- canna/patches/patch-lib_RKC_Imakefile       Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC_Imakefile Thu Jan  1 09:00:00 1970
@@ -1,32 +0,0 @@
---- lib/RKC/Imakefile.orig     Thu Dec 29 13:35:34 2005
-+++ lib/RKC/Imakefile  Thu Dec 29 13:39:34 2005
-@@ -27,5 +27,5 @@
- #if ProjectX > 5
- #define LibName RKC
--#define SoRev         cannaDsoRev
-+#define SoRev         LIBRKC_VERSION
- #define SHLIBDIR      libCannaDir
- #define USRLIBDIR     libCannaDir
-@@ -43,17 +43,17 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(RKC,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(RKC,$(LIBRKC_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(RKC,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(RKC,$(LIBRKC_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(RKC,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(RKC,$(LIBRKC_VERSION),$(libCannaDir))
- 
- install::
-       $(RM) $(libCannaDir)/libRKC.so
--      ln $(libCannaDir)/libRKC.so.$(cannaDsoRev) $(libCannaDir)/libRKC.so
-+      ln $(libCannaDir)/libRKC.so.$(LIBRKC_VERSION) $(libCannaDir)/libRKC.so
- 
- AllTarget(libRKC.so)
- 
--libRKC.so: libRKC.so.$(cannaDsoRev)
-+libRKC.so: libRKC.so.$(LIBRKC_VERSION)
-       $(RM) $@
-       ln $? $@
diff -urN -x CVS canna/patches/patch-lib_RKC_rkc_c 
3.8/patches/patch-lib_RKC_rkc_c
--- canna/patches/patch-lib_RKC_rkc_c   Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC_rkc_c     Thu Jan  1 09:00:00 1970
@@ -1,10 +0,0 @@
-Index: lib/RKC/rkc.c
---- lib/RKC/rkc.c.orig
-+++ lib/RKC/rkc.c
-@@ -254,5 +254,5 @@ int        clientcx, type ;
- int RkwSetUserInfo pro((char *, char *, char *));
- 
--RkUserInfo *uinfo;
-+extern RkUserInfo *uinfo;
- 
- int
diff -urN -x CVS canna/patches/patch-lib_RKC_rkc_h 
3.8/patches/patch-lib_RKC_rkc_h
--- canna/patches/patch-lib_RKC_rkc_h   Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC_rkc_h     Thu Jan  1 09:00:00 1970
@@ -1,23 +0,0 @@
---- lib/RKC/rkc.h.orig Tue Mar 26 21:12:48 2002
-+++ lib/RKC/rkc.h      Tue Mar 26 21:13:15 2002
-@@ -46,10 +46,14 @@
- #  include <memory.h>
- # endif
--# ifndef __EMX__
--#  ifndef bzero
--#   define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--#  endif
--#  ifndef bcopy
--#   define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# ifdef __OpenBSD__
-+#  include <string.h>
-+# else
-+#  ifndef __EMX__
-+#   ifndef bzero
-+#    define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+#   endif
-+#   ifndef bcopy
-+#    define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+#   endif
- #  endif
- # endif
diff -urN -x CVS canna/patches/patch-lib_RK_RKintern_h 
3.8/patches/patch-lib_RK_RKintern_h
--- canna/patches/patch-lib_RK_RKintern_h       Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RK_RKintern_h Thu Jan  1 09:00:00 1970
@@ -1,17 +0,0 @@
---- lib/RK/RKintern.h.orig     Tue Mar 26 20:37:35 2002
-+++ lib/RK/RKintern.h  Tue Mar 26 20:38:02 2002
-@@ -105,7 +105,11 @@ extern void free();
- #  include <memory.h>
- # endif
--# ifndef __EMX__
--#  define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--#  define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# ifdef __OpenBSD__
-+#  include <string.h>
-+# else
-+#  ifndef __EMX__
-+#   define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+#   define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+#  endif
- # endif
- #endif
diff -urN -x CVS canna/patches/patch-lib_RK_dd_c 3.8/patches/patch-lib_RK_dd_c
--- canna/patches/patch-lib_RK_dd_c     Thu Jan  1 09:00:00 1970
+++ 3.8/patches/patch-lib_RK_dd_c       Wed Jun 17 17:52:36 2026
@@ -0,0 +1,12 @@
+Index: lib/RK/dd.c
+--- lib/RK/dd.c.orig
++++ lib/RK/dd.c
+@@ -739,7 +739,7 @@ _RkRealizeDD(dd)
+   int ret = -1;
+   int tmpres;
+   int                 fdes;
+-  long                tloc;
++  time_t              tloc;
+ #ifdef __EMX__
+   struct stat         statbuf;
+ #endif
diff -urN -x CVS canna/patches/patch-lib_canna16_Imakefile 
3.8/patches/patch-lib_canna16_Imakefile
--- canna/patches/patch-lib_canna16_Imakefile   Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_canna16_Imakefile     Thu Jan  1 09:00:00 1970
@@ -1,22 +0,0 @@
---- lib/canna16/Imakefile.orig Thu Dec 29 13:41:34 2005
-+++ lib/canna16/Imakefile      Thu Dec 29 13:42:33 2005
-@@ -59,5 +59,5 @@
- #if ProjectX > 5
- #define LibName canna16
--#define SoRev         cannaDsoRev
-+#define SoRev         LIBcanna16_VERSION
- #define SHLIBDIR      libCannaDir
- #define USRLIBDIR     libCannaDir
-@@ -73,9 +73,9 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(canna16,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(canna16,$(LIBcanna16_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(canna16,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(canna16,$(LIBcanna16_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(canna16,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(canna16,$(LIBcanna16_VERSION),$(libCannaDir))
- #endif /* DoSharedLib */
- 
diff -urN -x CVS canna/patches/patch-lib_canna_Imakefile 
3.8/patches/patch-lib_canna_Imakefile
--- canna/patches/patch-lib_canna_Imakefile     Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_canna_Imakefile       Thu Jan  1 09:00:00 1970
@@ -1,22 +0,0 @@
---- lib/canna/Imakefile.orig   Thu Dec 29 13:41:34 2005
-+++ lib/canna/Imakefile        Thu Dec 29 13:42:20 2005
-@@ -57,5 +57,5 @@
- #if ProjectX > 5
- #define LibName canna
--#define SoRev         cannaDsoRev
-+#define SoRev         LIBcanna_VERSION
- #define SHLIBDIR      libCannaDir
- #define USRLIBDIR     libCannaDir
-@@ -71,9 +71,9 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(canna,$(LIBcanna_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(canna,$(LIBcanna_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(canna,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(canna,$(LIBcanna_VERSION),$(libCannaDir))
- #endif /* DoSharedLib */
- 
diff -urN -x CVS canna/patches/patch-lib_canna_canna_h 
3.8/patches/patch-lib_canna_canna_h
--- canna/patches/patch-lib_canna_canna_h       Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_canna_canna_h Thu Jan  1 09:00:00 1970
@@ -1,17 +0,0 @@
---- lib/canna/canna.h.orig     Mon Dec  2 03:20:15 1996
-+++ lib/canna/canna.h  Fri Aug 29 16:52:05 2008
-@@ -110,7 +110,11 @@ extern CANNA_wcstombs pro((char *, wchar_t *, int));
- #  include <memory.h>
- # endif
--# ifndef __EMX__
--#  define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--#  define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# ifdef __OpenBSD__
-+#  include <string.h>
-+# else
-+#  ifndef __EMX__
-+#   define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+#   define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+#  endif
- # endif
- #endif
diff -urN -x CVS canna/patches/patch-lib_canna_lisp_c 
3.8/patches/patch-lib_canna_lisp_c
--- canna/patches/patch-lib_canna_lisp_c        Thu Jan  1 09:00:00 1970
+++ 3.8/patches/patch-lib_canna_lisp_c  Wed Jun 17 18:13:39 2026
@@ -0,0 +1,12 @@
+Index: lib/canna/lisp.c
+--- lib/canna/lisp.c.orig
++++ lib/canna/lisp.c
+@@ -1707,7 +1707,7 @@ list *addr;
+     }
+     markcopycell(&newatom->plist);
+     if (newatom->ftype == EXPR || newatom->ftype == MACRO) {
+-      markcopycell((int *)&newatom->func);
++      markcopycell((list *)&newatom->func);
+     }
+     addr = &newatom->hlink;
+     goto redo;
diff -urN -x CVS canna/patches/patch-server_IR_h 3.8/patches/patch-server_IR_h
--- canna/patches/patch-server_IR_h     Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_IR_h       Thu Jan  1 09:00:00 1970
@@ -1,28 +0,0 @@
---- server/IR.h.orig   Tue Mar 26 20:33:53 2002
-+++ server/IR.h        Tue Mar 26 20:34:33 2002
-@@ -32,13 +32,17 @@
- #  include    <memory.h>
- # endif
--# ifndef __EMX__
--#  ifndef bcopy
--#   define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
--#  endif
--#  ifndef bzero
--#   define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--#  endif
-+# ifdef __OpenBSD__
-+#  include <string.h>
- # else
--#  include    <sys/types.h>
-+#  ifndef __EMX__
-+#   ifndef bcopy
-+#    define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+#   endif
-+#   ifndef bzero
-+#    define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+#   endif
-+#  else
-+#   include    <sys/types.h>
-+#  endif
- # endif
- #endif
diff -urN -x CVS canna/patches/patch-server_convert_c 
3.8/patches/patch-server_convert_c
--- canna/patches/patch-server_convert_c        Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_convert_c  Thu Jan  1 09:00:00 1970
@@ -1,23 +0,0 @@
---- server/convert.c.orig      Mon Dec  2 12:01:34 1996
-+++ server/convert.c   Fri Aug 29 16:52:05 2008
-@@ -54,4 +54,6 @@ static char rcs_id[] = "@(#) 102.1 $Id: convert.c,v 6.
- #define ACK3 3
- #define CHECK_ACK_BUF_SIZE    (ACK_BUFSIZE + (SIZEOFLONG * 2) )
-+#define IR_INT_MAX 32767
-+#define IR_INT_INVAL(x) ((unsigned int)x > IR_INT_MAX)
- 
- extern int  errno;
-@@ -1779,4 +1781,6 @@ int size ;
- 
-     req->namelen = (int)L4TOL(buf + SIZE4);
-+    if( IR_INT_INVAL(req->namelen) )
-+      return( -1 );
-    ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); )
- 
-@@ -1786,4 +1790,6 @@ int size ;
-     if( req->namelen > 0 ){
-       req->name = buf + SIZE8 ;
-+      if( req->name[req->namelen - 1] != 0 )
-+          return( -1 );
-     }
-    ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); )
diff -urN -x CVS canna/patches/patch-server_misc_c 
3.8/patches/patch-server_misc_c
--- canna/patches/patch-server_misc_c   Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_misc_c     Thu Jan  1 09:00:00 1970
@@ -1,27 +0,0 @@
---- server/misc.c.orig Mon Jul  3 17:58:30 2000
-+++ server/misc.c      Mon Jul  3 18:01:42 2000
-@@ -650,17 +650,19 @@ int cxnum ;
-     if (client->username && client->username[0]) {
-       if (client->groupname && client->groupname[0]) {
--      sprintf(dichome, "%s/%s:%s/%s:%s",
-+      if (snprintf(dichome, sizeof(dichome), "%s/%s:%s/%s:%s",
-               DDUSER, client->username,
-               DDGROUP, client->groupname,
--              DDPATH);
-+              DDPATH) >= sizeof(dichome))
-+              return -1;
-       }
-       else {
--      sprintf(dichome, "%s/%s:%s",
-+      if (snprintf(dichome, sizeof(dichome), "%s/%s:%s",
-               DDUSER, client->username,
--              DDPATH);
-+              DDPATH) >= sizeof(dichome))
-+              return -1;
-       }
-     }
-     else {
--      strcpy(dichome, DDPATH);
-+      strlcpy(dichome, DDPATH, sizeof(dichome));
-     }
- 
diff -urN -x CVS canna/patches/patch-server_util_c 
3.8/patches/patch-server_util_c
--- canna/patches/patch-server_util_c   Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_util_c     Thu Jan  1 09:00:00 1970
@@ -1,20 +0,0 @@
---- server/util.c.orig Wed Nov  6 05:09:47 1996
-+++ server/util.c      Wed Mar 12 14:59:07 2003
-@@ -218,4 +218,17 @@ Ushort *ws;
- }
- 
-+const Ushort *
-+ushortmemchr(ws, ch, len)
-+const Ushort *ws;
-+int ch;
-+size_t len;
-+{
-+  const Ushort *p, *end;
-+  for (p = ws, end = ws + len; p < end; ++p)
-+      if (*p == (Ushort)ch)
-+        return p;
-+  return NULL;
-+}
-+
- int
- ushortstrcpy(wd, ws)
diff -urN -x CVS canna/patches/patch-server_wconvert_c 
3.8/patches/patch-server_wconvert_c
--- canna/patches/patch-server_wconvert_c       Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_wconvert_c Thu Jan  1 09:00:00 1970
@@ -1,320 +0,0 @@
---- server/wconvert.c.orig     Wed Nov 27 02:27:28 1996
-+++ server/wconvert.c  Wed Mar 12 14:59:07 2003
-@@ -101,4 +101,5 @@ extern reqproc ExtensionWideVector[];
- 
- extern void DispDebug() ;
-+extern const Ushort *ushortmemchr pro((const Ushort *, int, size_t));
- extern int canna_server_hi ;
- extern int canna_server_lo ;
-@@ -1323,5 +1324,8 @@ ClientPtr *clientp ;
-     int cxnum = Request.type18.context, stat = -1;
-     int requestsize = Request.type18.size, retval;
-+    size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2;
- 
-+    if (datasize == 0 || req->data[datasize - 1] != 0)
-+      goto protoerr;
-     if (validcontext(cxnum, client, wListDictionary)) {
-       if (requestsize <= sizeof(local_buffer) ||
-@@ -1360,4 +1364,5 @@ ClientPtr *clientp ;
-     } 
- 
-+protoerr:
-     retval = SendType6Reply(client, wListDictionary, EXTPROTO, stat,
-                           dicnames, namesize(dicnames, stat));
-@@ -1471,8 +1476,13 @@ ClientPtr *clientp ;
-     int cxnum = Request.type18.context, stat = BADCONT;
-     int dirlen, requestsize = Request.type18.size, retval;
-+    size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2;
- 
-+    if (datasize == 0 || req->data[datasize - 1] != 0)
-+      goto protoerr;
-     if (validcontext(cxnum, client, wGetWordTextDictionary)) {
-       dirname = req->data ;
-       dirlen = strlen(dirname) + 1 ;
-+      if (dirlen == datasize)
-+        goto protoerr;
-       dicname = &(req->data[dirlen]) ;
-       if (dirlen > 1) {
-@@ -1516,4 +1526,5 @@ ClientPtr *clientp ;
-       }
-     }
-+protoerr:
-     retval = SendType7Reply(client, wGetWordTextDictionary, EXTPROTO,
-                           stat, stat > 0 ? stat + 1 : 0, infobuf);
-@@ -2097,10 +2108,10 @@ ClientPtr *clientp;
- 
-   if (validcontext(cxnum, client, wThrough)) {
--    buf = malloc((int)Request.type20.bufsize);
-+    content_size = Request.type20.datalen - (SIZEOFINT * 2 + SIZEOFSHORT);
-+    buf = malloc(content_size);
-     if (buf) {
--      content_size = Request.type20.datalen - (SIZEOFINT * 2 + SIZEOFSHORT);
-       bcopy(Request.type20.buf, buf, content_size);
-       stat = size = RkThrough(cxnum, Request.type20.command,
--                            buf, content_size, (int)Request.type20.bufsize);
-+                            buf, content_size, content_size);
-     }
-   }
-@@ -2297,4 +2308,7 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq1 start!!\n") );
- 
-+    if (Request.type1.datalen != 0)
-+      return( -1 );
-+
-     return( 0 ) ;
- }
-@@ -2306,4 +2320,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq2 start!!\n") );
- 
-+    if (Request.type2.datalen != SIZEOFSHORT)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type2.context = S2TOS(buf);
-     ir_debug( Dmsg(10, "req->context =%d\n", Request.type2.context) );
-@@ -2318,4 +2334,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq3 start!!\n") );
- 
-+    if (Request.type3.datalen != SIZEOFSHORT * 2)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type3.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type3.buflen = S2TOS(buf);
-@@ -2335,4 +2353,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq4 start!!\n") );
- 
-+    if (Request.type4.datalen < SIZEOFSHORT * 4)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type4.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type4.begin = S2TOS(buf);
-@@ -2340,5 +2360,9 @@ BYTE *buf ;
-     buf += SIZEOFSHORT; Request.type4.yomilen = S2TOS(buf);
-     Request.type4.yomi = (Ushort *)(buf += SIZEOFSHORT) ;
--    len = Request.type4.datalen - SIZEOFSHORT * 4;
-+    len = Request.type4.yomilen + 1;
-+    if (Request.type4.datalen != SIZEOFSHORT * (4 + len)
-+          || len == 0
-+          || Request.type4.yomi[len - 1] != 0)
-+      return( -1 );
-     for (data = Request.type4.yomi, i = 0; i < len; i++, data++)
-       *data = ntohs((unsigned short)*data); /* ¤Á¤ç¤Ã¤È¤ä¤À¤Ê¤¢ */
-@@ -2360,4 +2384,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq5 start!!\n") );
- 
-+    if (Request.type5.datalen != SIZEOFSHORT * 2 + SIZEOFINT)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type5.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type5.size = S2TOS(buf);
-@@ -2376,4 +2402,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq6 start!!\n") );
- 
-+    if (Request.type6.datalen != SIZEOFSHORT * 3)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type6.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type6.number = S2TOS(buf);
-@@ -2392,4 +2420,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq7 start!!\n") );
- 
-+    if (Request.type7.datalen != SIZEOFSHORT * 3)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type7.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type7.number = S2TOS(buf);
-@@ -2408,4 +2438,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq8 start!!\n") );
- 
-+    if (Request.type8.datalen != SIZEOFSHORT * 4)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type8.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type8.curbun = S2TOS(buf);
-@@ -2426,4 +2458,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq9 start!!\n") );
- 
-+    if (Request.type9.datalen != SIZEOFSHORT * 4)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type9.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type9.number = S2TOS(buf);
-@@ -2443,7 +2477,11 @@ BYTE *buf ;
- {
-     register int i ;
-+    int rest;
- 
-     ir_debug( Dmsg(10, "ProcWideReq10 start!!\n") );
- 
-+    rest = Request.type10.datalen - (SIZEOFSHORT * 2 + SIZEOFINT);
-+    if (rest < 0)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type10.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type10.number = S2TOS(buf);
-@@ -2453,4 +2491,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "req->mode =%d\n", Request.type10.mode) );
- 
-+    if (rest != Request.type10.number * SIZEOFSHORT)
-+      return( -1 );
-     buf += SIZEOFINT; Request.type10.kouho = (short *)buf; /* short? */
-     for (i = 0; i < Request.type10.number; i++) {
-@@ -2469,10 +2509,16 @@ BYTE *buf ;
-     int i, len ;
- 
--    ir_debug( Dmsg(10, "ProcWideReq10 start!!\n") );
-+    ir_debug( Dmsg(10, "ProcWideReq11 start!!\n") );
- 
-+    if (Request.type11.datalen < SIZEOFSHORT * 2)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type11.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type11.curbun = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type11.yomi = (Ushort *)buf;
-+    if (Request.type11.datalen % SIZEOFSHORT != 0)
-+      return( -1 );
-     len = ((int)Request.type11.datalen - SIZEOFSHORT * 2) / SIZEOFSHORT ;
-+    if (len == 0 || Request.type11.yomi[len - 1] != 0)
-+      return( -1 );
-     for (data = Request.type11.yomi, i = 0; i < len; i++, data++)
-       *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */
-@@ -2491,14 +2537,24 @@ BYTE *buf ;
- {
-     register Ushort *data;
--    int i, len ;
-+    int i, len, rest;
- 
-     ir_debug( Dmsg(10, "ProcWideReq12 start!!\n") );
- 
-+    rest = Request.type12.datalen - SIZEOFSHORT;
-+    if (rest < 0)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type12.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type12.datainfo = (Ushort *)buf;
-+    if (!ushortmemchr((Ushort *)buf, 0, rest / SIZEOFSHORT))
-+      return( -1 );
-     len = ushortstrlen((Ushort *)buf) + 1;
-+    rest -= len * SIZEOFSHORT;
-+    if (rest <= 0)
-+      return( -1 );
-     for( data = Request.type12.datainfo, i = 0; i < len; i++, data++ )
-       *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */
-     buf += len * SIZEOFSHORT;
-+    if (buf[rest - 1] != '\0')
-+      return( -1 );
-     Request.type12.dicname = (char *)buf;
-     ir_debug( Dmsg(10, "req->context =%d\n", Request.type12.context) );
-@@ -2518,22 +2574,35 @@ BYTE *buf ;
- {
-     register Ushort *data;
--    int i ,len ;
-+    int i ,len, rest;
- 
-     ir_debug( Dmsg(10, "ProcWideReq13 start!!\n") );
- 
-+    rest = Request.type13.datalen - SIZEOFSHORT;
-+    if (rest < 0)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type13.context = S2TOS(buf);
-     len = SIZEOFSHORT ;
-     buf += len;
-     Request.type13.dicname = (char *)buf;
-+    if (!memchr(buf, 0, rest))
-+      return( -1 );
-     len = strlen( (char *)buf ) + 1;
-+    rest -= len;
-+    if (rest % SIZEOFSHORT
-+          || rest < SIZEOFSHORT * 3)
-+      return( -1 );
-     buf += len;
-     Request.type13.yomi = (Ushort *)buf;
-     len = ((int)Request.type13.datalen - len - SIZEOFSHORT * 4) / SIZEOFSHORT;
-+    if (ushortmemchr((Ushort *)buf, 0, len) != (Ushort *)buf + len - 1)
-+      return( -1 );
-     for( data = Request.type13.yomi, i = 0; i < len; i++, data++)
-       *data = ntohs( *data );
--    buf += (ushortstrlen((Ushort *)buf) + 1) * SIZEOFSHORT;
-+    buf += len * SIZEOFSHORT;
-     Request.type13.yomilen = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type13.kouhosize = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type13.hinshisize = S2TOS(buf);
-+    if (Request.type13.yomilen != len - 1)
-+      return( -1 );
-     ir_debug( Dmsg(10, "req->context =%d\n", Request.type13.context) );
-     ir_debug( Dmsg(10, "req->dicname =%s\n", Request.type13.dicname) );
-@@ -2557,4 +2626,7 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq14 start!!\n") );
- 
-+    if (Request.type14.datalen <= SIZEOFINT + SIZEOFSHORT
-+          || Request.type14.datalen % SIZEOFSHORT)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type14.mode = L4TOL(buf);
-     buf += SIZEOFINT;   Request.type14.context = S2TOS(buf);
-@@ -2562,4 +2634,6 @@ BYTE *buf ;
-     len = ((int)Request.type14.datalen - SIZEOFSHORT - SIZEOFINT)
-       / SIZEOFSHORT;
-+    if (Request.type14.yomi[len - 1] != 0)
-+      return( -1 );
-     for (data = Request.type14.yomi, i = 0; i < len; i++, data++)
-       *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */
-@@ -2578,9 +2652,15 @@ ProcWideReq15(buf)
- BYTE *buf ;
- {
-+    int rest;
-     ir_debug( Dmsg(10, "ProcWideReq15 start!!\n") );
- 
-+    rest = Request.type15.datalen - (SIZEOFINT + SIZEOFSHORT);
-+    if (rest <= 0)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type15.mode = L4TOL(buf);
-     buf += SIZEOFINT;   Request.type15.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type15.dicname = (char *)buf;
-+    if (buf[rest - 1] != 0)
-+      return( -1 );
-     ir_debug( Dmsg(10, "req->mode =%d\n", Request.type15.mode) );
-     ir_debug( Dmsg(10, "req->context =%d\n", Request.type15.context) );
-@@ -2598,4 +2678,7 @@ BYTE *buf ;
- 
-     buf += HEADER_SIZE;
-+    if (Request.type17.datalen < SIZEOFCHAR * 2
-+          || buf[Request.type17.datalen - SIZEOFCHAR * 2] != 0)
-+      return( -1 );
-     Request.type17.dicname = (char *)buf;
-     Request.type17.mode = (char)*(buf + Request.type17.datalen - SIZEOFCHAR) ;
-@@ -2614,4 +2697,6 @@ BYTE *buf ;
-     ir_debug( Dmsg(10, "ProcWideReq18 start!!\n") );
- 
-+    if (Request.type18.datalen < SIZEOFSHORT * 2)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type18.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type18.data = (char *)buf;
-@@ -2631,10 +2716,16 @@ ProcWideReq19(buf)
- BYTE *buf ;
- {
-+    int rest;
-     ir_debug( Dmsg(10, "ProcWideReq19 start!!\n") );
- 
-+    rest = Request.type20.datalen - (SIZEOFSHORT + SIZEOFINT * 2);
-+    if (rest < 0)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type20.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type20.command = L4TOL(buf);
-     buf += SIZEOFINT;   Request.type20.bufsize = L4TOL(buf);
-     buf += SIZEOFINT;   Request.type20.buf = (char *)buf;
-+    if (Request.type20.bufsize != rest)
-+      return( -1 );
-     ir_debug( Dmsg(10, "req->context =%d\n", Request.type20.context) );
-     ir_debug( Dmsg(10, "req->command =%d\n", Request.type20.command) );
-@@ -2648,13 +2739,23 @@ ProcWideReq20(buf)
- BYTE *buf ;
- {
-+    BYTE *bufend;
-     ir_debug( Dmsg(10, "ProcWideReq20 start!!\n") );
- 
-+    if (Request.type21.datalen < SIZEOFINT + SIZEOFSHORT)
-+      return( -1 );
-     buf += HEADER_SIZE; Request.type21.mode = L4TOL(buf);
-+    bufend = buf + Request.type21.datalen;
-     buf += SIZEOFINT;   Request.type21.context = S2TOS(buf);
-     buf += SIZEOFSHORT; Request.type21.dirname = (char *)buf;
-+    if (!memchr(buf, 0, bufend - buf))
-+      return( -1 );
-     buf += strlen((char *)buf) + 1;
-     Request.type21.srcdic = (char *)buf;
-+    if (!memchr(buf, 0, bufend - buf))
-+      return( -1 );
-     buf += strlen((char *)buf) + 1;
-     Request.type21.dstdic = (char *)buf;
-+    if (*(bufend - 1) != 0)
-+      return( -1 );
- 
-     ir_debug( Dmsg(10, "req->mode =%d\n", Request.type21.mode) );
diff -urN -x CVS canna/pkg/DESCR 3.8/pkg/DESCR
--- canna/pkg/DESCR     Thu Jan  1 09:00:00 1970
+++ 3.8/pkg/DESCR       Mon Jun 22 04:15:44 2026
@@ -0,0 +1,4 @@
+Canna is a Japanese input system for UNIX/Linux. It consists of a kana-to-kanji
+conversion engine (cannaserver) and a user interface engine (libcanna).
+You can also use Canna in X11 (via "kinput2" XIM server),
+Emacs (with an appropreate patch) or other applications.
diff -urN -x CVS canna/pkg/DESCR-dict 3.8/pkg/DESCR-dict
--- canna/pkg/DESCR-dict        Sun Jun 11 10:53:46 2000
+++ 3.8/pkg/DESCR-dict  Thu Jan  1 09:00:00 1970
@@ -1,4 +0,0 @@
-Canna is a Kana-Kanji conversion engine.
-This package holds the basic Canna conversion dictionaries.
-
-Those dictionaries install under ${DICT_DIR}.
diff -urN -x CVS canna/pkg/DESCR-main 3.8/pkg/DESCR-main
--- canna/pkg/DESCR-main        Wed Nov 22 06:17:31 2006
+++ 3.8/pkg/DESCR-main  Thu Jan  1 09:00:00 1970
@@ -1,18 +0,0 @@
-Canna is a Kana-Kanji conversion engine.
-This package holds the Canna libraries.
-For a fully functional system, you need access to a server,
-or to install the cannaserver and cannadict packages as well.
-
-Kana-kanji conversion is usually started with '^o'.
-
-In theory, canna supports Mule (Multi-lingual emacs) and kinput2.
-
-From NetBSD:
-  To use from Mule (CANNA version), in .emacs file:
-
-     (if (and (boundp 'CANNA) CANNA) ; Is it CANNA MULE?
-        (progn
-         (load-library "canna")
-         (canna) ))
-
-The nvi-m17n-*-canna package supports canna.
diff -urN -x CVS canna/pkg/DESCR-server 3.8/pkg/DESCR-server
--- canna/pkg/DESCR-server      Sat Jul 12 01:18:51 2014
+++ 3.8/pkg/DESCR-server        Thu Jan  1 09:00:00 1970
@@ -1,5 +0,0 @@
-Canna is a Kana-Kanji conversion engine.
-This package holds the server and related utility.
-
-cannaserver is started as daemon. This package needs
-the Canna dictionaries (cannadict package) to be functional.
diff -urN -x CVS canna/pkg/PLIST 3.8/pkg/PLIST
--- canna/pkg/PLIST     Thu Jan  1 09:00:00 1970
+++ 3.8/pkg/PLIST       Thu Jun 25 14:52:32 2026
@@ -0,0 +1,257 @@
+canna/
+canna/bin/
+canna/bin/addwords
+@bin canna/bin/canlisp
+@bin canna/bin/cannacheck
+@bin canna/bin/cannastat
+@bin canna/bin/catdic
+@bin canna/bin/chkconc
+canna/bin/chmoddic
+canna/bin/cpdic
+@bin canna/bin/crfreq
+@bin canna/bin/crxdic
+@bin canna/bin/crxgram
+@bin canna/bin/cshost
+@bin canna/bin/ctow
+canna/bin/delwords
+@bin canna/bin/dicar
+canna/bin/dpbindic
+@bin canna/bin/dpromdic
+@bin canna/bin/dpxdic
+@bin canna/bin/forcpp
+@bin canna/bin/kpdic
+canna/bin/lsdic
+@bin canna/bin/mergeword
+canna/bin/mkbindic
+canna/bin/mkdic
+canna/bin/mkromdic
+canna/bin/mvdic
+canna/bin/rmdic
+@bin canna/bin/splitword
+canna/bin/syncdic
+@bin canna/bin/wtoc
+canna/include/
+canna/include/canna/
+canna/include/canna/RK.h
+canna/include/canna/jrkanji.h
+canna/include/canna/keydef.h
+canna/include/canna/mfdef.h
+canna/include/canna/pubconf.h
+canna/include/canna/sysdep.h
+@mandir canna/man/
+canna/man/ja/
+canna/man/ja/man1/
+@man canna/man/ja/man1/addwords.1
+@man canna/man/ja/man1/cannacheck.1
+@man canna/man/ja/man1/cannakill.1
+@man canna/man/ja/man1/cannaserver.1
+@man canna/man/ja/man1/cannastat.1
+@man canna/man/ja/man1/catdic.1
+@man canna/man/ja/man1/chmoddic.1
+@man canna/man/ja/man1/cpdic.1
+@man canna/man/ja/man1/cshost.1
+@man canna/man/ja/man1/ctow.1
+@man canna/man/ja/man1/delwords.1
+@man canna/man/ja/man1/dicar.1
+@man canna/man/ja/man1/dpbindic.1
+@man canna/man/ja/man1/dpromdic.1
+@man canna/man/ja/man1/lsdic.1
+@man canna/man/ja/man1/mkbindic.1
+@man canna/man/ja/man1/mkdic.1
+@man canna/man/ja/man1/mkromdic.1
+@man canna/man/ja/man1/mvdic.1
+@man canna/man/ja/man1/rmdic.1
+@man canna/man/ja/man1/splitword.1
+@man canna/man/ja/man1/wtoc.1
+canna/man/ja/man3/
+@man canna/man/ja/man3/RkBgnBun.3
+@man canna/man/ja/man3/RkCloseRoma.3
+@man canna/man/ja/man3/RkCvtEuc.3
+@man canna/man/ja/man3/RkCvtHan.3
+@man canna/man/ja/man3/RkCvtHira.3
+@man canna/man/ja/man3/RkCvtKana.3
+@man canna/man/ja/man3/RkCvtRoma.3
+@man canna/man/ja/man3/RkCvtZen.3
+@man canna/man/ja/man3/RkDefineDic.3
+@man canna/man/ja/man3/RkDeleteDic.3
+@man canna/man/ja/man3/RkEndBun.3
+@man canna/man/ja/man3/RkEnlarge.3
+@man canna/man/ja/man3/RkFinalize.3
+@man canna/man/ja/man3/RkGetDicList.3
+@man canna/man/ja/man3/RkGetKanji.3
+@man canna/man/ja/man3/RkGetLex.3
+@man canna/man/ja/man3/RkGetStat.3
+@man canna/man/ja/man3/RkGetYomi.3
+@man canna/man/ja/man3/RkGoto.3
+@man canna/man/ja/man3/RkInitialize.3
+@man canna/man/ja/man3/RkIntro.3
+@man canna/man/ja/man3/RkLeft.3
+@man canna/man/ja/man3/RkMapPhonogram.3
+@man canna/man/ja/man3/RkMapRoma.3
+@man canna/man/ja/man3/RkMountDic.3
+@man canna/man/ja/man3/RkNext.3
+@man canna/man/ja/man3/RkNfer.3
+@man canna/man/ja/man3/RkOpenRoma.3
+@man canna/man/ja/man3/RkPrev.3
+@man canna/man/ja/man3/RkRemountDic.3
+@man canna/man/ja/man3/RkResize.3
+@man canna/man/ja/man3/RkRight.3
+@man canna/man/ja/man3/RkShorten.3
+@man canna/man/ja/man3/RkStoreYomi.3
+@man canna/man/ja/man3/RkUnmountDic.3
+@man canna/man/ja/man3/RkXfer.3
+@man canna/man/ja/man3/XKanjiControl.3
+@man canna/man/ja/man3/XLookupKanjiString.3
+@man canna/man/ja/man3/cannalib.3
+@man canna/man/ja/man3/jrKanjiControl.3
+@man canna/man/ja/man3/jrKanjiString.3
+@man canna/man/ja/man3/uilib.3
+canna/man/man1/
+@man canna/man/man1/addwords.1
+@man canna/man/man1/cannacheck.1
+@man canna/man/man1/cannakill.1
+@man canna/man/man1/cannaserver.1
+@man canna/man/man1/cannastat.1
+@man canna/man/man1/catdic.1
+@man canna/man/man1/chmoddic.1
+@man canna/man/man1/cpdic.1
+@man canna/man/man1/cshost.1
+@man canna/man/man1/ctow.1
+@man canna/man/man1/delwords.1
+@man canna/man/man1/dicar.1
+@man canna/man/man1/dpbindic.1
+@man canna/man/man1/dpromdic.1
+@man canna/man/man1/lsdic.1
+@man canna/man/man1/mkbindic.1
+@man canna/man/man1/mkdic.1
+@man canna/man/man1/mkromdic.1
+@man canna/man/man1/mvdic.1
+@man canna/man/man1/rmdic.1
+@man canna/man/man1/splitword.1
+@man canna/man/man1/wtoc.1
+canna/man/man3/
+@man canna/man/man3/RkBgnBun.3
+@man canna/man/man3/RkCloseRoma.3
+@man canna/man/man3/RkCvtEuc.3
+@man canna/man/man3/RkCvtHan.3
+@man canna/man/man3/RkCvtHira.3
+@man canna/man/man3/RkCvtKana.3
+@man canna/man/man3/RkCvtRoma.3
+@man canna/man/man3/RkCvtZen.3
+@man canna/man/man3/RkDefineDic.3
+@man canna/man/man3/RkDeleteDic.3
+@man canna/man/man3/RkEndBun.3
+@man canna/man/man3/RkEnlarge.3
+@man canna/man/man3/RkFinalize.3
+@man canna/man/man3/RkGetDicList.3
+@man canna/man/man3/RkGetKanji.3
+@man canna/man/man3/RkGetLex.3
+@man canna/man/man3/RkGetStat.3
+@man canna/man/man3/RkGetYomi.3
+@man canna/man/man3/RkGoto.3
+@man canna/man/man3/RkInitialize.3
+@man canna/man/man3/RkIntro.3
+@man canna/man/man3/RkLeft.3
+@man canna/man/man3/RkMapPhonogram.3
+@man canna/man/man3/RkMapRoma.3
+@man canna/man/man3/RkMountDic.3
+@man canna/man/man3/RkNext.3
+@man canna/man/man3/RkNfer.3
+@man canna/man/man3/RkOpenRoma.3
+@man canna/man/man3/RkPrev.3
+@man canna/man/man3/RkRemountDic.3
+@man canna/man/man3/RkResize.3
+@man canna/man/man3/RkRight.3
+@man canna/man/man3/RkShorten.3
+@man canna/man/man3/RkStoreYomi.3
+@man canna/man/man3/RkUnmountDic.3
+@man canna/man/man3/RkXfer.3
+@man canna/man/man3/XKanjiControl.3
+@man canna/man/man3/XLookupKanjiString.3
+@man canna/man/man3/cannalib.3
+@man canna/man/man3/jrKanjiControl.3
+@man canna/man/man3/jrKanjiString.3
+@man canna/man/man3/uilib.3
+canna/sbin/
+canna/sbin/cannakill
+@bin canna/sbin/cannaserver
+canna/share/
+canna/share/canna/
+canna/share/canna/default.canna
+canna/share/canna/dic/
+canna/share/canna/dic/default.cbp
+canna/share/canna/dic/english.cbp
+canna/share/canna/dic/jdaemon.cbp
+canna/share/canna/dic/just.cbp
+canna/share/canna/dic/kaisoku.cbp
+canna/share/canna/dic/kana.cbp
+canna/share/canna/dic/lan5.cbp
+canna/share/canna/dic/matsu.cbp
+canna/share/canna/dic/newjis.cbp
+canna/share/canna/dic/romaji.cbp
+canna/share/canna/dic/sokuon.cbp
+canna/share/canna/dic/tut.cbp
+canna/share/canna/dic/vje.cbp
+canna/share/canna/dic/wx2+.cbp
+canna/share/canna/sample/
+canna/share/canna/sample/1.1.canna
+canna/share/canna/sample/1.2.canna
+canna/share/canna/sample/fixer.canna
+canna/share/canna/sample/jdemon.canna
+canna/share/canna/sample/just.canna
+canna/share/canna/sample/lan5.canna
+canna/share/canna/sample/matsu.canna
+canna/share/canna/sample/modes.canna
+canna/share/canna/sample/sample.canna
+canna/share/canna/sample/skk.canna
+canna/share/canna/sample/src/
+canna/share/canna/sample/src/default.ctd
+canna/share/canna/sample/src/english.ctd
+canna/share/canna/sample/src/is.c
+canna/share/canna/sample/src/jdaemon.ctd
+canna/share/canna/sample/src/just.ctd
+canna/share/canna/sample/src/kaisoku.ctd
+canna/share/canna/sample/src/kana.ctd
+canna/share/canna/sample/src/lan5.ctd
+canna/share/canna/sample/src/matsu.ctd
+canna/share/canna/sample/src/newjis.ctd
+canna/share/canna/sample/src/romaji.ctd
+canna/share/canna/sample/src/sokuon.ctd
+canna/share/canna/sample/src/tut.ctd
+canna/share/canna/sample/src/vje.ctd
+canna/share/canna/sample/src/wx2+.ctd
+canna/share/canna/sample/tut.canna
+canna/share/canna/sample/unix.canna
+canna/share/canna/sample/verbose.canna
+canna/share/canna/sample/vje.canna
+canna/share/canna/sample/wx2+.canna
+@static-lib lib/libRKC.a
+@lib lib/libRKC.so.${LIBRKC_VERSION}
+@static-lib lib/libRKC16.a
+@lib lib/libRKC16.so.${LIBRKC16_VERSION}
+@static-lib lib/libcanna.a
+@lib lib/libcanna.so.${LIBcanna_VERSION}
+@static-lib lib/libcanna16.a
+@lib lib/libcanna16.so.${LIBcanna16_VERSION}
+@cwd /var/db
+@owner daemon
+@group daemon
+canna/
+canna/bushu.cld
+canna/chimei.ctd
+canna/dics.dir
+canna/fuzokugo.cbd
+canna/hojomwd.ctd
+canna/hojoswd.ctd
+canna/iroha.cbd
+canna/iroha.cld
+canna/jigyosyo.cld
+canna/kanasmpl.ctd
+canna/katakana.ctd
+canna/keishiki.ctd
+canna/necgaiji.ctd
+canna/number.ctd
+canna/software.ctd
+canna/suffix.ctd
+canna/zipcode.cbd
+canna/zipcode.cld
diff -urN -x CVS canna/pkg/PLIST-dict 3.8/pkg/PLIST-dict
--- canna/pkg/PLIST-dict        Sat Mar 12 04:24:42 2022
+++ 3.8/pkg/PLIST-dict  Thu Jan  1 09:00:00 1970
@@ -1,36 +0,0 @@
-@mode 0755
-@owner daemon
-@group daemon
-canna/
-@mode
-@owner
-canna/canna/
-@mode u+w,g+w
-@owner daemon
-canna/canna/bushu.cld
-@mode
-@owner
-canna/canna/chimei.ctd
-canna/canna/dics.dir
-@mode u+w,g+w
-@owner daemon
-canna/canna/fuzokugo.cbd
-canna/canna/fuzokugo.cld
-@mode
-@owner
-canna/canna/hojomwd.ctd
-canna/canna/hojoswd.ctd
-@mode u+w,g+w
-@owner daemon
-canna/canna/iroha.cbd
-canna/canna/iroha.cld
-@mode
-@owner
-canna/canna/kanasmpl.ctd
-canna/canna/katakana.ctd
-canna/canna/keishiki.ctd
-canna/canna/necgaiji.ctd
-canna/canna/number.ctd
-canna/canna/software.ctd
-canna/canna/suffix.ctd
-@unexec echo "Remove /var/spool/canna manually"
diff -urN -x CVS canna/pkg/PLIST-main 3.8/pkg/PLIST-main
--- canna/pkg/PLIST-main        Sat Mar 12 04:24:42 2022
+++ 3.8/pkg/PLIST-main  Thu Jan  1 09:00:00 1970
@@ -1,150 +0,0 @@
-@pkgpath japanese/canna
-include/canna/
-include/canna/RK.h
-include/canna/jrkanji.h
-include/canna/keydef.h
-include/canna/mfdef.h
-lib/default.canna
-lib/dic/
-lib/dic/default.cbp
-lib/dic/english.cbp
-lib/dic/jdaemon.cbp
-lib/dic/just.cbp
-lib/dic/kaisoku.cbp
-lib/dic/kana.cbp
-lib/dic/lan5.cbp
-lib/dic/matsu.cbp
-lib/dic/newjis.cbp
-lib/dic/romaji.cbp
-lib/dic/sokuon.cbp
-lib/dic/tut.cbp
-lib/dic/vje.cbp
-lib/dic/wx2+.cbp
-lib/engine.cf
-lib/libRKC.a
-@lib lib/libRKC.so.${LIBRKC_VERSION}
-lib/libRKC16.a
-@lib lib/libRKC16.so.${LIBRKC16_VERSION}
-lib/libcanna.a
-@lib lib/libcanna.so.${LIBcanna_VERSION}
-lib/libcanna16.a
-@lib lib/libcanna16.so.${LIBcanna16_VERSION}
-lib/sample/
-lib/sample/1.1.canna
-lib/sample/1.2.canna
-lib/sample/default.canna
-lib/sample/fixer.canna
-lib/sample/jdemon.canna
-lib/sample/just.canna
-lib/sample/lan5.canna
-lib/sample/matsu.canna
-lib/sample/modes.canna
-lib/sample/sample.canna
-lib/sample/skk.canna
-lib/sample/src/
-lib/sample/src/Makefile
-lib/sample/src/default.ctd
-lib/sample/src/english.ctd
-lib/sample/src/is.c
-lib/sample/src/jdaemon.ctd
-lib/sample/src/just.ctd
-lib/sample/src/kaisoku.ctd
-lib/sample/src/kana.ctd
-lib/sample/src/lan5.ctd
-lib/sample/src/matsu.ctd
-lib/sample/src/newjis.ctd
-lib/sample/src/romaji.ctd
-lib/sample/src/sokuon.ctd
-lib/sample/src/tut.ctd
-lib/sample/src/vje.ctd
-lib/sample/src/wx2+.ctd
-lib/sample/tut.canna
-lib/sample/unix.canna
-lib/sample/vje.canna
-lib/sample/wx2+.canna
-man/ja/
-man/ja/man3/
-@man man/ja/man3/RkCloseRoma.3
-@man man/ja/man3/RkCvtEuc.3
-@man man/ja/man3/RkCvtHan.3
-@man man/ja/man3/RkCvtHira.3
-@man man/ja/man3/RkCvtKana.3
-@man man/ja/man3/RkCvtRoma.3
-@man man/ja/man3/RkCvtZen.3
-@man man/ja/man3/RkDefineDic.3
-@man man/ja/man3/RkDeleteDic.3
-@man man/ja/man3/RkEndBun.3
-@man man/ja/man3/RkEnlarge.3
-@man man/ja/man3/RkFinalize.3
-@man man/ja/man3/RkGetDicList.3
-@man man/ja/man3/RkGetKanji.3
-@man man/ja/man3/RkGetLex.3
-@man man/ja/man3/RkGetStat.3
-@man man/ja/man3/RkGetYomi.3
-@man man/ja/man3/RkGoto.3
-@man man/ja/man3/RkInitialize.3
-@man man/ja/man3/RkIntro.3
-@man man/ja/man3/RkLeft.3
-@man man/ja/man3/RkMapPhonogram.3
-@man man/ja/man3/RkMapRoma.3
-@man man/ja/man3/RkMountD.3
-@man man/ja/man3/RkNext.3
-@man man/ja/man3/RkNfer.3
-@man man/ja/man3/RkOpenRoma.3
-@man man/ja/man3/RkPrev.3
-@man man/ja/man3/RkRemountDic.3
-@man man/ja/man3/RkResize.3
-@man man/ja/man3/RkRgnBun.3
-@man man/ja/man3/RkRight.3
-@man man/ja/man3/RkShorten.3
-@man man/ja/man3/RkStoreYomi.3
-@man man/ja/man3/RkUnmountDic.3
-@man man/ja/man3/RkXfer.3
-@man man/ja/man3/XKanjiControl.3
-@man man/ja/man3/XLookupKanjiString.3
-@man man/ja/man3/cannalib.3
-@man man/ja/man3/jrKanjiControl.3
-@man man/ja/man3/jrKanjiString.3
-@man man/ja/man3/uilib.3
-@man man/man3/RkCloseRoma.3
-@man man/man3/RkCvtEuc.3
-@man man/man3/RkCvtHan.3
-@man man/man3/RkCvtHira.3
-@man man/man3/RkCvtKana.3
-@man man/man3/RkCvtRoma.3
-@man man/man3/RkCvtZen.3
-@man man/man3/RkDefineDic.3
-@man man/man3/RkDeleteDic.3
-@man man/man3/RkEndBun.3
-@man man/man3/RkEnlarge.3
-@man man/man3/RkFinalize.3
-@man man/man3/RkGetDicList.3
-@man man/man3/RkGetKanji.3
-@man man/man3/RkGetLex.3
-@man man/man3/RkGetStat.3
-@man man/man3/RkGetYomi.3
-@man man/man3/RkGoto.3
-@man man/man3/RkInitialize.3
-@man man/man3/RkIntro.3
-@man man/man3/RkLeft.3
-@man man/man3/RkMapPhonogram.3
-@man man/man3/RkMapRoma.3
-@man man/man3/RkMountD.3
-@man man/man3/RkNext.3
-@man man/man3/RkNfer.3
-@man man/man3/RkOpenRoma.3
-@man man/man3/RkPrev.3
-@man man/man3/RkRemountDic.3
-@man man/man3/RkResize.3
-@man man/man3/RkRgnBun.3
-@man man/man3/RkRight.3
-@man man/man3/RkShorten.3
-@man man/man3/RkStoreYomi.3
-@man man/man3/RkUnmountDic.3
-@man man/man3/RkXfer.3
-@man man/man3/XKanjiControl.3
-@man man/man3/XLookupKanjiString.3
-@man man/man3/cannalib.3
-@man man/man3/jrKanjiControl.3
-@man man/man3/jrKanjiString.3
-@man man/man3/uilib.3
diff -urN -x CVS canna/pkg/PLIST-server 3.8/pkg/PLIST-server
--- canna/pkg/PLIST-server      Sat Mar 12 04:24:42 2022
+++ 3.8/pkg/PLIST-server        Thu Jan  1 09:00:00 1970
@@ -1,84 +0,0 @@
-bin/addwords
-@bin bin/canlisp
-@bin bin/cannacheck
-bin/cannakill
-@mode u+s,g+s
-@owner daemon
-@group daemon
-@bin bin/cannaserver
-@mode
-@owner
-@group
-@bin bin/cannastat
-@bin bin/catdic
-bin/cpdic
-@bin bin/crfreq
-@bin bin/crxdic
-@bin bin/crxgram
-@bin bin/cshost
-@bin bin/ctow
-bin/delwords
-@bin bin/dicar
-bin/dpbindic
-@bin bin/dpromdic
-@bin bin/dpxdic
-@bin bin/forcpp
-@bin bin/forsort
-@bin bin/kpdic
-bin/lsdic
-@bin bin/mergeword
-bin/mkbindic
-bin/mkdic
-bin/mkromdic
-bin/mvdic
-bin/rmdic
-@bin bin/splitword
-bin/syncdic
-@bin bin/wtoc
-man/ja/man1/
-@man man/ja/man1/addwords.1
-@man man/ja/man1/cannacheck.1
-@man man/ja/man1/cannakill.1
-@man man/ja/man1/cannaserver.1
-@man man/ja/man1/cannastat.1
-@man man/ja/man1/catdic.1
-@man man/ja/man1/cpdic.1
-@man man/ja/man1/cshost.1
-@man man/ja/man1/ctow.1
-@man man/ja/man1/delwords.1
-@man man/ja/man1/dicar.1
-@man man/ja/man1/dpbindic.1
-@man man/ja/man1/dpromdic.1
-@man man/ja/man1/lsdic.1
-@man man/ja/man1/mkbindic.1
-@man man/ja/man1/mkdic.1
-@man man/ja/man1/mkromdic.1
-@man man/ja/man1/mvdic.1
-@man man/ja/man1/rmdic.1
-@man man/ja/man1/splitword.1
-@man man/ja/man1/wtoc.1
-@man man/man1/addwords.1
-@man man/man1/cannacheck.1
-@man man/man1/cannakill.1
-@man man/man1/cannaserver.1
-@man man/man1/cannastat.1
-@man man/man1/catdic.1
-@man man/man1/cpdic.1
-@man man/man1/cshost.1
-@man man/man1/ctow.1
-@man man/man1/delwords.1
-@man man/man1/dicar.1
-@man man/man1/dpbindic.1
-@man man/man1/dpromdic.1
-@man man/man1/lsdic.1
-@man man/man1/mkbindic.1
-@man man/man1/mkdic.1
-@man man/man1/mkromdic.1
-@man man/man1/mvdic.1
-@man man/man1/rmdic.1
-@man man/man1/splitword.1
-@man man/man1/wtoc.1
-@mode 0775
-@owner daemon
-@group daemon
-@sample /var/spool/canna/

Attachment: japanese_canna_3.8.tar.gz
Description: Binary data

Reply via email to