man-pages-ja-20071119.ebuild
20071119版に合わせたついでに、一部、日本語を含む修正履歴(Changelog)ファイルがEUC-JPのままだったことなどに対処。
ファイル名: man-pages-ja-20071119.ebuild
# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ IUSE="unicode" GENTOO_MAN_P="portage-${PN}-20060415" DESCRIPTION="A collection of manual pages translated into Japanese" HOMEPAGE="http://www.linux.or.jp/JM/ http://www.gentoo.gr.jp/jpmain/translation.xml" SRC_URI="http://www.linux.or.jp/JM/${P}.tar.gz http://dev.gentoo.org/~hattya/distfiles/${GENTOO_MAN_P}.tar.gz" LICENSE="GPL-2" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" SLOT="0" RDEPEND="virtual/man" src_compile() { if use unicode; then einfo "Converting EUC-JP manpages and README/ChangeLog to UTF-8..." local x for x in README ChangeLog manual/*/*/*.[1-9] "${WORKDIR}"/${GENTOO_MAN_P}/*/*.[1-9]; do mv ${x} ${x}.old iconv -f eucjp -t utf8 ${x}.old > ${x} rm ${x}.old -f done fi sed -i -e "/^\(man\|shadow\)/s:Y:N:" script/pkgs.list || die # remove man pages that are provided by other packages. # - sys-apps/shadow +nls rm -f manual/*/man1/{chfn,chsh,newgrp,su,passwd,groups}.1 rm -f manual/*/man8/{vigr,vipw}.8 } src_install() { local x y z pkg for x in $(tac script/pkgs.list | grep -v '^[#].*'); do if [[ -z "${pkg}" ]]; then pkg=${x} continue fi if [[ "${x}" == "N" ]]; then pkg= continue fi einfo "install ${pkg}" for y in $(ls -d manual/${pkg}/man* 2>/dev/null); do doman -i18n=ja ${y}/* done pkg= done dodoc ChangeLog README cd "${WORKDIR}"/${GENTOO_MAN_P} for x in *; do if [ -d "${x}" ]; then einfo "install ${x}" for z in $(for y in ${x}/*.[1-9]; do echo ${y##*.}; done | sort | uniq); do doman -i18n=ja ${x}/*.${z} done fi done newdoc ChangeLog ChangeLog.GentooJP } pkg_postinst() { if use unicode && [[ ${ROOT} == "/" ]]; then einfo "Scanning existing Japanese manpages..." local x lst lst=$(for x in /usr/share/man/ja/*/*.bz2; do bzcat ${x} | iconv -f utf8 -t utf8 >/dev/null 2>&1 || echo ${x}; done) if [ -n "${lst}" ]; then for x in ${lst}; do einfo "Converting $(basename ${x}) to UTF-8..." mv ${x} ${x}.old bzcat ${x}.old | iconv -f eucjp -t utf8 | bzip2 > ${x} rm ${x}.old done else einfo "No EUC-JP manpages found." fi else echo elog "You need to set appropriate LANG variables to use" elog "Japanese manpages." elog "e.g." elog "\tLANG=\"ja_JP.eucJP\"" elog "\texport LANG" echo fi }