diff options
author | Bernard Cafarelli <voyageur@gentoo.org> | 2011-05-19 22:53:48 +0000 |
---|---|---|
committer | Bernard Cafarelli <voyageur@gentoo.org> | 2011-05-19 22:53:48 +0000 |
commit | 3cf851e3b1cc51b8cf3fe064c6e827ca0f289268 (patch) | |
tree | ccc96d14fefc28a486c8c34f00fd9a69aad8b95e /media-gfx | |
parent | Drop useless die in EAPI4 ebuild (diff) | |
download | gentoo-2-3cf851e3b1cc51b8cf3fe064c6e827ca0f289268.tar.gz gentoo-2-3cf851e3b1cc51b8cf3fe064c6e827ca0f289268.tar.bz2 gentoo-2-3cf851e3b1cc51b8cf3fe064c6e827ca0f289268.zip |
Non-maintainer commit: fix xerox_mfp USB support, bug #368083, and use src_prepare
(Portage version: 2.2.0_alpha34/cvs/Linux x86_64)
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/sane-backends/ChangeLog | 10 | ||||
-rw-r--r-- | media-gfx/sane-backends/files/sane-backends-1.0.22-xerox_mfp-usb.patch | 73 | ||||
-rw-r--r-- | media-gfx/sane-backends/sane-backends-1.0.22-r1.ebuild | 217 |
3 files changed, 299 insertions, 1 deletions
diff --git a/media-gfx/sane-backends/ChangeLog b/media-gfx/sane-backends/ChangeLog index a6447536ad60..2ac4e99e85a7 100644 --- a/media-gfx/sane-backends/ChangeLog +++ b/media-gfx/sane-backends/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-gfx/sane-backends # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/sane-backends/ChangeLog,v 1.183 2011/05/08 19:35:19 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/sane-backends/ChangeLog,v 1.184 2011/05/19 22:53:48 voyageur Exp $ + +*sane-backends-1.0.22-r1 (19 May 2011) + + 19 May 2011; Bernard Cafarelli <voyageur@gentoo.org> + +sane-backends-1.0.22-r1.ebuild, + +files/sane-backends-1.0.22-xerox_mfp-usb.patch: + Non-maintainer commit: fix xerox_mfp USB support, bug #368083, and use + src_prepare *sane-backends-1.0.22 (08 May 2011) diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.22-xerox_mfp-usb.patch b/media-gfx/sane-backends/files/sane-backends-1.0.22-xerox_mfp-usb.patch new file mode 100644 index 000000000000..b2b3508523ec --- /dev/null +++ b/media-gfx/sane-backends/files/sane-backends-1.0.22-xerox_mfp-usb.patch @@ -0,0 +1,73 @@ +From 5ea227caeacd504b64eef301e83fa63e0a25b3f7 Mon Sep 17 00:00:00 2001 +From: Alex Belkin <abc@telekom.ru> +Date: Tue, 8 Mar 2011 17:57:19 +0300 +Subject: [PATCH] keep usb device by default (correct for bug introduced by tcp sub-backend + +--- + backend/xerox_mfp.c | 27 +++++++++++---------------- + 1 files changed, 11 insertions(+), 16 deletions(-) + +diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c +index e08b50f..d4672a7 100644 +--- a/backend/xerox_mfp.c ++++ b/backend/xerox_mfp.c +@@ -37,10 +37,10 @@ + static const SANE_Device **devlist = NULL; /* sane_get_devices array */ + static struct device *devices_head = NULL; /* sane_get_devices list */ + +-transport available_transports[] = { ++enum { TRANSPORT_USB, TRANSPORT_TCP, TRANSPORTS_MAX }; ++transport available_transports[TRANSPORTS_MAX] = { + { "usb", usb_dev_request, usb_dev_open, usb_dev_close, usb_configure_device }, + { "tcp", tcp_dev_request, tcp_dev_open, tcp_dev_close, tcp_configure_device }, +- { 0 } + }; + + static int resolv_state(int state) +@@ -824,7 +824,13 @@ free_devices (void) + devices_head = NULL; + } + +-/* SANE API ignores return code of this callback */ ++static transport *tr_from_devname(SANE_String_Const devname) ++{ ++ if (strncmp("tcp", devname, 3) == 0) ++ return &available_transports[TRANSPORT_TCP]; ++ return &available_transports[TRANSPORT_USB]; ++} ++ + static SANE_Status + list_one_device (SANE_String_Const devname) + { +@@ -839,12 +845,7 @@ list_one_device (SANE_String_Const devname) + return SANE_STATUS_GOOD; + } + +- for (tr = available_transports; tr->ttype; tr++) { +- if (!strncmp (devname, tr->ttype, strlen(tr->ttype))) +- break; +- } +- if (!tr->ttype) +- return SANE_STATUS_INVAL; ++ tr = tr_from_devname(devname); + + dev = calloc (1, sizeof (struct device)); + if (dev == NULL) +@@ -878,13 +879,7 @@ list_one_device (SANE_String_Const devname) + static SANE_Status + list_conf_devices (UNUSED (SANEI_Config * config), const char *devname) + { +- transport *tr; +- +- for (tr = available_transports; tr->ttype; tr++) { +- if (!strncmp (devname, tr->ttype, strlen(tr->ttype))) +- return tr->configure_device(devname, list_one_device); +- } +- return SANE_STATUS_INVAL; ++ return tr_from_devname(devname)->configure_device(devname, list_one_device); + } + + SANE_Status +-- +1.7.1 + diff --git a/media-gfx/sane-backends/sane-backends-1.0.22-r1.ebuild b/media-gfx/sane-backends/sane-backends-1.0.22-r1.ebuild new file mode 100644 index 000000000000..1ce4e15f9cd5 --- /dev/null +++ b/media-gfx/sane-backends/sane-backends-1.0.22-r1.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/sane-backends/sane-backends-1.0.22-r1.ebuild,v 1.1 2011/05/19 22:53:48 voyageur Exp $ + +EAPI="4" + +inherit eutils flag-o-matic multilib + +# gphoto and v4l are handled by their usual USE flags. +# The pint backend was disabled because I could not get it to compile. +# The mustek_usb2 backend would force us to use --enable-pthreads which is off +# by default for linux. Let's keep this one out until we find a way how to +# handle this cleanly. +IUSE_SANE_BACKENDS=" + abaton + agfafocus + apple + artec + artec_eplus48u + as6e + avision + bh + canon + canon630u + canon_dr + canon_pp + cardscan + coolscan + coolscan2 + coolscan3 + dc25 + dc210 + dc240 + dell1600n_net + dmc + epjitsu + epson + epson2 + fujitsu + genesys + gt68xx + hp + hp3500 + hp3900 + hp4200 + hp5400 + hp5590 + hpsj5s + hpljm1005 + hs2p + ibm + kodak + kvs1025 + kvs20xx + leo + lexmark + ma1509 + magicolor + matsushita + microtek + microtek2 + mustek + mustek_pp + mustek_usb + nec + net + niash + p5 + pie + pixma + plustek + plustek_pp + qcam + ricoh + rts8891 + s9036 + sceptre + sharp + sm3600 + sm3840 + snapscan + sp15c + st400 + stv680 + tamarack + teco1 + teco2 + teco3 + test + u12 + umax + umax_pp + umax1220u + xerox_mfp" + +IUSE="avahi usb gphoto2 ipv6 v4l doc" + +for backend in ${IUSE_SANE_BACKENDS}; do + IUSE="${IUSE} +sane_backends_${backend}" +done + +DESCRIPTION="Scanner Access Now Easy - Backends" +HOMEPAGE="http://www.sane-project.org/" + +RDEPEND=" + sane_backends_dc210? ( virtual/jpeg ) + sane_backends_dc240? ( virtual/jpeg ) + sane_backends_dell1600n_net? ( virtual/jpeg ) + avahi? ( >=net-dns/avahi-0.6.24 ) + sane_backends_canon_pp? ( sys-libs/libieee1284 ) + sane_backends_hpsj5s? ( sys-libs/libieee1284 ) + sane_backends_mustek_pp? ( sys-libs/libieee1284 ) + usb? ( virtual/libusb:0 ) + gphoto2? ( + media-libs/libgphoto2 + virtual/jpeg + ) + v4l? ( media-libs/libv4l )" + +DEPEND="${RDEPEND} + v4l? ( sys-kernel/linux-headers ) + doc? ( + virtual/latex-base + || ( dev-texlive/texlive-latexextra app-text/ptex ) + ) + >=sys-apps/sed-4" + +# We now use new syntax construct (SUBSYSTEMS!="usb|usb_device) +RDEPEND="${RDEPEND} + !<sys-fs/udev-114" + +SRC_URI="ftp://ftp.sane-project.org/pub/sane/${P}/${P}.tar.gz + ftp://ftp.sane-project.org/pub/sane/old-versions/${P}/${P}.tar.gz" +SLOT="0" +LICENSE="GPL-2 public-domain" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +pkg_setup() { + enewgroup scanner +} + +src_prepare() { + cat >> backend/dll.conf.in <<-EOF + # Add support for the HP-specific backend. Needs net-print/hplip installed. + hpaio + # Add support for the Epson-specific backend. Needs media-gfx/iscan installed. + epkowa + EOF + #epatch "${DISTDIR}/${P}-i18n.patch" + + # Bug #368083 + epatch "${FILESDIR}"/${P}-xerox_mfp-usb.patch +} + +src_configure() { + append-flags -fno-strict-aliasing + + # the blank is intended - an empty string would result in building ALL backends. + local BACKENDS=" " + + use gphoto2 && BACKENDS="gphoto2" + use v4l && BACKENDS="${BACKENDS} v4l" + for backend in ${IUSE_SANE_BACKENDS}; do + if use "sane_backends_${backend}"; then + BACKENDS="${BACKENDS} ${backend}" + fi + done + + local myconf=$(use_enable usb libusb) + if ! use doc; then + myconf="${myconf} --disable-latex" + fi + if use sane_backends_mustek_pp; then + myconf="${myconf} --enable-parport-directio" + fi + if ! ( use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp ); then + myconf="${myconf} sane_cv_use_libieee1284=no" + fi + SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \ + BACKENDS="${BACKENDS}" econf \ + $(use_with gphoto2) \ + $(use_enable ipv6) \ + $(use_enable avahi) \ + ${myconf} +} + +src_compile() { + emake VARTEXFONTS="${T}/fonts" || die + + if use usb; then + cd tools/hotplug + grep -v '^$' libsane.usermap > libsane.usermap.new + mv libsane.usermap.new libsane.usermap + fi +} + +src_install () { + emake INSTALL_LOCKPATH="" DESTDIR="${D}" install \ + docdir=/usr/share/doc/${PF} || die + 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 usb; then + insinto /etc/hotplug/usb + exeinto /etc/hotplug/usb + doins tools/hotplug/libsane.usermap + doexe tools/hotplug/libusbscanner + newdoc tools/hotplug/README tools/hotplug/README.hotplug + echo >> "${D}"/etc/env.d/30sane "USB_DEVFS_PATH=/dev/bus/usb" + fi + insinto /$(get_libdir)/udev/rules.d + newins tools/udev/libsane.rules 41-libsane.rules + + dodoc NEWS AUTHORS ChangeLog* README README.linux + echo "SANE_CONFIG_DIR=/etc/sane.d" >> "${D}"/etc/env.d/30sane +} |