public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:dev commit in: app-i18n/canna/, app-i18n/canna/files/
@ 2022-06-26  2:36 Alessandro Barbieri
  0 siblings, 0 replies; 2+ messages in thread
From: Alessandro Barbieri @ 2022-06-26  2:36 UTC (permalink / raw
  To: gentoo-commits

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 61175 bytes --]

commit:     3a19c07b162cb1de41d98cf9d3b523a6397180d5
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed Jun 22 02:34:24 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Sun Jun 26 02:29:44 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3a19c07b

app-i18n/canna: new package, add 3.7_p3-r4

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 app-i18n/canna/Manifest                            |   2 +
 app-i18n/canna/canna-3.7_p3-r4.ebuild              | 207 +++++++++++++++++++++
 .../canna/files/Canna-3.6-dont-grab-ctrl-o.patch   |  11 ++
 app-i18n/canna/files/Canna-3.6-fix-warnings.patch  |  10 +
 app-i18n/canna/files/Canna-3.6-wconv.patch         |  18 ++
 .../files/Canna-3.7p1-fix-duplicated-strings.patch |  93 +++++++++
 app-i18n/canna/files/Canna-3.7p1-notimeout.patch   |  12 ++
 .../canna/files/Canna-3.7p3-fix-gcc4-warning.patch | 136 ++++++++++++++
 app-i18n/canna/files/Canna-3.7p3-redecl.patch      |  11 ++
 app-i18n/canna/files/Canna-3.7p3-yenbs.patch       |  11 ++
 app-i18n/canna/files/Canna-oldsock.patch           |  29 +++
 .../canna/files/canna-05_fix_spelling_error.patch  |  63 +++++++
 .../canna/files/canna-06_fix_manpages_error.patch  |  37 ++++
 .../files/canna-07_fix_ftbfs_on_hurd-i386.patch    |  16 ++
 .../canna/files/canna-10_fix_configure.ac.patch    |  19 ++
 .../canna-11_fix_spelling_error_in_binary.patch    |  91 +++++++++
 ..._make_the_output_of_mkbindic_reproducible.patch |  61 ++++++
 app-i18n/canna/files/canna-Wformat-security.patch  | 199 ++++++++++++++++++++
 app-i18n/canna/files/canna-Wformat.patch           |  11 ++
 app-i18n/canna/files/canna-canuum.patch            |  34 ++++
 app-i18n/canna/files/canna-gentoo.patch            | 146 +++++++++++++++
 app-i18n/canna/files/canna-kpdef.patch             |  18 ++
 app-i18n/canna/files/canna-overflow.patch          |  20 ++
 app-i18n/canna/files/canna-posix-sort.patch        |  11 ++
 app-i18n/canna/files/canna-respect-flags.patch     |  29 +++
 app-i18n/canna/files/canna-rundir.patch            |  15 ++
 app-i18n/canna/files/canna-tmpfiles.conf           |   2 +
 app-i18n/canna/files/canna.confd                   |   7 +
 app-i18n/canna/files/canna.hosts                   |   1 +
 app-i18n/canna/files/canna.initd                   |  31 +++
 app-i18n/canna/files/canna.service                 |  12 ++
 app-i18n/canna/files/cannaping.c                   |  46 +++++
 app-i18n/canna/files/dot-canna                     | 195 +++++++++++++++++++
 app-i18n/canna/files/update-canna-dics_dir         |  36 ++++
 app-i18n/canna/metadata.xml                        |  12 ++
 35 files changed, 1652 insertions(+)

diff --git a/app-i18n/canna/Manifest b/app-i18n/canna/Manifest
new file mode 100644
index 000000000..56de9dcb2
--- /dev/null
+++ b/app-i18n/canna/Manifest
@@ -0,0 +1,2 @@
+DIST 09_fix_manpages_error.patch 35789 BLAKE2B 83765aef44cf459922b027d6ea5e083fc793da5cff422fd4aae68d4fd2b921553b32f0d5afb488141dd8b87ceeb3495f256b33a3bb55fcd6c959a117da5ea015 SHA512 6b80744743a0421fdac30d4d470f3e0cc53c5aedaa3b9ca0c7b12db587c2dd02333d166fabda428dd8618a36b5b559dfd6a64db44b98d490d8a920703c38f6b4
+DIST Canna37p3.tar.bz2 1263065 BLAKE2B b5fb496c0ef71dc57b2da1409eea2238ea62ece3286d498d694bc7a18cb0f5e052dca95d692b4302988acd2199d350b893ae4aedc91aab0b737c3e0675be9cba SHA512 82846f2393aa2654dd2c97a93178098b8bd11e5409b584447f1b6fdf303adacc9802e2293cafd98b68af8b69622625ed00aa9712bf270feaa119adfdf4211158

diff --git a/app-i18n/canna/canna-3.7_p3-r4.ebuild b/app-i18n/canna/canna-3.7_p3-r4.ebuild
new file mode 100644
index 000000000..16d07b2a7
--- /dev/null
+++ b/app-i18n/canna/canna-3.7_p3-r4.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools cannadic edo systemd tmpfiles toolchain-funcs
+
+MY_P="Canna${PV//[._]/}"
+MYPV="${PV/_/}"
+
+DESCRIPTION="A client-server based Kana-Kanji conversion system"
+HOMEPAGE="http://canna.osdn.jp/"
+SRC_URI="
+	mirror://sourceforge.jp/${PN}/9565/${MY_P}.tar.bz2
+	https://sources.debian.org/data/main/c/${PN}/${MYPV}-19/debian/patches/09_fix_manpages_error.patch
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="canuum doc ipv6"
+
+RDEPEND="
+	acct-group/canna
+	acct-user/canna
+	canuum? (
+		dev-libs/libspt
+		sys-libs/ncurses:=
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	x11-misc/gccmakedep
+	x11-misc/imake
+	canuum? ( virtual/pkgconfig )
+	doc? (
+		app-text/ghostscript-gpl
+		dev-texlive/texlive-langjapanese
+		dev-texlive/texlive-latexrecommended
+	)
+"
+PATCHES=(
+	"${FILESDIR}/Canna-3.6-dont-grab-ctrl-o.patch"
+	"${FILESDIR}/Canna-oldsock.patch"
+	"${FILESDIR}/Canna-3.6-fix-warnings.patch"
+	"${FILESDIR}/Canna-3.6-wconv.patch"
+	"${FILESDIR}/Canna-3.7p1-fix-duplicated-strings.patch"
+	"${FILESDIR}/Canna-3.7p1-notimeout.patch"
+	"${FILESDIR}/Canna-3.7p3-fix-gcc4-warning.patch"
+	"${FILESDIR}/Canna-3.7p3-redecl.patch"
+	"${FILESDIR}/Canna-3.7p3-yenbs.patch"
+	"${FILESDIR}/${PN}-gentoo.patch"
+	"${FILESDIR}/${PN}-05_fix_spelling_error.patch"
+	"${FILESDIR}/${PN}-06_fix_manpages_error.patch"
+	"${FILESDIR}/${PN}-07_fix_ftbfs_on_hurd-i386.patch"
+	"${FILESDIR}/${PN}-Wformat.patch"
+	"${FILESDIR}/${PN}-Wformat-security.patch"
+	"${DISTDIR}/09_fix_manpages_error.patch"
+	"${FILESDIR}/${PN}-10_fix_configure.ac.patch"
+	"${FILESDIR}/${PN}-11_fix_spelling_error_in_binary.patch"
+	"${FILESDIR}/${PN}-12_make_the_output_of_mkbindic_reproducible.patch"
+	"${FILESDIR}/${PN}-canuum.patch"
+	"${FILESDIR}/${PN}-kpdef.patch"
+	"${FILESDIR}/${PN}-overflow.patch"
+	"${FILESDIR}/${PN}-posix-sort.patch"
+	"${FILESDIR}/${PN}-respect-flags.patch"
+	"${FILESDIR}/${PN}-rundir.patch"
+)
+
+src_prepare() {
+	tc-export CC LD AR
+	export CDEBUGFLAGS="${CFLAGS}"
+	export LOCAL_LDFLAGS="${LDFLAGS}"
+	export SHLIBGLOBALSFLAGS="${LDFLAGS}"
+	export LOCAL_LDFLAGS="${LDFLAGS}"
+	export CCOPTIONS="${CFLAGS} ${CPPFLAGS}"
+
+	default
+
+	sed \
+		-e "/DefLibCannaDir/s:/lib$:/$(get_libdir):" \
+		-e "/UseInet6/s:0:$(usex ipv6 1 0):" \
+		-i ${PN^c}.conf \
+		|| die
+
+	eautoreconf
+	rm -rf autom4te.cache || die
+	if use canuum; then
+		pushd canuum || die
+		mv configure.{in,ac} || die
+		eautoreconf
+		rm -rf autom4te.cache || die
+		popd || die
+	fi
+}
+
+src_configure() {
+	xmkmf -a || die
+
+	if use canuum; then
+		pushd canuum >/dev/null || die
+		xmkmf -a || die
+		# workaround for sys-libs/ncurses[tinfo]
+		sed -i "/^TERMCAP_LIB/s:=.*:=$($(tc-getPKG_CONFIG) --libs ncurses):" Makefile || die
+		popd >/dev/null || die
+	fi
+	if use doc; then
+		pushd doc/man/guide/tex >/dev/null || die
+		xmkmf -a || die
+		popd >/dev/null || die
+	fi
+}
+
+src_compile() {
+	# bug #279706
+	emake -j1 canna \
+		CC="${CC}" \
+		AR="${AR} -cq" \
+		CDEBUGFLAGS="${CFLAGS}" \
+		LOCAL_LDFLAGS="${LDFLAGS}" \
+		SHLIBGLOBALSFLAGS="${LDFLAGS}" \
+		CCOPTIONS="${CFLAGS} ${CPPFLAGS}"
+
+	edo ${CC} ${CFLAGS} ${LDFLAGS} -fPIE "${FILESDIR}/cannaping.c" -o ./misc/cannaping -I./include -L./lib/canna -lcanna
+
+	if use canuum; then
+		einfo "Compiling canuum"
+		emake -C canuum -j1 canuum \
+			CC="${CC}" \
+			AR="${AR} -cq" \
+			CDEBUGFLAGS="${CFLAGS}" \
+			LOCAL_LDFLAGS="${LDFLAGS}" \
+			SHLIBGLOBALSFLAGS="${LDFLAGS}" \
+			CCOPTIONS="${CFLAGS} ${CPPFLAGS}"
+	fi
+
+	if use doc; then
+		# NOTE: build fails if infinality enabled in fontconfig
+		einfo "Compiling DVI, PS, and PDF documents"
+		# bug #223077
+		export JLATEXCMD="platex -kanji=euc"
+		export DVI2PSCMD="dvips"
+		export VARTEXFONTS="${T}/fonts"
+		emake -C doc/man/guide/tex -j1 canna.ps canna.pdf
+	fi
+}
+
+src_install() {
+	emake DESTDIR="${D}" install install.man
+	einstalldocs
+	dodoc *CHANGES* INSTALL* RKCCONF* WHATIS*
+
+	if use canuum; then
+		emake -C canuum DESTDIR="${D}" install install.man
+		docinto canuum
+		dodoc README.jp
+	fi
+
+	use doc && dodoc doc/man/guide/tex/canna.{dvi,ps,pdf}
+
+	# for backward compatibility
+	dosbin "${FILESDIR}/update-canna-dics_dir"
+
+	dobin ./misc/cannaping
+	exeinto /usr/libexec/canna
+	doexe dic/ideo/pubdic/pod
+
+	insinto /etc
+	newins "${FILESDIR}/canna.hosts" hosts.canna
+
+	insinto /etc/canna
+	newins "${FILESDIR}/dot-canna" "default.canna"
+	newins "${FILESDIR}/canna.hosts" "cannahosts"
+
+	insinto /etc/canna/dics.dir.d
+	newins "${ED}/var/lib/canna/dic/canna/dics.dir" 00canna.dics.dir
+	rm -r "${ED}/var/lib/canna/dic/canna/dics.dir" || die
+
+	keepdir /var/lib/canna/dic/{user,group}
+	fowners canna:canna /var/lib/canna
+	fperms 0775 /var/lib/canna/dic/{user,group}
+
+	keepdir /var/log/canna
+	fowners canna:canna /var/log/canna
+
+	newconfd "${FILESDIR}/canna.confd" canna
+	newinitd "${FILESDIR}/canna.initd" canna
+
+	systemd_dounit "${FILESDIR}/canna.service"
+	newtmpfiles "${FILESDIR}/canna-tmpfiles.conf" "canna.conf"
+
+	find "${ED}" -type f -name "*.a" -delete || die
+}
+
+pkg_postinst() {
+	tmpfiles_process canna.conf
+	update-cannadic-dir
+
+	if ! locale -a | grep -iq "ja_JP.eucjp"; then
+		elog "Some dictionary tools in this package require ja_JP.EUC-JP locale."
+		elog
+		elog "# echo 'ja_JP.EUC-JP EUC-JP' >> ${EROOT}/etc/locale.gen"
+		elog "# locale-gen"
+		elog
+	fi
+}

diff --git a/app-i18n/canna/files/Canna-3.6-dont-grab-ctrl-o.patch b/app-i18n/canna/files/Canna-3.6-dont-grab-ctrl-o.patch
new file mode 100644
index 000000000..c5fccdbd7
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.6-dont-grab-ctrl-o.patch
@@ -0,0 +1,11 @@
+--- a/lib/canna/alphamap.h
++++ b/lib/canna/alphamap.h
+@@ -65,7 +65,7 @@
+ /* C-l */       CANNA_FN_SelfInsert,
+ /* C-m */       CANNA_FN_SelfInsert,
+ /* C-n */       CANNA_FN_SelfInsert,
+-/* C-o */       CANNA_FN_JapaneseMode,
++/* C-o */       CANNA_FN_SelfInsert,
+ /* C-p */       CANNA_FN_SelfInsert,
+ /* C-q */       CANNA_FN_SelfInsert,
+ /* C-r */       CANNA_FN_SelfInsert,

diff --git a/app-i18n/canna/files/Canna-3.6-fix-warnings.patch b/app-i18n/canna/files/Canna-3.6-fix-warnings.patch
new file mode 100644
index 000000000..74f134eb1
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.6-fix-warnings.patch
@@ -0,0 +1,10 @@
+--- a/lib/canna/kctrl.c
++++ b/lib/canna/kctrl.c
+@@ -27,6 +27,7 @@
+ #include "canna.h"
+ 
+ #include <errno.h>
++#include <string.h>
+ #include <sys/types.h>
+ #include <canna/mfdef.h>
+ 

diff --git a/app-i18n/canna/files/Canna-3.6-wconv.patch b/app-i18n/canna/files/Canna-3.6-wconv.patch
new file mode 100644
index 000000000..90fa049f0
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.6-wconv.patch
@@ -0,0 +1,18 @@
+--- a/server/wconvert.c
++++ b/server/wconvert.c
+@@ -2096,12 +2096,12 @@
+   char *buf = (char *)0;
+ 
+   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);
+     }
+   }
+   retval = SendType6Reply(client, wThrough, EXTPROTO, stat, buf, size);

diff --git a/app-i18n/canna/files/Canna-3.7p1-fix-duplicated-strings.patch b/app-i18n/canna/files/Canna-3.7p1-fix-duplicated-strings.patch
new file mode 100644
index 000000000..303f79255
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.7p1-fix-duplicated-strings.patch
@@ -0,0 +1,93 @@
+--- a/lib/canna/romaji.c
++++ b/lib/canna/romaji.c
+@@ -21,7 +21,7 @@
+  */
+ 
+ #if !defined(lint) && !defined(__CODECENTER__)
+-static char rcs_id[] = "@(#) 102.1 $Id: romaji.c,v 1.10 2003/09/17 08:50:53 aida_s Exp $";
++static char rcs_id[] = "@(#) 102.1 $Id: romaji.c,v 1.11 2004/03/15 04:33:23 aida_s Exp $";
+ #endif /* lint */
+ 
+ #include "canna.h"
+@@ -2626,6 +2626,7 @@
+   yc->englishtype = CANNA_ENG_KANA;
+   yc->cStartp = yc->cRStartp = 0;
+   yc->jishu_kEndp = 0;
++  yc->n_susp_chars = 0;
+ }
+ 
+ static int
+@@ -2782,8 +2783,13 @@
+   }
+   yc->last_rule = 0;
+   howManyDelete = howFarToGoBackward(yc);
+-  if (howManyDelete > 0 && (yc->generalFlags & CANNA_YOMI_BREAK_ROMAN)) {
+-    yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN;
++  if (howManyDelete > 0 && (yc->generalFlags & CANNA_YOMI_BREAK_ROMAN)
++      && (yc->kAttr[yc->kCurs] & SENTOU)) {
++    /*
++     * ¥í¡¼¥Þ»ú1ʸ»ú¤ËÂбþ¤¹¤ë²¾Ì¾¤ò¾Ã¤·¤¿»þ¤Ï¥í¡¼¥Þ»ú¡¢²¾Ì¾¤È¤â
++     * SENTOU¥Õ¥é¥°¤¬1¸Ä¸º¤ë¡£
++     * ¤½¤¦¤Ç¤Ê¤¤¤È¤­¤ÏSENTOU¥Õ¥é¥°¤Î¸Ä¿ô¤ÏÊѤï¤é¤Ê¤¤
++     */
+     yc->rStartp = yc->rCurs - 1;
+     while ( yc->rStartp > 0 && !(yc->rAttr[yc->rStartp] & SENTOU) ) {
+       yc->rStartp--;
+@@ -2792,16 +2798,23 @@
+     yc->kRStartp = yc->kCurs - 1;
+     while ( yc->kRStartp > 0 && !(yc->kAttr[yc->kRStartp] & SENTOU) )
+       yc->kRStartp--;
++    /* ¤³¤ìɬ¤º¿¿¤Ç¤Ï? */
+     prevflag = (yc->kAttr[yc->kRStartp] & SENTOU);
+     kanaReplace(yc->kRStartp - yc->kCurs, 
+ 		yc->romaji_buffer + yc->rStartp,
+ 		yc->rCurs - yc->rStartp,
+ 		0);
++    /* ¥í¡¼¥Þ»ú1ʸ»ú¤ËÂбþ¤¹¤ë²¾Ì¾¤ò¾Ã¤·¤¿¤È¤­¤ÏºÇ½é¤«¤éSENTOU¤Ç¤¢¤ë */
+     yc->kAttr[yc->kRStartp] |= prevflag;
+     yc->n_susp_chars = 0; /* ¤È¤ê¤¢¤¨¤º¥¯¥ê¥¢¤·¤Æ¤ª¤¯ */
+     makePhonoOnBuffer(d, yc, (unsigned char)0, 0, 0);
++    /* °ÊÁ°¤Ï¾ï¤Ë¥Õ¥é¥°¤ò²¼¤²¤Æ¤¤¤¿¤¬¡¢Ì¤ÊÑ´¹¥í¡¼¥Þ»ú¤¬»Ä¤Ã¤Æ¤¤¤ë¤È¤­¤Ï
++     * ¥Õ¥é¥°¤ò²¼¤²¤Ê¤¤¤³¤È¤Ë¤¹¤ë */
++    if (yc->kRStartp == yc->kCurs)
++      yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN;
+   }
+   else {
++    yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN;
+     if ( yc->kAttr[yc->kCurs - howManyDelete] & HENKANSUMI ) {
+       if (yc->kAttr[yc->kCurs - howManyDelete] & SENTOU) { 
+ 	/* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀèƬ¤À¤Ã¤¿¤é */
+@@ -2821,6 +2834,12 @@
+ 	  yc->rEndp -= n;
+ 	}
+ 	else {
++	  /* ²¾Ì¾¤Î¥«¡¼¥½¥ë°ÌÃÖ¤ÏÀèƬ¤Ë¤Ê¤ë¤Î¤Ç¥í¡¼¥Þ»ú¤Î¥«¡¼¥½¥ë¤âÆ°¤«¤¹*/
++	  while ( yc->rCurs > 0 && !(yc->rAttr[--yc->rCurs] & SENTOU) )
++	    ;
++	  if (yc->rCurs < yc->rStartp) {
++	    yc->rStartp = yc->rCurs;
++	  }
+ 	  yc->kAttr[yc->kCurs] |= SENTOU;
+ 	}
+       }
+@@ -2829,6 +2848,12 @@
+       romajiReplace(-howManyDelete, (wchar_t *)NULL, 0, 0);
+     }
+     kanaReplace(-howManyDelete, (wchar_t *)NULL, 0, 0);
++    if ((yc->rAttr[yc->rCurs] & SENTOU) && yc->kRStartp == yc->kCurs) {
++      /* ̤ÊÑ´¹¤Î¥í¡¼¥Þ»ú¤ò¾Ã¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢¼¡¤ËÆþÎϤ·¤¿¥í¡¼¥Þ»ú¤Ï
++       * SENTOU¤Ë¤Ê¤ëÊý¤¬¼«Á³¤À¤í¤¦
++       */
++      yc->rStartp = yc->rCurs;
++    }
+   }
+   debug_yomi(yc);
+   return(0);
+@@ -2944,6 +2969,7 @@
+     currentModeInfo(d);
+   }
+   makeYomiReturnStruct(d);
++  debug_yomi(yc);
+   return 0;
+ }
+ 

diff --git a/app-i18n/canna/files/Canna-3.7p1-notimeout.patch b/app-i18n/canna/files/Canna-3.7p1-notimeout.patch
new file mode 100644
index 000000000..3f27a32cc
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.7p1-notimeout.patch
@@ -0,0 +1,12 @@
+バイナリー・ファイルCanna37p1.orig/lib/RKC/.wconvert.c.swpとCanna37p1/lib/RKC/.wconvert.c.swpは違います
+--- a/lib/RKC/conf.c
++++ b/lib/RKC/conf.c
+@@ -1496,7 +1496,7 @@
+ };
+ 
+ const NumberDefaultRec host_num_defaults[] = {
+-  { CONF_SERVER_TIMEOUT, 1500u },
++  { CONF_SERVER_TIMEOUT, 0u },
+ };
+ 
+ const char *

