--- ebuild.sh.orig +++ ebuild.sh @@ -960,6 +960,7 @@ export PWORKDIR="$WORKDIR" src_install #|| abort_install "fail" + remove_language_files prepall cd "${D}" @@ -1460,6 +1461,36 @@ PATH="${stripped_path}" } +remove_language_files() { + local keepdir + + if useq !nls; then + LINGUAS=en + elif [[ -z "${LINGUAS}" ]]; then + return + fi + echo ">>> Removing unwanted language files" + + save_IFS + IFS=':' + for langparentdir in ${MANPATH} /usr/share/locale; do + IFS=$' \t\n' + if pushd "${D}/${langparentdir}" >/dev/null 2>&1; then + for langdir in */; do + keepdir=0 + for lang in ${LINGUAS} man*; do + [[ "${langdir#${lang}[_/]}" != "${langdir}" ]] && + keepdir=1 + done + [[ $keepdir == 0 ]] && + rm -fr $langdir + done + popd >/dev/null 2>&1 + fi + done + restore_IFS +} + # === === === === === === === === === === === === === === === === === === # === === === === === functions end, main part begins === === === === === # === === === === === functions end, main part begins === === === === ===