net-print/cnrdrvcups-lb: new package for Canon laser printers
authorJoonas Niilola <juippis@gentoo.org>
Sun, 5 Jan 2020 10:08:51 +0000 (12:08 +0200)
committerJoonas Niilola <juippis@gentoo.org>
Sun, 5 Jan 2020 10:09:45 +0000 (12:09 +0200)
Anyone using cndrvcups-common-lb and cndrvcups-lb will have to
emerge --deselect these from world file before attempting to install.
You'll also have to reconfigure your printer/scanner after emerging
this driver package.

Closes: https://bugs.gentoo.org/695896
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
net-print/cnrdrvcups-lb/Manifest [new file with mode: 0644]
net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.00.ebuild [new file with mode: 0644]
net-print/cnrdrvcups-lb/metadata.xml [new file with mode: 0644]

diff --git a/net-print/cnrdrvcups-lb/Manifest b/net-print/cnrdrvcups-lb/Manifest
new file mode 100644 (file)
index 0000000..af89d8d
--- /dev/null
@@ -0,0 +1 @@
+DIST linux-UFRII-drv-v500-uken-06.tar.gz 107038301 BLAKE2B f02a8c9ea1052c4bf60d375eec8d896a81ab07358f9b794ba24fe70c4d21d66dd6bdb814c1d5774d281bb2657d59bf7cbfdaff1887f548bf3213951f4c171f1c SHA512 56ef4f53de630651e3953c17525f473b51b804853425f987b05ef1ee797234be01efde594f25b0a89d80098e5f5a2987cffd9eabee836dde0e3916c30cd25cf3
diff --git a/net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.00.ebuild b/net-print/cnrdrvcups-lb/cnrdrvcups-lb-5.00.ebuild
new file mode 100644 (file)
index 0000000..77be1ac
--- /dev/null
@@ -0,0 +1,187 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools desktop flag-o-matic
+
+MY_DOWNLOAD_ID="8/0100007658/11"
+MY_PV="${PV//\./}"
+
+DESCRIPTION="Canon UFR II / LIPSLX Printer Driver for Linux "
+HOMEPAGE="https://www.canon-europe.com/support/products/imagerunner/"
+SRC_URI="http://gdlp01.c-wss.com/gds/${MY_DOWNLOAD_ID}/linux-UFRII-drv-v${MY_PV}-uken-06.tar.gz"
+
+LICENSE="Canon-UFR-II GPL-2 MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE=""
+
+DEPEND="dev-libs/libxml2:2
+       gnome-base/libglade:2.0
+       media-libs/jbigkit
+       net-print/cups
+       x11-libs/gtk+:2"
+RDEPEND="${DEPEND}
+       !net-print/cndrvcups-common-lb
+       !net-print/cndrvcups-lb"
+
+HTML_DOCS=(
+       "${WORKDIR}"/linux-UFRII-drv-v${MY_PV}-uken/Documents/README-ufr2-5.0xUK.html
+       "${WORKDIR}"/linux-UFRII-drv-v${MY_PV}-uken/Documents/UsersGuide-ufr2-UK.html
+)
+
+S="${WORKDIR}/linux-UFRII-drv-v${MY_PV}-uken/Sources"
+
+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
+}
+
+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
+}
+
+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."
+}
+
+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 || die "failed to switch into libs64"
+       elif use x86; then
+               cd "${S}"/lib/libs32 || 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/caepcm/ufr2
+       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
+}
diff --git a/net-print/cnrdrvcups-lb/metadata.xml b/net-print/cnrdrvcups-lb/metadata.xml
new file mode 100644 (file)
index 0000000..6b0a0fb
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="person">
+    <email>juippis@gentoo.org</email>
+    <name>Joonas Niilola</name>
+  </maintainer>
+</pkgmetadata>