diff --git a/app-i18n/canna/files/Canna-3.7p3-fix-gcc4-warning.patch b/app-i18n/canna/files/Canna-3.7p3-fix-gcc4-warning.patch
new file mode 100644
index 000000000..42e9ee3a8
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.7p3-fix-gcc4-warning.patch
@@ -0,0 +1,136 @@
+--- a/cmd/crxgram/crxgram.c
++++ b/cmd/crxgram/crxgram.c
+@@ -485,7 +485,7 @@
+ 	    int j;
+ 
+ 	    nextS = scanToken(nextS, namevec, sizeof(namevec));
+-	    name = strtok(namevec, SEP);
++	    name = strtok((char *)namevec, SEP);
+ 	    for (j = 0; name && j < 255;) {
+ 		if (r = probeIdent(Row, name))
+ 		    rdata[i][j++] = r->rownum;
+--- a/cmd/cshost/cshost.c
++++ b/cmd/cshost/cshost.c
+@@ -152,12 +152,12 @@
+ 	    goto protoerr;
+ 	assert(wp + 2 <= endp);
+ 	printf("HOST NAME:%s\n", wp ) ;
+-	wp += strlen( wp ) + 1 ;
++	wp += strlen((char *) wp ) + 1 ;
+ 	if( *wp ) {
+ 	    printf("USER NAME:" ) ;
+ 	    while( *wp ) {
+ 		printf("%s ", wp ) ;
+-		wp += strlen( wp ) + 1 ;
++		wp += strlen((char *) wp ) + 1 ;
+ 	    }
+ 	} else
+ 	    printf("ALL USER" ) ;
+--- a/cmd/wtoc/wtoc.c
++++ b/cmd/wtoc/wtoc.c
+@@ -144,8 +144,8 @@
+      int	hindo;
+ {
+   if( !strcmp((char *)hinshi,"#kxuru") || !strcmp((char *)hinshi,"#sxuru")){
+-    strcat(yomi,"¤ë");
+-    strcat(kouho,"¤ë");
++    strcat((char *)yomi,"¤ë");
++    strcat((char *)kouho,"¤ë");
+   }
+   if( hindo == 0 )
+     fprintf( fp, "%s %s %s \n", yomi, hinshi, kouho );
+--- a/lib/canna/ebind.c
++++ b/lib/canna/ebind.c
+@@ -364,7 +364,7 @@
+     /* list_cb¤ÏKC_setListCallback¤Çd->elistcb¤Ë°ú¤Ã±Û¤¹ */
+     list_cb.client_data = (char *)arg;
+     list_cb.callback_func = &EUCListCallback;
+-    ret = XwcKanjiControl2(display, window, request, (char *)&list_cb);
++    ret = XwcKanjiControl2(display, window, request, (BYTE *)&list_cb);
+     goto return_ret;
+     /* FALLTHROUGH */
+   default: /* ¥ï¥¤¥É¤Ç¤âEUC¤Ç¤âÊѤï¤é¤Ê¤¤¤â¤Î */
+--- a/lib/canna/obind.c
++++ b/lib/canna/obind.c
+@@ -500,7 +500,7 @@
+     /* list_cb¤ÏKC_setListCallback¤Çd->elistcb¤Ë°ú¤Ã±Û¤¹ */
+     list_cb.client_data = (char *)arg;
+     list_cb.callback_func = &owcListCallback;
+-    ret = XwcKanjiControl2(display, window, request, (char *)&list_cb);
++    ret = XwcKanjiControl2(display, window, request, (BYTE *)&list_cb);
+     goto return_ret;
+   default: /* ¿·¥ï¥¤¥É¤ÈÊѤï¤é¤Ê¤¤¤â¤Î */
+     ret = XwcKanjiControl2(display, window, request, arg);
+--- a/server/convert.c
++++ b/server/convert.c
+@@ -1506,7 +1506,7 @@
+ const char *username;
+ const char *hostname;
+ {
+-    int (*ReqCallFunc) pro((char *, int)) ;
++    int (*ReqCallFunc) pro((BYTE *, int)) ;
+     register Req0 *req0 = &Request.Request0 ;
+     const char *username0 = username ? username : "";
+     const char *hostname0 = hostname ? hostname : "";
+--- a/server/wconvert.c
++++ b/server/wconvert.c
+@@ -189,7 +189,7 @@
+ size_t size;
+ {
+     ir_debug( Dmsg(10, "WriteClient:") );
+-    ir_debug( DebugDump( 10, buf, size ) );
++    ir_debug( DebugDump( 10, (const char *)buf, size ) );
+     return ClientBuf_store_reply(client->client_buf, buf, size);
+ }
+ #else
+@@ -1372,8 +1372,8 @@
+ 	/* °Ê²¼¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯ */
+ 	stat = ACCES;
+ 	if (checkPermissionToRead(client, dirname, (char *)0) >= 0) {
+-	  stat = RkwListDic(cxnum, (unsigned char *)dirname,
+-			    (unsigned char *)dicnames, requestsize);
++	  stat = RkwListDic(cxnum, (char *)dirname,
++			    (char *)dicnames, requestsize);
+ 	}
+ 
+       listdicdone:
+@@ -1403,7 +1403,7 @@
+ 	ir_debug( Dmsg(5, "dicname = %s\n",
+ 		       (req->dicname)?req->dicname:null) );
+ 
+-	stat = (char)RkwCreateDic(cxnum, (unsigned char *)req->dicname,
++	stat = (char)RkwCreateDic(cxnum, (char *)req->dicname,
+ 				  req->mode);
+     }
+ 
+@@ -1438,7 +1438,7 @@
+ 	ir_debug( Dmsg(5, "dicname = %s\n",
+ 		       (req->dicname)?req->dicname:null) );
+ 
+-	stat = (char)RkwRemoveDic(cxnum, (unsigned char *)req->dicname,
++	stat = (char)RkwRemoveDic(cxnum, (char *)req->dicname,
+ 				  req->mode);
+     }
+ 
+@@ -1456,8 +1456,8 @@
+ 
+     if (validcontext(cxnum, client, wRenameDictionary)) {
+ 	diclen = strlen(req->dicname) + 1 ;
+-	stat = RkwRenameDic(cxnum, (unsigned char *)req->dicname,
+-			    (unsigned char *)&(req->dicname)[diclen],
++	stat = RkwRenameDic(cxnum, (char *)req->dicname,
++			    (char *)&(req->dicname)[diclen],
+ 			    req->mode);
+     }
+     return SendType2Reply(client, wRenameDictionary, EXTPROTO, stat);
+@@ -1950,8 +1950,8 @@
+       ir_debug( Dmsg(5, "dicname = %s\n", Request.type15.dicname) );
+       ir_debug( Dmsg(5, "username = %s\n", username) );
+       
+-      stat = (RkwQueryDic(cxnum, (unsigned char *)username,
+-			  (unsigned char *)Request.type15.dicname,
++      stat = (RkwQueryDic(cxnum, (char *)username,
++			  (char *)Request.type15.dicname,
+ 			  dicinfo) < 0) ? -1 : 0;
+       
+       if (stat < 0) {

diff --git a/app-i18n/canna/files/Canna-3.7p3-redecl.patch b/app-i18n/canna/files/Canna-3.7p3-redecl.patch
new file mode 100644
index 000000000..816b73887
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.7p3-redecl.patch
@@ -0,0 +1,11 @@
+--- a/lib/canna/lisp.c
++++ b/lib/canna/lisp.c
+@@ -1355,8 +1355,6 @@
+ static int
+ tyi()
+ {
+-  char *gets(), *fgets();
+-
+   if (untyibuf) {
+     int ret = untyibuf[--untyip];
+     if (untyip == 0) {

diff --git a/app-i18n/canna/files/Canna-3.7p3-yenbs.patch b/app-i18n/canna/files/Canna-3.7p3-yenbs.patch
new file mode 100644
index 000000000..837fecdca
--- /dev/null
+++ b/app-i18n/canna/files/Canna-3.7p3-yenbs.patch
@@ -0,0 +1,11 @@
+--- a/lib/RK/RkGetDic.man
++++ b/lib/RK/RkGetDic.man
+@@ -41,7 +41,7 @@
+ Dictionary names are got in the area \f2dics\f1 in the following format:
+ .P
+ .RS 0.2c
+-dictionary-name-1 ¡ï0 dictionary-name-2 ¡ï0 ... dictionary-name-n ¡ï0 ¡ï0
++dictionary-name-1 \\0 dictionary-name-2 \\0 ... dictionary-name-n \\0 \\0
+ .RE
+ .P
+ The size of the area \f2dics\f1 is given in bytes by \f2maxdics\f1.  The dictionary list is truncated in character strings when it exceeds this size.

diff --git a/app-i18n/canna/files/Canna-oldsock.patch b/app-i18n/canna/files/Canna-oldsock.patch
new file mode 100644
index 000000000..f62ee6c97
--- /dev/null
+++ b/app-i18n/canna/files/Canna-oldsock.patch
@@ -0,0 +1,29 @@
+--- a/lib/RKC/wconvert.c
++++ b/lib/RKC/wconvert.c
+@@ -150,8 +150,25 @@
+     if ((ServerFD = socket((int) addr->sa_family, SOCK_STREAM, 0)) >= 0){
+ 	if( try_connect( ServerFD, addr, sizeof unaddr ) < 0 ) {
+ 	    close( ServerFD ) ;
+-	    return( -1 ) ;
++	    ServerFD = -1;
++	}
++    }
++    if (ServerFD < 0) {
++	/* for the backward compatibility */
++#define OLD_IR_UNIX_PATH	"/tmp/.iroha_unix/IROHA"
++
++	if (number)
++	    sprintf (unaddr.sun_path, "%s:%d", OLD_IR_UNIX_PATH, number);
++	else
++	    strcpy (unaddr.sun_path, OLD_IR_UNIX_PATH);
++
++	if ((ServerFD = socket ((int) addr->sa_family, SOCK_STREAM, 0)) >= 0) {
++	    if (try_connect (ServerFD, addr, sizeof (unaddr)) < 0) {
++		close (ServerFD);
++		return -1;
++	    }
+ 	}
++#undef OLD_IR_UNIX_PATH
+     }
+     return( ServerFD ) ;
+ }    

diff --git a/app-i18n/canna/files/canna-05_fix_spelling_error.patch b/app-i18n/canna/files/canna-05_fix_spelling_error.patch
new file mode 100644
index 000000000..372c7a627
--- /dev/null
+++ b/app-i18n/canna/files/canna-05_fix_spelling_error.patch
@@ -0,0 +1,63 @@
+## 06_fix_spelling_error by HIGUCHI Daisuke (VDR dai) <dai@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: eliminate lintian warning: spelling-error-in-{binary,manpages}
+
+--- a/cmd/wtoc/wtoc.c
++++ b/cmd/wtoc/wtoc.c
+@@ -195,7 +195,7 @@ main(argc,argv)
+ #endif
+   }
+   else { /* °ú¿ô¤¬ÉÔÀµ */
+-    fprintf(stderr,gettxt("cannacmd:50", "Usage: wtoc [-f part-of-speach table] [wnndic] [cannadic]\n"));
++    fprintf(stderr,gettxt("cannacmd:50", "Usage: wtoc [-f part-of-speech table] [wnndic] [cannadic]\n"));
+     exit(2);
+   }
+   if( argc >= (2 + option*2) ) { /* £×£î£î¼­½ñ¤ò¥ª¡¼¥×¥ó */
+--- a/cmd/ctow/ctow.c
++++ b/cmd/ctow/ctow.c
+@@ -256,9 +256,9 @@ char *argv[];
+       hinshis = chghinshi(h, hinshiSize, taiou, fsize);
+       if (!strcmp(hinshis,"")) {
+ 	fprintf(stderr,gettxt("cannacmd:13", 
+-	      "reading:%s nomination:%s a part of speach:%s\n"),y,k,h);
++	      "reading:%s nomination:%s a part of speech:%s\n"),y,k,h);
+ 	fprintf(stderr,gettxt("cannacmd:14", 
+-	      "This part of speach is undefined. Cannot convert.\n"));
++	      "This part of speech is undefined. Cannot convert.\n"));
+       }
+       else {
+ 	for ( ; *hinshis; hinshis++, p++) {
+--- a/lib/canna/lisp.c
++++ b/lib/canna/lisp.c
+@@ -3610,7 +3610,7 @@
+         numtostr(xnum(e2), ee);
+         num = howManyCharsAre(ss, ee, &sku, &sten, &cs);
+         if (num <= 0) {
+-          error("Inconsistent range of charcter code ", buf);
++          error("Inconsistent range of character code ", buf);
+           /* NOTREACHED */
+         }
+         kigolen = kigolen + (cswidth[cs] + 1) * num;
+--- a/lib/canna/uilib.man
++++ b/lib/canna/uilib.man
+@@ -809,7 +809,7 @@ data input:
+ 	    int length;		        /* length of echo string */
+ 	    int revPos;                 /* reverse position  */
+ 	    int revLen;                 /* reverse length    */
+-	    unsigned long info;		/* other informations */
++	    unsigned long info;		/* other information */
+ 	    unsigned char *mode;	/* mode information */
+ 	    struct {
+ 		unsigned char *line;	/* a grance of Kanji characters */
+--- a/lib/canna/uilib.jmn
++++ b/lib/canna/uilib.jmn
+@@ -749,7 +749,7 @@ XCompose¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò»ØÄꤷ¤Þ¤¹¡£
+ 	    int revPos;                 /* reverse position  */
+ 	    int revLen;                 /* reverse length    */
+ .mc \(br
+-	    unsigned long info;		/* other informations */
++	    unsigned long info;		/* other information */
+ 	    unsigned char *mode;	/* mode information */
+ 	    struct {
+ 		unsigned char *line;	/* a grance of Kanji characters */

diff --git a/app-i18n/canna/files/canna-06_fix_manpages_error.patch b/app-i18n/canna/files/canna-06_fix_manpages_error.patch
new file mode 100644
index 000000000..7b1cd0328
--- /dev/null
+++ b/app-i18n/canna/files/canna-06_fix_manpages_error.patch
@@ -0,0 +1,37 @@
+## 07_fix_manpage_error by HIGUCHI Daisuke (VDR dai) <dai@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: eliminate lintian warning: manpage-has-errors-from-man
+
+--- a/cmd/dpromdic/dpromdic.man
++++ b/cmd/dpromdic/dpromdic.man
+@@ -1,7 +1,7 @@
+ .TH DPROMDIC 1 
+-.S HNAME
++.SH NAME
+ dpromdic \- Convert the binary-form Romaji-to-Kana conversion table into the text-form table
+-.SHSYNOPSYS
++.SH SYNOPSYS
+ .B dpromdic
+ [
+ .I file
+--- a/cmd/dicar/dicar.man
++++ b/cmd/dicar/dicar.man
+@@ -28,7 +28,7 @@ dicar \- Archive Binary Dictionary
+ archives binary dictionary
+ .I bindic1.
+ The hyphen of each option may be omitted.
+-.OPTIONS
++.SH OPTIONS
+ .TP
+ .B \-t
+ Displays the dictionaries contained in binary dictionary file
+--- a/cmd/cshost/cshost.man
++++ b/cmd/cshost/cshost.man
+@@ -1,5 +1,5 @@
+ .TH CSHOST 1
+-.SH "NAMES"
++.SH "NAME"
+ cshost \- Server access control program for canna
+ .SH "SYNOPSIS"
+ .B "cshost [{\-cs|\-cannaserver} \fIcannaserver\fP]"

diff --git a/app-i18n/canna/files/canna-07_fix_ftbfs_on_hurd-i386.patch b/app-i18n/canna/files/canna-07_fix_ftbfs_on_hurd-i386.patch
new file mode 100644
index 000000000..2b3bc3c07
--- /dev/null
+++ b/app-i18n/canna/files/canna-07_fix_ftbfs_on_hurd-i386.patch
@@ -0,0 +1,16 @@
+## 08_fix_ftbfs_on_hurd-i386 by HIGUCHI Daisuke (VDR dai) <dai@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: fix FTBFS on hurd-i386. use O_RDONLY instead of bare 0.
+
+--- a/cmd/crxdic/crxdic.c
++++ b/cmd/crxdic/crxdic.c
+@@ -1228,7 +1228,7 @@ main (argc, argv)
+     if (!(dic->gramdata = RkiReadWholeFile(fp, &dic->gramsz)))
+       goto gram_err;
+     fclose(fp);
+-    if ((fd = open(gfile, 0)) < 0 || !(gram = RkReadGram(fd, dic->gramsz)))
++    if ((fd = open(gfile, O_RDONLY)) < 0 || !(gram = RkReadGram(fd, dic->gramsz)))
+       goto gram_err;
+     close(fd);
+     goto gram_ok;

diff --git a/app-i18n/canna/files/canna-10_fix_configure.ac.patch b/app-i18n/canna/files/canna-10_fix_configure.ac.patch
new file mode 100644
index 000000000..d53f3f233
--- /dev/null
+++ b/app-i18n/canna/files/canna-10_fix_configure.ac.patch
@@ -0,0 +1,19 @@
+Description: fix FTBFS caused after the DH level has bumped.
+Author: Francisco Vilmar Cardoso Ruviaro <francisco.ruviaro@riseup.net>
+Last-Update: 2020-06-20
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,9 +3,9 @@ AC_INIT([canna], [3.7p3], [canna-dev@lis
+ AC_CONFIG_SRCDIR([WHATIS.jp])
+ AC_CONFIG_HEADER([accanna.h])
+ 
+-if test "x$IN_MAKE" != xyes; then
+-  AC_MSG_ERROR([You cannot invloke configure directly.])
+-fi
++#if test "x$IN_MAKE" != xyes; then
++#  AC_MSG_ERROR([You cannot invloke configure directly.])
++#fi
+ 
+ # Checks for programs.
+ AC_PROG_CC

diff --git a/app-i18n/canna/files/canna-11_fix_spelling_error_in_binary.patch b/app-i18n/canna/files/canna-11_fix_spelling_error_in_binary.patch
new file mode 100644
index 000000000..77ff26b27
--- /dev/null
+++ b/app-i18n/canna/files/canna-11_fix_spelling_error_in_binary.patch
@@ -0,0 +1,91 @@
+Description: Fix spelling error in binaries.
+Author: Francisco Vilmar Cardoso Ruviaro <francisco.ruviaro@riseup.net>
+Last-Update: 2020-07-16
+
+--- a/cmd/catdic/can.c
++++ b/cmd/catdic/can.c
+@@ -281,7 +281,7 @@ int sig;
+      */
+     (void) RkFinalize();
+     fprintf(stderr,"\n");
+-    Message(gettxt("cannacmd:232", "Process was intrrupted."));
++    Message(gettxt("cannacmd:232", "Process was interrupted."));
+     exit(ERR_VALUE);
+ }
+ 
+@@ -323,7 +323,7 @@ int sig;
+ 	(void) RkFinalize();
+     }
+     
+-    Message(gettxt("cannacmd:232", "Process was intrrupted."));
++    Message(gettxt("cannacmd:232", "Process was interrupted."));
+     exit(ERR_VALUE);
+ }
+ 
+@@ -1475,7 +1475,7 @@ int force;
+     }
+     else {
+       fprintf(stderr, gettxt("cannacmd:174",
+-	     "Specified dictionary \"%s\" does not overwite.\n"),dicname2);
++	     "Specified dictionary \"%s\" does not overwrite.\n"),dicname2);
+       ret = 1;
+     }
+     break;
+--- a/cmd/crfreq/crfreq.c
++++ b/cmd/crfreq/crfreq.c
+@@ -199,7 +199,7 @@ main(argc, argv)
+ 
+   if ((fr = create(freqfile, 0666)) == -1) {
+     (void)close(fd);
+-    (void)fprintf(stderr, "%s: cannot create freqency file %s\n", program, freqfile);
++    (void)fprintf(stderr, "%s: cannot create frequency file %s\n", program, freqfile);
+     exit(1);
+   }
+ #ifdef __CYGWIN32__
+--- a/server/convert.c
++++ b/server/convert.c
+@@ -887,7 +887,7 @@ ClientPtr *clientp ;
+ 	if ((ret = RkwStoreYomi( cxnum, (Ushort *)cbuf, ret )) >= 0) {
+ 	    size = getFirstKouho(cxnum, bunsetu, ret, &stat, &lbufp);
+ 	} else {
+-	    PrintMsg("%s RkwStoreYomi faild\n", irerrhdr(client));
++	    PrintMsg("%s RkwStoreYomi failed\n", irerrhdr(client));
+ 	}
+     } else {
+ 	print_context_error(client);
+--- a/server/misc.c
++++ b/server/misc.c
+@@ -316,7 +316,7 @@ BecomeDaemon ()
+ 
+ #ifndef __EMX__
+     if ((parent = fork()) == -1) {
+-	PrintMsg( "Fork faild\n" );
++	PrintMsg( "Fork failed\n" );
+ 	exit( 1 ) ;
+     }
+     if ( parent ) {
+@@ -989,11 +989,11 @@ DetachTTY()
+       sprintf(errfile,"%s/%s%d%s", ERRDIR, ERRFILE, PortNumberPlus, ERRFILE2);
+     
+       if((errfd = open(errfile, O_CREAT | O_RDWR | O_TRUNC, 0644)) < 0) {
+-	(void)fprintf(stderr, "Warning: %s: %s open faild\n", Name, errfile);
++	(void)fprintf(stderr, "Warning: %s: %s open failed\n", Name, errfile);
+ 	(void)perror("");
+       } else {
+ 	if(dup2( errfd, fileno(stderr)) < 0) {
+-	  (void)fprintf(stderr, "Warning: %s: %s dup2 faild\n", Name, errfile);
++	  (void)fprintf(stderr, "Warning: %s: %s dup2 failed\n", Name, errfile);
+ 	  (void)perror("");
+ 	  close(fileno(stderr));
+ 	}
+--- a/server/wconvert.c
++++ b/server/wconvert.c
+@@ -1153,7 +1153,7 @@ ClientPtr *clientp ;
+                                sizeof(local_buffer) / sizeof(Ushort), &bufp);
+ 	  RkwGoTo(cxnum, bunsetu);
+ 	} else {
+-	    PrintMsg("%s RkwStoreYomi faild\n",
++	    PrintMsg("%s RkwStoreYomi failed\n",
+ 		    irwerrhdr(client, wStoreYomi));
+ 	    stat = -1 ;
+ 	}

diff --git a/app-i18n/canna/files/canna-12_make_the_output_of_mkbindic_reproducible.patch b/app-i18n/canna/files/canna-12_make_the_output_of_mkbindic_reproducible.patch
new file mode 100644
index 000000000..5019ec0ee
--- /dev/null
+++ b/app-i18n/canna/files/canna-12_make_the_output_of_mkbindic_reproducible.patch
@@ -0,0 +1,61 @@
+Description: make the output of mkbindic reproducible.
+Author: Chris Lamb <lamby@debian.org>
+Bug-Debian: https://bugs.debian.org/861955
+Forwarded: no
+Reviewed-By: Francisco Vilmar Cardoso Ruviaro <francisco.ruviaro@riseup.net>
+Last-Update: 2020-08-17
+
+--- a/cmd/crxdic/crxdic.c
++++ b/cmd/crxdic/crxdic.c
+@@ -31,6 +31,7 @@ static char rcsid[]="@(#) 102.1 $Id: crx
+ #include <time.h>
+ #include <ctype.h>
+ #include <fcntl.h>
++#include <limits.h>
+ #include <assert.h>
+ #include "ccompat.h"
+ #include "RKindep/file.h"
+@@ -932,6 +933,9 @@ makeHeader(dic)
+   unsigned		i;
+   RkiCksumCalc		calc;
+   unsigned		off;
++  char *source_date_epoch;
++  unsigned long long epoch;
++  char *endptr;
+     
+   if (RkiCksumCRCInit(&calc)
+       || RkiCksumAdd(&calc, dic->Dir->buf, dic->Dir->dirsiz)) {
+@@ -963,7 +967,32 @@ makeHeader(dic)
+     hd.data[HD_CMPV].var = 0x300702L;
+     hd.flag[HD_CMPV] = -1;
+   }
+-  hd.data[HD_TIME].var = tloc = time(0);
++  source_date_epoch = getenv("SOURCE_DATE_EPOCH");
++  if (source_date_epoch) {
++    errno = 0;
++    epoch = strtoull(source_date_epoch, &endptr, 10);
++    if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
++                    || (errno != 0 && epoch == 0)) {
++            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", strerror(errno));
++            exit(EXIT_FAILURE);
++    }
++    if (endptr == source_date_epoch) {
++            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", endptr);
++            exit(EXIT_FAILURE);
++    }
++    if (*endptr != '\0') {
++            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", endptr);
++            exit(EXIT_FAILURE);
++    }
++    if (epoch > ULONG_MAX) {
++            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to %lu but was found to be: %llu \n", ULONG_MAX, epoch);
++            exit(EXIT_FAILURE);
++    }
++    tloc = epoch;
++  } else {
++    tloc = time(0);
++  }
++  hd.data[HD_TIME].var = tloc;
+   hd.flag[HD_TIME] = -1;
+   hd.data[HD_DMNM].ptr = (unsigned char *)STrdup(dic->name);
+   hd.flag[HD_DMNM] = strlen(dic->name);

diff --git a/app-i18n/canna/files/canna-Wformat-security.patch b/app-i18n/canna/files/canna-Wformat-security.patch
new file mode 100644
index 000000000..c83552b5c
--- /dev/null
+++ b/app-i18n/canna/files/canna-Wformat-security.patch
@@ -0,0 +1,199 @@
+--- a/cmd/catdic/can.c
++++ b/cmd/catdic/can.c
+@@ -1236,7 +1236,7 @@
+ 	break;
+       default:
+ 	if (init[0] == '/') {
+-	    (void)fprintf(stderr,msg_abnl);
++	    (void)fprintf(stderr,"%s",msg_abnl);
+ 	} else {
+ 	    (void)fprintf(stderr,msg_abnls,init);
+ 	}
+@@ -1297,11 +1297,11 @@
+ 
+     if ( opt_fq ) {
+       if ( opt_s ) {
+-        (void) fprintf(stderr,msg_sfq);
++        (void) fprintf(stderr,"%s",msg_sfq);
+         exit(ERR_VALUE) ;
+       }  
+       if ( opt_l || opt_std ) {
+-        (void) fprintf(stderr,msg_l);
++        (void) fprintf(stderr,"%s",msg_l);
+         exit(ERR_VALUE) ;
+       }
+       mode = mode | PL_DIC ;
+@@ -1491,7 +1491,7 @@
+     break;
+   default:
+     if(init[0] == '/') {
+-      fprintf(stderr,msg_abnl );
++      fprintf(stderr,"%s",msg_abnl );
+     }
+     else {
+       fprintf(stderr,msg_abnls,init);
+--- a/cmd/catdic/rutil.c
++++ b/cmd/catdic/rutil.c
+@@ -271,7 +271,7 @@
+ 	 "Dictionary \"%s\" does not exist.\n"), dicname);
+     break;
+   case NOTALC :
+-    (void)fprintf(stderr, msg_mem);
++    (void)fprintf(stderr, "%s", msg_mem);
+     break;
+   case BADF :
+     (void)fprintf(stderr, gettxt("cannacmd:196",
+@@ -297,7 +297,7 @@
+ 	(void)fprintf(stderr,msg_abnls,init);
+     }
+     else {
+-	(void)fprintf(stderr,msg_abnl);
++	(void)fprintf(stderr,"%s",msg_abnl);
+     }
+     break;
+   }
+@@ -321,7 +321,7 @@
+ 	(void)fprintf(stderr, msg_abnls, init);
+     }
+     else {
+-	(void)fprintf(stderr, msg_abnl);
++	(void)fprintf(stderr, "%s", msg_abnl);
+     }
+     ret = -1;
+     return ret;
+@@ -332,13 +332,13 @@
+ 	  (void)fprintf(stderr, msg_mnts, init);
+       }
+       else {
+-	  (void)fprintf(stderr, msg_mnt);
++	  (void)fprintf(stderr, "%s", msg_mnt);
+       }
+       ret = -1;
+       return ret;
+     }
+     if ((mode & PL_DIC) == PL_DIC ) {
+-      (void)fprintf(stderr,msg_fq);
++      (void)fprintf(stderr,"%s",msg_fq);
+       ret = -1 ;
+       return ret ;
+     }
+@@ -359,7 +359,7 @@
+     ret = 0;
+     break;
+   case NOTALC :
+-    (void)fprintf(stderr, msg_mem);
++    (void)fprintf(stderr, "%s", msg_mem);
+     ret = -1;
+     break;
+   case BADF :
+@@ -421,7 +421,7 @@
+     ret = -1;
+     break;
+   case BADCONT :
+-    (void)fprintf(stderr,msg_cnt);
++    (void)fprintf(stderr,"%s",msg_cnt);
+     ret = -1;
+     break;
+   default:
+@@ -429,7 +429,7 @@
+       (void)fprintf(stderr, msg_abnls, init);
+     }
+     else {
+-	(void)fprintf(stderr, msg_abnl);
++	(void)fprintf(stderr, "%s", msg_abnl);
+     }
+     exit(ERR_VALUE);
+     break;
+@@ -448,7 +448,7 @@
+     ret = 0;
+     break;
+   case NOTALC :
+-    (void)fprintf(stderr, msg_mem);
++    (void)fprintf(stderr, "%s", msg_mem);
+     ret = -1;
+     break;
+   case BADF :
+@@ -509,11 +509,11 @@
+     ret = -1;
+     break;
+   case BADARG :
+-    (void)fprintf(stderr,msg_fq);
++    (void)fprintf(stderr,"%s",msg_fq);
+     ret = -1;
+     break;
+   case BADCONT :
+-    (void)fprintf(stderr,msg_cnt);
++    (void)fprintf(stderr,"%s",msg_cnt);
+     ret = -1;
+     break;
+   case NOENT  :   /* 91.12.03 */
+@@ -526,7 +526,7 @@
+       (void)fprintf(stderr, msg_abnls, init);
+     }
+     else {
+-	(void)fprintf(stderr, msg_abnl);
++	(void)fprintf(stderr, "%s", msg_abnl);
+     }
+     exit(ERR_VALUE);
+     break;
+@@ -556,7 +556,7 @@
+       (void)fprintf(stderr, msg_abnls,init);
+     }
+     else {
+-	(void)fprintf(stderr, msg_abnl);
++	(void)fprintf(stderr, "%s", msg_abnl);
+     }
+     ret = -1;
+     return ret;
+@@ -567,13 +567,13 @@
+ 	(void)fprintf(stderr, msg_mnts, init);
+       }
+       else {
+-	  (void)fprintf(stderr, msg_mnt);
++	  (void)fprintf(stderr, "%s", msg_mnt);
+       }
+       ret = -1;
+       return ret;
+     }
+     if ((mode & PL_DIC) == PL_DIC ) {
+-      (void)fprintf(stderr, msg_fq);
++      (void)fprintf(stderr, "%s", msg_fq);
+       ret = -1 ;
+       return ret ;
+     }
+@@ -608,7 +608,7 @@
+     ret = -2;   /* 93.03.03 */
+     break;
+   case BADCONT :
+-    (void)fprintf(stderr, msg_cnt);
++    (void)fprintf(stderr, "%s", msg_cnt);
+     ret = -1;
+     break;
+   default:
+@@ -616,7 +616,7 @@
+ 	(void)fprintf(stderr, msg_abnls, init);
+     }
+     else {
+-	(void)fprintf(stderr, msg_abnl);
++	(void)fprintf(stderr, "%s", msg_abnl);
+     }
+     ret = -1;
+     break;
+@@ -651,7 +651,7 @@
+     ret = -2;   /* 93.03.03 */
+     break;
+   case BADCONT :
+-    (void)fprintf(stderr, msg_cnt);
++    (void)fprintf(stderr, "%s", msg_cnt);
+     ret = -1;
+     break;
+   default:
+@@ -659,7 +659,7 @@
+ 	(void)fprintf(stderr, msg_abnls, init);
+     }
+     else {
+-	(void)fprintf(stderr, msg_abnl);
++	(void)fprintf(stderr, "%s", msg_abnl);
+     }
+     ret = -1;
+     break;

