--- hplip-2.8.7.ebuild 2008-08-17 18:46:53.000000000 +0600 +++ hplip-2.8.7.ebuild 2009-01-07 18:14:17.000000000 +0500 @@ -1,19 +1,22 @@ -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-print/hplip/hplip-2.8.7.ebuild,v 1.1 2008/08/17 12:46:53 calchan Exp $ +# $Header: $ -inherit eutils linux-info python +EAPI="1" + +inherit eutils flag-o-matic linux-info python + +IUSE="cupsddk dbus doc fax gtk minimal parport ppds plugins qt3 qt4 scanner snmp" DESCRIPTION="HP Linux Imaging and Printing System. Includes net-print/hpijs, scanner drivers and service tools." HOMEPAGE="http://hplip.sourceforge.net/" -SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz" +SRC_URI="plugins? ( http://www.linuxprinting.org/download/printdriver/auxfiles/HP/plugins/hplip-${PV}-plugin.run ) + mirror://sourceforge/hplip/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" -IUSE="cupsddk dbus doc fax gtk minimal parport ppds qt3 qt4 scanner snmp" - DEPEND="!net-print/hpijs !net-print/hpoj virtual/ghostscript @@ -32,6 +35,7 @@ )" RDEPEND="${DEPEND} + app-arch/gzip !minimal? ( !>> Unpacking hplip-${PV}-plugin.tar.gz to ${WORKDIR}/plugins" + mkdir -p "${WORKDIR}"/plugins + cd "${WORKDIR}"/plugins + tail -c +8874 "${DISTDIR}"/hplip-${PV}-plugin.run > hplip-${PV}-plugin.tar.gz + tar xf "${WORKDIR}"/plugins/hplip-${PV}-plugin.tar.gz + rm -f "${WORKDIR}"/plugins/hplip-${PV}-plugin.tar.gz + fi + cd "${S}" + sed -i -e "s:\/usr\/share\/hal\/fdi\/preprobe\/10osvendor:\/etc\/hal\/fdi\/preprobe:g" Makefile.in || die "Patching hplip.list.in failed" sed -i -e "s:\$(doc_DATA)::" Makefile.in || die "Patching Makefile.in failed" sed -i -e "s/'skipstone']/'skipstone', 'epiphany']/" \ -e "s/'skipstone': ''}/'skipstone': '', 'epiphany': '--new-window'}/" \ @@ -96,7 +112,13 @@ sed -i -e "s/55-hpmud.rules/70-hpmud.rules/g" Makefile.* */*.html || die "sed failed" # Use system foomatic-rip instead of foomatic-rip-hplip - sed -i -e 's/foomatic-rip-hplip/foomatic-rip/' ppd/*.ppd || die "sed failed" + local i + for i in ppd/*.ppd.gz + do + rm -f $i.temp + gunzip -c $i | sed 's/foomatic-rip-hplip/foomatic-rip/' | gzip > $i.temp || die "*.ppd.gz sed failed" + mv $i.temp $i + done # Qt4 is still undocumented by upstream, so use with caution local QT_VER @@ -139,13 +161,77 @@ } src_install() { - emake -j1 DESTDIR="${D}" install || die "emake install failed" + replace-flags "-j?" "-j1" + emake DESTDIR="${D}" install || die "emake install failed" rm -f "${D}"/etc/sane.d/dll.conf + if use plugins; then + sed -i -e "s:SYSFS:ATTRS:g" "${WORKDIR}"/plugins/*.rules || die "sed failed" + + insinto /etc/udev/rules.d + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_1000.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_1005_series.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_1018.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_1020.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_p1005.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_p1006.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_p1007.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_p1008.rules + doins "${WORKDIR}"/plugins/86-hpmud-hp_laserjet_p1505.rules + + # detect ARCH variable + if [[ "${ARCH}" == "amd64" ]] ; then + arch_var="64" + else + arch_var="32" + fi + cd "${D}"/usr/lib + dodir /usr/share/hplip/scan/plugins + dolib.so "${WORKDIR}"/plugins/bb_marvell-x86_"${arch_var}".so + ln -s bb_marvell-x86_"${arch_var}".so bb_marvell.so + dosym /usr/lib/bb_marvell-x86_"${arch_var}".so /usr/share/hplip/scan/plugins/bb_marvell.so + dosym /usr/lib/bb_marvell-x86_"${arch_var}".so /usr/share/hplip/scan/plugins/bb_marvell-x86_"${arch_var}".so + dolib.so "${WORKDIR}"/plugins/bb_soap-x86_"${arch_var}".so + ln -s bb_soap-x86_"${arch_var}".so bb_soap.so + dosym /usr/lib/bb_soap-x86_"${arch_var}".so /usr/share/hplip/scan/plugins/bb_soap.so + dosym /usr/lib/bb_soap-x86_"${arch_var}".so /usr/share/hplip/scan/plugins/bb_soap-x86_"${arch_var}".so + dolib.so "${WORKDIR}"/plugins/bb_soapht-x86_"${arch_var}".so + ln -s bb_soapht-x86_"${arch_var}".so bb_soapht.so + dosym /usr/lib/bb_soapht-x86_"${arch_var}".so /usr/share/hplip/scan/plugins/bb_soapht.so + dosym /usr/lib/bb_soapht-x86_"${arch_var}".so /usr/share/hplip/scan/plugins/bb_soapht-x86_"${arch_var}".so + dodir /usr/share/hplip/prnt/plugins + dolib.so "${WORKDIR}"/plugins/lj-x86_"${arch_var}".so + ln -s lj-x86_"${arch_var}".so lj.so + dosym /usr/lib/lj-x86_"${arch_var}".so /usr/share/hplip/prnt/plugins/lj.so + dosym /usr/lib/lj-x86_"${arch_var}".so /usr/share/hplip/prnt/plugins/lj-x86_"${arch_var}".so + + dodir /usr/share/hplip/data/plugins + insinto /usr/share/hplip/data/plugins + doins "${WORKDIR}"/plugins/license.txt + + dodir /usr/share/hplip/data/firmware + insinto /usr/share/hplip/data/firmware + doins "${WORKDIR}"/plugins/hp_laserjet_1000.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_1005_series.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_1018.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_1020.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_p1005.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_p1006.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_p1007.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_p1008.fw.gz + doins "${WORKDIR}"/plugins/hp_laserjet_p1505.fw.gz + + sed -i -e "s:version\=2\.8\.12:version\=2\.8\.12\\nplugin \= 1:" "${D}"/etc/hp/hplip.conf || die "sed failed" + fi + # bug 106035 use qt3 || use qt4 || rm -Rf "${D}"/usr/share/applications use minimal && rm -rf "${D}"/usr/lib + + # install docs + cp -af "${S}"/doc/* "${D}"/usr/share/doc/hplip-${PV} + } pkg_preinst() {