brother-dcp9040cn-bin-1.0.3_p1-r2brother-overlay
download
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit rpm linux-info
MY_PRINTER="${PN/brother-/}"
MY_PRINTER="${MY_PRINTER/-bin/}"
MY_VERSION="${PV/-${PR}/}"
MY_VERSION="${MY_VERSION/_p/-}"
PRINTER_NAME=${MY_PRINTER^^}
DESCRIPTION="Brother printer driver for ${PRINTER_NAME}"
HOMEPAGE="http://support.brother.com"
SRC_URI="http://download.brother.com/welcome/dlf005663/${MY_PRINTER}lpr-${MY_VERSION}.i386.rpm
http://download.brother.com/welcome/dlf005665/${MY_PRINTER}cupswrapper-${MY_VERSION}.i386.rpm"
LICENSE="brother-eula GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
RESTRICT="mirror strip"
DEPEND="net-print/cups"
RDEPEND="${DEPEND}"
S=${WORKDIR}
pkg_setup() {
CONFIG_CHECK=""
if use amd64; then
CONFIG_CHECK="${CONFIG_CHECK} ~IA32_EMULATION"
fi
linux-info_pkg_setup
}
src_unpack() {
rpm_unpack ${A}
}
src_prepare() {
default
perl -i -pe 'BEGIN{$stop=0} $stop = !$stop if /ENDOFWFILTER/; if(!$stop) {s/\$1/\$2/g;s!/usr!\$1/usr!;s!/etc!\$1/etc!}' \
"usr/local/Brother/Printer/${MY_PRINTER}/cupswrapper/cupswrapperSetup_${MY_PRINTER}"
}
src_install() {
mkdir -p "${D}/usr/local/Brother/Printer/${MY_PRINTER}/cupswrapper" || die
mkdir -p "${D}/usr/lib/cups/filter" || die
mkdir -p "${D}/usr/share/ppd" || die
cp -r usr "${D}" || die
chmod 755 "${D}/usr/local/Brother/Printer/${MY_PRINTER}/lpd" || die
chmod 755 "${D}/usr/local/Brother/Printer/${MY_PRINTER}/inf" || die
chmod 755 "${D}/usr/local/Brother/Printer/${MY_PRINTER}/" || die
chmod 755 "${D}/usr/local/Brother/Printer/" || die
chmod 755 "${D}/usr/local/Brother" || die
"${D}/usr/local/Brother/Printer/${MY_PRINTER}/cupswrapper/cupswrapperSetup_${MY_PRINTER}" "${D}" || die
chmod 755 "${D}/usr/local/Brother/Printer/${MY_PRINTER}/cupswrapper" || die
mkdir -p "${D}/var/spool/lpd" || die
mkdir -p "${D}/usr/libexec/cups/filter" || die
( ln -s "../../../lib64/cups/filter/brlpdwrapper${MY_PRINTER}" "${D}/usr/libexec/cups/filter/brlpdwrapper${MY_PRINTER}" ) || die
}
pkg_postinst() {
einfo "Brother ${PRINTER_NAME} printer installed"
}