diff --git a/app-i18n/canna/files/canna-Wformat.patch b/app-i18n/canna/files/canna-Wformat.patch
new file mode 100644
index 000000000..a8f5aa371
--- /dev/null
+++ b/app-i18n/canna/files/canna-Wformat.patch
@@ -0,0 +1,11 @@
+--- a/doc/man/guide/tex/cannaindex.c
++++ b/doc/man/guide/tex/cannaindex.c
+@@ -198,7 +198,7 @@
+   }
+   inf = fopen(argv[1], "r");
+   if (!inf) {
+-    fprintf(stderr, "%s: Can not open file \"%s\".\n", argv[1]);
++    fprintf(stderr, "%s: Can not open file \"%s\".\n", program, argv[1]);
+     exit(1);
+   }
+   pages = readindex(inf, entries);

diff --git a/app-i18n/canna/files/canna-canuum.patch b/app-i18n/canna/files/canna-canuum.patch
new file mode 100644
index 000000000..293ffbb54
--- /dev/null
+++ b/app-i18n/canna/files/canna-canuum.patch
@@ -0,0 +1,34 @@
+--- a/canuum/configure.in
++++ b/canuum/configure.in
+@@ -401,7 +401,7 @@
+ dnl
+ olibs="$LIBS"
+ AC_MSG_CHECKING(--with-term-libs argument)
+-AC_ARG_WITH(tlib,
++AC_ARG_WITH(term-libs,
+ [  --with-term-libs=-lLIB    terminal library to be used ],)
+ if test -n "$with_term_libs"; then
+   AC_MSG_RESULT($with_term_libs)
+--- a/canuum/wnn_config.h
++++ b/canuum/wnn_config.h
+@@ -149,8 +149,8 @@
+ #define TTY_KCODE J_EUJIS
+ #define PTY_KCODE J_EUJIS
+ # else /* !DGUX */
+-#define TTY_KCODE J_JIS
+-#define PTY_KCODE J_JIS
++#define TTY_KCODE J_EUJIS
++#define PTY_KCODE J_EUJIS
+ # endif
+ #endif
+ 
+--- a/canuum/wnn_os.h
++++ b/canuum/wnn_os.h
+@@ -41,6 +41,7 @@
+ #include <signal.h>
+ #if STDC_HEADERS
+ #  include <stdlib.h>
++#  include <string.h>
+ #  include <limits.h>
+ #endif /* STDC_HEADERS */
+ 

diff --git a/app-i18n/canna/files/canna-gentoo.patch b/app-i18n/canna/files/canna-gentoo.patch
new file mode 100644
index 000000000..7ff274c2c
--- /dev/null
+++ b/app-i18n/canna/files/canna-gentoo.patch
@@ -0,0 +1,146 @@
+--- a/Canna.conf
++++ b/Canna.conf
+@@ -109,12 +109,12 @@
+ # define DefErrDir $(cannaPrefix)/log
+ # define DefLibCannaDir $(cannaExecPrefix)/lib
+ #else 
+-# define DefCannaPrefix /usr/local/canna
++# define DefCannaPrefix $(EPREFIX)/usr
+ # ifdef ObsoleteInstallDir
+ #  define DefErrDir /usr/spool/canna
+ #  define DefLibCannaDir /usr/lib
+ # else
+-#  define DefErrDir /var/log
++#  define DefErrDir $(EPREFIX)/var/log/$(PN)
+ #  define DefLibCannaDir $(cannaExecPrefix)/lib
+ # endif
+ #endif
+@@ -123,7 +123,7 @@
+ # define DefCannaLibDir $(cannaPrefix)/lib
+ #else
+ # define DefCannaSrvDir $(cannaExecPrefix)/sbin
+-# define DefCannaLibDir $(cannaPrefix)/share/canna
++# define DefCannaLibDir /etc/canna
+ #endif
+ 
+ #if defined(LinuxArchitecture) || defined(FreeBSDArchitecture) \
+@@ -147,9 +147,11 @@
+ XCOMM cannaLibDir = /var/lib/canna
+ XCOMM cannaLibDir = /var/db/canna
+ cannaLibDir = DefCannaLibDir
+-XCOMM cannaManDir = $(cannaPrefix)/share/man
+-cannaManDir = $(cannaPrefix)/man
+-cannaIncDir = $(cannaPrefix)/include/canna
++cannaManDir = $(cannaPrefix)/share/man
++XCOMM cannaManDir = $(cannaPrefix)/man
++cannaIncDir = $(cannaPrefix)/include/$(PN)
++cannaShareDir = $(cannaPrefix)/share/$(PN)
++cannaDocDir = $(cannaPrefix)/share/doc/$(PF)
+ 
+ libCannaDir = DefLibCannaDir
+ ErrDir  = DefErrDir
+@@ -237,7 +239,7 @@
+ /* #define UseInstalledLibCanna YES */
+ #define UseInstalledLibCanna NO
+ 
+-DicDir   = $(cannaLibDir)/dic
++DicDir   = $(EPREFIX)/var/lib/$(PN)/dic
+ 
+ /* ¤³¤³¤«¤é²¼¤ÏÊѹ¹ÉÔÍפǤ¹ */
+ 
+--- a/Imakefile
++++ b/Imakefile
+@@ -87,6 +87,7 @@
+ 	 echo "#define CANNAHOSTFILE \"$(cannaLibDir)/cannahost\"";\
+ 	 echo "/* for lib/canna */";\
+ 	 echo "#define CANNALIBDIR \"$(cannaLibDir)\""; \
++	 echo "#define CANNASHAREDIR \"$(cannaShareDir)\""; \
+ 	 echo "#define SUPPORT_OLD_WCHAR $(supportOldWchar)"; \
+ 	 echo "/* for scripts */";\
+ 	 echo "#define CANNABINDIR $(cannaBinDir)"; \
+--- a/dic/phono/Imakefile
++++ b/dic/phono/Imakefile
+@@ -27,9 +27,10 @@
+ 
+        ROMAJI_DIC_DEF = -DSHIFT
+ 
+-               DICDIR = $(cannaLibDir)/dic
+-            SAMPLEDIR = $(cannaLibDir)/sample
+-         SAMPLESRCDIR = $(cannaLibDir)/sample/src
++               DICDIR = $(DicDir)
++        CANNASHAREDIR = $(cannaShareDir)
++            SAMPLEDIR = $(cannaDocDir)/sample
++         SAMPLESRCDIR = $(cannaDocDir)/sample/src
+ 
+     KPDEF = default.kpdef jdaemon.kpdef just.kpdef kaisoku.kpdef kana.kpdef \
+             lan5.kpdef matsu.kpdef newjis.kpdef romaji.kpdef sokuon.kpdef \
+@@ -69,7 +70,7 @@
+ MakeDirectories(install,$(DICDIR))
+ MakeDirectories(install,$(SAMPLESRCDIR))
+ 
+-InstallMultiple($(ROMKANA_TABLES),$(DICDIR))
++InstallMultiple($(ROMKANA_TABLES),$(CANNASHAREDIR))
+ 
+ #ifdef USE_OBSOLETE_STYLE_FILENAME
+ InstallNonExec(default.kpdef,$(SAMPLESRCDIR))
+--- a/lib/canna/romaji.c
++++ b/lib/canna/romaji.c
+@@ -427,7 +427,6 @@
+ 	}
+       }
+       
+-#if 0 /* currently CANNASHAREDDIR is not defined */
+       if (retval == (struct RkRxDic *)NULL) { /* added for Debian by ISHIKAWA Mutsumi <ishikawa@linux.or.jp> */
+         extern jrUserInfoStruct *uinfo;
+ 	
+@@ -450,7 +449,6 @@
+ 	  }
+ 	}
+       }
+-#endif
+       
+       if (retval == (struct RkRxDic *)NULL) { /* Á´Éô¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤ */
+ 	sprintf(rdic, 
+--- a/misc/Imakefile
++++ b/misc/Imakefile
+@@ -48,7 +48,7 @@
+ MakeLintLibSubdirs($(SUBDIRS))
+ MakeLintSubdirs($(SUBDIRS),install.ln,install.ln)
+ 
+-MakeDirectories(install,$(cannaLibDir)/sample/src)
++MakeDirectories(install,$(cannaDocDir)/sample/src)
+ 
+ #ifdef USE_OBSOLETE_STYLE_FILENAME
+ default.canna: default.ca
+@@ -58,8 +58,8 @@
+ 	$(CP) default.ca default.canna
+ #endif
+ 
+ InstallNonExec(default.canna,$(cannaLibDir))
+-InstallNonExec(is.c,$(cannaLibDir)/sample/src)
++InstallNonExec(is.c,$(cannaDocDir)/sample/src)
+ 
+ clean::
+ 	$(RM) $(PROGRAMS)
+--- a/misc/initfiles/Imakefile
++++ b/misc/initfiles/Imakefile
+@@ -6,7 +6,7 @@
+ #endif
+ 
+             CANNAROOT = ../..
+-            SAMPLEDIR = $(cannaLibDir)/sample
++            SAMPLEDIR = $(cannaDocDir)/sample
+ 
+ all::
+ 
+--- a/server/Imakefile
++++ b/server/Imakefile
+@@ -6,7 +6,7 @@
+ #ifdef __EMX__
+          INSTFLAGS = $(INSTUGIDFLAGS)
+ #else
+-         INSTFLAGS = -s $(INSTUGIDFLAGS)
++         INSTFLAGS = $(INSTUGIDFLAGS)
+ #endif
+            DEFINES = $(CANNASERVER_DEFINES) $(SIGNAL_DEFINES) ConnectionFlags
+           INCLUDES = -I$(CANNAROOT)/include

diff --git a/app-i18n/canna/files/canna-kpdef.patch b/app-i18n/canna/files/canna-kpdef.patch
new file mode 100644
index 000000000..b0b71b444
--- /dev/null
+++ b/app-i18n/canna/files/canna-kpdef.patch
@@ -0,0 +1,18 @@
+--- a/dic/phono/default.kpdef
++++ b/dic/phono/default.kpdef
+@@ -350,3 +350,15 @@
+ _	¡²
+ /	¡¿
+ \\	¡ï
++
++# some useful romkan symbols
++z,	¡Å
++z-	¡Á
++z.	¡Ä
++z/	¡¦
++z[	¡Ø
++z]	¡Ù
++zh	¢«
++zj	¢­
++zk	¢¬
++zl	¢ª

diff --git a/app-i18n/canna/files/canna-overflow.patch b/app-i18n/canna/files/canna-overflow.patch
new file mode 100644
index 000000000..ef3b6ad1b
--- /dev/null
+++ b/app-i18n/canna/files/canna-overflow.patch
@@ -0,0 +1,20 @@
+--- a/cmd/catdic/rutil.c
++++ b/cmd/catdic/rutil.c
+@@ -384,7 +384,7 @@
+ 	(void)fprintf(stderr,gettxt("cannacmd:205", 
+     "Specified dictionary \"%s\" already exists. Do you overwrite it ? (y/n)"),
+ 		      dicname);
+-	fgets(ans,80,stdin);
++	fgets(ans,sizeof(ans),stdin);
+     } else {
+ 	(void)fprintf(stderr,gettxt("cannacmd:206", 
+ 	    "Specified dictionary \"%s\" already exists."),dicname);
+@@ -474,7 +474,7 @@
+     if (isatty(fileno(stdin)) != 0) {
+ 	(void)fprintf(stderr,gettxt("cannacmd:216", 
+ "Personal learning file of dictionary \"%s\" exists. Do you overwrite it ? (y/n)"),dicname);
+-	fgets(ans,80,stdin);
++	fgets(ans,sizeof(ans),stdin);
+     } else {
+ 	(void)fprintf(stderr,gettxt("cannacmd:217", 
+     "Personal learning file of system dictionary \"%s\" already exists."),

diff --git a/app-i18n/canna/files/canna-posix-sort.patch b/app-i18n/canna/files/canna-posix-sort.patch
new file mode 100644
index 000000000..1f98aaf5e
--- /dev/null
+++ b/app-i18n/canna/files/canna-posix-sort.patch
@@ -0,0 +1,11 @@
+--- a/cmd/mkbindic/mkbindic.cpp
++++ b/cmd/mkbindic/mkbindic.cpp
+@@ -40,7 +40,7 @@
+ bck_text=;
+ flag=;
+ compat_flag=;
+-sortcmd="sort -d -s +0 -1"
++sortcmd="sort -d -s -k 1,1"
+ usage="usage: mkbindic [-m|-s] [-name dicname] [-c version] textfile [cpp-args ...]";
+ : ${TMPDIR:=/tmp}
+ 

diff --git a/app-i18n/canna/files/canna-respect-flags.patch b/app-i18n/canna/files/canna-respect-flags.patch
new file mode 100644
index 000000000..13fb1ed9c
--- /dev/null
+++ b/app-i18n/canna/files/canna-respect-flags.patch
@@ -0,0 +1,29 @@
+--- /var/tmp/portage/app-i18n/canna-3.7_p3-r4/work/Canna37p3/canuum/Imakefile
++++ Canna37p3/canuum/Imakefile
+@@ -51,6 +51,8 @@
+ 	$(CONFIGURE_CMD)
+ XCOMM Invoked from confwrapper
+ cwenv.sh:
+-	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) > $@
+-	$(CANNAROOT)/confwrapper mkenv CC env $(CC) >> $@
++	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) $(CPPFLAGS) > $@
++	$(CANNAROOT)/confwrapper mkenv CC $(CC) >> $@
++	$(CANNAROOT)/confwrapper mkenv AR $(AR) >> $@
+ 	$(CANNAROOT)/confwrapper mkenv CFLAGS $(PURE_CFLAGS) >> $@
++	$(CANNAROOT)/confwrapper mkenv LDFLAGS $(LDFLAGS) >> $@
+--- /var/tmp/portage/app-i18n/canna-3.7_p3-r4/work/Canna37p3/Imakefile
++++ Canna37p3/Imakefile
+@@ -117,9 +117,11 @@
+ 	$(CONFIGURE_CMD)
+ XCOMM Invoked from confwrapper
+ cwenv.sh:
+-	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) > $@
+-	$(CANNAROOT)/confwrapper mkenv CC env $(CC) >> $@
++	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) $(CPPFLAGS) > $@
++	$(CANNAROOT)/confwrapper mkenv CC $(CC) >> $@
++	$(CANNAROOT)/confwrapper mkenv AR $(AR) >> $@
+ 	$(CANNAROOT)/confwrapper mkenv CFLAGS $(PURE_CFLAGS) >> $@
++	$(CANNAROOT)/confwrapper mkenv LDFLAGS $(LDFLAGS) >> $@
+ 
+ CANNAROOT = .
+ SERVERDIR = server dic/phono dic/ideo

