|
|
|
# Copyright 1999-2018 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=6
|
|
|
|
|
|
|
|
DESCRIPTION="Printer descriptions (PPDs) and filters for Kyocera 1x2x MFP"
|
|
|
|
HOMEPAGE="http://www.kyoceradocumentsolutions.eu"
|
|
|
|
SRC_URI="LinuxDrv_${PV}_FS-1x2xMFP.zip"
|
|
|
|
|
|
|
|
LICENSE="GPL-2 kyocera-mita-ppds"
|
|
|
|
SLOT="0"
|
|
|
|
|
|
|
|
KEYWORDS="-* ~amd64"
|
|
|
|
|
|
|
|
IUSE_L10N=(en ar cs de el es fr he hu it ko pl pt ro ru th tr vi zh-CN zh-TW)
|
|
|
|
IUSE="+rastertokpsl-fix +${IUSE_L10N[@]/#/l10n_}"
|
|
|
|
REQUIRED_USE="|| ( ${IUSE_L10N[@]/#/l10n_} )"
|
|
|
|
|
|
|
|
RDEPEND="net-print/cups"
|
|
|
|
DEPEND="app-arch/unzip"
|
|
|
|
RESTRICT="fetch mirror"
|
|
|
|
QA_PREBUILT="/usr/libexec/cups/filter/rastertokpsl"
|
|
|
|
|
|
|
|
get_tarball_name() {
|
|
|
|
# Note the capitalization inconsistency. Don't "fix" that.
|
|
|
|
case "$1" in
|
|
|
|
ar) echo arabic ;;
|
|
|
|
cs) echo czech ;;
|
|
|
|
de) echo German ;;
|
|
|
|
el) echo greek ;;
|
|
|
|
en) echo English ;;
|
|
|
|
es) echo Spanish ;;
|
|
|
|
fr) echo French ;;
|
|
|
|
he) echo hebrew ;;
|
|
|
|
hu) echo hungarian ;;
|
|
|
|
it) echo Italian ;;
|
|
|
|
ko) echo Korean ;;
|
|
|
|
pl) echo polish ;;
|
|
|
|
pt) echo Portuguese ;;
|
|
|
|
ro) echo romanian ;;
|
|
|
|
ru) echo russian ;;
|
|
|
|
th) echo thai ;;
|
|
|
|
tr) echo turkish ;;
|
|
|
|
vi) echo vietnamese ;;
|
|
|
|
zh-CN) echo simplified ;;
|
|
|
|
zh-TW) echo traditional ;;
|
|
|
|
*) die ;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
|
|
|
pkg_nofetch() {
|
|
|
|
einfo "Please, navigate your browser to the following URL and manually"
|
|
|
|
einfo "download the file named '${A}', then put it into your DISTDIR."
|
|
|
|
einfo "https://www.kyoceradocumentsolutions.eu/index/service/dlc.false.driver.FS1025MFP._.EN.html"
|
|
|
|
einfo
|
|
|
|
einfo "Consider keeping a local copy of the file since there're chances"
|
|
|
|
einfo "the company is going to eventually stop hosting it for whatever"
|
|
|
|
einfo "reason."
|
|
|
|
}
|
|
|
|
|
|
|
|
src_unpack() {
|
|
|
|
unpack ${A}
|
|
|
|
S="${WORKDIR}/Linux/$(usex amd64 64bit 32bit)/Global"
|
|
|
|
|
|
|
|
cd "${S}" || die
|
|
|
|
local l10n
|
|
|
|
for l10n in ${L10N}; do
|
|
|
|
local language="$(get_tarball_name "${l10n}")"
|
|
|
|
unpack "./${language}.tar.gz"
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
eapply_user
|
|
|
|
|
|
|
|
# Original PPD files need patching, since they expect their filter
|
|
|
|
# program to reside under /usr/lib, but Gentoo uses /usr/libexec.
|
|
|
|
|
|
|
|
local orig="/usr/lib/cups/filter/rastertokpsl"
|
|
|
|
local repl="/usr/libexec/cups/filter/rastertokpsl"
|
|
|
|
if use rastertokpsl-fix; then
|
|
|
|
repl+="-fix.sh"
|
|
|
|
fi
|
|
|
|
|
|
|
|
sed -i "s|${orig}|${repl}|g" ./*/Kyocera*.ppd || die
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
insinto /usr/share/cups/model/KyoceraMita
|
|
|
|
|
|
|
|
install_with_l10n_suffix() {
|
|
|
|
local l10n="$1"; shift
|
|
|
|
local file
|
|
|
|
for file; do
|
|
|
|
local bn="${file}"
|
|
|
|
bn="${bn##*/}"
|
|
|
|
bn="${bn%.ppd}"
|
|
|
|
newins "${file}" "${bn}_${l10n}.ppd"
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
local l10n
|
|
|
|
for l10n in ${L10N}; do
|
|
|
|
local language="$(get_tarball_name "${l10n}")"
|
|
|
|
install_with_l10n_suffix "${l10n}" "./${language}"/Kyocera*.ppd
|
|
|
|
done
|
|
|
|
|
|
|
|
exeinto /usr/libexec/cups/filter
|
|
|
|
|
|
|
|
# Each unpacked tarball contains an exact copy of 'rastertokpsl',
|
|
|
|
# just take any of them.
|
|
|
|
local rasterfile="$(find -name rastertokpsl -print -quit)"
|
|
|
|
[[ $? -eq 0 && -n "${rasterfile}" ]] || die
|
|
|
|
doexe "${rasterfile}"
|
|
|
|
|
|
|
|
if use rastertokpsl-fix; then
|
|
|
|
doexe "${FILESDIR}/rastertokpsl-fix.sh"
|
|
|
|
fi
|
|
|
|
|
|
|
|
dodoc ../../Readme.htm
|
|
|
|
|
|
|
|
elog "This packages installs Kyocera's 'Readme.htm' file (see package"
|
|
|
|
elog "documentation directory) which lists several common problems and"
|
|
|
|
elog "workarounds. You might want to have a look on it."
|
|
|
|
elog "(Merging the package with 'rastertokpsl-fix' USE flag can save you"
|
|
|
|
elog "from getting some of these problems.)"
|
|
|
|
elog
|
|
|
|
elog "Hint: try socket:// protocol when configuring network printing."
|
|
|
|
}
|