diff options
Diffstat (limited to 'net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.40.ebuild')
-rw-r--r-- | net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.40.ebuild | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.40.ebuild b/net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.40.ebuild new file mode 100644 index 000000000000..8073c912dba3 --- /dev/null +++ b/net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.40.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools desktop flag-o-matic toolchain-funcs + +CANON_REL="08" +DL_ID="8/0100007658/25" +MY_PV="${PV//\./}" + +DESCRIPTION="Canon UFR II / LIPSLX Printer Driver for Linux" +HOMEPAGE="https://www.canon-europe.com/support/products/imagerunner/" +SRC_URI="https://gdlp01.c-wss.com/gds/${DL_ID}/linux-UFRII-drv-v${MY_PV}-uken-${CANON_REL}.tar.gz" + +LICENSE="Canon-UFR-II GPL-2 MIT" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +DEPEND="dev-libs/atk + dev-libs/glib:2 + dev-libs/libxml2:2 + net-print/cups + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:2 + x11-libs/gtk+:3 + x11-libs/pango" +RDEPEND="${DEPEND} + !net-print/cndrvcups-common-lb + !net-print/cndrvcups-lb" + +HTML_DOCS=( + "${WORKDIR}"/linux-UFRII-drv-v${MY_PV}-uken/Documents/README-ufr2-${PV//0}xUK.html + "${WORKDIR}"/linux-UFRII-drv-v${MY_PV}-uken/Documents/UsersGuide-ufr2-UK.html +) + +S="${WORKDIR}/linux-UFRII-drv-v${MY_PV}-uken/Sources" + +common_op() { + local i + for i in backend buftool cngplp cnjbig rasterfilter; do + cd "${S}/cnrdrvcups-common-${PV}/${i}" || + die "failed to switch dir to ${i}" + "${@}" + cd "${S}" || die "failed to switch dir back from ${i} to ${S}" + done +} + +driver_op() { + local i + for i in cngplp cngplp/files cpca pdftocpca; do + cd "${S}/cnrdrvcups-lb-${PV}/${i}" || + die "failed to switch dir to ${i}" + "${@}" + cd "${S}" || die "failed to switch dir back from ${i} to ${S}" + done +} + +pkg_setup() { + QA_PREBUILT="/usr/bin/cnsetuputil2 + /usr/bin/cnrsdrvufr2 + /usr/bin/cnpkmoduleufr2r + /usr/bin/cnpkbidir + /usr/bin/cnpdfdrv + /usr/$(get_libdir)/libufr2filterr.so.1.0.0 + /usr/$(get_libdir)/libColorGearCufr2.so.2.0.0 + /usr/$(get_libdir)/libcnlbcmr.so.1.0 + /usr/$(get_libdir)/libcanon_slimufr2.so.1.0.0 + /usr/$(get_libdir)/libcanonufr2r.so.1.0.0 + /usr/$(get_libdir)/libcaiowrapufr2.so.1.0.0 + /usr/$(get_libdir)/libcaiocnpkbidir.so.1.0.0 + /usr/$(get_libdir)/libcaepcmufr2.so.1.0" + + QA_SONAME="/usr/$(get_libdir)/libcaiocnpkbidir.so.1.0.0" +} + +src_unpack() { + unpack ${A} + cd "${WORKDIR}/linux-UFRII-drv-v${MY_PV}-uken/Sources/" || die + unpack ./${P}-1.tar.gz +} + +src_prepare() { + default + + common_op mv configure.in configure.ac || die "failed to move configure.in" + driver_op mv configure.in configure.ac || die "failed to move configure.in" + + common_op sed -i -e 's/configure.in/configure.ac/' configure.ac || die + driver_op sed -i -e 's/configure.in/configure.ac/' configure.ac || die + + # This should work with autoreconf + export "LIBS=-lgtk-x11-2.0 -lgobject-2.0 -lglib-2.0 -lgmodule-2.0" + + # Other components already depend on compiled product + append-ldflags -L"${S}/cnrdrvcups-common-${PV}/buftool" + + common_op eautoreconf + driver_op eautoreconf + + # Fix a QA issue with .desktop file, + sed -i 's/Application;Utility/Utility/g' "${S}"/cnrdrvcups-utility-${PV}/data/cnsetuputil2.desktop || + die "Failed to modify cnsetuputil2.desktop file." + + append-cflags -fcommon + + # For some reason, @AR@ is defined everywhere else correctly, but not here. + sed -i -e "s/AR = ar/AR = $(tc-getAR)/g" ./cnrdrvcups-common-${PV}/buftool/Makefile.in || die +} + +src_configure() { + common_op econf + driver_op econf +} + +src_compile() { + common_op emake + driver_op emake +} + +src_install() { + common_op emake DESTDIR="${D}" install COMMON_SUFFIX=2 + driver_op emake DESTDIR="${D}" install COMMON_SUFFIX=2 + + insinto /usr/share/cups + doins "${S}"/cnrdrvcups-common-${PV}/Rule/canon-laser-printer_ufr2.usb-quirks + + if use amd64; then + cd "${S}"/lib/libs64/intel/ || die "failed to switch into libs64" + elif use x86; then + cd "${S}"/lib/libs32/intel/ || die "failed to switch into libs32" + else + die "I don't know what directory to switch into!" + fi + + dolib.so libcaepcmufr2.so.1.0 libcaiocnpkbidir.so.1.0.0 \ + libcaiowrapufr2.so.1.0.0 libcanonufr2r.so.1.0.0 \ + libcanon_slimufr2.so.1.0.0 libcnlbcmr.so.1.0 \ + libColorGearCufr2.so.2.0.0 libufr2filterr.so.1.0.0 + + dosym libcaepcmufr2.so.1.0 /usr/$(get_libdir)/libcaepcmufr2.so + dosym libcaepcmufr2.so.1.0 /usr/$(get_libdir)/libcaepcmufr2.so.1 + + dosym libcaiocnpkbidir.so.1.0.0 /usr/$(get_libdir)/libcaiocnpkbidir.so + dosym libcaiocnpkbidir.so.1.0.0 /usr/$(get_libdir)/libcaiocnpkbidir.so.1 + + dosym libcaiowrapufr2.so.1.0.0 /usr/$(get_libdir)/libcaiowrapufr2.so + dosym libcaiowrapufr2.so.1.0.0 /usr/$(get_libdir)/libcaiowrapufr2.so.1 + + dosym libcanonufr2r.so.1.0.0 /usr/$(get_libdir)/libcanonufr2r.so + dosym libcanonufr2r.so.1.0.0 /usr/$(get_libdir)/libcanonufr2r.so.1 + + dosym libcanon_slimufr2.so.1.0.0 /usr/$(get_libdir)/libcanon_slimufr2.so + dosym libcanon_slimufr2.so.1.0.0 /usr/$(get_libdir)/libcanon_slimufr2.so.1 + + dosym libcnlbcmr.so.1.0 /usr/$(get_libdir)/libcnlbcmr.so + dosym libcnlbcmr.so.1.0 /usr/$(get_libdir)/libcnlbcmr.so.1 + + dosym libColorGearCufr2.so.2.0.0 /usr/$(get_libdir)/libColorGearCufr2.so + dosym libColorGearCufr2.so.2.0.0 /usr/$(get_libdir)/libColorGearCufr2.so.2 + + dosym libufr2filterr.so.1.0.0 /usr/$(get_libdir)/libufr2filterr.so + dosym libufr2filterr.so.1.0.0 /usr/$(get_libdir)/libufr2filterr.so.1 + + dobin cnpdfdrv cnpkbidir cnpkmoduleufr2r cnrsdrvufr2 cnsetuputil2 + + insinto /usr/share/cnpkbidir + doins ./cnpkbidir_info* + + insinto /usr/share/ufr2filterr + doins ./ThLB* + + cd "${S}" || die "Failed to switch back into ${S} during installation." + + dosym ../../../$(get_libdir)/cups/backend/cnusb /usr/libexec/cups/backend/cnusb + dosym ../../../$(get_libdir)/cups/filter/pdftocpca /usr/libexec/cups/filter/pdftocpca + dosym ../../../$(get_libdir)/cups/filter/rastertoufr2 /usr/libexec/cups/filter/rastertoufr2 + + insinto /usr/share/caepcm/ufr2 + doins -r "${S}"/lib/data/ufr2/ + + insinto /usr/share/cups/model + doins ${P}/ppd/*.ppd + + domenu ./cnrdrvcups-utility-${PV}/data/cnsetuputil2.desktop + doicon ./cnrdrvcups-utility-${PV}/data/cnsetuputil.png + + einstalldocs + newdoc "${S}"/cnrdrvcups-common-${PV}/README README.common + newdoc "${S}"/cnrdrvcups-common-${PV}/cngplp/README README.cngplp.common + newdoc "${S}"/cnrdrvcups-lb-${PV}/README README.lb + newdoc "${S}"/cnrdrvcups-lb-${PV}/cngplp/README README.cngplp.driver + + find "${D}" -name '*.la' -type f -delete || die +} |