# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" inherit eutils flag-o-matic linux-mod DESCRIPTION="Photo Image Print System for Linux. Artisan 50,Epson Stylus Photo P50/T50/T59/T60 driver." HOMEPAGE="http://www.avasys.jp/linux/index.html" SRC_URI="http://linux.avasys.jp/drivers/pips/src/pips-common-3.8.0-2.tar.gz amd64? ( http://linux.avasys.jp/drivers/pips/Epson_Stylus_T50/pips-spt50-ubuntu8.04-3.8.0-CG.tgz )" LICENSE="GPL-2 LGPL-2.1 EAPL" SLOT="0" KEYWORDS="~x86 ~amd64" IUSE="" DEPEND="amd64? ( app-emulation/emul-linux-x86-baselibs app-emulation/emul-linux-x86-gtklibs ) >=dev-libs/libxml2-2.7 >=media-libs/libpng-1.4 >=net-print/cups-1.4 >=x11-libs/gtk+-2.0.0" RDEPEND="${DEPEND}" pkg_setup() { use amd64 && ! use multilib && eerror "You must enable multilib USE flag globally!" linux-mod_pkg_setup if ! linux_chkconfig_present USB_PRINTER; then ewarn "You can print from the printer without USB_PRINTER driver, but cannot" ewarn "acquire the printer status during the printing process, nor print with" ewarn "the status monitor open." ewarn "To enable these functions, enable USB_PRINTER driver in your kernel," ewarn "then change the printer device URI as follows." ewarn " usb://EPSON/(Product name) -->" ewarn " ekplp:/var/ekpd/ekplp0" ewarn fi filter-ldflags -Wl,--as-needed } src_unpack() { for a in `echo ${A}`; do unpack "${a}" done unpack_makeself "${W}/pips-spt50-ubuntu8.04-3.8.0-CG.install" || die 'unpack spt50 failed' if use amd64; then unpack "../work/pips-common_3.8.0-1_i386.deb" unpack "../work/data.tar.gz" fi unpack "../work/pips-spt50_3.8.0-3_i386.deb" unpack "../work/data.tar.gz" } src_prepare() { epatch "${FILESDIR}/pips-png-1.4.patch" epatch "${FILESDIR}/paths.patch" #patch path to pidof util for f in Core/libutils/setup.c \ Core/script/printersetup \ Core/script/setup \ Gui/ekpd-tool/interface.c \ Spooler/cups/script/cupsetup; do sed -i "${f}" -e 's/\/sbin\/pidof/\/bin\/pidof/g' || die "Patching of ${f} failed" done } src_install() { emake DESTDIR="${D}" install || die 'emake failed' rmdir "${D}"/usr/include > /dev/null 2>&1 || die 'Can`t remove include dir' diropts -m0755 doinitd "${FILESDIR}/ekpd" #libraries dodir /usr/sbin /usr/lib32 /usr/share/locale /var/ekpd einfo "Installing binaries:" insinto /usr/lib32 einfo " Libraries ..." doins "${S}"/../usr/lib/lib* || die 'Lib install failed' #binaries einfo " Utils ..." use amd64 && dobin "${S}"/../usr/bin/{espmnt,espmntg} || die 'x86 binaries install failed' dobin "${D}"/usr/local/EPAva/core/{printersetup,setup} || die 'Setup utils install failed' dobin "${D}"/usr/local/EPAva/gui/pipsrsc-setup || die 'Gui setup utils install failed' einfo " Daemon ..." dosbin "${D}"/usr/local/EPAva/core/ekpd || die 'Daemon install failed' rm "${D}"/usr/local/EPAva/core/{ekpd,printersetup,setup} > /dev/null 2>&1 || die 'Can`t remove core binaries' rm "${D}"/usr/local/EPAva/gui/pipsrsc-setup > /dev/null 2>&1 || die 'Can`t remove gui binaries' #misc dodir /usr/local/EPAva/printer/spt50/pixmaps insinto /usr/local/EPAva/printer/spt50 einfo " Drivers ..." doins "${S}"/../usr/local/EPAva/printer/spt50/{ekas50.ppd,ekpdrc_spt50,ekspp50.ppd,ekspt50.ppd,ekspt59.ppd,ekspt60.ppd,gpt.prn,pipsrc_spt50,spt50.dat,spt50.xml} insinto /usr/local/EPAva/printer/spt50/pixmaps einfo " Pixmaps ..." doins "${S}"/../usr/local/EPAva/printer/spt50/pixmaps/{error_i3.xpm,error_i6.xpm,error_ia.xpm,npb.xpm,printing1.xpm,printing3.xpm,ready.xpm,error_i4.xpm,error_i8.xpm,error.xpm,npg.xpm,printing2.xpm,ready_i1.xpm,warning.xpm} einfo " Locales ..." for l in en `echo ${LINGUAS}`; do if [ -d "${S}/../usr/share/locale/${l}" ]; then dodir "/usr/share/locale/${l}/LC_MESSAGES" insinto "/usr/share/locale/${l}/LC_MESSAGES" doins "${S}/../usr/share/locale/${l}"/LC_MESSAGES/* fi done einfo "All done" einfo } pkg_postinst() { elog "You must execute the following command to configure your printer:" elog elog " emerge --config =${CATEGORY}/${PF}" } pkg_prerm() { /usr/bin/printersetup -u -p spt50 -s cups > /dev/null 2>&1 rm /var/ekpd/ekplp0 > /dev/null 2>&1 } pkg_config() { einfo 'Configuring ekpd ...' /usr/bin/printersetup -i -p spt50 -s cups }