summaryrefslogtreecommitdiff
path: root/media-gfx/sane-backends
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-07 09:24:06 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-07 09:24:06 +0000
commit077e0e831423827ec97c98a46b5f2cc03fb4a6ea (patch)
tree5b25492e7c9f8799c3420d0c71760bf710def8d2 /media-gfx/sane-backends
parentfc0e6a4667fb69a392aa649bf9d6261a30f53373 (diff)
gentoo auto-resync : 07:02:2023 - 09:24:06
Diffstat (limited to 'media-gfx/sane-backends')
-rw-r--r--media-gfx/sane-backends/Manifest2
-rw-r--r--media-gfx/sane-backends/sane-backends-1.2.1.ebuild370
2 files changed, 372 insertions, 0 deletions
diff --git a/media-gfx/sane-backends/Manifest b/media-gfx/sane-backends/Manifest
index d7392b9ebdce..887a2add48ef 100644
--- a/media-gfx/sane-backends/Manifest
+++ b/media-gfx/sane-backends/Manifest
@@ -14,6 +14,8 @@ 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
+DIST sane-backends-1.2.1.tar.gz 7308040 BLAKE2B 8448a66e70548f159cfac63501e52417fb1d0599008ce7bf26bf2e7a25a946e688968f01ae64b72c3d5efce67cfbdc0e8e04d8ab3bc92dae0a7e01bc81bf0140 SHA512 3ffce67e409caa5d32684290a56a46a68fef6991a14858d89cbab5aeb364fbbfd6d7c85bcbc4932c9167073a3a6ba682b4730f11fb320f0c4de53a7e7d3edba1
EBUILD sane-backends-1.1.1-r11.ebuild 9418 BLAKE2B 7727aa8295717b1878fed4a4d2cb83ac80eff01dcc7a62496578a809c7d1ecaa420f2c34d1c8d1ad82f586b405c2dc0ac09fa1b75cb37a89fe76e6fda5458cd2 SHA512 1b6997288e6b7ba80bc2bcffb35ef712866ea843bd3d497f7da50d48cbd1a5ab1f2db524f75398316a93f82c4d186ab8c48173236627460d4d34ee93963a7d1b
EBUILD sane-backends-1.1.1-r13.ebuild 9580 BLAKE2B eee749707bda40f20fd558b00153ed78f34052eb5bc4f59dd097e2d0874b4b992fbc901b9e75927c3a1f71c0a03da4cef71cdf8c102cb1ead500a4827ffaf50d SHA512 147b85daacc23cd66320c866c13ccb01a5ad5bda5a9c163d6d0cf4ca130adb588e07b2d28a58b2ffc2232a310777864301f1dbd481703e1fc59dbd2368b481b8
+EBUILD sane-backends-1.2.1.ebuild 9394 BLAKE2B 0576de03c79689ee0686e1ea29af369e30e259251a26f32d23950c1f21741cb530e79debc53dd881e1dfa645ebc70edd86ca33c7e0451ea88118435ffbac2b7e SHA512 798cc348a78cc34a97a81bb8b82868fb62dad8d9395c406f3e7579062b1313baaf13b4abf3142936ef351265b22a11a9281eb5a86384f2de874a25d57f8f8c21
MISC metadata.xml 333 BLAKE2B 7d543cb4daa6542f7facef3e1f57c09144baed3198010d7c39df40398ab82791f56271375bce36e829a1364350d05f81c332a2359e7038b047df31407543d331 SHA512 52ac311d50fcfe020b4ec891bcbc1df2834d5d1e3ade7ab6926c6f85a31712dd5886b834739f6155873e1e09967c8f565b913c807acd7ea47a4d3b94160fff37
diff --git a/media-gfx/sane-backends/sane-backends-1.2.1.ebuild b/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
new file mode 100644
index 000000000000..65901c95f628
--- /dev/null
+++ b/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
@@ -0,0 +1,370 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+# 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/110fc43336d0fb5e514f1fdc7360dd87/${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:= )
+ 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}
+ 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}"/${PN}-1.1.1-configure-clang16.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
+}