#!/bin/bash
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

mynum=${#}
if [ ${mynum} -lt 1 ] ; then
	helpers_die "${0}: at least one argument needed"
	exit 1
fi
if [ ! -d "${D}${DESTTREE}/share/locale" ] ; then
	install -d "${D}${DESTTREE}/share/locale/"
fi

ret=0

for x in "$@" ; do
	if [ -e "${x}" ] ; then
		mytiny="${x##*/}"
		mydir="${D}${DESTTREE}/share/locale/${mytiny%.*}/LC_MESSAGES"
		if [ ! -d "${mydir}" ] ; then
			install -d "${mydir}"
		fi
		install -m0644 "${x}" "${mydir}/${MOPREFIX}.mo"
	else
		echo "!!! ${0##*/}: $x does not exist" 1>&2
		false
	fi
	((ret|=$?))
done

[[ $ret -ne 0 ]] && helpers_die "${0##*/} failed"
exit $ret
