public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/hardened-dev:musl commit in: media-gfx/sane-backends/files/, media-gfx/sane-backends/
@ 2014-07-20 22:14 Anthony G. Basile
  0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2014-07-20 22:14 UTC (permalink / raw
  To: gentoo-commits

commit:     42ed3b068b5b440e956a9a2a465fba5724862d9d
Author:     Felix Janda <felix.janda <AT> posteo <DOT> de>
AuthorDate: Sat Jul 19 19:51:41 2014 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jul 20 22:15:32 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=42ed3b06

media-gfx/sane-backends: Add missing #include <sys/types.h>

---
 .../sane-backends/files/niash_array_index.patch    | 140 +++++++++
 .../sane-backends-1.0.24-automagic_systemd.patch   |  40 +++
 .../sane-backends-1.0.24-kodakaio_avahi.patch      |  84 ++++++
 ...ne-backends-1.0.24-saned_pidfile_location.patch |  11 +
 .../sane-backends-1.0.24-systemd_pkgconfig.patch   |  37 +++
 .../files/sane-backends-1.0.24-u_char.patch        |  11 +
 .../files/sane-backends-1.0.24-unused-cups.patch   |  42 +++
 media-gfx/sane-backends/files/saned                |  10 +
 media-gfx/sane-backends/files/saned.confd          |   2 +
 media-gfx/sane-backends/files/saned.initd          |  12 +
 media-gfx/sane-backends/metadata.xml               |   8 +
 .../sane-backends/sane-backends-1.0.24-r99.ebuild  | 329 +++++++++++++++++++++
 12 files changed, 726 insertions(+)

diff --git a/media-gfx/sane-backends/files/niash_array_index.patch b/media-gfx/sane-backends/files/niash_array_index.patch
new file mode 100644
index 0000000..236c459
--- /dev/null
+++ b/media-gfx/sane-backends/files/niash_array_index.patch
@@ -0,0 +1,140 @@
+--- backend/niash.c	2010-12-02 00:49:58.000000000 +0100
++++ backend/niash.c.new	2011-09-21 20:09:07.000000000 +0200
+@@ -82,14 +82,7 @@
+   optThreshold,
+ 
+ 
+-  optLast,
+-/* put temporarily disabled options here after optLast */
+-
+-  optGroupMisc,
+-  optLamp,
+-
+-  optCalibrate,
+-  optGamma                      /* analog gamma = single number */
++  optLast
+ } EOptionIndex;
+ 
+ 
+@@ -685,17 +678,6 @@
+           pDesc->size = 0;
+           break;
+ 
+-        case optGamma:
+-          pDesc->name = SANE_NAME_ANALOG_GAMMA;
+-          pDesc->title = SANE_TITLE_ANALOG_GAMMA;
+-          pDesc->desc = SANE_DESC_ANALOG_GAMMA;
+-          pDesc->type = SANE_TYPE_FIXED;
+-          pDesc->constraint_type = SANE_CONSTRAINT_RANGE;
+-          pDesc->constraint.range = &rangeGamma;
+-          pDesc->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
+-          pVal->w = startUpGamma;
+-          break;
+-
+         case optGammaTable:
+           pDesc->name = SANE_NAME_GAMMA_VECTOR;
+           pDesc->title = SANE_TITLE_GAMMA_VECTOR;
+@@ -707,31 +689,6 @@
+           pVal->wa = s->aGammaTable;
+           break;
+ 
+-        case optGroupMisc:
+-          pDesc->title = SANE_I18N ("Miscellaneous");
+-          pDesc->type = SANE_TYPE_GROUP;
+-          pDesc->size = 0;
+-          break;
+-
+-        case optLamp:
+-          pDesc->name = "lamp";
+-          pDesc->title = SANE_I18N ("Lamp status");
+-          pDesc->desc = SANE_I18N ("Switches the lamp on or off.");
+-          pDesc->type = SANE_TYPE_BOOL;
+-          pDesc->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT;
+-          /* switch the lamp on when starting for first the time */
+-          pVal->w = SANE_TRUE;
+-          break;
+-
+-        case optCalibrate:
+-          pDesc->name = "calibrate";
+-          pDesc->title = SANE_I18N ("Calibrate");
+-          pDesc->desc = SANE_I18N ("Calibrates for black and white level.");
+-          pDesc->type = SANE_TYPE_BUTTON;
+-          pDesc->cap = SANE_CAP_SOFT_SELECT;
+-          pDesc->size = 0;
+-          break;
+-
+         case optGroupMode:
+           pDesc->title = SANE_I18N ("Scan Mode");
+           pDesc->desc = "";
+@@ -1007,7 +964,6 @@
+           /* Get options of type SANE_Word */
+         case optCount:
+         case optDPI:
+-        case optGamma:
+         case optTLX:
+         case optTLY:
+         case optBRX:
+@@ -1031,17 +987,6 @@
+           strcpy ((char *) pVal, modeList[s->aValues[optMode].w]);
+           break;
+ 
+-          /* Get options of type SANE_Bool */
+-        case optLamp:
+-          GetLamp (&s->HWParams, &fLampIsOn);
+-          *(SANE_Bool *) pVal = fLampIsOn;
+-          break;
+-
+-        case optCalibrate:
+-          /*  although this option has nothing to read,
+-             it's added here to avoid a warning when running scanimage --help */
+-          break;
+-
+         default:
+           DBG (DBG_MSG, "SANE_ACTION_GET_VALUE: Invalid option (%d)\n", n);
+         }
+@@ -1061,7 +1006,6 @@
+         case optCount:
+           return SANE_STATUS_INVAL;
+ 
+-        case optGamma:
+         case optThreshold:
+         case optDPI:
+ 
+@@ -1089,15 +1033,7 @@
+           DBG (DBG_MSG,
+                "sane_control_option: SANE_ACTION_SET_VALUE %d = %d\n", n,
+                (int) s->aValues[n].w);
+-          if (n == optGamma)
+-            {
+-              if (!fSame && optLast > optGammaTable)
+-                {
+-                  info |= SANE_INFO_RELOAD_OPTIONS;
+-                }
+-              _SetScalarGamma (s->aGammaTable, s->aValues[n].w);
+-            }
+-          break;
++         break;
+ 
+         case optGammaTable:
+           DBG (DBG_MSG, "Writing gamma table\n");
+@@ -1158,20 +1094,6 @@
+           break;
+ 
+ 
+-
+-        case optLamp:
+-          fVal = *(SANE_Bool *) pVal;
+-          DBG (DBG_MSG, "lamp %s\n", fVal ? "on" : "off");
+-          if (fVal)
+-            _WarmUpLamp (s, WARMUP_INSESSION);
+-          else
+-            SetLamp (&s->HWParams, SANE_FALSE);
+-          break;
+-
+-        case optCalibrate:
+-/*       SimpleCalib(&s->HWParams); */
+-          break;
+-
+         default:
+           DBG (DBG_ERR, "SANE_ACTION_SET_VALUE: Invalid option (%d)\n", n);
+         }

diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.24-automagic_systemd.patch b/media-gfx/sane-backends/files/sane-backends-1.0.24-automagic_systemd.patch
new file mode 100644
index 0000000..c0dfe3c
--- /dev/null
+++ b/media-gfx/sane-backends/files/sane-backends-1.0.24-automagic_systemd.patch
@@ -0,0 +1,40 @@
+diff --git a/configure.in b/configure.in
+index 4365868..7413646 100644
+--- a/configure.in
++++ b/configure.in
+@@ -344,17 +344,24 @@ dnl 	$as_echo "in order to autodetect network scanners in kodakaio."
+ dnl 	with_cups="no"
+ dnl fi
+ 
+-dnl added by llagendijk 12/7/2012 to detect systemd for saned
+-$as_echo_n "Checking for systemd..."
+-if test -e /usr/include/systemd/sd-daemon.h ; then
+-    AC_DEFINE(HAVE_SYSTEMD, 1, [Is /usr/include/systemd/sd-daemon.h available?])
+-    with_systemd="yes"
+-    SYSTEMD_LIBS=" -lsystemd-daemon"
+-    AC_SUBST(SYSTEMD_LIBS)
+-    $as_echo "yes"
+-else
+-    with_systemd="no"
+-    $as_echo "no"
++AC_ARG_WITH(systemd,
++	AC_HELP_STRING([--with-systemd], [enable systemd support @<:@default=yes@:>@]))
++if test "x$with_systemd" != xno ; then
++    dnl added by llagendijk 12/7/2012 to detect systemd for saned
++    $as_echo_n "Checking for systemd..."
++    if test -e /usr/include/systemd/sd-daemon.h ; then
++	AC_DEFINE(HAVE_SYSTEMD, 1, [Is /usr/include/systemd/sd-daemon.h available?])
++	have_systemd="yes"
++	SYSTEMD_LIBS=" -lsystemd-daemon"
++	AC_SUBST(SYSTEMD_LIBS)
++	$as_echo "yes"
++    else
++	have_systemd="no"
++	$as_echo "no"
++	if test "x$with_systemd" = xyes; then
++	    AC_MSG_ERROR([Systemd support was requested but systemd was not found])
++	fi
++    fi
+ fi
+ 
+ dnl ***********

diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.24-kodakaio_avahi.patch b/media-gfx/sane-backends/files/sane-backends-1.0.24-kodakaio_avahi.patch
new file mode 100644
index 0000000..e6f52ad
--- /dev/null
+++ b/media-gfx/sane-backends/files/sane-backends-1.0.24-kodakaio_avahi.patch
@@ -0,0 +1,84 @@
+diff --git a/backend/kodakaio.c b/backend/kodakaio.c
+index 8c4583a..b442e50 100644
+--- a/backend/kodakaio.c
++++ b/backend/kodakaio.c
+@@ -127,7 +127,7 @@ for ubuntu 12.10
+ 
+ #define KODAKAIO_VERSION	02
+ #define KODAKAIO_REVISION	4
+-#define KODAKAIO_BUILD		6
++#define KODAKAIO_BUILD		7
+ 
+ /* for usb (but also used for net though it's not required). */
+ #define MAX_BLOCK_SIZE		32768
+@@ -2184,6 +2184,7 @@ static void resolve_callback(
+     AvahiLookupResultFlags flags,
+     AVAHI_GCC_UNUSED void* userdata) {
+ 
++	AvahiStringList *vid_pair_list = NULL, *pid_pair_list = NULL;
+ 	char *pidkey, *pidvalue;
+ 	char *vidkey, *vidvalue;
+ 	size_t valuesize;
+@@ -2204,20 +2205,40 @@ static void resolve_callback(
+             avahi_address_snprint(a, sizeof(a), address);
+ 
+ /* Output short for Kodak ESP */
+-	DBG(min(10,DBG_AUTO), "%s:%u  %s  ", a,port,host_name);
+-	avahi_string_list_get_pair(avahi_string_list_find(txt, "vid"), 
+-		&vidkey, &vidvalue, &valuesize);
+-	DBG(min(10,DBG_AUTO), "%s=%s  ", vidkey, vidvalue);
+-	avahi_string_list_get_pair(avahi_string_list_find(txt, "pid"), 
+-		&pidkey, &pidvalue, &valuesize);
+-	DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue);
++	DBG(min(10,DBG_AUTO), "%s:%u  %s\n", a,port,host_name);
+ 
++	vid_pair_list = avahi_string_list_find(txt, "vid");
++	if(vid_pair_list != NULL) {
++		avahi_string_list_get_pair(vid_pair_list, &vidkey, &vidvalue, &valuesize);
++		DBG(min(10,DBG_AUTO), "%s=%s  ", vidkey, vidvalue);
++	}
++	else	DBG(min(10,DBG_AUTO), "failed to find key vid\n");
++
++	pid_pair_list = avahi_string_list_find(txt, "pid");
++	if(pid_pair_list != NULL) {
++		avahi_string_list_get_pair(pid_pair_list, &pidkey, &pidvalue, &valuesize);
++		DBG(min(10,DBG_AUTO), "%s=%s\n", pidkey, pidvalue);
++	}
++	else	DBG(min(10,DBG_AUTO), "failed to find key pid\n");
++
++	if(pid_pair_list != NULL && vid_pair_list != NULL) {
+ 		ProcessAvahiDevice(name, vidvalue, pidvalue, a);
+-	avahi_free(vidkey); avahi_free(vidvalue);
+-	avahi_free(pidkey); avahi_free(pidvalue);
++	}
++	else DBG(min(10,DBG_AUTO), "didn't call ProcessAvahiDevice\n");
++
++	if(vid_pair_list != NULL) {
++		avahi_free(vidkey); 
++		avahi_free(vidvalue);
++		DBG(min(15,DBG_AUTO), "vidkey and vidvalue freed\n");
++	}
++	if(pid_pair_list != NULL) {
++		avahi_free(pidkey); 
++		avahi_free(pidvalue);
++		DBG(min(15,DBG_AUTO), "pidkey and pidvalue freed\n");
++	}
+         }
+     }
+-
++    DBG(min(10,DBG_AUTO), "ending resolve_callback\n");
+     avahi_service_resolver_free(r);
+ }
+ 
+diff --git a/doc/descriptions/kodakaio.desc b/doc/descriptions/kodakaio.desc
+index 7882513..5fb18ed 100644
+--- a/doc/descriptions/kodakaio.desc
++++ b/doc/descriptions/kodakaio.desc
+@@ -1,6 +1,6 @@
+ :backend "kodakaio"
+ :url "http://sourceforge.net/projects/cupsdriverkodak/" 
+-:version "2.4.6"
++:version "2.4.7"
+ :manpage "sane-kodakaio"
+ :comment "Backend for Kodak AiO ESP and Hero printers. Also possibly Advent AWL10"
+ :devicetype :scanner

diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.24-saned_pidfile_location.patch b/media-gfx/sane-backends/files/sane-backends-1.0.24-saned_pidfile_location.patch
new file mode 100644
index 0000000..c682961
--- /dev/null
+++ b/media-gfx/sane-backends/files/sane-backends-1.0.24-saned_pidfile_location.patch
@@ -0,0 +1,11 @@
+--- sane-backends-1.0.23/frontend/saned.c
++++ sane-backends-1.0.23/frontend/saned.c
+@@ -221,7 +221,7 @@
+ int numchildren;
+ 
+ #define SANED_CONFIG_FILE "saned.conf"
+-#define SANED_PID_FILE    "/var/run/saned.pid"
++#define SANED_PID_FILE    "/var/run/saned/saned.pid"
+ 
+ #define SANED_SERVICE_NAME   "sane-port"
+ #define SANED_SERVICE_PORT   6566

diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.24-systemd_pkgconfig.patch b/media-gfx/sane-backends/files/sane-backends-1.0.24-systemd_pkgconfig.patch
new file mode 100644
index 0000000..2d36cfa
--- /dev/null
+++ b/media-gfx/sane-backends/files/sane-backends-1.0.24-systemd_pkgconfig.patch
@@ -0,0 +1,37 @@
+diff --git a/configure.in b/configure.in
+index 7413646..66828fc 100644
+--- a/configure.in
++++ b/configure.in
+@@ -347,21 +347,18 @@ dnl fi
+ AC_ARG_WITH(systemd,
+ 	AC_HELP_STRING([--with-systemd], [enable systemd support @<:@default=yes@:>@]))
+ if test "x$with_systemd" != xno ; then
+-    dnl added by llagendijk 12/7/2012 to detect systemd for saned
+-    $as_echo_n "Checking for systemd..."
+-    if test -e /usr/include/systemd/sd-daemon.h ; then
+-	AC_DEFINE(HAVE_SYSTEMD, 1, [Is /usr/include/systemd/sd-daemon.h available?])
+-	have_systemd="yes"
+-	SYSTEMD_LIBS=" -lsystemd-daemon"
+-	AC_SUBST(SYSTEMD_LIBS)
+-	$as_echo "yes"
+-    else
+-	have_systemd="no"
+-	$as_echo "no"
+-	if test "x$with_systemd" = xyes; then
+-	    AC_MSG_ERROR([Systemd support was requested but systemd was not found])
+-	fi
++  PKG_CHECK_MODULES(SYSTEMD, [libsystemd], have_systemd=yes, have_systemd=no)
++  if test "x$have_systemd" = xno; then
++    PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon], have_systemd=yes, have_systemd=no)
++  fi
++  if test "x$have_systemd" = xyes; then
++    AC_DEFINE(HAVE_SYSTEMD, 1, [Is /usr/include/systemd/sd-daemon.h available?])
++    AC_SUBST(SYSTEMD_LIBS)
++  else
++    if test "x$with_systemd" = xyes; then
++      AC_MSG_ERROR([Systemd support was requested but systemd was not found])
+     fi
++  fi
+ fi
+ 
+ dnl ***********

diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.24-u_char.patch b/media-gfx/sane-backends/files/sane-backends-1.0.24-u_char.patch
new file mode 100644
index 0000000..0a35335
--- /dev/null
+++ b/media-gfx/sane-backends/files/sane-backends-1.0.24-u_char.patch
@@ -0,0 +1,11 @@
+diff -ur a/sane-backends-1.0.24/include/sane/sanei_udp.h b/sane-backends-1.0.24/include/sane/sanei_udp.h
+--- a/sane-backends-1.0.24/include/sane/sanei_udp.h
++++ b/sane-backends-1.0.24/include/sane/sanei_udp.h
+@@ -27,6 +27,7 @@
+ #include <netinet/in.h>
+ #include <netdb.h>
+ #endif
++#include <sys/types.h>
+ 
+ extern SANE_Status sanei_udp_open(const char *host, int port, int *fdp);
+ extern SANE_Status sanei_udp_open_broadcast(int *fdp);

diff --git a/media-gfx/sane-backends/files/sane-backends-1.0.24-unused-cups.patch b/media-gfx/sane-backends/files/sane-backends-1.0.24-unused-cups.patch
new file mode 100644
index 0000000..c8ed34e
--- /dev/null
+++ b/media-gfx/sane-backends/files/sane-backends-1.0.24-unused-cups.patch
@@ -0,0 +1,42 @@
+diff --git a/configure.in b/configure.in
+index e13888c..4365868 100644
+--- a/configure.in
++++ b/configure.in
+@@ -332,17 +332,17 @@ if test -c /dev/urandom ; then
+     AC_DEFINE(HAVE_DEV_URANDOM, 1, [Is /dev/urandom available?])
+ fi
+ 
+-dnl added by PN 3/2/12 to detect cups
+-$as_echo "checking for cups"
+-if test -e /usr/include/cups/cups.h ; then
+-    AC_DEFINE(HAVE_CUPS, 1, [Is /usr/include/cups/cups.h available?])
+-	with_cups="yes"
+-	LIBS="-lcups  $LIBS"
+-else
+-	$as_echo "cups.h not found, you may want to install a cups development package"
+-	$as_echo "in order to autodetect network scanners in kodakaio."
+-	with_cups="no"
+-fi
++dnl added by PN 3/2/12 to detect cups commented out 15/10/13 since avahi is now used instead
++dnl $as_echo "checking for cups"
++dnl if test -e /usr/include/cups/cups.h ; then
++dnl     AC_DEFINE(HAVE_CUPS, 1, [Is /usr/include/cups/cups.h available?])
++dnl 	with_cups="yes"
++dnl 	LIBS="-lcups  $LIBS"
++dnl else
++dnl 	$as_echo "cups.h not found, you may want to install a cups development package"
++dnl 	$as_echo "in order to autodetect network scanners in kodakaio."
++dnl 	with_cups="no"
++dnl fi
+ 
+ dnl added by llagendijk 12/7/2012 to detect systemd for saned
+ $as_echo_n "Checking for systemd..."
+@@ -816,7 +816,7 @@ fi
+ echo "IPv6 support:  `eval eval echo ${ipv6}`"
+ echo "Avahi support: `eval eval echo ${enable_avahi}`"
+ echo "SNMP support:  `eval eval echo ${with_snmp}`"
+-echo "CUPS support:  `eval eval echo ${with_cups}`"
++dnl echo "CUPS support:  `eval eval echo ${with_cups}`" commented out 15/10/13
+ echo "-> The following backends will be built:"
+ for backend in ${BACKENDS} ; do
+   echo $ECHO_N "${backend} " 

diff --git a/media-gfx/sane-backends/files/saned b/media-gfx/sane-backends/files/saned
new file mode 100644
index 0000000..4b3e228
--- /dev/null
+++ b/media-gfx/sane-backends/files/saned
@@ -0,0 +1,10 @@
+service sane-port
+{
+  socket_type = stream
+  server = /usr/sbin/saned
+  protocol = tcp
+  user = saned
+  group = scanner
+  wait = no
+  disable = yes
+}

diff --git a/media-gfx/sane-backends/files/saned.confd b/media-gfx/sane-backends/files/saned.confd
new file mode 100644
index 0000000..adb1eab
--- /dev/null
+++ b/media-gfx/sane-backends/files/saned.confd
@@ -0,0 +1,2 @@
+# The user saned should drop its privileges to after startup
+#SANED_USER=""