diff --git a/app-i18n/canna/files/canna-rundir.patch b/app-i18n/canna/files/canna-rundir.patch
new file mode 100644
index 000000000..d8c58be49
--- /dev/null
+++ b/app-i18n/canna/files/canna-rundir.patch
@@ -0,0 +1,15 @@
+--- a/Canna.conf
++++ b/Canna.conf
+@@ -341,10 +341,10 @@
+ #endif
+ 
+ #ifdef InstallAsUser
+-UnixSockDir = $(cannaPrefix)/tmp/.iroha_unix
++UnixSockDir = $(cannaPrefix)/run/.iroha_unix
+ AccessFile = $(cannaPrefix)/etc/hosts.canna
+ #else
+-UnixSockDir = /tmp/.iroha_unix
++UnixSockDir = /run/.iroha_unix
+ AccessFile = /etc/hosts.canna
+ #endif
+ UnixSockName = IROHA

diff --git a/app-i18n/canna/files/canna-tmpfiles.conf b/app-i18n/canna/files/canna-tmpfiles.conf
new file mode 100644
index 000000000..8b70ef1a1
--- /dev/null
+++ b/app-i18n/canna/files/canna-tmpfiles.conf
@@ -0,0 +1,2 @@
+d /run/.iroha_unix 0755 canna canna -
+

diff --git a/app-i18n/canna/files/canna.confd b/app-i18n/canna/files/canna.confd
new file mode 100644
index 000000000..d3fdce542
--- /dev/null
+++ b/app-i18n/canna/files/canna.confd
@@ -0,0 +1,7 @@
+CANNASERVER_ENABLE_SYSLOG="yes"
+
+# Specify user to run as
+CANNASERVER_OWNER="bin"
+
+# Options for cannaserver
+CANNASERVER_OPTS=""

diff --git a/app-i18n/canna/files/canna.hosts b/app-i18n/canna/files/canna.hosts
new file mode 100644
index 000000000..509143d86
--- /dev/null
+++ b/app-i18n/canna/files/canna.hosts
@@ -0,0 +1 @@
+unix

diff --git a/app-i18n/canna/files/canna.initd b/app-i18n/canna/files/canna.initd
new file mode 100644
index 000000000..fdfc3fc20
--- /dev/null
+++ b/app-i18n/canna/files/canna.initd
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/sbin/${RC_SVCNAME}server"
+command_args="${CANNASERVER_OPTS}"
+
+# CANNASERVER_OPTS and CANNASERVER_OWNER is defined in /etc/conf.d/canna
+CANNASERVER_LOGFILE="/var/log/${RC_SVCNAME}/CANNA0msgs"
+
+depend() {
+	use logger
+	need net
+}
+
+start_pre() {
+	if [ "${CANNASERVER_ENABLE_SYSLOG}" = "yes" ]; then
+		command_args="${command_args} -syslog"
+	elif [ -z "${CANNASERVER_OWNER}" ]; then
+		checkpath "${CANNASERVER_LOGFILE}"
+	else
+		checkpath -o "${CANNASERVER_OWNER}" "${CANNASERVER_LOGFILE}"
+		command_args="${command_args} -u ${CANNASERVER_OWNER}"
+	fi
+}
+
+stop() {
+	ebegin "Stopping ${name:-${RC_SVCNAME}}"
+	/usr/sbin/${RC_SVCNAME}kill
+	eend ${?}
+}

diff --git a/app-i18n/canna/files/canna.service b/app-i18n/canna/files/canna.service
new file mode 100644
index 000000000..1bd0498fb
--- /dev/null
+++ b/app-i18n/canna/files/canna.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Canna Japanese Conversion Engine
+After=syslog.target
+
+[Service]
+User=canna
+Type=forking
+ExecStart=/usr/sbin/cannaserver -syslog
+ExecStop=/usr/sbin/cannakill
+
+[Install]
+WantedBy=multi-user.target

diff --git a/app-i18n/canna/files/cannaping.c b/app-i18n/canna/files/cannaping.c
new file mode 100644
index 000000000..67f49808b
--- /dev/null
+++ b/app-i18n/canna/files/cannaping.c
@@ -0,0 +1,46 @@
+/*
+ * cannaping - the minimal cannaserver check program
+ *
+ * Copyright (C) 2003 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/*
+ * Bugs & suggestions about this program are welcome:
+ * http://bugzilla.redhat.com/
+ *
+ * 2003/02/04
+ * Yukihiro Nakai <ynakai@redhat.com>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <canna/jrkanji.h>
+
+int main() {
+  char** warning = NULL;
+  int res = jrKanjiControl(0, KC_INITIALIZE, (char*)&warning);
+
+  if( res != 0 ) {
+    exit(-1);
+  } else if( warning ) {
+    exit(-1);
+  }
+
+  jrKanjiControl(0, KC_FINALIZE, 0);
+  return 0;
+}

diff --git a/app-i18n/canna/files/dot-canna b/app-i18n/canna/files/dot-canna
new file mode 100644
index 000000000..37fdc2f27
--- /dev/null
+++ b/app-i18n/canna/files/dot-canna
@@ -0,0 +1,195 @@
+;; Copyright 1992 NEC Corporation, Tokyo, Japan.
+;;
+;; Permission to use, copy, modify, distribute and sell this software
+;; and its documentation for any purpose is hereby granted without
+;; fee, provided that the above copyright notice appear in all copies
+;; and that both that copyright notice and this permission notice
+;; appear in supporting documentation, and that the name of NEC
+;; Corporation not be used in advertising or publicity pertaining to
+;; distribution of the software without specific, written prior
+;; permission.  NEC Corporation makes no representations about the
+;; suitability of this software for any purpose.  It is provided "as
+;; is" without express or implied warranty.
+;;
+;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN 
+;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 
+;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 
+;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
+;; PERFORMANCE OF THIS SOFTWARE. 
+
+;;  $Id: dot-canna,v 1.1 2005/09/26 09:29:14 tagoh Exp $
+
+;; µ­¹æÃÖ¤­´¹¤¨ÊÑ´¹¤òÍøÍѤ¹¤ë¤«¡£
+
+(setq use-symbolic-definition t)
+
+;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê
+;
+; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï
+; (1) ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê
+; (2) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê
+; (3) /usr/lib/canna/dic
+; ¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£
+;
+
+;(setq romkana-table "unix.cbp")
+(setq romkana-table "default.cbp")
+
+;; ³°Íè¸ìÊÑ´¹
+;(setq english-table "canna/english.cbp")
+
+
+;;; ÍøÍѤ¹¤ë¼­½ñ
+;
+; ¤¿¤Àñ¤Ë½ñ¤­Ê¤٤Ƥ¤¤ë¤Î¤Ïñ¸ìÅÐÏ¿¤ò¹Ô¤ï¤Ê¤¤¼­½ñ¤Ç¥·¥¹¥Æ¥à¼­½ñ¤Ê¤É¤¬
+; ¤³¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£
+;
+; Éô¼ó¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :bushu ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£
+;
+; ñ¸ìÅÐÏ¿¤ò¤·¤¿¤¤¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :user ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£Ã±¸ìÅÐ
+; Ï¿¤ò¤¹¤ë¼­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ã±¸ìÅÐÏ¿¤µ¤»¤¿¤¤
+; ¼­½ñ¤Ï mkdic user ¤ÎÍͤʥ³¥Þ¥ó¥É¤òÂǤĤ³¤È¤Ç¤Ç´Êñ¤ËºîÀ®¤¹¤ë¤³¤È¤¬¤Ç
+; ¤­¤Þ¤¹¡£
+;
+(use-dictionary
+ "gcanna"
+ "gcannaf"
+ "chimei"
+; "iroha"
+ "fuzokugo"
+ "hojomwd"
+ "hojoswd"
+ "software"
+ "keishiki"
+ "zipcode"
+ "geo"
+; "zip99"
+ "basho"
+ "keisan"
+ "pub"
+ "scien"
+ "sup"
+ "bonobo"
+ :bushu "bushu"
+ :user  "user"
+ )
+
+;;; ¤µ¤Þ¤¶¤Þ¤Ê¥Ñ¥é¥á¥¿¤ÎÀßÄê
+;
+; ¿¿ÍýÃͤòÀßÄꤹ¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¿¿¤Ë¤Ä¤¤¤Æ¤Ï t ¡¢µ¶¤Ë¤Ä¤¤¤Æ¤Ï nil ¤òÀß
+; Äꤷ¤Þ¤¹¡£
+
+; °ìÈÖ±¦¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¤è¤¦¤Ë¤¹¤ë¤«
+(setq cursor-wrap          t)	; default t
+
+; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤Ë¥«¡¼¥½¥ë°ÜÆ°¤Ëα¤á¤ë(nil)¤«ÁªÂò¤Þ¤Ç¤·¤Æ
+; ¤·¤Þ¤¦¤«(t)
+(setq select-direct        t)	; default t
+
+; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¤«(t)¡£nil¤Î»þ¤Ï¿ô»ú¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó
+(setq numerical-key-select t)	; default t
+
+; ¸õÊäɽ¼¨»þ¤ËʸÀá¤Î¶èÀÚ¤ê¤Ë¶õÇò¤ò¤¤¤ì¤ë¤«
+(setq bunsetsu-kugiri nil)      ; default nil
+
+; ʸ»ú¥Ù¡¼¥¹¤Î°ÜÆ°¤ò¤¹¤ë¤«(t)¡£ nil¤Î»þ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼
+; ¥½¥ë°ÜÆ°¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
+(setq character-based-move t)	; default t
+
+; ÆþÎÏÃæ¤ÎÆɤßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤¹¤ë¤«
+(setq reverse-widely       nil)	; default nil
+
+; ÉÑÅٳؽ¬¤ò¤¹¤ë¤«
+(setq gakushu              t)	; default t
+
+; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é°ìö°ìÍ÷ɽ¼¨¤ò¤ä¤á¤ë¤«
+(setq quit-if-end-of-ichiran nil); default nil
+
+; ʸÀá¤Î±¦Ã¼¤Ç±¦°ÜÆ°¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤷ¤Æ¤·¤Þ¤¦¤«
+(setq kakutei-if-end-of-bunsetsu nil) ; default nil
+
+; °ìÍ÷ÁªÂò¸åƱ¤¸Ê¸Àá¤Ë¤È¤É¤Þ¤ë¤«(t)¡£nil¤Î»þ¤Ï°ìÍ÷ÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè
+; ¤ÎʸÀá¤Ë°ÜÆ°¤·¤Þ¤¹¡£
+(setq stay-after-validate  t)	; default t
+
+; ÆɤߤòÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂÇ¤Ä¤È¥í¡¼¥Þ»ú¤Þ¤Ç¥Ð¥é¥Ð¥é¤Ë¤¹¤ë¤«
+(setq break-into-roman     t)	; default nil
+
+; ²¿²ó¤ÎÊÑ´¹¥­¡¼¤Ç°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¤«¡££°¤òÆþ¤ì¤ë¤ÈÊÑ´¹¥­¡¼¤À¤±¤Ç¤Ï
+; °ìÍ÷ɽ¼¨¤Ë¤Ï°Ü¤ê¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï C-w ¤òÆþÎϤ·¤Æ°ìÍ÷ɽ¼¨¤·¤Æ
+; ²¼¤µ¤¤¡£
+(setq n-henkan-for-ichiran 2)	; default 2
+
+; ñ¸ìÅÐÏ¿»þ¤Ëʸˡ´ØÏ¢¤Î¼ÁÌä¤ò¤¹¤ë¤«(t)¡£nil¤Î»þ¤ÏŬÅö¤ÊÉÊ»ì¤òÉÕ¤±¤Æ¤·
+; ¤Þ¤¤¤Þ¤¹¡£
+(setq gramatical-question  t)	; default t
+
+; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¤«
+(setq kouho-count t)            ; default t
+
+; Ã༡ÊÑ´¹¤ò¤¹¤ë¤«
+(setq auto nil)                 ; default nil
+
+; Ã༡ÊÑ´¹¤ò¤¹¤ë»þ¤Ë²¿¸Ä¤ÎʸÀá¤Þ¤Ç¤ò̤³ÎÄê¤ÇÊÝ»ý¤¹¤ë¤«
+(setq n-kouho-bunsetsu 16)      ; default 16
+
+; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¥¤¥ê¡¼¥¬¥ë¤Ê¥í¡¼¥Þ»ú¤ò¼Î¤Æ¤ë¤«
+(setq abandon-illegal-phonogram nil)              ; default nil
+
+; °ìÍ÷¤Î»þ¤â¼¡¤ÎÆþÎϤòǧ¤á¤ë¤«
+(setq allow-next-input 		 t)	; default t
+
+; °ìʸ»ú¥ì¥Ù¥ë¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÊä½õ¥Æ¡¼¥Ö¥ë
+(if use-symbolic-definition
+    (progn
+      (defsymbol ?-  "¡¼" "-" "¡Ý" "¡¾")
+      (defsymbol ?/  "/"  "¡¿"  "¡¦")
+      (defsymbol ?\\ "\\" "¡À"  "¡ï")
+      (defsymbol
+	?( "(" "¡Ê" "¡Ú"
+	?) ")" "¡Ë" "¡Û" )
+      (defsymbol 
+	?[ "¡Ö" "¡Ø" "¡Î" "¡Ì" "["
+	?] "¡×" "¡Ù" "¡Ï" "¡Í" "]")
+      (defsymbol 
+	?. "¡£" "¡¥" "."
+	?, "¡¢" "¡¤" "," )
+      (defsymbol
+	?0 "0" "£°" "¡»" "Îí"
+	?1 "1" "£±" "°ì" "°í"
+	?2 "2" "£²" "Æó" "Æõ"
+	?3 "3" "£³" "»°" "»²"
+	?4 "4" "£´" "»Í" "»Í"
+	?5 "5" "£µ" "¸Þ" "¸à"
+	?6 "6" "£¶" "Ï»" "Ï»"
+	?7 "7" "£·" "¼·" "¼·"
+	?8 "8" "£¸" "Ȭ" "Ȭ"
+	?9 "9" "£¹" "¶å" "¶å" )
+      (defsymbol
+	?? "?" "¡©"
+	?! "!" "¡ª")
+      (defsymbol ?# "#" "¡ô")
+      (defsymbol ?$ "$" "¡ð")
+      (defsymbol ?% "%" "¡ó")
+      (defsymbol ?& "&" "¡õ")
+      (defsymbol ?+ "+" "¡Ü")
+      (defsymbol ?* "*" "¡ö" "¡ß")
+      (defsymbol ?_ "_" "¡²")
+      (defsymbol ?' "'" "¡Ç")
+      (defsymbol ?` "`" "¡Æ")
+      (defsymbol ?\" "\"" "¡É")
+      ))
+
+;; delete ¥­¡¼¤â¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤ÈƱ¤¸½èÍý¤ò¤µ¤»¤ë
+(global-set-key "\Delete" 'delete-previous) ; necessary in using Emacs
+
+;; Help ¤¬¤Ê¤¤¿Í¤â¤¤¤ë¤Î¤Ç F1 ¤Ç¤âƱ¤¸Æ°ºî¤ò¤µ¤»¤ë¡£
+(global-set-key "\F1" 'extend-mode)
+
+;; Escape key should escape from the mode.
+(global-set-key "\Escape" 'quit)
+
+;; Ctrl-o ¤ÎÍÞÀ©
+(global-unbind-key-function 'japanese-mode)

diff --git a/app-i18n/canna/files/update-canna-dics_dir b/app-i18n/canna/files/update-canna-dics_dir
new file mode 100644
index 000000000..b4061c885
--- /dev/null
+++ b/app-i18n/canna/files/update-canna-dics_dir
@@ -0,0 +1,36 @@
+#!/bin/sh
+# update-canna-dics_dir
+# compiles dics.dir files for Canna Server
+# Copyright 2001 ISHIKAWA Mutsumi
+# Licensed under the GNU General Public License, version 2.  See the file
+# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
+
+SRC=/etc/canna/dics.dir.d
+DEST=/var/lib/canna/dic/canna
+
+for DIR in $SRC $DEST; do
+    VALID=yes
+    if [ ! -d $DIR ]; then
+	echo "$0: $DIR does not exist or is not a directory." >&2
+	VALID=
+    fi
+done
+
+if [ -n "$VALID" ]; then
+    # write new dics.dir file in case we are interrupted
+    echo '# dics.dir -- automatically generated file.  DO NOT EDIT.' > $DEST/dics.dir.update-new
+#    echo '# To modify, see update-canna-dics_dir(8). >> $DEST/dics.dir.update-new
+    # are there any files to process?
+    if [ "$(echo $SRC/*.dics.dir)" != "$SRC/*.dics.dir" ]; then
+	for file in $SRC/*.dics.dir; do
+	    echo "# $file" >> $DEST/dics.dir.update-new
+	    cat $file >> $DEST/dics.dir.update-new
+	done
+	mv $DEST/dics.dir.update-new $DEST/dics.dir
+    else
+      # no files to process, remove the one
+	rm -f $DEST/dics.dir
+    fi
+fi
+
+exit

diff --git a/app-i18n/canna/metadata.xml b/app-i18n/canna/metadata.xml
new file mode 100644
index 000000000..88181e8f0
--- /dev/null
+++ b/app-i18n/canna/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="person">
+    <description>co-maintainers welcome</description>
+    <name>Alessandro Barbieri</name>
+    <email>lssndrbarbieri@gmail.com</email>
+  </maintainer>
+  <use>
+    <flag name="canuum">Build canuum</flag>
+  </use>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: app-i18n/canna/, app-i18n/canna/files/
@ 2024-04-01 11:18 Julien Roy
  0 siblings, 0 replies; 2+ messages in thread
From: Julien Roy @ 2024-04-01 11:18 UTC (permalink / raw
  To: gentoo-commits

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 61585 bytes --]

commit:     78a01077e9db476f2a8c81ac33039c1d0d1ceec2
Author:     Julien Roy <julien <AT> jroy <DOT> ca>
AuthorDate: Mon Apr  1 11:16:34 2024 +0000
Commit:     Julien Roy <julien <AT> jroy <DOT> ca>
CommitDate: Mon Apr  1 11:16:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=78a01077

app-i18n/canna: treeclean

Signed-off-by: Julien Roy <julien <AT> jroy.ca>

 app-i18n/canna/Manifest                            |   2 -
 app-i18n/canna/canna-3.7_p3-r4.ebuild              | 207 ---------------------
 .../canna/files/Canna-3.6-dont-grab-ctrl-o.patch   |  11 --
 app-i18n/canna/files/Canna-3.6-fix-warnings.patch  |  10 -
 app-i18n/canna/files/Canna-3.6-wconv.patch         |  18 --
 .../files/Canna-3.7p1-fix-duplicated-strings.patch |  93 ---------
 app-i18n/canna/files/Canna-3.7p1-notimeout.patch   |  12 --
 .../canna/files/Canna-3.7p3-fix-gcc4-warning.patch | 136 --------------
 app-i18n/canna/files/Canna-3.7p3-redecl.patch      |  11 --
 app-i18n/canna/files/Canna-3.7p3-yenbs.patch       |  11 --
 app-i18n/canna/files/Canna-oldsock.patch           |  29 ---
 .../canna/files/canna-05_fix_spelling_error.patch  |  63 -------
 .../canna/files/canna-06_fix_manpages_error.patch  |  37 ----
 .../files/canna-07_fix_ftbfs_on_hurd-i386.patch    |  16 --
 .../canna/files/canna-10_fix_configure.ac.patch    |  19 --
 .../canna-11_fix_spelling_error_in_binary.patch    |  91 ---------
 ..._make_the_output_of_mkbindic_reproducible.patch |  61 ------
 app-i18n/canna/files/canna-Wformat-security.patch  | 199 --------------------
 app-i18n/canna/files/canna-Wformat.patch           |  11 --
 app-i18n/canna/files/canna-canuum.patch            |  34 ----
 app-i18n/canna/files/canna-gentoo.patch            | 146 ---------------
 app-i18n/canna/files/canna-kpdef.patch             |  18 --
 app-i18n/canna/files/canna-overflow.patch          |  20 --
 app-i18n/canna/files/canna-posix-sort.patch        |  11 --
 app-i18n/canna/files/canna-respect-flags.patch     |  40 ----
 app-i18n/canna/files/canna-rundir.patch            |  15 --
 app-i18n/canna/files/canna-tmpfiles.conf           |   2 -
 app-i18n/canna/files/canna.confd                   |   7 -
 app-i18n/canna/files/canna.hosts                   |   1 -
 app-i18n/canna/files/canna.initd                   |  31 ---
 app-i18n/canna/files/canna.service                 |  12 --
 app-i18n/canna/files/cannaping.c                   |  46 -----
 app-i18n/canna/files/dot-canna                     | 195 -------------------
 app-i18n/canna/files/update-canna-dics_dir         |  36 ----
 app-i18n/canna/metadata.xml                        |   8 -
 35 files changed, 1659 deletions(-)

diff --git a/app-i18n/canna/Manifest b/app-i18n/canna/Manifest
deleted file mode 100644
index 56de9dcb26..0000000000
--- a/app-i18n/canna/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST 09_fix_manpages_error.patch 35789 BLAKE2B 83765aef44cf459922b027d6ea5e083fc793da5cff422fd4aae68d4fd2b921553b32f0d5afb488141dd8b87ceeb3495f256b33a3bb55fcd6c959a117da5ea015 SHA512 6b80744743a0421fdac30d4d470f3e0cc53c5aedaa3b9ca0c7b12db587c2dd02333d166fabda428dd8618a36b5b559dfd6a64db44b98d490d8a920703c38f6b4
-DIST Canna37p3.tar.bz2 1263065 BLAKE2B b5fb496c0ef71dc57b2da1409eea2238ea62ece3286d498d694bc7a18cb0f5e052dca95d692b4302988acd2199d350b893ae4aedc91aab0b737c3e0675be9cba SHA512 82846f2393aa2654dd2c97a93178098b8bd11e5409b584447f1b6fdf303adacc9802e2293cafd98b68af8b69622625ed00aa9712bf270feaa119adfdf4211158

diff --git a/app-i18n/canna/canna-3.7_p3-r4.ebuild b/app-i18n/canna/canna-3.7_p3-r4.ebuild
deleted file mode 100644
index 16d07b2a77..0000000000
--- a/app-i18n/canna/canna-3.7_p3-r4.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools cannadic edo systemd tmpfiles toolchain-funcs
-
-MY_P="Canna${PV//[._]/}"
-MYPV="${PV/_/}"
-
-DESCRIPTION="A client-server based Kana-Kanji conversion system"
-HOMEPAGE="http://canna.osdn.jp/"
-SRC_URI="
-	mirror://sourceforge.jp/${PN}/9565/${MY_P}.tar.bz2
-	https://sources.debian.org/data/main/c/${PN}/${MYPV}-19/debian/patches/09_fix_manpages_error.patch
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="MIT GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="canuum doc ipv6"
-
-RDEPEND="
-	acct-group/canna
-	acct-user/canna
-	canuum? (
-		dev-libs/libspt
-		sys-libs/ncurses:=
-	)
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
-	x11-misc/gccmakedep
-	x11-misc/imake
-	canuum? ( virtual/pkgconfig )
-	doc? (
-		app-text/ghostscript-gpl
-		dev-texlive/texlive-langjapanese
-		dev-texlive/texlive-latexrecommended
-	)
-"
-PATCHES=(
-	"${FILESDIR}/Canna-3.6-dont-grab-ctrl-o.patch"
-	"${FILESDIR}/Canna-oldsock.patch"
-	"${FILESDIR}/Canna-3.6-fix-warnings.patch"
-	"${FILESDIR}/Canna-3.6-wconv.patch"
-	"${FILESDIR}/Canna-3.7p1-fix-duplicated-strings.patch"
-	"${FILESDIR}/Canna-3.7p1-notimeout.patch"
-	"${FILESDIR}/Canna-3.7p3-fix-gcc4-warning.patch"
-	"${FILESDIR}/Canna-3.7p3-redecl.patch"
-	"${FILESDIR}/Canna-3.7p3-yenbs.patch"
-	"${FILESDIR}/${PN}-gentoo.patch"
-	"${FILESDIR}/${PN}-05_fix_spelling_error.patch"
-	"${FILESDIR}/${PN}-06_fix_manpages_error.patch"
-	"${FILESDIR}/${PN}-07_fix_ftbfs_on_hurd-i386.patch"
-	"${FILESDIR}/${PN}-Wformat.patch"
-	"${FILESDIR}/${PN}-Wformat-security.patch"
-	"${DISTDIR}/09_fix_manpages_error.patch"
-	"${FILESDIR}/${PN}-10_fix_configure.ac.patch"
-	"${FILESDIR}/${PN}-11_fix_spelling_error_in_binary.patch"
-	"${FILESDIR}/${PN}-12_make_the_output_of_mkbindic_reproducible.patch"
-	"${FILESDIR}/${PN}-canuum.patch"
-	"${FILESDIR}/${PN}-kpdef.patch"
-	"${FILESDIR}/${PN}-overflow.patch"
-	"${FILESDIR}/${PN}-posix-sort.patch"
-	"${FILESDIR}/${PN}-respect-flags.patch"
-	"${FILESDIR}/${PN}-rundir.patch"
-)
-
-src_prepare() {
-	tc-export CC LD AR
-	export CDEBUGFLAGS="${CFLAGS}"
-	export LOCAL_LDFLAGS="${LDFLAGS}"
-	export SHLIBGLOBALSFLAGS="${LDFLAGS}"
-	export LOCAL_LDFLAGS="${LDFLAGS}"
-	export CCOPTIONS="${CFLAGS} ${CPPFLAGS}"
-
-	default
-
-	sed \
-		-e "/DefLibCannaDir/s:/lib$:/$(get_libdir):" \
-		-e "/UseInet6/s:0:$(usex ipv6 1 0):" \
-		-i ${PN^c}.conf \
-		|| die
-
-	eautoreconf
-	rm -rf autom4te.cache || die
-	if use canuum; then
-		pushd canuum || die
-		mv configure.{in,ac} || die
-		eautoreconf
-		rm -rf autom4te.cache || die
-		popd || die
-	fi
-}
-
-src_configure() {
-	xmkmf -a || die
-
-	if use canuum; then
-		pushd canuum >/dev/null || die
-		xmkmf -a || die
-		# workaround for sys-libs/ncurses[tinfo]
-		sed -i "/^TERMCAP_LIB/s:=.*:=$($(tc-getPKG_CONFIG) --libs ncurses):" Makefile || die
-		popd >/dev/null || die
-	fi
-	if use doc; then
-		pushd doc/man/guide/tex >/dev/null || die
-		xmkmf -a || die
-		popd >/dev/null || die
-	fi
-}
-
-src_compile() {
-	# bug #279706
-	emake -j1 canna \
-		CC="${CC}" \
-		AR="${AR} -cq" \
-		CDEBUGFLAGS="${CFLAGS}" \
-		LOCAL_LDFLAGS="${LDFLAGS}" \
-		SHLIBGLOBALSFLAGS="${LDFLAGS}" \
-		CCOPTIONS="${CFLAGS} ${CPPFLAGS}"
-
-	edo ${CC} ${CFLAGS} ${LDFLAGS} -fPIE "${FILESDIR}/cannaping.c" -o ./misc/cannaping -I./include -L./lib/canna -lcanna
-
-	if use canuum; then
-		einfo "Compiling canuum"
-		emake -C canuum -j1 canuum \
-			CC="${CC}" \
-			AR="${AR} -cq" \
-			CDEBUGFLAGS="${CFLAGS}" \
-			LOCAL_LDFLAGS="${LDFLAGS}" \
-			SHLIBGLOBALSFLAGS="${LDFLAGS}" \
-			CCOPTIONS="${CFLAGS} ${CPPFLAGS}"
-	fi
-
-	if use doc; then
-		# NOTE: build fails if infinality enabled in fontconfig
-		einfo "Compiling DVI, PS, and PDF documents"
-		# bug #223077
-		export JLATEXCMD="platex -kanji=euc"
-		export DVI2PSCMD="dvips"
-		export VARTEXFONTS="${T}/fonts"
-		emake -C doc/man/guide/tex -j1 canna.ps canna.pdf
-	fi
-}
-
-src_install() {
-	emake DESTDIR="${D}" install install.man
-	einstalldocs
-	dodoc *CHANGES* INSTALL* RKCCONF* WHATIS*
-
-	if use canuum; then
-		emake -C canuum DESTDIR="${D}" install install.man
-		docinto canuum
-		dodoc README.jp
-	fi
-
-	use doc && dodoc doc/man/guide/tex/canna.{dvi,ps,pdf}
-
-	# for backward compatibility
-	dosbin "${FILESDIR}/update-canna-dics_dir"
-
-	dobin ./misc/cannaping
-	exeinto /usr/libexec/canna
-	doexe dic/ideo/pubdic/pod
-
-	insinto /etc
-	newins "${FILESDIR}/canna.hosts" hosts.canna
-
-	insinto /etc/canna
-	newins "${FILESDIR}/dot-canna" "default.canna"
-	newins "${FILESDIR}/canna.hosts" "cannahosts"
-
-	insinto /etc/canna/dics.dir.d
-	newins "${ED}/var/lib/canna/dic/canna/dics.dir" 00canna.dics.dir
-	rm -r "${ED}/var/lib/canna/dic/canna/dics.dir" || die
-
-	keepdir /var/lib/canna/dic/{user,group}
-	fowners canna:canna /var/lib/canna
-	fperms 0775 /var/lib/canna/dic/{user,group}
-
-	keepdir /var/log/canna
-	fowners canna:canna /var/log/canna
-
-	newconfd "${FILESDIR}/canna.confd" canna
-	newinitd "${FILESDIR}/canna.initd" canna
-
-	systemd_dounit "${FILESDIR}/canna.service"
-	newtmpfiles "${FILESDIR}/canna-tmpfiles.conf" "canna.conf"
-
-	find "${ED}" -type f -name "*.a" -delete || die
-}
-
-pkg_postinst() {
-	tmpfiles_process canna.conf
-	update-cannadic-dir
-
-	if ! locale -a | grep -iq "ja_JP.eucjp"; then
-		elog "Some dictionary tools in this package require ja_JP.EUC-JP locale."
-		elog
-		elog "# echo 'ja_JP.EUC-JP EUC-JP' >> ${EROOT}/etc/locale.gen"
-		elog "# locale-gen"
-		elog
-	fi
-}

diff --git a/app-i18n/canna/files/Canna-3.6-dont-grab-ctrl-o.patch b/app-i18n/canna/files/Canna-3.6-dont-grab-ctrl-o.patch
deleted file mode 100644
index c5fccdbd76..0000000000
--- a/app-i18n/canna/files/Canna-3.6-dont-grab-ctrl-o.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/canna/alphamap.h
-+++ b/lib/canna/alphamap.h
-@@ -65,7 +65,7 @@
- /* C-l */       CANNA_FN_SelfInsert,
- /* C-m */       CANNA_FN_SelfInsert,
- /* C-n */       CANNA_FN_SelfInsert,
--/* C-o */       CANNA_FN_JapaneseMode,
-+/* C-o */       CANNA_FN_SelfInsert,
- /* C-p */       CANNA_FN_SelfInsert,
- /* C-q */       CANNA_FN_SelfInsert,
- /* C-r */       CANNA_FN_SelfInsert,

diff --git a/app-i18n/canna/files/Canna-3.6-fix-warnings.patch b/app-i18n/canna/files/Canna-3.6-fix-warnings.patch
deleted file mode 100644
index 74f134eb1b..0000000000
--- a/app-i18n/canna/files/Canna-3.6-fix-warnings.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/lib/canna/kctrl.c
-+++ b/lib/canna/kctrl.c
-@@ -27,6 +27,7 @@
- #include "canna.h"
- 
- #include <errno.h>
-+#include <string.h>
- #include <sys/types.h>
- #include <canna/mfdef.h>
- 

diff --git a/app-i18n/canna/files/Canna-3.6-wconv.patch b/app-i18n/canna/files/Canna-3.6-wconv.patch
deleted file mode 100644
index 90fa049f01..0000000000
--- a/app-i18n/canna/files/Canna-3.6-wconv.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/server/wconvert.c
-+++ b/server/wconvert.c
-@@ -2096,12 +2096,12 @@
-   char *buf = (char *)0;
- 
-   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);
-     }
-   }
-   retval = SendType6Reply(client, wThrough, EXTPROTO, stat, buf, size);

diff --git a/app-i18n/canna/files/Canna-3.7p1-fix-duplicated-strings.patch b/app-i18n/canna/files/Canna-3.7p1-fix-duplicated-strings.patch
deleted file mode 100644
index 303f792559..0000000000
--- a/app-i18n/canna/files/Canna-3.7p1-fix-duplicated-strings.patch
+++ /dev/null
@@ -1,93 +0,0 @@
---- a/lib/canna/romaji.c
-+++ b/lib/canna/romaji.c
-@@ -21,7 +21,7 @@
-  */
- 
- #if !defined(lint) && !defined(__CODECENTER__)
--static char rcs_id[] = "@(#) 102.1 $Id: romaji.c,v 1.10 2003/09/17 08:50:53 aida_s Exp $";
-+static char rcs_id[] = "@(#) 102.1 $Id: romaji.c,v 1.11 2004/03/15 04:33:23 aida_s Exp $";
- #endif /* lint */
- 
- #include "canna.h"
-@@ -2626,6 +2626,7 @@
-   yc->englishtype = CANNA_ENG_KANA;
-   yc->cStartp = yc->cRStartp = 0;
-   yc->jishu_kEndp = 0;
-+  yc->n_susp_chars = 0;
- }
- 
- static int
-@@ -2782,8 +2783,13 @@
-   }
-   yc->last_rule = 0;
-   howManyDelete = howFarToGoBackward(yc);
--  if (howManyDelete > 0 && (yc->generalFlags & CANNA_YOMI_BREAK_ROMAN)) {
--    yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN;
-+  if (howManyDelete > 0 && (yc->generalFlags & CANNA_YOMI_BREAK_ROMAN)
-+      && (yc->kAttr[yc->kCurs] & SENTOU)) {
-+    /*
-+     * ¥í¡¼¥Þ»ú1ʸ»ú¤ËÂбþ¤¹¤ë²¾Ì¾¤ò¾Ã¤·¤¿»þ¤Ï¥í¡¼¥Þ»ú¡¢²¾Ì¾¤È¤â
-+     * SENTOU¥Õ¥é¥°¤¬1¸Ä¸º¤ë¡£
-+     * ¤½¤¦¤Ç¤Ê¤¤¤È¤­¤ÏSENTOU¥Õ¥é¥°¤Î¸Ä¿ô¤ÏÊѤï¤é¤Ê¤¤
-+     */
-     yc->rStartp = yc->rCurs - 1;
-     while ( yc->rStartp > 0 && !(yc->rAttr[yc->rStartp] & SENTOU) ) {
-       yc->rStartp--;
-@@ -2792,16 +2798,23 @@
-     yc->kRStartp = yc->kCurs - 1;
-     while ( yc->kRStartp > 0 && !(yc->kAttr[yc->kRStartp] & SENTOU) )
-       yc->kRStartp--;
-+    /* ¤³¤ìɬ¤º¿¿¤Ç¤Ï? */
-     prevflag = (yc->kAttr[yc->kRStartp] & SENTOU);
-     kanaReplace(yc->kRStartp - yc->kCurs, 
- 		yc->romaji_buffer + yc->rStartp,
- 		yc->rCurs - yc->rStartp,
- 		0);
-+    /* ¥í¡¼¥Þ»ú1ʸ»ú¤ËÂбþ¤¹¤ë²¾Ì¾¤ò¾Ã¤·¤¿¤È¤­¤ÏºÇ½é¤«¤éSENTOU¤Ç¤¢¤ë */
-     yc->kAttr[yc->kRStartp] |= prevflag;
-     yc->n_susp_chars = 0; /* ¤È¤ê¤¢¤¨¤º¥¯¥ê¥¢¤·¤Æ¤ª¤¯ */
-     makePhonoOnBuffer(d, yc, (unsigned char)0, 0, 0);
-+    /* °ÊÁ°¤Ï¾ï¤Ë¥Õ¥é¥°¤ò²¼¤²¤Æ¤¤¤¿¤¬¡¢Ì¤ÊÑ´¹¥í¡¼¥Þ»ú¤¬»Ä¤Ã¤Æ¤¤¤ë¤È¤­¤Ï
-+     * ¥Õ¥é¥°¤ò²¼¤²¤Ê¤¤¤³¤È¤Ë¤¹¤ë */
-+    if (yc->kRStartp == yc->kCurs)
-+      yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN;
-   }
-   else {
-+    yc->generalFlags &= ~CANNA_YOMI_BREAK_ROMAN;
-     if ( yc->kAttr[yc->kCurs - howManyDelete] & HENKANSUMI ) {
-       if (yc->kAttr[yc->kCurs - howManyDelete] & SENTOU) { 
- 	/* ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀèƬ¤À¤Ã¤¿¤é */
-@@ -2821,6 +2834,12 @@
- 	  yc->rEndp -= n;
- 	}
- 	else {
-+	  /* ²¾Ì¾¤Î¥«¡¼¥½¥ë°ÌÃÖ¤ÏÀèƬ¤Ë¤Ê¤ë¤Î¤Ç¥í¡¼¥Þ»ú¤Î¥«¡¼¥½¥ë¤âÆ°¤«¤¹*/
-+	  while ( yc->rCurs > 0 && !(yc->rAttr[--yc->rCurs] & SENTOU) )
-+	    ;
-+	  if (yc->rCurs < yc->rStartp) {
-+	    yc->rStartp = yc->rCurs;
-+	  }
- 	  yc->kAttr[yc->kCurs] |= SENTOU;
- 	}
-       }
-@@ -2829,6 +2848,12 @@
-       romajiReplace(-howManyDelete, (wchar_t *)NULL, 0, 0);
-     }
-     kanaReplace(-howManyDelete, (wchar_t *)NULL, 0, 0);
-+    if ((yc->rAttr[yc->rCurs] & SENTOU) && yc->kRStartp == yc->kCurs) {
-+      /* ̤ÊÑ´¹¤Î¥í¡¼¥Þ»ú¤ò¾Ã¤·¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢¼¡¤ËÆþÎϤ·¤¿¥í¡¼¥Þ»ú¤Ï
-+       * SENTOU¤Ë¤Ê¤ëÊý¤¬¼«Á³¤À¤í¤¦
-+       */
-+      yc->rStartp = yc->rCurs;
-+    }
-   }
-   debug_yomi(yc);
-   return(0);
-@@ -2944,6 +2969,7 @@
-     currentModeInfo(d);
-   }
-   makeYomiReturnStruct(d);
-+  debug_yomi(yc);
-   return 0;
- }
- 

diff --git a/app-i18n/canna/files/Canna-3.7p1-notimeout.patch b/app-i18n/canna/files/Canna-3.7p1-notimeout.patch
deleted file mode 100644
index 3f27a32cc5..0000000000
--- a/app-i18n/canna/files/Canna-3.7p1-notimeout.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-バイナリー・ファイルCanna37p1.orig/lib/RKC/.wconvert.c.swpとCanna37p1/lib/RKC/.wconvert.c.swpは違います
---- a/lib/RKC/conf.c
-+++ b/lib/RKC/conf.c
-@@ -1496,7 +1496,7 @@
- };
- 
- const NumberDefaultRec host_num_defaults[] = {
--  { CONF_SERVER_TIMEOUT, 1500u },
-+  { CONF_SERVER_TIMEOUT, 0u },
- };
- 
- const char *

diff --git a/app-i18n/canna/files/Canna-3.7p3-fix-gcc4-warning.patch b/app-i18n/canna/files/Canna-3.7p3-fix-gcc4-warning.patch
deleted file mode 100644
index 42e9ee3a87..0000000000
--- a/app-i18n/canna/files/Canna-3.7p3-fix-gcc4-warning.patch
+++ /dev/null
@@ -1,136 +0,0 @@
---- a/cmd/crxgram/crxgram.c
-+++ b/cmd/crxgram/crxgram.c
-@@ -485,7 +485,7 @@
- 	    int j;
- 
- 	    nextS = scanToken(nextS, namevec, sizeof(namevec));
--	    name = strtok(namevec, SEP);
-+	    name = strtok((char *)namevec, SEP);
- 	    for (j = 0; name && j < 255;) {
- 		if (r = probeIdent(Row, name))
- 		    rdata[i][j++] = r->rownum;
---- a/cmd/cshost/cshost.c
-+++ b/cmd/cshost/cshost.c
-@@ -152,12 +152,12 @@
- 	    goto protoerr;
- 	assert(wp + 2 <= endp);
- 	printf("HOST NAME:%s\n", wp ) ;
--	wp += strlen( wp ) + 1 ;
-+	wp += strlen((char *) wp ) + 1 ;
- 	if( *wp ) {
- 	    printf("USER NAME:" ) ;
- 	    while( *wp ) {
- 		printf("%s ", wp ) ;
--		wp += strlen( wp ) + 1 ;
-+		wp += strlen((char *) wp ) + 1 ;
- 	    }
- 	} else
- 	    printf("ALL USER" ) ;
---- a/cmd/wtoc/wtoc.c
-+++ b/cmd/wtoc/wtoc.c
-@@ -144,8 +144,8 @@
-      int	hindo;
- {
-   if( !strcmp((char *)hinshi,"#kxuru") || !strcmp((char *)hinshi,"#sxuru")){
--    strcat(yomi,"¤ë");
--    strcat(kouho,"¤ë");
-+    strcat((char *)yomi,"¤ë");
-+    strcat((char *)kouho,"¤ë");
-   }
-   if( hindo == 0 )
-     fprintf( fp, "%s %s %s \n", yomi, hinshi, kouho );
---- a/lib/canna/ebind.c
-+++ b/lib/canna/ebind.c
-@@ -364,7 +364,7 @@
-     /* list_cb¤ÏKC_setListCallback¤Çd->elistcb¤Ë°ú¤Ã±Û¤¹ */
-     list_cb.client_data = (char *)arg;
-     list_cb.callback_func = &EUCListCallback;
--    ret = XwcKanjiControl2(display, window, request, (char *)&list_cb);
-+    ret = XwcKanjiControl2(display, window, request, (BYTE *)&list_cb);
-     goto return_ret;
-     /* FALLTHROUGH */
-   default: /* ¥ï¥¤¥É¤Ç¤âEUC¤Ç¤âÊѤï¤é¤Ê¤¤¤â¤Î */
---- a/lib/canna/obind.c
-+++ b/lib/canna/obind.c
-@@ -500,7 +500,7 @@
-     /* list_cb¤ÏKC_setListCallback¤Çd->elistcb¤Ë°ú¤Ã±Û¤¹ */
-     list_cb.client_data = (char *)arg;
-     list_cb.callback_func = &owcListCallback;
--    ret = XwcKanjiControl2(display, window, request, (char *)&list_cb);
-+    ret = XwcKanjiControl2(display, window, request, (BYTE *)&list_cb);
-     goto return_ret;
-   default: /* ¿·¥ï¥¤¥É¤ÈÊѤï¤é¤Ê¤¤¤â¤Î */
-     ret = XwcKanjiControl2(display, window, request, arg);
---- a/server/convert.c
-+++ b/server/convert.c
-@@ -1506,7 +1506,7 @@
- const char *username;
- const char *hostname;
- {
--    int (*ReqCallFunc) pro((char *, int)) ;
-+    int (*ReqCallFunc) pro((BYTE *, int)) ;
-     register Req0 *req0 = &Request.Request0 ;
-     const char *username0 = username ? username : "";
-     const char *hostname0 = hostname ? hostname : "";
---- a/server/wconvert.c
-+++ b/server/wconvert.c
-@@ -189,7 +189,7 @@
- size_t size;
- {
-     ir_debug( Dmsg(10, "WriteClient:") );
--    ir_debug( DebugDump( 10, buf, size ) );
-+    ir_debug( DebugDump( 10, (const char *)buf, size ) );
-     return ClientBuf_store_reply(client->client_buf, buf, size);
- }
- #else
-@@ -1372,8 +1372,8 @@
- 	/* °Ê²¼¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î¥Á¥§¥Ã¥¯ */
- 	stat = ACCES;
- 	if (checkPermissionToRead(client, dirname, (char *)0) >= 0) {
--	  stat = RkwListDic(cxnum, (unsigned char *)dirname,
--			    (unsigned char *)dicnames, requestsize);
-+	  stat = RkwListDic(cxnum, (char *)dirname,
-+			    (char *)dicnames, requestsize);
- 	}
- 
-       listdicdone:
-@@ -1403,7 +1403,7 @@
- 	ir_debug( Dmsg(5, "dicname = %s\n",
- 		       (req->dicname)?req->dicname:null) );
- 
--	stat = (char)RkwCreateDic(cxnum, (unsigned char *)req->dicname,
-+	stat = (char)RkwCreateDic(cxnum, (char *)req->dicname,
- 				  req->mode);
-     }
- 
-@@ -1438,7 +1438,7 @@
- 	ir_debug( Dmsg(5, "dicname = %s\n",
- 		       (req->dicname)?req->dicname:null) );
- 
--	stat = (char)RkwRemoveDic(cxnum, (unsigned char *)req->dicname,
-+	stat = (char)RkwRemoveDic(cxnum, (char *)req->dicname,
- 				  req->mode);
-     }
- 
-@@ -1456,8 +1456,8 @@
- 
-     if (validcontext(cxnum, client, wRenameDictionary)) {
- 	diclen = strlen(req->dicname) + 1 ;
--	stat = RkwRenameDic(cxnum, (unsigned char *)req->dicname,
--			    (unsigned char *)&(req->dicname)[diclen],
-+	stat = RkwRenameDic(cxnum, (char *)req->dicname,
-+			    (char *)&(req->dicname)[diclen],
- 			    req->mode);
-     }
-     return SendType2Reply(client, wRenameDictionary, EXTPROTO, stat);
-@@ -1950,8 +1950,8 @@
-       ir_debug( Dmsg(5, "dicname = %s\n", Request.type15.dicname) );
-       ir_debug( Dmsg(5, "username = %s\n", username) );
-       
--      stat = (RkwQueryDic(cxnum, (unsigned char *)username,
--			  (unsigned char *)Request.type15.dicname,
-+      stat = (RkwQueryDic(cxnum, (char *)username,
-+			  (char *)Request.type15.dicname,
- 			  dicinfo) < 0) ? -1 : 0;
-       
-       if (stat < 0) {

diff --git a/app-i18n/canna/files/Canna-3.7p3-redecl.patch b/app-i18n/canna/files/Canna-3.7p3-redecl.patch
deleted file mode 100644
index 816b73887b..0000000000
--- a/app-i18n/canna/files/Canna-3.7p3-redecl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/canna/lisp.c
-+++ b/lib/canna/lisp.c
-@@ -1355,8 +1355,6 @@
- static int
- tyi()
- {
--  char *gets(), *fgets();
--
-   if (untyibuf) {
-     int ret = untyibuf[--untyip];
-     if (untyip == 0) {

diff --git a/app-i18n/canna/files/Canna-3.7p3-yenbs.patch b/app-i18n/canna/files/Canna-3.7p3-yenbs.patch
deleted file mode 100644
index 837fecdca1..0000000000
--- a/app-i18n/canna/files/Canna-3.7p3-yenbs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/RK/RkGetDic.man
-+++ b/lib/RK/RkGetDic.man
-@@ -41,7 +41,7 @@
- Dictionary names are got in the area \f2dics\f1 in the following format:
- .P
- .RS 0.2c
--dictionary-name-1 ¡ï0 dictionary-name-2 ¡ï0 ... dictionary-name-n ¡ï0 ¡ï0
-+dictionary-name-1 \\0 dictionary-name-2 \\0 ... dictionary-name-n \\0 \\0
- .RE
- .P
- The size of the area \f2dics\f1 is given in bytes by \f2maxdics\f1.  The dictionary list is truncated in character strings when it exceeds this size.

diff --git a/app-i18n/canna/files/Canna-oldsock.patch b/app-i18n/canna/files/Canna-oldsock.patch
deleted file mode 100644
index f62ee6c979..0000000000
--- a/app-i18n/canna/files/Canna-oldsock.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/lib/RKC/wconvert.c
-+++ b/lib/RKC/wconvert.c
-@@ -150,8 +150,25 @@
-     if ((ServerFD = socket((int) addr->sa_family, SOCK_STREAM, 0)) >= 0){
- 	if( try_connect( ServerFD, addr, sizeof unaddr ) < 0 ) {
- 	    close( ServerFD ) ;
--	    return( -1 ) ;
-+	    ServerFD = -1;
-+	}
-+    }
-+    if (ServerFD < 0) {
-+	/* for the backward compatibility */
-+#define OLD_IR_UNIX_PATH	"/tmp/.iroha_unix/IROHA"
-+
-+	if (number)
-+	    sprintf (unaddr.sun_path, "%s:%d", OLD_IR_UNIX_PATH, number);
-+	else
-+	    strcpy (unaddr.sun_path, OLD_IR_UNIX_PATH);
-+
-+	if ((ServerFD = socket ((int) addr->sa_family, SOCK_STREAM, 0)) >= 0) {
-+	    if (try_connect (ServerFD, addr, sizeof (unaddr)) < 0) {
-+		close (ServerFD);
-+		return -1;
-+	    }
- 	}
-+#undef OLD_IR_UNIX_PATH
-     }
-     return( ServerFD ) ;
- }    

diff --git a/app-i18n/canna/files/canna-05_fix_spelling_error.patch b/app-i18n/canna/files/canna-05_fix_spelling_error.patch
deleted file mode 100644
index 372c7a6272..0000000000
--- a/app-i18n/canna/files/canna-05_fix_spelling_error.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-## 06_fix_spelling_error by HIGUCHI Daisuke (VDR dai) <dai@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: eliminate lintian warning: spelling-error-in-{binary,manpages}
-
---- a/cmd/wtoc/wtoc.c
-+++ b/cmd/wtoc/wtoc.c
-@@ -195,7 +195,7 @@ main(argc,argv)
- #endif
-   }
-   else { /* °ú¿ô¤¬ÉÔÀµ */
--    fprintf(stderr,gettxt("cannacmd:50", "Usage: wtoc [-f part-of-speach table] [wnndic] [cannadic]\n"));
-+    fprintf(stderr,gettxt("cannacmd:50", "Usage: wtoc [-f part-of-speech table] [wnndic] [cannadic]\n"));
-     exit(2);
-   }
-   if( argc >= (2 + option*2) ) { /* £×£î£î¼­½ñ¤ò¥ª¡¼¥×¥ó */
---- a/cmd/ctow/ctow.c
-+++ b/cmd/ctow/ctow.c
-@@ -256,9 +256,9 @@ char *argv[];
-       hinshis = chghinshi(h, hinshiSize, taiou, fsize);
-       if (!strcmp(hinshis,"")) {
- 	fprintf(stderr,gettxt("cannacmd:13", 
--	      "reading:%s nomination:%s a part of speach:%s\n"),y,k,h);
-+	      "reading:%s nomination:%s a part of speech:%s\n"),y,k,h);
- 	fprintf(stderr,gettxt("cannacmd:14", 
--	      "This part of speach is undefined. Cannot convert.\n"));
-+	      "This part of speech is undefined. Cannot convert.\n"));
-       }
-       else {
- 	for ( ; *hinshis; hinshis++, p++) {
---- a/lib/canna/lisp.c
-+++ b/lib/canna/lisp.c
-@@ -3610,7 +3610,7 @@
-         numtostr(xnum(e2), ee);
-         num = howManyCharsAre(ss, ee, &sku, &sten, &cs);
-         if (num <= 0) {
--          error("Inconsistent range of charcter code ", buf);
-+          error("Inconsistent range of character code ", buf);
-           /* NOTREACHED */
-         }
-         kigolen = kigolen + (cswidth[cs] + 1) * num;
---- a/lib/canna/uilib.man
-+++ b/lib/canna/uilib.man
-@@ -809,7 +809,7 @@ data input:
- 	    int length;		        /* length of echo string */
- 	    int revPos;                 /* reverse position  */
- 	    int revLen;                 /* reverse length    */
--	    unsigned long info;		/* other informations */
-+	    unsigned long info;		/* other information */
- 	    unsigned char *mode;	/* mode information */
- 	    struct {
- 		unsigned char *line;	/* a grance of Kanji characters */
---- a/lib/canna/uilib.jmn
-+++ b/lib/canna/uilib.jmn
-@@ -749,7 +749,7 @@ XCompose¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò»ØÄꤷ¤Þ¤¹¡£
- 	    int revPos;                 /* reverse position  */
- 	    int revLen;                 /* reverse length    */
- .mc \(br
--	    unsigned long info;		/* other informations */
-+	    unsigned long info;		/* other information */
- 	    unsigned char *mode;	/* mode information */
- 	    struct {
- 		unsigned char *line;	/* a grance of Kanji characters */

diff --git a/app-i18n/canna/files/canna-06_fix_manpages_error.patch b/app-i18n/canna/files/canna-06_fix_manpages_error.patch
deleted file mode 100644
index 7b1cd03283..0000000000
--- a/app-i18n/canna/files/canna-06_fix_manpages_error.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-## 07_fix_manpage_error by HIGUCHI Daisuke (VDR dai) <dai@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: eliminate lintian warning: manpage-has-errors-from-man
-
---- a/cmd/dpromdic/dpromdic.man
-+++ b/cmd/dpromdic/dpromdic.man
-@@ -1,7 +1,7 @@
- .TH DPROMDIC 1 
--.S HNAME
-+.SH NAME
- dpromdic \- Convert the binary-form Romaji-to-Kana conversion table into the text-form table
--.SHSYNOPSYS
-+.SH SYNOPSYS
- .B dpromdic
- [
- .I file
---- a/cmd/dicar/dicar.man
-+++ b/cmd/dicar/dicar.man
-@@ -28,7 +28,7 @@ dicar \- Archive Binary Dictionary
- archives binary dictionary
- .I bindic1.
- The hyphen of each option may be omitted.
--.OPTIONS
-+.SH OPTIONS
- .TP
- .B \-t
- Displays the dictionaries contained in binary dictionary file
---- a/cmd/cshost/cshost.man
-+++ b/cmd/cshost/cshost.man
-@@ -1,5 +1,5 @@
- .TH CSHOST 1
--.SH "NAMES"
-+.SH "NAME"
- cshost \- Server access control program for canna
- .SH "SYNOPSIS"
- .B "cshost [{\-cs|\-cannaserver} \fIcannaserver\fP]"

diff --git a/app-i18n/canna/files/canna-07_fix_ftbfs_on_hurd-i386.patch b/app-i18n/canna/files/canna-07_fix_ftbfs_on_hurd-i386.patch
deleted file mode 100644
index 2b3bc3c07e..0000000000
--- a/app-i18n/canna/files/canna-07_fix_ftbfs_on_hurd-i386.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-## 08_fix_ftbfs_on_hurd-i386 by HIGUCHI Daisuke (VDR dai) <dai@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: fix FTBFS on hurd-i386. use O_RDONLY instead of bare 0.
-
---- a/cmd/crxdic/crxdic.c
-+++ b/cmd/crxdic/crxdic.c
-@@ -1228,7 +1228,7 @@ main (argc, argv)
-     if (!(dic->gramdata = RkiReadWholeFile(fp, &dic->gramsz)))
-       goto gram_err;
-     fclose(fp);
--    if ((fd = open(gfile, 0)) < 0 || !(gram = RkReadGram(fd, dic->gramsz)))
-+    if ((fd = open(gfile, O_RDONLY)) < 0 || !(gram = RkReadGram(fd, dic->gramsz)))
-       goto gram_err;
-     close(fd);
-     goto gram_ok;

diff --git a/app-i18n/canna/files/canna-10_fix_configure.ac.patch b/app-i18n/canna/files/canna-10_fix_configure.ac.patch
deleted file mode 100644
index d53f3f2333..0000000000
--- a/app-i18n/canna/files/canna-10_fix_configure.ac.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Description: fix FTBFS caused after the DH level has bumped.
-Author: Francisco Vilmar Cardoso Ruviaro <francisco.ruviaro@riseup.net>
-Last-Update: 2020-06-20
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -3,9 +3,9 @@ AC_INIT([canna], [3.7p3], [canna-dev@lis
- AC_CONFIG_SRCDIR([WHATIS.jp])
- AC_CONFIG_HEADER([accanna.h])
- 
--if test "x$IN_MAKE" != xyes; then
--  AC_MSG_ERROR([You cannot invloke configure directly.])
--fi
-+#if test "x$IN_MAKE" != xyes; then
-+#  AC_MSG_ERROR([You cannot invloke configure directly.])
-+#fi
- 
- # Checks for programs.
- AC_PROG_CC

diff --git a/app-i18n/canna/files/canna-11_fix_spelling_error_in_binary.patch b/app-i18n/canna/files/canna-11_fix_spelling_error_in_binary.patch
deleted file mode 100644
index 77ff26b279..0000000000
--- a/app-i18n/canna/files/canna-11_fix_spelling_error_in_binary.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-Description: Fix spelling error in binaries.
-Author: Francisco Vilmar Cardoso Ruviaro <francisco.ruviaro@riseup.net>
-Last-Update: 2020-07-16
-
---- a/cmd/catdic/can.c
-+++ b/cmd/catdic/can.c
-@@ -281,7 +281,7 @@ int sig;
-      */
-     (void) RkFinalize();
-     fprintf(stderr,"\n");
--    Message(gettxt("cannacmd:232", "Process was intrrupted."));
-+    Message(gettxt("cannacmd:232", "Process was interrupted."));
-     exit(ERR_VALUE);
- }
- 
-@@ -323,7 +323,7 @@ int sig;
- 	(void) RkFinalize();
-     }
-     
--    Message(gettxt("cannacmd:232", "Process was intrrupted."));
-+    Message(gettxt("cannacmd:232", "Process was interrupted."));
-     exit(ERR_VALUE);
- }
- 
-@@ -1475,7 +1475,7 @@ int force;
-     }
-     else {
-       fprintf(stderr, gettxt("cannacmd:174",
--	     "Specified dictionary \"%s\" does not overwite.\n"),dicname2);
-+	     "Specified dictionary \"%s\" does not overwrite.\n"),dicname2);
-       ret = 1;
-     }
-     break;
---- a/cmd/crfreq/crfreq.c
-+++ b/cmd/crfreq/crfreq.c
-@@ -199,7 +199,7 @@ main(argc, argv)
- 
-   if ((fr = create(freqfile, 0666)) == -1) {
-     (void)close(fd);
--    (void)fprintf(stderr, "%s: cannot create freqency file %s\n", program, freqfile);
-+    (void)fprintf(stderr, "%s: cannot create frequency file %s\n", program, freqfile);
-     exit(1);
-   }
- #ifdef __CYGWIN32__
---- a/server/convert.c
-+++ b/server/convert.c
-@@ -887,7 +887,7 @@ ClientPtr *clientp ;
- 	if ((ret = RkwStoreYomi( cxnum, (Ushort *)cbuf, ret )) >= 0) {
- 	    size = getFirstKouho(cxnum, bunsetu, ret, &stat, &lbufp);
- 	} else {
--	    PrintMsg("%s RkwStoreYomi faild\n", irerrhdr(client));
-+	    PrintMsg("%s RkwStoreYomi failed\n", irerrhdr(client));
- 	}
-     } else {
- 	print_context_error(client);
---- a/server/misc.c
-+++ b/server/misc.c
-@@ -316,7 +316,7 @@ BecomeDaemon ()
- 
- #ifndef __EMX__
-     if ((parent = fork()) == -1) {
--	PrintMsg( "Fork faild\n" );
-+	PrintMsg( "Fork failed\n" );
- 	exit( 1 ) ;
-     }
-     if ( parent ) {
-@@ -989,11 +989,11 @@ DetachTTY()
-       sprintf(errfile,"%s/%s%d%s", ERRDIR, ERRFILE, PortNumberPlus, ERRFILE2);
-     
-       if((errfd = open(errfile, O_CREAT | O_RDWR | O_TRUNC, 0644)) < 0) {
--	(void)fprintf(stderr, "Warning: %s: %s open faild\n", Name, errfile);
-+	(void)fprintf(stderr, "Warning: %s: %s open failed\n", Name, errfile);
- 	(void)perror("");
-       } else {
- 	if(dup2( errfd, fileno(stderr)) < 0) {
--	  (void)fprintf(stderr, "Warning: %s: %s dup2 faild\n", Name, errfile);
-+	  (void)fprintf(stderr, "Warning: %s: %s dup2 failed\n", Name, errfile);
- 	  (void)perror("");
- 	  close(fileno(stderr));
- 	}
---- a/server/wconvert.c
-+++ b/server/wconvert.c
-@@ -1153,7 +1153,7 @@ ClientPtr *clientp ;
-                                sizeof(local_buffer) / sizeof(Ushort), &bufp);
- 	  RkwGoTo(cxnum, bunsetu);
- 	} else {
--	    PrintMsg("%s RkwStoreYomi faild\n",
-+	    PrintMsg("%s RkwStoreYomi failed\n",
- 		    irwerrhdr(client, wStoreYomi));
- 	    stat = -1 ;
- 	}

diff --git a/app-i18n/canna/files/canna-12_make_the_output_of_mkbindic_reproducible.patch b/app-i18n/canna/files/canna-12_make_the_output_of_mkbindic_reproducible.patch
deleted file mode 100644
index 5019ec0ee7..0000000000
--- a/app-i18n/canna/files/canna-12_make_the_output_of_mkbindic_reproducible.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Description: make the output of mkbindic reproducible.
-Author: Chris Lamb <lamby@debian.org>
-Bug-Debian: https://bugs.debian.org/861955
-Forwarded: no
-Reviewed-By: Francisco Vilmar Cardoso Ruviaro <francisco.ruviaro@riseup.net>
-Last-Update: 2020-08-17
-
---- a/cmd/crxdic/crxdic.c
-+++ b/cmd/crxdic/crxdic.c
-@@ -31,6 +31,7 @@ static char rcsid[]="@(#) 102.1 $Id: crx
- #include <time.h>
- #include <ctype.h>
- #include <fcntl.h>
-+#include <limits.h>
- #include <assert.h>
- #include "ccompat.h"
- #include "RKindep/file.h"
-@@ -932,6 +933,9 @@ makeHeader(dic)
-   unsigned		i;
-   RkiCksumCalc		calc;
-   unsigned		off;
-+  char *source_date_epoch;
-+  unsigned long long epoch;
-+  char *endptr;
-     
-   if (RkiCksumCRCInit(&calc)
-       || RkiCksumAdd(&calc, dic->Dir->buf, dic->Dir->dirsiz)) {
-@@ -963,7 +967,32 @@ makeHeader(dic)
-     hd.data[HD_CMPV].var = 0x300702L;
-     hd.flag[HD_CMPV] = -1;
-   }
--  hd.data[HD_TIME].var = tloc = time(0);
-+  source_date_epoch = getenv("SOURCE_DATE_EPOCH");
-+  if (source_date_epoch) {
-+    errno = 0;
-+    epoch = strtoull(source_date_epoch, &endptr, 10);
-+    if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
-+                    || (errno != 0 && epoch == 0)) {
-+            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", strerror(errno));
-+            exit(EXIT_FAILURE);
-+    }
-+    if (endptr == source_date_epoch) {
-+            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", endptr);
-+            exit(EXIT_FAILURE);
-+    }
-+    if (*endptr != '\0') {
-+            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", endptr);
-+            exit(EXIT_FAILURE);
-+    }
-+    if (epoch > ULONG_MAX) {
-+            fprintf(stderr, "Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to %lu but was found to be: %llu \n", ULONG_MAX, epoch);
-+            exit(EXIT_FAILURE);
-+    }
-+    tloc = epoch;
-+  } else {
-+    tloc = time(0);
-+  }
-+  hd.data[HD_TIME].var = tloc;
-   hd.flag[HD_TIME] = -1;
-   hd.data[HD_DMNM].ptr = (unsigned char *)STrdup(dic->name);
-   hd.flag[HD_DMNM] = strlen(dic->name);

diff --git a/app-i18n/canna/files/canna-Wformat-security.patch b/app-i18n/canna/files/canna-Wformat-security.patch
deleted file mode 100644
index c83552b5cb..0000000000
--- a/app-i18n/canna/files/canna-Wformat-security.patch
+++ /dev/null
@@ -1,199 +0,0 @@
---- a/cmd/catdic/can.c
-+++ b/cmd/catdic/can.c
-@@ -1236,7 +1236,7 @@
- 	break;
-       default:
- 	if (init[0] == '/') {
--	    (void)fprintf(stderr,msg_abnl);
-+	    (void)fprintf(stderr,"%s",msg_abnl);
- 	} else {
- 	    (void)fprintf(stderr,msg_abnls,init);
- 	}
-@@ -1297,11 +1297,11 @@
- 
-     if ( opt_fq ) {
-       if ( opt_s ) {
--        (void) fprintf(stderr,msg_sfq);
-+        (void) fprintf(stderr,"%s",msg_sfq);
-         exit(ERR_VALUE) ;
-       }  
-       if ( opt_l || opt_std ) {
--        (void) fprintf(stderr,msg_l);
-+        (void) fprintf(stderr,"%s",msg_l);
-         exit(ERR_VALUE) ;
-       }
-       mode = mode | PL_DIC ;
-@@ -1491,7 +1491,7 @@
-     break;
-   default:
-     if(init[0] == '/') {
--      fprintf(stderr,msg_abnl );
-+      fprintf(stderr,"%s",msg_abnl );
-     }
-     else {
-       fprintf(stderr,msg_abnls,init);
---- a/cmd/catdic/rutil.c
-+++ b/cmd/catdic/rutil.c
-@@ -271,7 +271,7 @@
- 	 "Dictionary \"%s\" does not exist.\n"), dicname);
-     break;
-   case NOTALC :
--    (void)fprintf(stderr, msg_mem);
-+    (void)fprintf(stderr, "%s", msg_mem);
-     break;
-   case BADF :
-     (void)fprintf(stderr, gettxt("cannacmd:196",
-@@ -297,7 +297,7 @@
- 	(void)fprintf(stderr,msg_abnls,init);
-     }
-     else {
--	(void)fprintf(stderr,msg_abnl);
-+	(void)fprintf(stderr,"%s",msg_abnl);
-     }
-     break;
-   }
-@@ -321,7 +321,7 @@
- 	(void)fprintf(stderr, msg_abnls, init);
-     }
-     else {
--	(void)fprintf(stderr, msg_abnl);
-+	(void)fprintf(stderr, "%s", msg_abnl);
-     }
-     ret = -1;
-     return ret;
-@@ -332,13 +332,13 @@
- 	  (void)fprintf(stderr, msg_mnts, init);
-       }
-       else {
--	  (void)fprintf(stderr, msg_mnt);
-+	  (void)fprintf(stderr, "%s", msg_mnt);
-       }
-       ret = -1;
-       return ret;
-     }
-     if ((mode & PL_DIC) == PL_DIC ) {
--      (void)fprintf(stderr,msg_fq);
-+      (void)fprintf(stderr,"%s",msg_fq);
-       ret = -1 ;
-       return ret ;
-     }
-@@ -359,7 +359,7 @@
-     ret = 0;
-     break;
-   case NOTALC :
--    (void)fprintf(stderr, msg_mem);
-+    (void)fprintf(stderr, "%s", msg_mem);
-     ret = -1;
-     break;
-   case BADF :
-@@ -421,7 +421,7 @@
-     ret = -1;
-     break;
-   case BADCONT :
--    (void)fprintf(stderr,msg_cnt);
-+    (void)fprintf(stderr,"%s",msg_cnt);
-     ret = -1;
-     break;
-   default:
-@@ -429,7 +429,7 @@
-       (void)fprintf(stderr, msg_abnls, init);
-     }
-     else {
--	(void)fprintf(stderr, msg_abnl);
-+	(void)fprintf(stderr, "%s", msg_abnl);
-     }
-     exit(ERR_VALUE);
-     break;
-@@ -448,7 +448,7 @@
-     ret = 0;
-     break;
-   case NOTALC :
--    (void)fprintf(stderr, msg_mem);
-+    (void)fprintf(stderr, "%s", msg_mem);
-     ret = -1;
-     break;
-   case BADF :
-@@ -509,11 +509,11 @@
-     ret = -1;
-     break;
-   case BADARG :
--    (void)fprintf(stderr,msg_fq);
-+    (void)fprintf(stderr,"%s",msg_fq);
-     ret = -1;
-     break;
-   case BADCONT :
--    (void)fprintf(stderr,msg_cnt);
-+    (void)fprintf(stderr,"%s",msg_cnt);
-     ret = -1;
-     break;
-   case NOENT  :   /* 91.12.03 */
-@@ -526,7 +526,7 @@
-       (void)fprintf(stderr, msg_abnls, init);
-     }
-     else {
--	(void)fprintf(stderr, msg_abnl);
-+	(void)fprintf(stderr, "%s", msg_abnl);
-     }
-     exit(ERR_VALUE);
-     break;
-@@ -556,7 +556,7 @@
-       (void)fprintf(stderr, msg_abnls,init);
-     }
-     else {
--	(void)fprintf(stderr, msg_abnl);
-+	(void)fprintf(stderr, "%s", msg_abnl);
-     }
-     ret = -1;
-     return ret;
-@@ -567,13 +567,13 @@
- 	(void)fprintf(stderr, msg_mnts, init);
-       }
-       else {
--	  (void)fprintf(stderr, msg_mnt);
-+	  (void)fprintf(stderr, "%s", msg_mnt);
-       }
-       ret = -1;
-       return ret;
-     }
-     if ((mode & PL_DIC) == PL_DIC ) {
--      (void)fprintf(stderr, msg_fq);
-+      (void)fprintf(stderr, "%s", msg_fq);
-       ret = -1 ;
-       return ret ;
-     }
-@@ -608,7 +608,7 @@
-     ret = -2;   /* 93.03.03 */
-     break;
-   case BADCONT :
--    (void)fprintf(stderr, msg_cnt);
-+    (void)fprintf(stderr, "%s", msg_cnt);
-     ret = -1;
-     break;
-   default:
-@@ -616,7 +616,7 @@
- 	(void)fprintf(stderr, msg_abnls, init);
-     }
-     else {
--	(void)fprintf(stderr, msg_abnl);
-+	(void)fprintf(stderr, "%s", msg_abnl);
-     }
-     ret = -1;
-     break;
-@@ -651,7 +651,7 @@
-     ret = -2;   /* 93.03.03 */
-     break;
-   case BADCONT :
--    (void)fprintf(stderr, msg_cnt);
-+    (void)fprintf(stderr, "%s", msg_cnt);
-     ret = -1;
-     break;
-   default:
-@@ -659,7 +659,7 @@
- 	(void)fprintf(stderr, msg_abnls, init);
-     }
-     else {
--	(void)fprintf(stderr, msg_abnl);
-+	(void)fprintf(stderr, "%s", msg_abnl);
-     }
-     ret = -1;
-     break;

diff --git a/app-i18n/canna/files/canna-Wformat.patch b/app-i18n/canna/files/canna-Wformat.patch
deleted file mode 100644
index a8f5aa3716..0000000000
--- a/app-i18n/canna/files/canna-Wformat.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/doc/man/guide/tex/cannaindex.c
-+++ b/doc/man/guide/tex/cannaindex.c
-@@ -198,7 +198,7 @@
-   }
-   inf = fopen(argv[1], "r");
-   if (!inf) {
--    fprintf(stderr, "%s: Can not open file \"%s\".\n", argv[1]);
-+    fprintf(stderr, "%s: Can not open file \"%s\".\n", program, argv[1]);
-     exit(1);
-   }
-   pages = readindex(inf, entries);

diff --git a/app-i18n/canna/files/canna-canuum.patch b/app-i18n/canna/files/canna-canuum.patch
deleted file mode 100644
index 293ffbb54c..0000000000
--- a/app-i18n/canna/files/canna-canuum.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/canuum/configure.in
-+++ b/canuum/configure.in
-@@ -401,7 +401,7 @@
- dnl
- olibs="$LIBS"
- AC_MSG_CHECKING(--with-term-libs argument)
--AC_ARG_WITH(tlib,
-+AC_ARG_WITH(term-libs,
- [  --with-term-libs=-lLIB    terminal library to be used ],)
- if test -n "$with_term_libs"; then
-   AC_MSG_RESULT($with_term_libs)
---- a/canuum/wnn_config.h
-+++ b/canuum/wnn_config.h
-@@ -149,8 +149,8 @@
- #define TTY_KCODE J_EUJIS
- #define PTY_KCODE J_EUJIS
- # else /* !DGUX */
--#define TTY_KCODE J_JIS
--#define PTY_KCODE J_JIS
-+#define TTY_KCODE J_EUJIS
-+#define PTY_KCODE J_EUJIS
- # endif
- #endif
- 
---- a/canuum/wnn_os.h
-+++ b/canuum/wnn_os.h
-@@ -41,6 +41,7 @@
- #include <signal.h>
- #if STDC_HEADERS
- #  include <stdlib.h>
-+#  include <string.h>
- #  include <limits.h>
- #endif /* STDC_HEADERS */
- 

diff --git a/app-i18n/canna/files/canna-gentoo.patch b/app-i18n/canna/files/canna-gentoo.patch
deleted file mode 100644
index 7ff274c2c5..0000000000
--- a/app-i18n/canna/files/canna-gentoo.patch
+++ /dev/null
@@ -1,146 +0,0 @@
---- a/Canna.conf
-+++ b/Canna.conf
-@@ -109,12 +109,12 @@
- # define DefErrDir $(cannaPrefix)/log
- # define DefLibCannaDir $(cannaExecPrefix)/lib
- #else 
--# define DefCannaPrefix /usr/local/canna
-+# define DefCannaPrefix $(EPREFIX)/usr
- # ifdef ObsoleteInstallDir
- #  define DefErrDir /usr/spool/canna
- #  define DefLibCannaDir /usr/lib
- # else
--#  define DefErrDir /var/log
-+#  define DefErrDir $(EPREFIX)/var/log/$(PN)
- #  define DefLibCannaDir $(cannaExecPrefix)/lib
- # endif
- #endif
-@@ -123,7 +123,7 @@
- # define DefCannaLibDir $(cannaPrefix)/lib
- #else
- # define DefCannaSrvDir $(cannaExecPrefix)/sbin
--# define DefCannaLibDir $(cannaPrefix)/share/canna
-+# define DefCannaLibDir /etc/canna
- #endif
- 
- #if defined(LinuxArchitecture) || defined(FreeBSDArchitecture) \
-@@ -147,9 +147,11 @@
- XCOMM cannaLibDir = /var/lib/canna
- XCOMM cannaLibDir = /var/db/canna
- cannaLibDir = DefCannaLibDir
--XCOMM cannaManDir = $(cannaPrefix)/share/man
--cannaManDir = $(cannaPrefix)/man
--cannaIncDir = $(cannaPrefix)/include/canna
-+cannaManDir = $(cannaPrefix)/share/man
-+XCOMM cannaManDir = $(cannaPrefix)/man
-+cannaIncDir = $(cannaPrefix)/include/$(PN)
-+cannaShareDir = $(cannaPrefix)/share/$(PN)
-+cannaDocDir = $(cannaPrefix)/share/doc/$(PF)
- 
- libCannaDir = DefLibCannaDir
- ErrDir  = DefErrDir
-@@ -237,7 +239,7 @@
- /* #define UseInstalledLibCanna YES */
- #define UseInstalledLibCanna NO
- 
--DicDir   = $(cannaLibDir)/dic
-+DicDir   = $(EPREFIX)/var/lib/$(PN)/dic
- 
- /* ¤³¤³¤«¤é²¼¤ÏÊѹ¹ÉÔÍפǤ¹ */
- 
---- a/Imakefile
-+++ b/Imakefile
-@@ -87,6 +87,7 @@
- 	 echo "#define CANNAHOSTFILE \"$(cannaLibDir)/cannahost\"";\
- 	 echo "/* for lib/canna */";\
- 	 echo "#define CANNALIBDIR \"$(cannaLibDir)\""; \
-+	 echo "#define CANNASHAREDIR \"$(cannaShareDir)\""; \
- 	 echo "#define SUPPORT_OLD_WCHAR $(supportOldWchar)"; \
- 	 echo "/* for scripts */";\
- 	 echo "#define CANNABINDIR $(cannaBinDir)"; \
---- a/dic/phono/Imakefile
-+++ b/dic/phono/Imakefile
-@@ -27,9 +27,10 @@
- 
-        ROMAJI_DIC_DEF = -DSHIFT
- 
--               DICDIR = $(cannaLibDir)/dic
--            SAMPLEDIR = $(cannaLibDir)/sample
--         SAMPLESRCDIR = $(cannaLibDir)/sample/src
-+               DICDIR = $(DicDir)
-+        CANNASHAREDIR = $(cannaShareDir)
-+            SAMPLEDIR = $(cannaDocDir)/sample
-+         SAMPLESRCDIR = $(cannaDocDir)/sample/src
- 
-     KPDEF = default.kpdef jdaemon.kpdef just.kpdef kaisoku.kpdef kana.kpdef \
-             lan5.kpdef matsu.kpdef newjis.kpdef romaji.kpdef sokuon.kpdef \
-@@ -69,7 +70,7 @@
- MakeDirectories(install,$(DICDIR))
- MakeDirectories(install,$(SAMPLESRCDIR))
- 
--InstallMultiple($(ROMKANA_TABLES),$(DICDIR))
-+InstallMultiple($(ROMKANA_TABLES),$(CANNASHAREDIR))
- 
- #ifdef USE_OBSOLETE_STYLE_FILENAME
- InstallNonExec(default.kpdef,$(SAMPLESRCDIR))
---- a/lib/canna/romaji.c
-+++ b/lib/canna/romaji.c
-@@ -427,7 +427,6 @@
- 	}
-       }
-       
--#if 0 /* currently CANNASHAREDDIR is not defined */
-       if (retval == (struct RkRxDic *)NULL) { /* added for Debian by ISHIKAWA Mutsumi <ishikawa@linux.or.jp> */
-         extern jrUserInfoStruct *uinfo;
- 	
-@@ -450,7 +449,6 @@
- 	  }
- 	}
-       }
--#endif
-       
-       if (retval == (struct RkRxDic *)NULL) { /* Á´Éô¥ª¡¼¥×¥ó¤Ç¤­¤Ê¤¤ */
- 	sprintf(rdic, 
---- a/misc/Imakefile
-+++ b/misc/Imakefile
-@@ -48,7 +48,7 @@
- MakeLintLibSubdirs($(SUBDIRS))
- MakeLintSubdirs($(SUBDIRS),install.ln,install.ln)
- 
--MakeDirectories(install,$(cannaLibDir)/sample/src)
-+MakeDirectories(install,$(cannaDocDir)/sample/src)
- 
- #ifdef USE_OBSOLETE_STYLE_FILENAME
- default.canna: default.ca
-@@ -58,8 +58,8 @@
- 	$(CP) default.ca default.canna
- #endif
- 
- InstallNonExec(default.canna,$(cannaLibDir))
--InstallNonExec(is.c,$(cannaLibDir)/sample/src)
-+InstallNonExec(is.c,$(cannaDocDir)/sample/src)
- 
- clean::
- 	$(RM) $(PROGRAMS)
---- a/misc/initfiles/Imakefile
-+++ b/misc/initfiles/Imakefile
-@@ -6,7 +6,7 @@
- #endif
- 
-             CANNAROOT = ../..
--            SAMPLEDIR = $(cannaLibDir)/sample
-+            SAMPLEDIR = $(cannaDocDir)/sample
- 
- all::
- 
---- a/server/Imakefile
-+++ b/server/Imakefile
-@@ -6,7 +6,7 @@
- #ifdef __EMX__
-          INSTFLAGS = $(INSTUGIDFLAGS)
- #else
--         INSTFLAGS = -s $(INSTUGIDFLAGS)
-+         INSTFLAGS = $(INSTUGIDFLAGS)
- #endif
-            DEFINES = $(CANNASERVER_DEFINES) $(SIGNAL_DEFINES) ConnectionFlags
-           INCLUDES = -I$(CANNAROOT)/include

diff --git a/app-i18n/canna/files/canna-kpdef.patch b/app-i18n/canna/files/canna-kpdef.patch
deleted file mode 100644
index b0b71b4442..0000000000
--- a/app-i18n/canna/files/canna-kpdef.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/dic/phono/default.kpdef
-+++ b/dic/phono/default.kpdef
-@@ -350,3 +350,15 @@
- _	¡²
- /	¡¿
- \\	¡ï
-+
-+# some useful romkan symbols
-+z,	¡Å
-+z-	¡Á
-+z.	¡Ä
-+z/	¡¦
-+z[	¡Ø
-+z]	¡Ù
-+zh	¢«
-+zj	¢­
-+zk	¢¬
-+zl	¢ª

diff --git a/app-i18n/canna/files/canna-overflow.patch b/app-i18n/canna/files/canna-overflow.patch
deleted file mode 100644
index ef3b6ad1b9..0000000000
--- a/app-i18n/canna/files/canna-overflow.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/cmd/catdic/rutil.c
-+++ b/cmd/catdic/rutil.c
-@@ -384,7 +384,7 @@
- 	(void)fprintf(stderr,gettxt("cannacmd:205", 
-     "Specified dictionary \"%s\" already exists. Do you overwrite it ? (y/n)"),
- 		      dicname);
--	fgets(ans,80,stdin);
-+	fgets(ans,sizeof(ans),stdin);
-     } else {
- 	(void)fprintf(stderr,gettxt("cannacmd:206", 
- 	    "Specified dictionary \"%s\" already exists."),dicname);
-@@ -474,7 +474,7 @@
-     if (isatty(fileno(stdin)) != 0) {
- 	(void)fprintf(stderr,gettxt("cannacmd:216", 
- "Personal learning file of dictionary \"%s\" exists. Do you overwrite it ? (y/n)"),dicname);
--	fgets(ans,80,stdin);
-+	fgets(ans,sizeof(ans),stdin);
-     } else {
- 	(void)fprintf(stderr,gettxt("cannacmd:217", 
-     "Personal learning file of system dictionary \"%s\" already exists."),

diff --git a/app-i18n/canna/files/canna-posix-sort.patch b/app-i18n/canna/files/canna-posix-sort.patch
deleted file mode 100644
index 1f98aaf5ef..0000000000
--- a/app-i18n/canna/files/canna-posix-sort.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/cmd/mkbindic/mkbindic.cpp
-+++ b/cmd/mkbindic/mkbindic.cpp
-@@ -40,7 +40,7 @@
- bck_text=;
- flag=;
- compat_flag=;
--sortcmd="sort -d -s +0 -1"
-+sortcmd="sort -d -s -k 1,1"
- usage="usage: mkbindic [-m|-s] [-name dicname] [-c version] textfile [cpp-args ...]";
- : ${TMPDIR:=/tmp}
- 

diff --git a/app-i18n/canna/files/canna-respect-flags.patch b/app-i18n/canna/files/canna-respect-flags.patch
deleted file mode 100644
index 893fc9cd8d..0000000000
--- a/app-i18n/canna/files/canna-respect-flags.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/Canna.conf
-+++ b/Canna.conf
-@@ -548,7 +548,7 @@
- Concat3(lib,libname,.dll):  solist					@@\
- 	RemoveFile(LibraryTargetName(libname))				@@\
- 	RemoveFile(Concat3(lib,libname,.dll))				@@\
--	gcc -shared -nostartfiles -Wl,--out-implib=Concat(lib,libname.a) -o Concat3(lib,libname,.dll) solist $(REQUIREDLIBS)	@@\
-+	$(CC) $(CFLAGS) $(LDFLAGS) -shared -nostartfiles -Wl,--out-implib=Concat(lib,libname.a) -o Concat3(lib,libname,.dll) solist $(REQUIREDLIBS)	@@\
- 									@@\
- clean::									@@\
- 	RemoveFile(LibraryTargetName(libname))				@@\
---- a/canuum/Imakefile
-+++ b/canuum/Imakefile
-@@ -51,6 +51,8 @@
- 	$(CONFIGURE_CMD)
- XCOMM Invoked from confwrapper
- cwenv.sh:
--	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) > $@
--	$(CANNAROOT)/confwrapper mkenv CC env $(CC) >> $@
-+	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) $(CPPFLAGS) > $@
-+	$(CANNAROOT)/confwrapper mkenv CC $(CC) >> $@
-+	$(CANNAROOT)/confwrapper mkenv AR $(AR) >> $@
- 	$(CANNAROOT)/confwrapper mkenv CFLAGS $(PURE_CFLAGS) >> $@
-+	$(CANNAROOT)/confwrapper mkenv LDFLAGS $(LDFLAGS) >> $@
---- a/Imakefile
-+++ b/Imakefile
-@@ -117,9 +117,11 @@
- 	$(CONFIGURE_CMD)
- XCOMM Invoked from confwrapper
- cwenv.sh:
--	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) > $@
--	$(CANNAROOT)/confwrapper mkenv CC env $(CC) >> $@
-+	$(CANNAROOT)/confwrapper mkenv CPPFLAGS $(ALLDEFINES) $(CPPFLAGS) > $@
-+	$(CANNAROOT)/confwrapper mkenv CC $(CC) >> $@
-+	$(CANNAROOT)/confwrapper mkenv AR $(AR) >> $@
- 	$(CANNAROOT)/confwrapper mkenv CFLAGS $(PURE_CFLAGS) >> $@
-+	$(CANNAROOT)/confwrapper mkenv LDFLAGS $(LDFLAGS) >> $@
- 
- CANNAROOT = .
- SERVERDIR = server dic/phono dic/ideo

diff --git a/app-i18n/canna/files/canna-rundir.patch b/app-i18n/canna/files/canna-rundir.patch
deleted file mode 100644
index d8c58be493..0000000000
--- a/app-i18n/canna/files/canna-rundir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/Canna.conf
-+++ b/Canna.conf
-@@ -341,10 +341,10 @@
- #endif
- 
- #ifdef InstallAsUser
--UnixSockDir = $(cannaPrefix)/tmp/.iroha_unix
-+UnixSockDir = $(cannaPrefix)/run/.iroha_unix
- AccessFile = $(cannaPrefix)/etc/hosts.canna
- #else
--UnixSockDir = /tmp/.iroha_unix
-+UnixSockDir = /run/.iroha_unix
- AccessFile = /etc/hosts.canna
- #endif
- UnixSockName = IROHA

diff --git a/app-i18n/canna/files/canna-tmpfiles.conf b/app-i18n/canna/files/canna-tmpfiles.conf
deleted file mode 100644
index 8b70ef1a13..0000000000
--- a/app-i18n/canna/files/canna-tmpfiles.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-d /run/.iroha_unix 0755 canna canna -
-

diff --git a/app-i18n/canna/files/canna.confd b/app-i18n/canna/files/canna.confd
deleted file mode 100644
index d3fdce5425..0000000000
--- a/app-i18n/canna/files/canna.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-CANNASERVER_ENABLE_SYSLOG="yes"
-
-# Specify user to run as
-CANNASERVER_OWNER="bin"
-
-# Options for cannaserver
-CANNASERVER_OPTS=""

diff --git a/app-i18n/canna/files/canna.hosts b/app-i18n/canna/files/canna.hosts
deleted file mode 100644
index 509143d863..0000000000
--- a/app-i18n/canna/files/canna.hosts
+++ /dev/null
@@ -1 +0,0 @@
-unix

diff --git a/app-i18n/canna/files/canna.initd b/app-i18n/canna/files/canna.initd
deleted file mode 100644
index fdfc3fc20b..0000000000
--- a/app-i18n/canna/files/canna.initd
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-command="/usr/sbin/${RC_SVCNAME}server"
-command_args="${CANNASERVER_OPTS}"
-
-# CANNASERVER_OPTS and CANNASERVER_OWNER is defined in /etc/conf.d/canna
-CANNASERVER_LOGFILE="/var/log/${RC_SVCNAME}/CANNA0msgs"
-
-depend() {
-	use logger
-	need net
-}
-
-start_pre() {
-	if [ "${CANNASERVER_ENABLE_SYSLOG}" = "yes" ]; then
-		command_args="${command_args} -syslog"
-	elif [ -z "${CANNASERVER_OWNER}" ]; then
-		checkpath "${CANNASERVER_LOGFILE}"
-	else
-		checkpath -o "${CANNASERVER_OWNER}" "${CANNASERVER_LOGFILE}"
-		command_args="${command_args} -u ${CANNASERVER_OWNER}"
-	fi
-}
-
-stop() {
-	ebegin "Stopping ${name:-${RC_SVCNAME}}"
-	/usr/sbin/${RC_SVCNAME}kill
-	eend ${?}
-}

diff --git a/app-i18n/canna/files/canna.service b/app-i18n/canna/files/canna.service
deleted file mode 100644
index 1bd0498fb4..0000000000
--- a/app-i18n/canna/files/canna.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Canna Japanese Conversion Engine
-After=syslog.target
-
-[Service]
-User=canna
-Type=forking
-ExecStart=/usr/sbin/cannaserver -syslog
-ExecStop=/usr/sbin/cannakill
-
-[Install]
-WantedBy=multi-user.target

diff --git a/app-i18n/canna/files/cannaping.c b/app-i18n/canna/files/cannaping.c
deleted file mode 100644
index 67f49808b6..0000000000
--- a/app-i18n/canna/files/cannaping.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * cannaping - the minimal cannaserver check program
- *
- * Copyright (C) 2003 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Bugs & suggestions about this program are welcome:
- * http://bugzilla.redhat.com/
- *
- * 2003/02/04
- * Yukihiro Nakai <ynakai@redhat.com>
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <canna/jrkanji.h>
-
-int main() {
-  char** warning = NULL;
-  int res = jrKanjiControl(0, KC_INITIALIZE, (char*)&warning);
-
-  if( res != 0 ) {
-    exit(-1);
-  } else if( warning ) {
-    exit(-1);
-  }
-
-  jrKanjiControl(0, KC_FINALIZE, 0);
-  return 0;
-}

diff --git a/app-i18n/canna/files/dot-canna b/app-i18n/canna/files/dot-canna
deleted file mode 100644
index 37fdc2f27c..0000000000
--- a/app-i18n/canna/files/dot-canna
+++ /dev/null
@@ -1,195 +0,0 @@
-;; Copyright 1992 NEC Corporation, Tokyo, Japan.
-;;
-;; Permission to use, copy, modify, distribute and sell this software
-;; and its documentation for any purpose is hereby granted without
-;; fee, provided that the above copyright notice appear in all copies
-;; and that both that copyright notice and this permission notice
-;; appear in supporting documentation, and that the name of NEC
-;; Corporation not be used in advertising or publicity pertaining to
-;; distribution of the software without specific, written prior
-;; permission.  NEC Corporation makes no representations about the
-;; suitability of this software for any purpose.  It is provided "as
-;; is" without express or implied warranty.
-;;
-;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN 
-;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 
-;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 
-;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
-;; PERFORMANCE OF THIS SOFTWARE. 
-
-;;  $Id: dot-canna,v 1.1 2005/09/26 09:29:14 tagoh Exp $
-
-;; µ­¹æÃÖ¤­´¹¤¨ÊÑ´¹¤òÍøÍѤ¹¤ë¤«¡£
-
-(setq use-symbolic-definition t)
-
-;;; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÀßÄê
-;
-; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»ØÄꤷ¤Þ¤¹¡£¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï
-; (1) ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê
-; (2) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê
-; (3) /usr/lib/canna/dic
-; ¤Î½ç¤Ë¥µ¡¼¥Á¤µ¤ì¤Þ¤¹¡£
-;
-
-;(setq romkana-table "unix.cbp")
-(setq romkana-table "default.cbp")
-
-;; ³°Íè¸ìÊÑ´¹
-;(setq english-table "canna/english.cbp")
-
-
-;;; ÍøÍѤ¹¤ë¼­½ñ
-;
-; ¤¿¤Àñ¤Ë½ñ¤­Ê¤٤Ƥ¤¤ë¤Î¤Ïñ¸ìÅÐÏ¿¤ò¹Ô¤ï¤Ê¤¤¼­½ñ¤Ç¥·¥¹¥Æ¥à¼­½ñ¤Ê¤É¤¬
-; ¤³¤ì¤ËÅö¤¿¤ê¤Þ¤¹¡£
-;
-; Éô¼ó¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :bushu ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£
-;
-; ñ¸ìÅÐÏ¿¤ò¤·¤¿¤¤¼­½ñ¤Ë´Ø¤·¤Æ¤Ï :user ¤òÀè¹Ô¤µ¤»¤Æµ­½Ò¤·¤Þ¤¹¡£Ã±¸ìÅÐ
-; Ï¿¤ò¤¹¤ë¼­½ñ¤Ï¥Æ¥­¥¹¥È·Á¼°¼­½ñ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Ã±¸ìÅÐÏ¿¤µ¤»¤¿¤¤
-; ¼­½ñ¤Ï mkdic user ¤ÎÍͤʥ³¥Þ¥ó¥É¤òÂǤĤ³¤È¤Ç¤Ç´Êñ¤ËºîÀ®¤¹¤ë¤³¤È¤¬¤Ç
-; ¤­¤Þ¤¹¡£
-;
-(use-dictionary
- "gcanna"
- "gcannaf"
- "chimei"
-; "iroha"
- "fuzokugo"
- "hojomwd"
- "hojoswd"
- "software"
- "keishiki"
- "zipcode"
- "geo"
-; "zip99"
- "basho"
- "keisan"
- "pub"
- "scien"
- "sup"
- "bonobo"
- :bushu "bushu"
- :user  "user"
- )
-
-;;; ¤µ¤Þ¤¶¤Þ¤Ê¥Ñ¥é¥á¥¿¤ÎÀßÄê
-;
-; ¿¿ÍýÃͤòÀßÄꤹ¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ¤Ï¿¿¤Ë¤Ä¤¤¤Æ¤Ï t ¡¢µ¶¤Ë¤Ä¤¤¤Æ¤Ï nil ¤òÀß
-; Äꤷ¤Þ¤¹¡£
-
-; °ìÈÖ±¦¤Ç±¦¤Ë¹Ô¤³¤¦¤È¤¹¤ë¤Èº¸Ã¼¤Ë¤¤¤¯¤è¤¦¤Ë¤¹¤ë¤«
-(setq cursor-wrap          t)	; default t
-
-; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤òÂǤ俤Ȥ­¤Ë¥«¡¼¥½¥ë°ÜÆ°¤Ëα¤á¤ë(nil)¤«ÁªÂò¤Þ¤Ç¤·¤Æ
-; ¤·¤Þ¤¦¤«(t)
-(setq select-direct        t)	; default t
-
-; °ìÍ÷ɽ¼¨¤Ç¿ô»ú¤ÇÁªÂò¤¹¤ë¤«(t)¡£nil¤Î»þ¤Ï¿ô»ú¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó
-(setq numerical-key-select t)	; default t
-
-; ¸õÊäɽ¼¨»þ¤ËʸÀá¤Î¶èÀÚ¤ê¤Ë¶õÇò¤ò¤¤¤ì¤ë¤«
-(setq bunsetsu-kugiri nil)      ; default nil
-
-; ʸ»ú¥Ù¡¼¥¹¤Î°ÜÆ°¤ò¤¹¤ë¤«(t)¡£ nil¤Î»þ¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Îñ°Ì¤Ç¥«¡¼
-; ¥½¥ë°ÜÆ°¤¬¹Ô¤ï¤ì¤Þ¤¹¡£
-(setq character-based-move t)	; default t
-
-; ÆþÎÏÃæ¤ÎÆɤßÁ´ÂΤò¥ê¥Ð¡¼¥¹¤¹¤ë¤«
-(setq reverse-widely       nil)	; default nil
-
-; ÉÑÅٳؽ¬¤ò¤¹¤ë¤«
-(setq gakushu              t)	; default t
-
-; °ìÍ÷¤ÎºÇ¸å¤Þ¤Ç¤¤¤Ã¤¿¤é°ìö°ìÍ÷ɽ¼¨¤ò¤ä¤á¤ë¤«
-(setq quit-if-end-of-ichiran nil); default nil
-
-; ʸÀá¤Î±¦Ã¼¤Ç±¦°ÜÆ°¤ò¤¹¤ë¤ÈÁ´ÂΤ¬³ÎÄꤷ¤Æ¤·¤Þ¤¦¤«
-(setq kakutei-if-end-of-bunsetsu nil) ; default nil
-
-; °ìÍ÷ÁªÂò¸åƱ¤¸Ê¸Àá¤Ë¤È¤É¤Þ¤ë¤«(t)¡£nil¤Î»þ¤Ï°ìÍ÷ÁªÂò¤ò¹Ô¤¦¤È¤Ò¤È¤ÄÀè
-; ¤ÎʸÀá¤Ë°ÜÆ°¤·¤Þ¤¹¡£
-(setq stay-after-validate  t)	; default t
-
-; ÆɤߤòÆþÎÏÃæ¤Ë¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤òÂÇ¤Ä¤È¥í¡¼¥Þ»ú¤Þ¤Ç¥Ð¥é¥Ð¥é¤Ë¤¹¤ë¤«
-(setq break-into-roman     t)	; default nil
-
-; ²¿²ó¤ÎÊÑ´¹¥­¡¼¤Ç°ìÍ÷ɽ¼¨¤ò¹Ô¤¦¤«¡££°¤òÆþ¤ì¤ë¤ÈÊÑ´¹¥­¡¼¤À¤±¤Ç¤Ï
-; °ìÍ÷ɽ¼¨¤Ë¤Ï°Ü¤ê¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¤Ë¤Ï C-w ¤òÆþÎϤ·¤Æ°ìÍ÷ɽ¼¨¤·¤Æ
-; ²¼¤µ¤¤¡£
-(setq n-henkan-for-ichiran 2)	; default 2
-
-; ñ¸ìÅÐÏ¿»þ¤Ëʸˡ´ØÏ¢¤Î¼ÁÌä¤ò¤¹¤ë¤«(t)¡£nil¤Î»þ¤ÏŬÅö¤ÊÉÊ»ì¤òÉÕ¤±¤Æ¤·
-; ¤Þ¤¤¤Þ¤¹¡£
-(setq gramatical-question  t)	; default t
-
-; ¸õÊ䤬Á´ÂΤβ¿ÈÖÌܤ«¤òɽ¼¨¤¹¤ë¤«
-(setq kouho-count t)            ; default t
-
-; Ã༡ÊÑ´¹¤ò¤¹¤ë¤«
-(setq auto nil)                 ; default nil
-
-; Ã༡ÊÑ´¹¤ò¤¹¤ë»þ¤Ë²¿¸Ä¤ÎʸÀá¤Þ¤Ç¤ò̤³ÎÄê¤ÇÊÝ»ý¤¹¤ë¤«
-(setq n-kouho-bunsetsu 16)      ; default 16
-
-; ¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤Ç¥¤¥ê¡¼¥¬¥ë¤Ê¥í¡¼¥Þ»ú¤ò¼Î¤Æ¤ë¤«
-(setq abandon-illegal-phonogram nil)              ; default nil
-
-; °ìÍ÷¤Î»þ¤â¼¡¤ÎÆþÎϤòǧ¤á¤ë¤«
-(setq allow-next-input 		 t)	; default t
-
-; °ìʸ»ú¥ì¥Ù¥ë¤Î¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ÎÊä½õ¥Æ¡¼¥Ö¥ë
-(if use-symbolic-definition
-    (progn
-      (defsymbol ?-  "¡¼" "-" "¡Ý" "¡¾")
-      (defsymbol ?/  "/"  "¡¿"  "¡¦")
-      (defsymbol ?\\ "\\" "¡À"  "¡ï")
-      (defsymbol
-	?( "(" "¡Ê" "¡Ú"
-	?) ")" "¡Ë" "¡Û" )
-      (defsymbol 
-	?[ "¡Ö" "¡Ø" "¡Î" "¡Ì" "["
-	?] "¡×" "¡Ù" "¡Ï" "¡Í" "]")
-      (defsymbol 
-	?. "¡£" "¡¥" "."
-	?, "¡¢" "¡¤" "," )
-      (defsymbol
-	?0 "0" "£°" "¡»" "Îí"
-	?1 "1" "£±" "°ì" "°í"
-	?2 "2" "£²" "Æó" "Æõ"
-	?3 "3" "£³" "»°" "»²"
-	?4 "4" "£´" "»Í" "»Í"
-	?5 "5" "£µ" "¸Þ" "¸à"
-	?6 "6" "£¶" "Ï»" "Ï»"
-	?7 "7" "£·" "¼·" "¼·"
-	?8 "8" "£¸" "Ȭ" "Ȭ"
-	?9 "9" "£¹" "¶å" "¶å" )
-      (defsymbol
-	?? "?" "¡©"
-	?! "!" "¡ª")
-      (defsymbol ?# "#" "¡ô")
-      (defsymbol ?$ "$" "¡ð")
-      (defsymbol ?% "%" "¡ó")
-      (defsymbol ?& "&" "¡õ")
-      (defsymbol ?+ "+" "¡Ü")
-      (defsymbol ?* "*" "¡ö" "¡ß")
-      (defsymbol ?_ "_" "¡²")
-      (defsymbol ?' "'" "¡Ç")
-      (defsymbol ?` "`" "¡Æ")
-      (defsymbol ?\" "\"" "¡É")
-      ))
-
-;; delete ¥­¡¼¤â¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¤ÈƱ¤¸½èÍý¤ò¤µ¤»¤ë
-(global-set-key "\Delete" 'delete-previous) ; necessary in using Emacs
-
-;; Help ¤¬¤Ê¤¤¿Í¤â¤¤¤ë¤Î¤Ç F1 ¤Ç¤âƱ¤¸Æ°ºî¤ò¤µ¤»¤ë¡£
-(global-set-key "\F1" 'extend-mode)
-
-;; Escape key should escape from the mode.
-(global-set-key "\Escape" 'quit)
-
-;; Ctrl-o ¤ÎÍÞÀ©
-(global-unbind-key-function 'japanese-mode)

diff --git a/app-i18n/canna/files/update-canna-dics_dir b/app-i18n/canna/files/update-canna-dics_dir
deleted file mode 100644
index b4061c8858..0000000000
--- a/app-i18n/canna/files/update-canna-dics_dir
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-# update-canna-dics_dir
-# compiles dics.dir files for Canna Server
-# Copyright 2001 ISHIKAWA Mutsumi
-# Licensed under the GNU General Public License, version 2.  See the file
-# /usr/share/common-licenses/GPL or <http://www.gnu.org/copyleft/gpl.txt>.
-
-SRC=/etc/canna/dics.dir.d
-DEST=/var/lib/canna/dic/canna
-
-for DIR in $SRC $DEST; do
-    VALID=yes
-    if [ ! -d $DIR ]; then
-	echo "$0: $DIR does not exist or is not a directory." >&2
-	VALID=
-    fi
-done
-
-if [ -n "$VALID" ]; then
-    # write new dics.dir file in case we are interrupted
-    echo '# dics.dir -- automatically generated file.  DO NOT EDIT.' > $DEST/dics.dir.update-new
-#    echo '# To modify, see update-canna-dics_dir(8). >> $DEST/dics.dir.update-new
-    # are there any files to process?
-    if [ "$(echo $SRC/*.dics.dir)" != "$SRC/*.dics.dir" ]; then
-	for file in $SRC/*.dics.dir; do
-	    echo "# $file" >> $DEST/dics.dir.update-new
-	    cat $file >> $DEST/dics.dir.update-new
-	done
-	mv $DEST/dics.dir.update-new $DEST/dics.dir
-    else
-      # no files to process, remove the one
-	rm -f $DEST/dics.dir
-    fi
-fi
-
-exit

diff --git a/app-i18n/canna/metadata.xml b/app-i18n/canna/metadata.xml
deleted file mode 100644
index a47620132b..0000000000
--- a/app-i18n/canna/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-  <!-- maintainer-needed -->
-  <use>
-    <flag name="canuum">Build canuum</flag>
-  </use>
-</pkgmetadata>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-01 11:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-26  2:36 [gentoo-commits] repo/proj/guru:dev commit in: app-i18n/canna/, app-i18n/canna/files/ Alessandro Barbieri
  -- strict thread matches above, loose matches on Subject: below --
2024-04-01 11:18 Julien Roy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox