From 0ca3f86640e2f1f361da895b997c43bac22090a1 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 10 Nov 2024 21:02:07 +0000 Subject: gentoo auto-resync : 10:11:2024 - 21:02:06 --- media-gfx/Manifest.gz | Bin 38353 -> 38354 bytes media-gfx/sane-backends/Manifest | 3 +- .../files/sane-backends-1.3.1-verfix.patch | 23 -- .../sane-backends/sane-backends-1.3.1-r1.ebuild | 358 ++++++++++++++++++++ media-gfx/sane-backends/sane-backends-1.3.1.ebuild | 362 --------------------- 5 files changed, 359 insertions(+), 387 deletions(-) delete mode 100644 media-gfx/sane-backends/files/sane-backends-1.3.1-verfix.patch create mode 100644 media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild delete mode 100644 media-gfx/sane-backends/sane-backends-1.3.1.ebuild (limited to 'media-gfx') diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz index 2f61d1c4cb2f..e69cb547106c 100644 Binary files a/media-gfx/Manifest.gz and b/media-gfx/Manifest.gz differ diff --git a/media-gfx/sane-backends/Manifest b/media-gfx/sane-backends/Manifest index 7136b46493bb..c8f1af3ad097 100644 --- a/media-gfx/sane-backends/Manifest +++ b/media-gfx/sane-backends/Manifest @@ -4,7 +4,6 @@ AUX sane-backends-1.0.24-saned_pidfile_location.patch 345 BLAKE2B dcf7cbd5787c7a AUX sane-backends-1.0.27-disable-usb-tests.patch 336 BLAKE2B 00fd225a4426405d515f5b6641c86e6d9035a588a776aaec26eaa4e10beebf0a9fd97da991646b7964a867c422da2bc1cf93560d1ba326f0086675036338ff00 SHA512 64cce489e87de31e1a865b86d5829ae4914a30f47e27b07fba68629261cefcd617b8eed272c94b7554545e4802283c5bd5b53f79f54403d875726b38378ae74d AUX sane-backends-1.0.30-add_hpaio_epkowa_dll.conf.patch 459 BLAKE2B d127c054b3e4f8aca5de54888e7a37c986515350aac84bb66ca195fca57138cbe3ac3f29b0982e4019b5b599b81984dceacd5523f794a04cfb5d416a051a1e61 SHA512 d9bcce33482db2f15ee094a244359fafdce196984a799509d9b16e24f46feb3aecd419520e65ca9513b40ff4975d793bec05924bfdd69586d9a6f3feb42cccc3 AUX sane-backends-1.1.1-configure-clang16.patch 1537 BLAKE2B 5908f8a11ab78b37b1def559b3e59f7c84fa0d744d81fa130d1816b45ebf058c77caf7fd56ba6b8c97d864a018bcaedddb31525f6c8cd84bac8bb5d7d9a07da1 SHA512 2a1c2addde06841761051f93432da187241f4840568c39f074dc503c3038ab2d5cf57f4f807e728c15d40049c1e06eb8e7939b41daff33c937afd510fc676601 -AUX sane-backends-1.3.1-verfix.patch 896 BLAKE2B 2bce01297d5a5d867c7bfc92f54d98874f3614a4aa604a3b493d4302aed640d2f5c1783ff24a8e2cde6f9dbc44b5156ccef9058eab06c18c958e24edc865e8d6 SHA512 f19f7f41be6a1908398ebf180a0fd613df1f6377e8f6869f9f283d92e3cf2a292cd547769ab8676617fe0b3d72a38a25ed98d042d29af8a97a4072250ce59713 AUX saned 150 BLAKE2B 306d57a0c09856b387c3c50eb27aaafdb194972c2fdb5d1cb7de3118f0c71cf234898ce958f0d6bd17a5e1f2b5bde458e014a7bfdec52403a6204ebf51aee039 SHA512 26f3d66c6b1e75d87d7d430518aa878c77d5ab8d76a45847cef3ff15566341938eedf46c50d0fa8cdeef828df9cddefdd6fdd767c5de30d3aa7d64ed1911d910 AUX saned.confd 76 BLAKE2B cac74b6f117f7f78a71b951433bc6b155f8641e2cf1bd747871165764e97ed368d10551075761c34ff01f51f7cae1b8a9c5692fb9666a300b45134fe255ea3c1 SHA512 8f4a99ef24c19b3a7213b3d25ea16f5bca8623735cf25d21e3a706e9e0135ac8cce5d0b8fb8728845977f41dcefe6bd858076d755515fc91b00e05ee5817d751 AUX saned.initd 294 BLAKE2B 571bd4032b2330c627a31459a18baf2044852ec1b40f0216bd5b5a546d61133522cdc98c7011669feaadc2d030ffeb49a86130075f22a18edab5f4c925780681 SHA512 655200141339f14bf7fc6f4fff3403cf9504809b7f023aa5425aad691c5baa65772100da0a6311669f83ed1dce73b7d65ca20aa31345b13c48dfdb1b30ce5dbd @@ -14,5 +13,5 @@ AUX saned_at.service-r1 432 BLAKE2B e6dab788c0bf705087974642ed714b5f41b3e676b80b DIST backends-1.3.1.tar.bz2 4409356 BLAKE2B 8cedc3adb21c481f346c20de5363439aecabbf81606e3fb81accf4a7af4433eb83cecb3f25be9f4944990651fc66a97ce5f2796cc80846c8e066e4f611c6f8ff SHA512 20774d7b81bbb6a5905f36a312be519e0f664a3fb90ff521f2196c341d80c1ef12164262f063ae0a7b449690213c1e3b8065ebfd6b1e1804cc1581d863f4b720 DIST sane-backends-1.2.1.tar.gz 7308040 BLAKE2B 8448a66e70548f159cfac63501e52417fb1d0599008ce7bf26bf2e7a25a946e688968f01ae64b72c3d5efce67cfbdc0e8e04d8ab3bc92dae0a7e01bc81bf0140 SHA512 3ffce67e409caa5d32684290a56a46a68fef6991a14858d89cbab5aeb364fbbfd6d7c85bcbc4932c9167073a3a6ba682b4730f11fb320f0c4de53a7e7d3edba1 EBUILD sane-backends-1.2.1.ebuild 8837 BLAKE2B 942f956dd6f7b23c3e43e1b40517120cabd9ba087a42ea90dbb47d9009022b02ee42e3a60c80897363027bf1df3c757d6e2b2f57ad7c37d088510b255ee32a61 SHA512 d5c62ec336711d97c730338546c3fea7123dd27a21ba27504698cd50fe56963a75620e9d22505d0ebbafdf12fd954cb5141f1e41099bff32928772c6c435682c -EBUILD sane-backends-1.3.1.ebuild 9015 BLAKE2B 732ccc1b84e0378caae33b1202b9d4fa805613c26fa831e505d85639287682ffeafab216e8cc839118b9cea9d6565492cc9d576c78207c0dc806352ee0904887 SHA512 fb0fec1f6648e072ecbb163c89164faec5624c102317a26679f0fc820d5b3b39787cea6b2a745d8fae969eaf1c279d7664086cf7ec290bc0bc5b6a794b0ced9c +EBUILD sane-backends-1.3.1-r1.ebuild 8918 BLAKE2B c878c01591a3b0bb8f878ab895afe1a33b5650ef83730c34cad04ed793880bab6c8597f64c301f57b605e9cc1704e78e920dce2b73bf9c298a1edc5811423803 SHA512 b6bb4454130c1dcef2d8aebbca35ef5ec05c5937c6c3f594b7d658fc3b86eb4e3d13abcc18f37ae425caf816b37faea811e2ff29a7f8f9631ca643da5b56fed1 MISC metadata.xml 333 BLAKE2B 7d543cb4daa6542f7facef3e1f57c09144baed3198010d7c39df40398ab82791f56271375bce36e829a1364350d05f81c332a2359e7038b047df31407543d331 SHA512 52ac311d50fcfe020b4ec891bcbc1df2834d5d1e3ade7ab6926c6f85a31712dd5886b834739f6155873e1e09967c8f565b913c807acd7ea47a4d3b94160fff37 diff --git a/media-gfx/sane-backends/files/sane-backends-1.3.1-verfix.patch b/media-gfx/sane-backends/files/sane-backends-1.3.1-verfix.patch deleted file mode 100644 index 32f22f6c181c..000000000000 --- a/media-gfx/sane-backends/files/sane-backends-1.3.1-verfix.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index ddb52b9..c3046b9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -16,13 +16,11 @@ AM_SILENT_RULES - dnl ****************************************************************** - dnl Determine SANE version components and release status - dnl ****************************************************************** --AS_IF([test x = "x$AWK"],[AC_PROG_AWK]) --AS_IF([test x = "x`echo $VERSION | sed 's/[[.0-9]]//g'`"], -- [is_release=yes], -- [is_release=no]) --V_MAJOR=`echo $VERSION | $AWK -F. '{print $1}'` --V_MINOR=`echo $VERSION | $AWK -F. '{print $2}'` --V_REV=`echo $VERSION | $AWK -F. '{print $3}' | sed 's/^\([[0-9]]*\).*/\1/'`; -+is_release=yes -+is_release=no -+V_MAJOR=1 -+V_MINOR=3 -+V_REV=1 - - AC_DEFINE_UNQUOTED(SANE_DLL_V_MAJOR, $V_MAJOR, [SANE DLL major number]) - AC_DEFINE_UNQUOTED(SANE_DLL_V_MINOR, $V_MINOR, [SANE DLL minor number]) diff --git a/media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild b/media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild new file mode 100644 index 000000000000..3ae022e23d53 --- /dev/null +++ b/media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild @@ -0,0 +1,358 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +# 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 + +DESCRIPTION="Scanner Access Now Easy - Backends" +HOMEPAGE="http://www.sane-project.org/" +SRC_URI="https://gitlab.com/sane-project/backends/-/archive/${PV}/backends-${PV}.tar.bz2" +S="${WORKDIR}/backends-${PV}" + +LICENSE="GPL-2 public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +# 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_lide70 + canon_pp + cardscan + coolscan + coolscan2 + coolscan3 + dc210 + dc240 + dc25 + dell1600n_net + dmc + epjitsu + epson + epson2 + epsonds + 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 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 ) +" + +# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build +RDEPEND=" + acct-user/saned + acct-group/scanner + gphoto2? ( + >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}] + media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] + ) + sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) + sane_backends_dc210? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + sane_backends_dc240? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + sane_backends_dell1600n_net? ( + >=media-libs/tiff-3.9.7-r1:=[${MULTILIB_USEDEP}] + media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] + ) + sane_backends_escl? ( + app-text/poppler[cairo] + || ( + net-dns/avahi[dbus] + net-dns/avahi[gtk] + ) + 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? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + snmp? ( net-analyzer/net-snmp:= ) + systemd? ( sys-apps/systemd:= ) + 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} + dev-libs/libxml2 + v4l? ( sys-kernel/linux-headers ) +" +BDEPEND="${PYTHON_DEPS} + dev-build/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 +) + +# ./configure checks to see if these are defined in sys/io.h, +# so if they're undefined... that's the point. +QA_CONFIG_IMPL_DECL_SKIP=( inb outb ) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/sane-config +) + +src_prepare() { + default + + echo "${PV}" > .tarball-version || die + eautoreconf + + # Needed for udev rules generation/installation + multilib_copy_sources +} + +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" + use sane_backends_escl && multilib_is_native_abi && lbackends+=" escl" + local backend + for backend in ${IUSE_SANE_BACKENDS[@]} ; do + if use "sane_backends_${backend}" && [[ "${backend}" != pnm ]] && [[ "${backend}" != escl ]] ; then + lbackends+=" ${backend}" + fi + done + + local myconf=( + $(use_with usb) + $(multilib_native_use_with snmp) + + $(multilib_native_use_with sane_backends_escl poppler-glib) + # 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+=( + --enable-ipv6 + --disable-locking + $(use_with gphoto2) + $(multilib_native_use_with systemd) + $(use_with v4l) + $(use_enable threads pthread) + $(use_with zeroconf avahi) + ) + + 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 + + insinto "/usr/share/pkgconfig" + doins tools/sane-backends.pc + + # From Fedora and Arch, prevent permission conflicts + # https://github.com/OpenPrinting/cups/issues/314 + # https://gitlab.com/sane-project/backends/-/issues/546 + # + # Generate udev udev+hwdb, not needing scanner group + install -vdm 755 "${ED}/$(get_udevdir)/rules.d/" || die + tools/sane-desc -m udev+hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die + tools/sane-desc -m udev+hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die + # generate udev hwdb + install -vdm 755 "${ED}/$(get_udevdir)/hwdb.d/" || die + tools/sane-desc -m hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" + # NOTE: an empty new line is required between the two .desc collections + printf "\n" >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die + tools/sane-desc -m hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die + # udev rule for saned (SANE scanning daemon) to be able to write on usb port + udev_newrules "${FILESDIR}/66-saned.rules-r1" 66-saned.rules + fi +} + +multilib_src_install_all() { + dodir /etc/env.d + + if use systemd ; then + systemd_newunit "${FILESDIR}"/saned_at.service-r1 "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_postrm() { + udev_reload +} + +pkg_postinst() { + udev_reload + + optfeature "Network scanner backend" media-gfx/sane-airscan + 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 +} diff --git a/media-gfx/sane-backends/sane-backends-1.3.1.ebuild b/media-gfx/sane-backends/sane-backends-1.3.1.ebuild deleted file mode 100644 index 573d4ca4c003..000000000000 --- a/media-gfx/sane-backends/sane-backends-1.3.1.ebuild +++ /dev/null @@ -1,362 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) - -# 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 - -MY_PN=backends -MY_P="${MY_PN}-${PV}" -DESCRIPTION="Scanner Access Now Easy - Backends" -HOMEPAGE="http://www.sane-project.org/" -SRC_URI="https://gitlab.com/sane-project/${MY_PN}/-/archive/${PV}/${MY_P}.tar.bz2" - -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2 public-domain" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -# 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_lide70 - canon_pp - cardscan - coolscan - coolscan2 - coolscan3 - dc210 - dc240 - dc25 - dell1600n_net - dmc - epjitsu - epson - epson2 - epsonds - 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 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 ) -" - -# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build -RDEPEND=" - acct-user/saned - acct-group/scanner - gphoto2? ( - >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}] - media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] - ) - sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] ) - sane_backends_dc210? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) - sane_backends_dc240? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) - sane_backends_dell1600n_net? ( - >=media-libs/tiff-3.9.7-r1:=[${MULTILIB_USEDEP}] - media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] - ) - sane_backends_escl? ( - app-text/poppler[cairo] - || ( - net-dns/avahi[dbus] - net-dns/avahi[gtk] - ) - 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? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) - snmp? ( net-analyzer/net-snmp:= ) - systemd? ( sys-apps/systemd:= ) - 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} - dev-libs/libxml2 - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND="${PYTHON_DEPS} - dev-build/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}-verfix.patch" -) - -# ./configure checks to see if these are defined in sys/io.h, -# so if they're undefined... that's the point. -QA_CONFIG_IMPL_DECL_SKIP=( inb outb ) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/sane-config -) - -src_prepare() { - default - - eautoreconf - - # Needed for udev rules generation/installation - multilib_copy_sources -} - -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" - use sane_backends_escl && multilib_is_native_abi && lbackends+=" escl" - local backend - for backend in ${IUSE_SANE_BACKENDS[@]} ; do - if use "sane_backends_${backend}" && [[ "${backend}" != pnm ]] && [[ "${backend}" != escl ]] ; then - lbackends+=" ${backend}" - fi - done - - local myconf=( - $(use_with usb) - $(multilib_native_use_with snmp) - - $(multilib_native_use_with sane_backends_escl poppler-glib) - # 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+=( - --enable-ipv6 - --disable-locking - $(use_with gphoto2) - $(multilib_native_use_with systemd) - $(use_with v4l) - $(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 - - insinto "/usr/share/pkgconfig" - doins tools/sane-backends.pc - - # From Fedora and Arch, prevent permission conflicts - # https://github.com/OpenPrinting/cups/issues/314 - # https://gitlab.com/sane-project/backends/-/issues/546 - # - # Generate udev udev+hwdb, not needing scanner group - install -vdm 755 "${ED}/$(get_udevdir)/rules.d/" || die - tools/sane-desc -m udev+hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die - tools/sane-desc -m udev+hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die - # generate udev hwdb - install -vdm 755 "${ED}/$(get_udevdir)/hwdb.d/" || die - tools/sane-desc -m hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" - # NOTE: an empty new line is required between the two .desc collections - printf "\n" >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die - tools/sane-desc -m hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die - # udev rule for saned (SANE scanning daemon) to be able to write on usb port - udev_newrules "${FILESDIR}/66-saned.rules-r1" 66-saned.rules - fi -} - -multilib_src_install_all() { - dodir /etc/env.d - - if use systemd ; then - systemd_newunit "${FILESDIR}"/saned_at.service-r1 "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_postrm() { - udev_reload -} - -pkg_postinst() { - udev_reload - - optfeature "Network scanner backend" media-gfx/sane-airscan - 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 -} -- cgit v1.2.3