diff --git a/media-gfx/sane-backends/files/saned.initd b/media-gfx/sane-backends/files/saned.initd
new file mode 100644
index 0000000..26498dd
--- /dev/null
+++ b/media-gfx/sane-backends/files/saned.initd
@@ -0,0 +1,12 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/sane-backends/files/saned.initd,v 1.1 2013/03/15 08:15:52 phosphan Exp $
+
+pidfile="/var/run/saned/saned.pid"
+command="/usr/sbin/saned"
+command_args="-a ${SANED_USER:-root}"
+
+start_pre() {
+	checkpath -d -o ${SANED_USER:-root} ${pidfile%/*}
+}

diff --git a/media-gfx/sane-backends/metadata.xml b/media-gfx/sane-backends/metadata.xml
new file mode 100644
index 0000000..95a1b7f
--- /dev/null
+++ b/media-gfx/sane-backends/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+  <email>teiresias@gentoo.org</email>
+  <name>Chris Brannon</name>
+</maintainer>
+</pkgmetadata>

diff --git a/media-gfx/sane-backends/sane-backends-1.0.24-r99.ebuild b/media-gfx/sane-backends/sane-backends-1.0.24-r99.ebuild
new file mode 100644
index 0000000..7919a11
--- /dev/null
+++ b/media-gfx/sane-backends/sane-backends-1.0.24-r99.ebuild
@@ -0,0 +1,329 @@
+# Copyright 1999-2014 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.24-r5.ebuild,v 1.2 2014/06/18 19:24:59 mgorny Exp $
+
+EAPI="5"
+
+inherit autotools eutils flag-o-matic multilib multilib-minimal udev user toolchain-funcs
+
+# 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_pp
+	cardscan
+	coolscan
+	coolscan2
+	coolscan3
+	dc210
+	dc240
+	dc25
+	dell1600n_net
+	dmc
+	epjitsu
+	epson
+	epson2
+	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
+	pixma
+	plustek
+	plustek_pp
+	pnm
+	qcam
+	ricoh
+	rts8891
+	s9036
+	sceptre
+	sharp
+	sm3600
+	sm3840
+	snapscan
+	sp15c
+	st400
+	stv680
+	tamarack
+	teco1
+	teco2
+	teco3
+	test
+	u12
+	umax
+	umax1220u
+	umax_pp
+	xerox_mfp"
+
+IUSE="avahi doc gphoto2 ipv6 threads usb v4l xinetd snmp systemd"
+
+for backend in ${IUSE_SANE_BACKENDS}; do
+	case ${backend} in
+	# Disable backends that require parallel ports as no one has those anymore.
+	canon_pp|hpsj5s|mustek_pp|\
+	pnm)
+		IUSE+=" -sane_backends_${backend}"
+		;;
+	mustek_usb2|kvs40xx)
+		IUSE+=" sane_backends_${backend}"
+		;;
+	*)
+		IUSE+=" +sane_backends_${backend}"
+	esac
+done
+
+REQUIRED_USE="
+	sane_backends_mustek_usb2? ( threads )
+	sane_backends_kvs40xx? ( threads )
+"
+
+DESCRIPTION="Scanner Access Now Easy - Backends"
+HOMEPAGE="http://www.sane-project.org/"
+SRC_URI="https://alioth.debian.org/frs/download.php/file/3958/${P}.tar.gz"
+
+LICENSE="GPL-2 public-domain"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+
+RDEPEND="
+	sane_backends_dc210? ( >=virtual/jpeg-0-r2[${MULTILIB_USEDEP}] )
+	sane_backends_dc240? ( >=virtual/jpeg-0-r2[${MULTILIB_USEDEP}] )
+	sane_backends_dell1600n_net? ( >=virtual/jpeg-0-r2[${MULTILIB_USEDEP}]
+									>=media-libs/tiff-3.9.7-r1[${MULTILIB_USEDEP}] )
+	avahi? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
+	sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${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}] )
+	usb? ( >=virtual/libusb-1-r1:1[${MULTILIB_USEDEP}] )
+	gphoto2? (
+		>=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}]
+		>=virtual/jpeg-0-r2[${MULTILIB_USEDEP}]
+	)
+	v4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
+	xinetd? ( sys-apps/xinetd )
+	snmp? ( net-analyzer/net-snmp )
+	systemd? ( sys-apps/systemd:0= )
+"
+
+DEPEND="${RDEPEND}
+	v4l? ( sys-kernel/linux-headers )
+	doc? (
+		virtual/latex-base
+		dev-texlive/texlive-latexextra
+	)
+	>=sys-apps/sed-4
+
+	>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]"
+
+# We now use new syntax construct (SUBSYSTEMS!="usb|usb_device)
+RDEPEND="${RDEPEND}
+	!<sys-fs/udev-114
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-medialibs-20140508
+		!app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)]
+	)"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/sane-config
+)
+
+pkg_setup() {
+	enewgroup scanner
+	enewuser saned -1 -1 -1 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 "${FILESDIR}"/niash_array_index.patch \
+		"${FILESDIR}"/${P}-unused-cups.patch \
+		"${FILESDIR}"/${P}-automagic_systemd.patch \
+		"${FILESDIR}"/${P}-systemd_pkgconfig.patch \
+		"${FILESDIR}"/${P}-kodakaio_avahi.patch \
+		"${FILESDIR}"/${P}-saned_pidfile_location.patch \
+		"${FILESDIR}"/${P}-u_char.patch
+	# Fix for "make check".
+	sed -i -e 's/sane-backends 1.0.24git/sane-backends 1.0.24/' testsuite/tools/data/html*
+	AT_NOELIBTOOLIZE=yes eautoreconf
+}
+
+src_configure() {
+	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 BACKENDS=" "
+
+	use gphoto2 && BACKENDS="gphoto2"
+	use v4l && BACKENDS="${BACKENDS} v4l"
+	for backend in ${IUSE_SANE_BACKENDS}; do
+		if use "sane_backends_${backend}" && [ ${backend} != pnm ]; then
+			BACKENDS="${BACKENDS} ${backend}"
+		fi
+	done
+
+	local myconf=(
+		$(use_enable usb libusb_1_0)
+		$(multilib_native_use_with snmp)
+	)
+
+	# you can only enable this backend, not disable it...
+	if use sane_backends_pnm; then
+		myconf+=( --enable-pnm-backend )
+	fi
+	if ! use doc; then
+		myconf+=( --disable-latex )
+	fi
+	if use sane_backends_mustek_pp; then
+		myconf+=( --enable-parport-directio )
+	fi
+	if ! { use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp; }; then
+		myconf+=( sane_cv_use_libieee1284=no )
+	fi
+	# if LINGUAS is set, just use the listed and supported localizations.
+	if [ "${LINGUAS-NoLocalesSet}" != NoLocalesSet ]; then
+		mkdir -p po || die
+		echo > po/LINGUAS
+		for lang in ${LINGUAS}; do
+			if [ -a "${S}"/po/${lang}.po ]; then
+				echo ${lang} >> po/LINGUAS
+			fi
+		done
+	fi
+
+	# relative path must be used for tests to work properly
+	ECONF_SOURCE=../${P} \
+	SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \
+	BACKENDS="${BACKENDS}" \
+	econf \
+		$(use_with gphoto2) \
+		$(multilib_native_use_with systemd) \
+		$(use_with v4l) \
+		$(use_enable avahi) \
+		$(use_enable ipv6) \
+		$(use_enable threads pthread) \
+		"${myconf[@]}"
+}
+
+multilib_src_compile() {
+	emake VARTEXFONTS="${T}/fonts"
+
+	if use usb; then
+		cd tools/hotplug || die
+		sed -i -e '/^$/d' libsane.usermap || die
+	fi
+
+	if tc-is-cross-compiler; then
+		# 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
+		cd "${BUILD_DIR}"/tools || die
+		${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} -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[@]}"
+	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
+
+		udev_newrules tools/udev/libsane.rules 41-libsane.rules
+		insinto "/usr/share/pkgconfig"
+		doins tools/sane-backends.pc
+	fi
+}
+
+multilib_src_install_all() {
+	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
+		exeinto /etc/hotplug/usb
+		doexe tools/hotplug/libusbscanner
+		newdoc tools/hotplug/README README.hotplug
+	fi
+
+	dodoc NEWS AUTHORS ChangeLog* PROBLEMS README README.linux
+	prune_libtool_files --all
+	if use xinetd; then
+		insinto /etc/xinetd.d
+		doins "${FILESDIR}"/saned
+	fi
+
+	newinitd "${FILESDIR}"/saned.initd saned
+	newconfd "${FILESDIR}"/saned.confd saned
+}
+
+pkg_postinst() {
+	if use xinetd; then
+		elog "If you want remote clients to connect, edit"
+		elog "/etc/sane.d/saned.conf and /etc/hosts.allow"
+	fi
+
+	elog "If you are using a USB scanner, add all users who want"
+	elog "to access your scanner to the \"scanner\" group."
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2014-07-20 22:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-20 22:14 [gentoo-commits] proj/hardened-dev:musl commit in: media-gfx/sane-backends/files/, media-gfx/sane-backends/ Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox