diff options
Diffstat (limited to 'media-gfx/sane-backends')
-rw-r--r-- | media-gfx/sane-backends/Manifest | 4 | ||||
-rw-r--r-- | media-gfx/sane-backends/sane-backends-1.1.1-r10.ebuild | 367 | ||||
-rw-r--r-- | media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild (renamed from media-gfx/sane-backends/sane-backends-1.1.1-r7.ebuild) | 2 | ||||
-rw-r--r-- | media-gfx/sane-backends/sane-backends-1.1.1-r5.ebuild | 377 |
4 files changed, 2 insertions, 748 deletions
diff --git a/media-gfx/sane-backends/Manifest b/media-gfx/sane-backends/Manifest index a0b5ea44aa35..a903ad63b265 100644 --- a/media-gfx/sane-backends/Manifest +++ b/media-gfx/sane-backends/Manifest @@ -14,7 +14,5 @@ AUX saned.socket 132 BLAKE2B 5e9f0350a1553fc75aea88ce355fb68b881e3b2194ac0e3c6f3 AUX saned_at.service 434 BLAKE2B 6dad3c809e01c17c0064a52c4103486b19294ed3cf8fc71faad18edaf71b920584366ac988d354f45bc07607ea64a97ea480fe152ac9a1cd896df99ff457cbf7 SHA512 891c751261107676f8159f403e0f4d4254099b709b9ba0ac9f2af97a9ed30f677411ad6bc316c2e6e673c616ba988253479d5e30c9617e3ae279beb79f70e965 AUX saned_at.service-r1 432 BLAKE2B e6dab788c0bf705087974642ed714b5f41b3e676b80b5197a753227934b977ce6d1175872163e831e916b6aa36d6c5dd86effa44801494cff6fc669e6c24acaf SHA512 2c8725f9981216129f94a7c4cd75efab37bb75c891fdf7dbd4297161d8d4cd3b1c5fa0eebcaabe1f038aab8500f8b5579d776935f180fb2553bd2cb77506c29d DIST sane-backends-1.1.1.tar.gz 7447569 BLAKE2B 02ac1822beabb12f19ce2d7c053f0f727313d13e0f9380325492a2f0048094f78a118f7659b4c6e39b60c4ea319d862a242f8866a67c84e5649d9ae2691d9473 SHA512 25bd9f90d550cfe6a6d01c48e83716a53f4b0e3a294287e455ecb5e5b80c8fe1699f45c6c87f694475cceb85745c70597e18a7b1094669d5091c5fb183dfe94d -EBUILD sane-backends-1.1.1-r10.ebuild 9422 BLAKE2B 3b45d725e0b3b937f0fdcd9df9f46a34c05b739727b2dad49bbfe22b7944a346e26866893324853b7797c6612554aa6a0269965f6252c4f3df1731df74a0d4ff SHA512 41e92a2ce93a966b58c245cb2318f50ebf5bb9fd9ec70ec1f06a301392d3294f92627bb36036ab6411749f7bc79b1efa6e21bc9773f7055e00e02381958b97de -EBUILD sane-backends-1.1.1-r5.ebuild 9582 BLAKE2B 12b1a176672f3c7aead7848e3340ecf57ede270d72980e34acc9f59db5288edb026ecd8c06b75751749b9c20a99d1b73931791deb47d83b6c68d065736ab711a SHA512 b8749d12bb708c4b305af3c55277abf3b90a85309e964e90f1453b4630533b7a897ee65eeddcd553e569da93f5fbc29925ec3441c2a59f43e4f58622c98e5567 -EBUILD sane-backends-1.1.1-r7.ebuild 9366 BLAKE2B 8d818dcb254611da1489163f0a394e4a0978229b3aea2d5bb181f848c83a53b2c6f8553b1a0aeb42aaf8797e1d784e5a82aa2d29fcc0be96357ef700130b8b6a SHA512 d068686cfde82cdc0735c375c535316ad06bbbda3b7cdd7b738d9b08a1838b346692c68be0977ed4bbc1f72140efde776e546facd8e2a1f070ce33fd4bb7a252 +EBUILD sane-backends-1.1.1-r11.ebuild 9373 BLAKE2B a1f3644ef25653ccc8839a95d1e2f7e7cd28205919b3bc431ed17809e59a614fbf89d7f46e3380f78518fe2a0b1a7ec0c44af9dc720c72167007c400fb6285b1 SHA512 8ed2801301afa72e5c1c44925162187284ff4862e9f43c81525d021afc9af17bae864af41146ee83a2e00a3ff407c42fc77a7f9bc96a33d9359f68cae0222545 MISC metadata.xml 333 BLAKE2B 7d543cb4daa6542f7facef3e1f57c09144baed3198010d7c39df40398ab82791f56271375bce36e829a1364350d05f81c332a2359e7038b047df31407543d331 SHA512 52ac311d50fcfe020b4ec891bcbc1df2834d5d1e3ade7ab6926c6f85a31712dd5886b834739f6155873e1e09967c8f565b913c807acd7ea47a4d3b94160fff37 diff --git a/media-gfx/sane-backends/sane-backends-1.1.1-r10.ebuild b/media-gfx/sane-backends/sane-backends-1.1.1-r10.ebuild deleted file mode 100644 index 1547683ff308..000000000000 --- a/media-gfx/sane-backends/sane-backends-1.1.1-r10.ebuild +++ /dev/null @@ -1,367 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -# 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 - -# 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 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 ) -" - -DESCRIPTION="Scanner Access Now Easy - Backends" -HOMEPAGE="http://www.sane-project.org/" -SRC_URI="https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/${P}.tar.gz" - -LICENSE="GPL-2 public-domain" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build -RDEPEND=" - acct-user/saned - 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: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} - dev-libs/libxml2 - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND=" - ${PYTHON_DEPS} - 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 - # https://gitlab.com/sane-project/backends/-/merge_requests/688 - "${FILESDIR}"/${PN}-1.1.1-genesys-gl845-crash.patch - "${FILESDIR}"/${P}-gcc12-tests.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/sane-config -) - -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 - - # 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+=( - --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 - - 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_dorules "${FILESDIR}/66-saned.rules" - fi -} - -multilib_src_install_all() { - 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() { - 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.1.1-r7.ebuild b/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild index 0a087eb13385..b8de8f738d47 100644 --- a/media-gfx/sane-backends/sane-backends-1.1.1-r7.ebuild +++ b/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild @@ -128,7 +128,7 @@ SRC_URI="https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b LICENSE="GPL-2 public-domain" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" # For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build RDEPEND=" diff --git a/media-gfx/sane-backends/sane-backends-1.1.1-r5.ebuild b/media-gfx/sane-backends/sane-backends-1.1.1-r5.ebuild deleted file mode 100644 index f6c0e2682408..000000000000 --- a/media-gfx/sane-backends/sane-backends-1.1.1-r5.ebuild +++ /dev/null @@ -1,377 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..10} ) - -# 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 - -# 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 ) -" - -DESCRIPTION="Scanner Access Now Easy - Backends" -HOMEPAGE="http://www.sane-project.org/" -SRC_URI="https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/${P}.tar.gz" - -LICENSE="GPL-2 public-domain" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" - -# 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: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} - dev-libs/libxml2 - v4l? ( sys-kernel/linux-headers ) -" -BDEPEND=" - ${PYTHON_DEPS} - 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 - # https://gitlab.com/sane-project/backends/-/merge_requests/688 - "${FILESDIR}"/${PN}-1.1.1-genesys-gl845-crash.patch - "${FILESDIR}"/${P}-gcc12-tests.patch - "${FILESDIR}"/${PN}-1.1.1-configure-clang16.patch - "${FILESDIR}"/${P}-musl.patch -) - -MULTILIB_CHOST_TOOLS=( - /usr/bin/sane-config -) - -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 - - # 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 -} |