# Copyright 1999-2005 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils # Local environment variables S="${WORKDIR}" _srcURI="ftp://download.canon.jp/pub/driver/bj/linux" _prefix="/usr" # Driver selection _targetNames=("pixus560i" "pixus860i" "pixus990i") _targetIDs=("189" "187" "191") _allNames="" _allIDs="" _names="" _ids="" for ((I=0 ; I<${#_targetNames[*]} ; I++ )) ; do IUSE="${_targetNames[I]}_only ${IUSE}" _allNames="${_allNames}${_targetNames[I]} " _allIDs="${_allIDs}${_targetIDs[I]} " done for ((I=0 ; I<${#_targetNames[*]} ; I++ )) ; do if use ${_targetNames[I]}_only ; then _names="${_names}${_targetNames[I]} " _ids="${_ids}${_targetIDs[I]} " fi done if [ -z "${_names}" ] ; then _names="${_allNames}" _ids="${_allIDs}" fi DESCRIPTION="Canon PIXUS printer drivers for models 560i, 860i and 990i" HOMEPAGE="http://canon.jp/" SRC_URI=" ${_srcURI}/bjcups-${PV}-0.tar.gz ${_srcURI}/${P}-0.tar.gz ${_srcURI}/bjcupsmon-${PV}-0.tar.gz ${_srcURI}/printui-${PV}-0.tar.gz ${_srcURI}/stsmon-${PV}-0.tar.gz " LICENSE="GPL-2" SLOT="0" KEYWORDS="x86" RDEPEND=" >=app-text/ghostscript-5.50 >=dev-libs/libxml-1.8 >=dev-libs/popt-1.6 >=gnome-base/libglade-0.6 >=media-libs/libpng-1.0.9 >=media-libs/tiff-3.4 >=net-print/cups-1.1.14 >=x11-libs/gtk+-1.2 " DEPEND=" ${RDEPEND} >=sys-devel/autoconf-2.5 >=sys-devel/automake-1.4 >=sys-libs/glibc-2.0 " src_unpack() { cd ${S} # Extract printer tools and libraries _archives="bjcups ${PN} printui" for _archive in ${_archives} ; do unpack ${_archive}-${PV}-0.tar.gz || die "Could no unpack archive '${_archive}-${PV}-0.tar.gz'." mv ${_archive}-${PV}-0 ${_archive} || die "Could no move directory '${_archive}-${PV}-0'." done _archives="bjcupsmon stsmon" for _archive in ${_archives} ; do unpack ${_archive}-${PV}-0.tar.gz || die "Could no unpack archive '${_archive}-${PV}-0.tar.gz'." mv ${_archive}-${PV} ${_archive} || die "Could no move directory '${_archive}-${PV}'." done # Apply patches for version epatch ${FILESDIR}/${P}_patches.tar.bz2 || die "Could not apply patch '${P}_gentoo.patch'." # Add CANON libraries files for printers tar -j -x -f ${FILESDIR}/${P}_libs.tar.bz2 || die "Could not unpack archive '${P}_libs.tar.bz2'." } src_compile() { einfo "Creating libraries for models '${_names}'" sleep 10 # Compile tools cd ${S}/bjcups/libs emake || die "Could not make 'bjcups/libs'." cd ${S}/bjcups emake || die "Could not make 'bjcups'." export WANT_AUTOCONF=2.5 WANT_AUTOMAKE=1.4 cd ${S}/bjcupsmon ./autogen.sh --prefix=${_prefix} || die "Could not configure 'bjcupsmon'." emake || die "Could not make 'bjcupsmon'." unset WANT_AUTOCONF WANT_AUTOMAKE } src_install() { # Create directories dodir /usr/bin /usr/lib/cups/filter /usr/share/cups/model # Install tools _dirs="bjcups bjcupsmon" for _dir in ${_dirs} ; do cd ${S}/${_dir} emake install DESTDIR=${D} || die "Could not install '${_dir}'." done export WANT_AUTOCONF=2.5 WANT_AUTOMAKE=1.4 for _model in ${_names} ; do _dirs="bjfilter printui stsmon" for _dir in ${_dirs} ; do cd ${S}/${_dir} ./autogen.sh --prefix=${_prefix} --program-suffix=${_model} || die "Could not configure '${_dir}'." emake clean || die "Could not clean '${_dir}'." emake || die "Could not make '${_dir}'." emake install DESTDIR=${D} || die "Could not install 'bjfilter'." done done unset WANT_AUTOCONF WANT_AUTOMAKE # Install libraries for _id in ${_ids} ; do dolib.so ${S}/${_id}/libs_bin/libcnbp*${_id}.so.* insinto /usr/lib/bjlib insopts -m 0755 doins ${S}/${_id}/database/* done # Create libraries symlinks cd ${D}/usr/lib for _lib in libcnbp*.so.* ; do dosym ${_lib} /usr/lib/$(echo ${_lib} | cut -d "." -f 1).so done # Install docs _docdirs="bjcups bjfilter bjcupsmon printui stsmon" for _doc in ${_docdirs} ; do cd ${S}/${_doc} docinto ${_doc} _files="AUTHORS ChangeLog COPYING INSTALL LICENSE NEWS README" for _file in ${_files} ; do if [ -e ${_file} ] ; then dodoc ${_file} fi done done }