summaryrefslogtreecommitdiff
path: root/media-gfx/sane-backends
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/sane-backends')
-rw-r--r--media-gfx/sane-backends/Manifest4
-rw-r--r--media-gfx/sane-backends/sane-backends-1.1.1-r10.ebuild367
-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.ebuild377
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
-}