commit: dcbeb65befc813a87bc9f0d45adefb5fa954f196 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> AuthorDate: Wed Jan 13 01:19:43 2021 +0000 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> CommitDate: Wed Jan 13 01:21:34 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcbeb65b
media-gfx/sane-backends: Bump to version 1.0.31 - Fixed build with autoconf-2.70 (#750374) - Added support for pieusb backend (#744703) - Added python-any-r1 eclass because the auto-generated gitlab tarballs we use require to generate some files with a shipped python script - Removed user LDFLAGS from pkgconfig files - Converted some variables into arrays - Minor ebuild overhaul Closes: https://bugs.gentoo.org/744703 Closes: https://bugs.gentoo.org/750374 Closes: https://bugs.gentoo.org/759982 Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> media-gfx/sane-backends/Manifest | 1 + .../files/sane-backends-1.0.31-autoconf-2.70.patch | 93 ++++++ .../sane-backends-1.0.31-backend_pot_input.patch | 33 ++ .../sane-backends-1.0.31-udev_rules_update.patch | 55 ++++ .../sane-backends/sane-backends-1.0.31.ebuild | 362 +++++++++++++++++++++ profiles/desc/sane_backends.desc | 1 + 6 files changed, 545 insertions(+) diff --git a/media-gfx/sane-backends/Manifest b/media-gfx/sane-backends/Manifest index 4a1266cd003..ab68444f748 100644 --- a/media-gfx/sane-backends/Manifest +++ b/media-gfx/sane-backends/Manifest @@ -1 +1,2 @@ DIST backends-1.0.30.tar.gz 5721262 BLAKE2B 139d3ca908d54b94d14ef4145d44a89b939807c15870be03c3c028cf95351bf9a4abd3ea115b84396366bb054f37ade883f429467dceb0663c2855b92e0a4fa5 SHA512 19127c8109c1587d60d8cba713f73b1a24242df44fa49c3e59320f48022783f05d26d3242a3f87478e583a807d88b446ef7a51afb33b674be29656496c435d7b +DIST backends-1.0.31.tar.gz 5731445 BLAKE2B d70691acbd3f5788a26bab6b35eeb243801b435272b57e3fa568127562ff57797452e396e6e5f058c33d3bce0f99b672542fb89bc8eb4d36cbe82ccc20b8f298 SHA512 d8ef05cc3aa9c4fa42c9241e1e61fc93e7959df3746a3a2cfaa6e4fb26dfd0911b4d3227b2da28852f8630fa17ad3432a1230a6f4425340e79a3b82ec5eaa9eb diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.31-autoconf-2.70.patch b/media-gfx/sane-backends/files/sane-backends-1.0.31-autoconf-2.70.patch new file mode 100644 index 00000000000..f1fe4765bdd --- /dev/null +++ b/media-gfx/sane-backends/files/sane-backends-1.0.31-autoconf-2.70.patch @@ -0,0 +1,93 @@ +From 445b5bd7e19245c08de6a0e669dd9211d2597bfa Mon Sep 17 00:00:00 2001 +From: Olaf Meeuwissen <paddy-h...@member.fsf.org> +Date: Fri, 1 Jan 2021 15:53:11 +0900 +Subject: [PATCH] Drop use of obsoleted autoconf AC_HEADER_STDC macro. Fixes + #409 + +Use of the STDC_HEADER pre-processor macro that the autoconf macro +used to define has been removed. Conditionalized code is now used +unconditionally. This should be fine as the macro checks for ANSI +C, i.e. C89 (ISO C90), compliant headers. We already require C99. +--- + acinclude.m4 | 3 --- + lib/md5.c | 10 ++-------- + sanei/sanei_pa4s2.c | 8 +++----- + sanei/sanei_pp.c | 8 +++----- + 4 files changed, 8 insertions(+), 21 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index e10f8ceb2..9393278c2 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -73,9 +73,6 @@ AC_DEFUN([SANE_CHECK_MISSING_HEADERS], + if test "${ac_cv_header_unistd_h}" != "yes" ; then + MISSING_HEADERS="${MISSING_HEADERS}\"unistd.h\" " + fi +- if test "${ac_cv_header_stdc}" != "yes" ; then +- MISSING_HEADERS="${MISSING_HEADERS}\"ANSI C headers\" " +- fi + if test "${MISSING_HEADERS}" != "" ; then + echo "*** The following essential header files couldn't be found:" + echo "*** ${MISSING_HEADERS}" +diff --git a/lib/md5.c b/lib/md5.c +index 923a17c78..009c6d9a0 100644 +--- a/lib/md5.c ++++ b/lib/md5.c +@@ -26,14 +26,8 @@ + + #include <sys/types.h> + +-#if STDC_HEADERS || defined _LIBC +-# include <stdlib.h> +-# include <string.h> +-#else +-# ifndef HAVE_MEMCPY +-# define memcpy(d, s, n) bcopy ((s), (d), (n)) +-# endif +-#endif ++#include <stdlib.h> ++#include <string.h> + + #include "md5.h" + +diff --git a/sanei/sanei_pa4s2.c b/sanei/sanei_pa4s2.c +index b1d95fe02..5365151fd 100644 +--- a/sanei/sanei_pa4s2.c ++++ b/sanei/sanei_pa4s2.c +@@ -150,11 +150,9 @@ static int sanei_pa4s2_dbg_init_called = SANE_FALSE; + + #endif /* NDEBUG */ + +-#if defined(STDC_HEADERS) +-# include <errno.h> +-# include <stdio.h> +-# include <stdlib.h> +-#endif ++#include <errno.h> ++#include <stdio.h> ++#include <stdlib.h> + #if defined(HAVE_STRING_H) + # include <string.h> + #elif defined(HAVE_STRINGS_H) +diff --git a/sanei/sanei_pp.c b/sanei/sanei_pp.c +index 3077342e4..752945a89 100644 +--- a/sanei/sanei_pp.c ++++ b/sanei/sanei_pp.c +@@ -135,11 +135,9 @@ inb( u_long port ) + #include "../include/sane/sanei_debug.h" + #include "../include/sane/sanei_pp.h" + +-#if defined(STDC_HEADERS) +-# include <errno.h> +-# include <stdio.h> +-# include <stdlib.h> +-#endif ++#include <errno.h> ++#include <stdio.h> ++#include <stdlib.h> + #if defined(HAVE_STRING_H) + # include <string.h> + #elif defined(HAVE_STRINGS_H) +-- +GitLab + diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.31-backend_pot_input.patch b/media-gfx/sane-backends/files/sane-backends-1.0.31-backend_pot_input.patch new file mode 100644 index 00000000000..69585784c25 --- /dev/null +++ b/media-gfx/sane-backends/files/sane-backends-1.0.31-backend_pot_input.patch @@ -0,0 +1,33 @@ +From 4846d36ad1e9ca709cb3a2eaa839c8c79effe34b Mon Sep 17 00:00:00 2001 +From: Olaf Meeuwissen <paddy-h...@member.fsf.org> +Date: Sun, 13 Sep 2020 17:56:40 +0900 +Subject: [PATCH] po: Make sure all sane-backends.pot input are available + +--- + po/Makevars | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/po/Makevars b/po/Makevars +index ebff23f90..86f423ef3 100644 +--- a/po/Makevars ++++ b/po/Makevars +@@ -1,5 +1,6 @@ + # Makevars -- snippet for inclusion in po/ -*- Makefile -*- +-# Copyright (C) 2016, 2019 Olaf Meeuwissen and the SANE developers ++# Copyright (C) 2016, 2019, 2020 Olaf Meeuwissen ++# and the SANE developers + # + # This file is part of the SANE build infra-structure. See the + # included LICENSE file for license information. +@@ -47,3 +48,8 @@ width_options = --width=75 + # Locale categories, in addition to LC_MESSAGES, for which message + # catalogs are to be used. + EXTRA_LOCALE_CATEGORIES = ++ ++# Selected files in POTFILES.in are generated. Make sure they are ++# available when needed. ++$(top_srcdir)/backend/pixma/pixma_sane_options.c: ++ cd ../backend; make pixma/pixma_sane_options.c +-- +GitLab + diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.31-udev_rules_update.patch b/media-gfx/sane-backends/files/sane-backends-1.0.31-udev_rules_update.patch new file mode 100644 index 00000000000..17ccb60755e --- /dev/null +++ b/media-gfx/sane-backends/files/sane-backends-1.0.31-udev_rules_update.patch @@ -0,0 +1,55 @@ +https://gitlab.com/sane-project/backends/-/merge_requests/541 + +--- sane-backends-1.0.31/testsuite/tools/data/udev+acl.ref ++++ sane-backends-1.0.31/testsuite/tools/data/udev+acl.ref +@@ -23,7 +23,7 @@ + # If the scanner is supported by sane-backends, please mail the entry to + # the sane-devel mailing list (sane-de...@alioth-lists.debian.net). + # +-ACTION!="add", GOTO="libsane_rules_end" ++ACTION=="remove", GOTO="libsane_rules_end" + ENV{DEVTYPE}=="usb_device", GOTO="libsane_create_usb_dev" + SUBSYSTEMS=="scsi", GOTO="libsane_scsi_rules_begin" + SUBSYSTEM=="usb_device", GOTO="libsane_usb_rules_begin" +--- sane-backends-1.0.31/testsuite/tools/data/udev+hwdb.ref ++++ sane-backends-1.0.31/testsuite/tools/data/udev+hwdb.ref +@@ -20,7 +20,7 @@ + # If the scanner is supported by sane-backends, please mail the entry to + # the sane-devel mailing list (sane-de...@alioth-lists.debian.net). + # +-ACTION!="add", GOTO="libsane_rules_end" ++ACTION=="remove", GOTO="libsane_rules_end" + + # The following rule will disable USB autosuspend for the device + ENV{DEVTYPE}=="usb_device", ENV{libsane_matched}=="yes", TEST=="power/control", ATTR{power/control}="on" +--- sane-backends-1.0.31/testsuite/tools/data/udev.ref ++++ sane-backends-1.0.31/testsuite/tools/data/udev.ref +@@ -23,7 +23,7 @@ + # If the scanner is supported by sane-backends, please mail the entry to + # the sane-devel mailing list (sane-de...@alioth-lists.debian.net). + # +-ACTION!="add", GOTO="libsane_rules_end" ++ACTION=="remove", GOTO="libsane_rules_end" + ENV{DEVTYPE}=="usb_device", GOTO="libsane_create_usb_dev" + SUBSYSTEMS=="scsi", GOTO="libsane_scsi_rules_begin" + SUBSYSTEM=="usb_device", GOTO="libsane_usb_rules_begin" +--- sane-backends-1.0.31/tools/sane-desc.c ++++ sane-backends-1.0.31/tools/sane-desc.c +@@ -3496,7 +3496,7 @@ + int i; + + print_udev_header (); +- printf("ACTION!=\"add\", GOTO=\"libsane_rules_end\"\n" ++ printf("ACTION==\"remove\", GOTO=\"libsane_rules_end\"\n" + "ENV{DEVTYPE}==\"usb_device\", GOTO=\"libsane_create_usb_dev\"\n" + "SUBSYSTEMS==\"scsi\", GOTO=\"libsane_scsi_rules_begin\"\n" + "SUBSYSTEM==\"usb_device\", GOTO=\"libsane_usb_rules_begin\"\n" +@@ -3679,7 +3679,7 @@ + int i; + + print_udevhwdb_header (); +- printf("ACTION!=\"add\", GOTO=\"libsane_rules_end\"\n\n"); ++ printf("ACTION==\"remove\", GOTO=\"libsane_rules_end\"\n\n"); + + printf("# The following rule will disable USB autosuspend for the device\n"); + printf("ENV{DEVTYPE}==\"usb_device\", ENV{libsane_matched}==\"yes\", TEST==\"power/control\", ATTR{power/control}=\"on\"\n\n"); diff --git a/media-gfx/sane-backends/sane-backends-1.0.31.ebuild b/media-gfx/sane-backends/sane-backends-1.0.31.ebuild new file mode 100644 index 00000000000..abf6a807651 --- /dev/null +++ b/media-gfx/sane-backends/sane-backends-1.0.31.ebuild @@ -0,0 +1,362 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) + +# python-any-r1 required for a script in +# backends/pixma/scripts/ +inherit autotools flag-o-matic multilib-minimal optfeature python-any-r1 systemd toolchain-funcs udev user + +# gphoto and v4l are handled by their usual USE flags. +# The pint backend was disabled because I could not get it to compile. +IUSE_SANE_BACKENDS=( + abaton + agfafocus + apple + artec + artec_eplus48u + as6e + avision + bh + canon + canon630u + canon_dr + canon_pp + cardscan + coolscan + coolscan2 + coolscan3 + dc210 + dc240 + dc25 + dell1600n_net + dmc + epjitsu + epson + epson2 + escl + fujitsu + genesys + gt68xx + hp + hp3500 + hp3900 + hp4200 + hp5400 + hp5590 + hpljm1005 + hpsj5s + hs2p + ibm + kodak + kodakaio + kvs1025 + kvs20xx + kvs40xx + leo + lexmark + ma1509 + magicolor + matsushita + microtek + microtek2 + mustek + mustek_pp + mustek_usb + mustek_usb2 + nec + net + niash + p5 + pie + pieusb + pixma + plustek + plustek_pp + pnm + qcam + ricoh + ricoh2 + rts8891 + s9036 + sceptre + sharp + sm3600 + sm3840 + snapscan + sp15c + st400 + stv680 + tamarack + teco1 + teco2 + teco3 + test + u12 + umax + umax1220u + umax_pp + xerox_mfp +) + +IUSE="gphoto2 ipv6 snmp systemd threads usb v4l xinetd +zeroconf" + +for GBACKEND in ${IUSE_SANE_BACKENDS[@]}; do + case ${GBACKEND} in + # Disable backends that require parallel ports as no one has those anymore. + canon_pp|hpsj5s|mustek_pp|\ + pnm|mustek_usb2|kvs40xx) + IUSE+=" sane_backends_${GBACKEND}" + ;; + *) + IUSE+=" +sane_backends_${GBACKEND}" + esac +done + +REQUIRED_USE=" + sane_backends_escl? ( zeroconf ) + sane_backends_kvs40xx? ( threads ) + sane_backends_mustek_usb2? ( threads ) +" + +MY_PN="${PN//sane-/}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Scanner Access Now Easy - Backends" +HOMEPAGE="http://www.sane-project.org/" +SRC_URI="https://gitlab.com/sane-project/backends/-/archive/${PV}/${MY_P}.tar.gz" + +LICENSE="GPL-2 public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build +RDEPEND=" + gphoto2? ( + >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}] + >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] + ) + sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) + sane_backends_dc210? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] ) + sane_backends_dc240? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] ) + sane_backends_dell1600n_net? ( + >=media-libs/tiff-3.9.7-r1:0=[${MULTILIB_USEDEP}] + >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] + ) + sane_backends_escl? ( + || ( + net-dns/avahi[dbus] + net-dns/avahi[gtk] + net-dns/avahi[gtk2] + ) + net-dns/avahi[${MULTILIB_USEDEP}] + net-misc/curl[${MULTILIB_USEDEP}] + ) + sane_backends_hpsj5s? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) + sane_backends_mustek_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) + sane_backends_pixma? ( >=virtual/jpeg-0-r2:0=[${MULTILIB_USEDEP}] ) + snmp? ( net-analyzer/net-snmp:0= ) + systemd? ( sys-apps/systemd:0= ) + usb? ( >=virtual/libusb-1-r1:1=[${MULTILIB_USEDEP}] ) + v4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) + xinetd? ( sys-apps/xinetd ) + zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] ) +" + +DEPEND="${RDEPEND} + ${PYHTON_DEPS} + dev-libs/libxml2 + v4l? ( sys-kernel/linux-headers ) +" +BDEPEND=" + sys-devel/autoconf-archive + sys-devel/gettext + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.24-saned_pidfile_location.patch + "${FILESDIR}"/${PN}-1.0.27-disable-usb-tests.patch + "${FILESDIR}"/${PN}-1.0.30-add_hpaio_epkowa_dll.conf.patch + "${FILESDIR}"/${P}-autoconf-2.70.patch #750374 + "${FILESDIR}"/${P}-udev_rules_update.patch + "${FILESDIR}"/${P}-backend_pot_input.patch +) + +S="${WORKDIR}/${MY_P}" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/sane-config +) + +pkg_setup() { + enewgroup scanner + enewuser saned -1 -1 -1 scanner + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # Patch out the git reference so we can run eautoreconf + sed \ + -e "s/m4_esyscmd_s(\[git describe --dirty\])/${PV}/" \ + -e '/^AM_MAINTAINER_MODE/d' \ + -i configure.ac || die + eautoreconf + + # Fix for "make check". Upstream sometimes forgets to update this. + local ver=$(./configure --version | awk '{print $NF; exit 0}') + sed -i \ + -e "/by sane-desc 3.5 from sane-backends/s:sane-backends .*:sane-backends ${ver}:" \ + testsuite/tools/data/html* || die + + # don't bleed user LDFLAGS into pkgconfig files + sed 's|@LDFLAGS@ ||' -i tools/*.pc.in || die +} + +src_configure() { + # From Fedora + append-flags -fno-strict-aliasing + multilib-minimal_src_configure +} + +multilib_src_configure() { + # the blank is intended - an empty string would result in building ALL backends. + local lbackends=" " + + use gphoto2 && lbackends="gphoto2" + use v4l && lbackends+=" v4l" + local backend + for backend in ${IUSE_SANE_BACKENDS[@]} ; do + if use "sane_backends_${backend}" && [[ "${backend}" != pnm ]] ; then + lbackends+=" ${backend}" + fi + done + + local myconf=( + $(use_with usb) + $(multilib_native_use_with snmp) + + # you can only enable this backend, not disable it... + $(usex sane_backends_pnm --enable-pnm-backend '') + $(usex sane_backends_mustek_pp --enable-parport-directio '') + ) + + if ! { use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp ; } ; then + myconf+=( sane_cv_use_libieee1284=no ) + fi + + # relative path must be used for tests to work properly + # All distributions pass --disable-locking because /var/lock/sane/ would be a world-writable directory + # that break in many ways, bug #636202, #668232, #668350 + # People can refer to the "Programmer's Documentation" at http://www.sane-project.org/docs.html + myconf+=( + --disable-locking + $(use_with gphoto2) + $(multilib_native_use_with systemd) + $(use_with v4l) + $(use_enable ipv6) + $(use_enable threads pthread) + $(use_with zeroconf avahi) + ) + ECONF_SOURCE="${S}" \ + SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \ + BACKENDS="${lbackends}" \ + econf "${myconf[@]}" +} + +multilib_src_compile() { + emake VARTEXFONTS="${T}/fonts" + + if tc-is-cross-compiler ; then + pushd "${BUILD_DIR}"/tools >/dev/null || die + + # The build system sucks and doesn't handle this properly. + # https://alioth.debian.org/tracker/index.php?func=detail&aid=314236&group_id=30186&atid=410366 + tc-export_build_env BUILD_CC + ${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \ + -I. -I../include -I"${S}"/include \ + "${S}"/sanei/sanei_config.c "${S}"/sanei/sanei_constrain_value.c \ + "${S}"/sanei/sanei_init_debug.c "${S}"/tools/sane-desc.c -o sane-desc || die + local dirs=( hal hotplug hotplug-ng udev ) + local targets=( + hal/libsane.fdi + hotplug/libsane.usermap + hotplug-ng/libsane.db + udev/libsane.rules + ) + mkdir -p "${dirs[@]}" || die + emake "${targets[@]}" + + popd >/dev/null || die + fi + + if use usb ; then + sed -i -e '/^$/d' \ + tools/hotplug/libsane.usermap || die + fi +} + +multilib_src_install() { + emake INSTALL_LOCKPATH="" DESTDIR="${D}" install \ + docdir="${EPREFIX}"/usr/share/doc/${PF} + + if multilib_is_native_abi ; then + if use usb ; then + insinto /etc/hotplug/usb + doins tools/hotplug/libsane.usermap + fi + + udev_newrules tools/udev/libsane.rules 41-libsane.rules + insinto "/usr/share/pkgconfig" + doins tools/sane-backends.pc + fi +} + +multilib_src_install_all() { + keepdir /var/lib/lock/sane + fowners root:scanner /var/lib/lock/sane + fperms g+w /var/lib/lock/sane + dodir /etc/env.d + + if use systemd ; then + systemd_newunit "${FILESDIR}"/saned_at.service "saned@.service" + systemd_newunit "${FILESDIR}"/saned.socket saned.socket + fi + + if use usb ; then + exeinto /etc/hotplug/usb + doexe tools/hotplug/libusbscanner + newdoc tools/hotplug/README README.hotplug + fi + + dodoc NEWS AUTHORS PROBLEMS README README.linux + find "${ED}" -name '*.la' -delete || die + + if use xinetd ; then + insinto /etc/xinetd.d + doins "${FILESDIR}"/saned + fi + + newinitd "${FILESDIR}"/saned.initd saned + newconfd "${FILESDIR}"/saned.confd saned +} + +pkg_postinst() { + elog "Optional backends:" + optfeature "Epson-specific backend" media-gfx/iscan + optfeature "HP-specific backend" net-print/hplip + + if use xinetd ; then + elog "If you want remote clients to connect, edit" + elog "/etc/sane.d/saned.conf and /etc/hosts.allow" + fi + + if ! use systemd ; then + elog "If you are using a USB scanner, add all users who want" + elog "to access your scanner to the \"scanner\" group." + fi +} diff --git a/profiles/desc/sane_backends.desc b/profiles/desc/sane_backends.desc index 1572ca4d70c..b602cf9dd10 100644 --- a/profiles/desc/sane_backends.desc +++ b/profiles/desc/sane_backends.desc @@ -64,6 +64,7 @@ net - SANE_BACKENDS setting for building the net backend niash - SANE_BACKENDS setting for building the niash backend p5 - SANE_BACKENDS setting for building the p5 backend pie - SANE_BACKENDS setting for building the pie backend +pieusb - SANE_BACKENDS setting for building the pieusb backend pixma - SANE_BACKENDS setting for building the pixma backend plustek - SANE_BACKENDS setting for building the plustek backend plustek_pp - SANE_BACKENDS setting for building the plustek_pp backend