# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 inherit autotools versionator MY_PV="$(delete_all_version_separators)" SOURCES_NAME="linux-UFRIILT-drv-v${MY_PV}-uken" DESCRIPTION="Canon UFR II LT Printer Driver for Linux" HOMEPAGE="https://www.canon.co.uk/support/consumer_products/products/printers/laser/i-sensys_lbp7110cw.aspx?type=drivers&language=&os=Linux%20(64-bit)" SRC_URI="http://gdlp01.c-wss.com/gds/0/0100005950/08/${SOURCES_NAME/-uken/_uken}.tar.gz" LICENSE="Canon-UFR-II" SLOT="0" KEYWORDS="-* amd64 x86" IUSE="" RDEPEND=" >=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)] >=gnome-base/libglade-2.4:2.0 >=net-print/cups-1.1.17 ~net-print/cndrvcups-common-sfp-${PV} >=x11-libs/gtk+-2.4:2 virtual/jpeg:62[abi_x86_32(-)] " DEPEND="${DEPEND}" S="${WORKDIR}/${SOURCES_NAME}/Sources/${P}" MAKEOPTS+=" -j1" PATCHES=( "${FILESDIR}"/remove-StatusMonitor.patch ) pkg_setup() { # Don't raise a fuss over pre-built binaries QA_PREBUILT=" /usr/bin/pksmncap /usr/bin/commandfilefilter /usr/bin/cnpkmodulencap /usr/$(get_abi_LIBDIR x86)/libEnoJPEG.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libEnoJBIG.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libncapfilter.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcnncapcm.so.1.0 /usr/$(get_abi_LIBDIR x86)/libcaio_usb_cdc.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libccpd_util.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcanon_common.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcanonncap.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libCUPS_Communicator.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libCommIsolation.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcomm_ncapcaio.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcomm_stdout.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcomm_usbmlport.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcomm_usbsock.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libcomm_websrv.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libinfo.so.1.0.0 /usr/$(get_abi_LIBDIR x86)/libinfo_analyze.so.1.0.0 " QA_SONAME="/usr/$(get_abi_LIBDIR x86)/libcaio_usb_cdc.so.1.0.0" } src_unpack() { unpack ${A} cd "${WORKDIR}/${SOURCES_NAME}/Sources/" || die unpack ./${P}-1.tar.gz } change_dir() { for i in ppd pstoncapcpca cngplp cngplp/files cpca ; do cd "${i}" || die "${@}" cd "${S}" || die done } src_prepare() { default sed -i -e \ "s:filterdir = \$(libdir)/cups/filter:filterdir = `cups-config --serverbin`/filter:" \ pstoncapcpca/filter/Makefile.am || die export "LIBS=-lgmodule-2.0" change_dir eautoreconf } src_configure() { change_dir econf } src_install() { default einstalldocs find "${D}" -name '*.la' -delete || die cd "${S}/data" || die insinto /usr/share/caepcm doins * cd "${S}/libs" || die insinto /usr/share/ncapfilter doins ThLB* ABI=x86 dobin cnpkmodulencap dolib.so libcnncapcm.so.1.0 dosym libcnncapcm.so.1.0 "/usr/$(get_libdir)/libcnncapcm.so.1" dosym libcnncapcm.so.1.0 "/usr/$(get_libdir)/libcnncapcm.so" for lib in libcnncapcm*.so.?.? libncapfilter.so.?.?.? libcanonncap.so.?.?.?; do dolib.so "${lib}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?.?}" done use x86 && libsource=libs use amd64 && libsource=libs64 cd "${S}/${libsource}" || die insinto /usr/lib/Canon/CUPS_SFP/Bins dobin commandfilefilter insinto /usr/lib/Canon/CUPS_SFP/Utilities dobin pksmncap insinto /usr/lib/Canon/CUPS_SFP/Bidi for lib in libcomm_*.so.?.?.? libccpd_util.so.?.?.? libcaio_usb_cdc.so.?.?.?; do dolib.so "${lib}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?.?}" done insinto /usr/lib/Canon/CUPS_SFP/Libs for lib in libCUPS_Communicator.so.?.?.? libCommIsolation.so.?.?.? libcanon_common.so.?.?.? libinfo*.so.?.?.?; do dolib.so "${lib}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?.?}" done cd "${S}/libs" || die insinto /usr/lib/Canon/CUPS_SFP/Libs for lib in libEno*.so.?.?.?; do dolib.so "${lib}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?}" dosym "${lib}" "/usr/$(get_libdir)/${lib%.?.?.?}" done # c3pldrv dlopens the absolute path /usr/lib/libcnncapcm.so :( if [[ "$(get_libdir)" != lib ]]; then dosym "../$(get_libdir)/libcnncapcm.so" /usr/lib/libcnncapcm.so fi }