diff --git a/common/shlibs b/common/shlibs index f6ba2324fad..670771fc397 100644 --- a/common/shlibs +++ b/common/shlibs @@ -988,3 +988,4 @@ libnetsnmpagent.so.30 libnet-snmp net-snmp-devel libnetsnmpmibs.so.30 libnet-snmp net-snmp-devel libnetsnmptrapd.so.30 libnet-snmp net-snmp-devel libieee1284.so.3 libieee1284 libieee1284-devel +libsane.so.1 libsane sane-devel diff --git a/srcpkgs/libsane b/srcpkgs/libsane new file mode 120000 index 00000000000..e1e3b8044e7 --- /dev/null +++ b/srcpkgs/libsane @@ -0,0 +1 @@ +sane \ No newline at end of file diff --git a/srcpkgs/sane-devel b/srcpkgs/sane-devel new file mode 120000 index 00000000000..e1e3b8044e7 --- /dev/null +++ b/srcpkgs/sane-devel @@ -0,0 +1 @@ +sane \ No newline at end of file diff --git a/srcpkgs/sane/depends b/srcpkgs/sane/depends new file mode 100644 index 00000000000..a90f3f73ed0 --- /dev/null +++ b/srcpkgs/sane/depends @@ -0,0 +1,2 @@ +abi_depends=">=1.0.22" +api_depends="${abi_depends}" diff --git a/srcpkgs/sane/libsane.rshlibs b/srcpkgs/sane/libsane.rshlibs new file mode 100644 index 00000000000..aeeb921e099 --- /dev/null +++ b/srcpkgs/sane/libsane.rshlibs @@ -0,0 +1,16 @@ +libdl.so.2 +libv4l1.so.0 +libieee1284.so.3 +libtiff.so.5 +libjpeg.so.8 +libgphoto2.so.2 +libgphoto2_port.so.0 +libexif.so.12 +libusb-1.0.so.0 +libavahi-common.so.3 +libavahi-client.so.3 +libpthread.so.0 +libnetsnmp.so.30 +libcrypto.so.1 +libm.so.6 +libc.so.6 diff --git a/srcpkgs/sane/libsane.template b/srcpkgs/sane/libsane.template new file mode 100644 index 00000000000..28037b952c6 --- /dev/null +++ b/srcpkgs/sane/libsane.template @@ -0,0 +1,10 @@ +# Template file for 'libsane'. +# +short_desc="${short_desc} - runtime shared library" +long_desc="${long_desc} + + This package contains the SANE runtime shared library." + +do_install() { + vmove "usr/lib/libsane.so.*" usr/lib +} diff --git a/srcpkgs/sane/patches/libv4l-0.8.3.patch b/srcpkgs/sane/patches/libv4l-0.8.3.patch new file mode 100644 index 00000000000..4e240e0cf28 --- /dev/null +++ b/srcpkgs/sane/patches/libv4l-0.8.3.patch @@ -0,0 +1,64 @@ +From 26c69b228b29f612faf4b0cc85db969ee7cc4ea6 Mon Sep 17 00:00:00 2001 +From: Nils Philippsen +Date: Mon, 14 Mar 2011 13:35:05 +0100 +Subject: [PATCH] patch: v4l + +Squashed commit of the following: + +commit 23381932c76846191b42a48e505b37cd74711265 +Author: Julien BLACHE +Date: Wed Feb 16 19:37:43 2011 +0100 + + Fix v4l build with libv4l 0.8.3+ + + (cherry picked from commit c5ca46c2d1be78c651afb843cc834cf2b5b24953) + + Conflicts: + + ChangeLog + + Signed-off-by: Nils Philippsen +--- + backend/v4l.c | 3 +-- + backend/v4l.h | 3 ++- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/backend/v4l.c b/backend/v4l.c +index 6510ef0..38595ed 100644 +--- a/backend/v4l.c ++++ b/backend/v4l.c +@@ -84,9 +84,8 @@ + #include "../include/sane/sanei_config.h" + #define V4L_CONFIG_FILE "v4l.conf" + +-#include "v4l.h" +- + #include ++#include "v4l.h" + + static const SANE_Device **devlist = NULL; + static int num_devices; +diff --git a/backend/v4l.h b/backend/v4l.h +index 588b96e..6aee586 100644 +--- a/backend/v4l.h ++++ b/backend/v4l.h +@@ -29,6 +29,7 @@ + #ifndef v4l_h + #define v4l_h + ++#ifndef __LINUX_VIDEODEV_H + /* Kernel interface */ + /* Only the stuff we need. For more features, more defines are needed */ + +@@ -165,7 +166,7 @@ struct video_channel + + + /* end of kernel interface */ +- ++#endif /* !__LINUX_VIDEODEV_H */ + + #include <../include/sane/sane.h> + +-- +1.7.4 + diff --git a/srcpkgs/sane/patches/xerox_mfp_fix_usb_devices.patch b/srcpkgs/sane/patches/xerox_mfp_fix_usb_devices.patch new file mode 100644 index 00000000000..0ddff0d9656 --- /dev/null +++ b/srcpkgs/sane/patches/xerox_mfp_fix_usb_devices.patch @@ -0,0 +1,67 @@ +commit 5ea227caeacd504b64eef301e83fa63e0a25b3f7 +Author: Alex Belkin +Date: Tue Mar 8 17:57:19 2011 +0300 + + keep usb device by default (correct for bug introduced by tcp sub-backend + +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 diff --git a/srcpkgs/sane/sane-devel.template b/srcpkgs/sane/sane-devel.template new file mode 100644 index 00000000000..77962281ebe --- /dev/null +++ b/srcpkgs/sane/sane-devel.template @@ -0,0 +1,14 @@ +# Template file for 'sane-devel'. +# +short_desc="${short_desc} - development files" +long_desc="${long_desc} + + This package contains files for development, headers, static libs, etc." + +Add_dependency run libsane ">=$version" + +noarch=yes + +do_install() { + vmove usr/include usr +} diff --git a/srcpkgs/sane/sane.rshlibs b/srcpkgs/sane/sane.rshlibs new file mode 100644 index 00000000000..14b40af700c --- /dev/null +++ b/srcpkgs/sane/sane.rshlibs @@ -0,0 +1,17 @@ +libdl.so.2 +libv4l1.so.0 +libieee1284.so.3 +libtiff.so.5 +libjpeg.so.8 +libgphoto2.so.2 +libgphoto2_port.so.0 +libexif.so.12 +libusb-1.0.so.0 +libavahi-common.so.3 +libavahi-client.so.3 +libpthread.so.0 +libnetsnmp.so.30 +libcrypto.so.1 +libm.so.6 +libc.so.6 +libsane.so.1 diff --git a/srcpkgs/sane/template b/srcpkgs/sane/template new file mode 100644 index 00000000000..7c7fcb81395 --- /dev/null +++ b/srcpkgs/sane/template @@ -0,0 +1,109 @@ +# Template build file for 'sane'. +pkgname=sane +version=1.0.22 +patch_args="-Np1" +wrksrc="sane-backends-${version}" +distfiles="ftp://ftp2.sane-project.org/pub/sane/sane-backends-${version}/sane-backends-${version}.tar.gz" +build_style=gnu-configure +configure_args="--disable-locking --enable-avahi --with-docdir=/usr/share/doc/sane +--disable-latex --enable-libusb_1_0 --enable-pthread" +short_desc="Scanner Access Now Easy" +maintainer="Juan RP " +homepage="http://www.sane-project.org/" +license="GPL-2" +checksum=9f84a16800497f0b79a278531bb1a0f438de6ce8cf509fefc65a252e29f90c54 +long_desc=" + SANE stands for Scanner Access Now Easy and is an application programming + interface (API) that provides standardized access to any raster image scanner + hardware (flatbed scanner, hand-held scanner, video- and still-cameras, + frame-grabbers, etc.)." + +conf_files=" +/etc/sane.d/abaton.conf +/etc/sane.d/agfafocus.conf +/etc/sane.d/apple.conf +/etc/sane.d/artec.conf +/etc/sane.d/artec_eplus48u.conf +/etc/sane.d/avision.conf +/etc/sane.d/bh.conf +/etc/sane.d/canon.conf +/etc/sane.d/canon630u.conf +/etc/sane.d/canon_dr.conf +/etc/sane.d/canon_pp.conf +/etc/sane.d/cardscan.conf +/etc/sane.d/coolscan.conf +/etc/sane.d/coolscan2.conf +/etc/sane.d/coolscan3.conf +/etc/sane.d/dc210.conf +/etc/sane.d/dc240.conf +/etc/sane.d/dc25.conf +/etc/sane.d/dell1600n_net.conf +/etc/sane.d/dll.conf +/etc/sane.d/dmc.conf +/etc/sane.d/epjitsu.conf +/etc/sane.d/epson.conf +/etc/sane.d/epson2.conf +/etc/sane.d/fujitsu.conf +/etc/sane.d/genesys.conf +/etc/sane.d/gphoto2.conf +/etc/sane.d/gt68xx.conf +/etc/sane.d/hp.conf +/etc/sane.d/hp3900.conf +/etc/sane.d/hp4200.conf +/etc/sane.d/hp5400.conf +/etc/sane.d/hpsj5s.conf +/etc/sane.d/hs2p.conf +/etc/sane.d/ibm.conf +/etc/sane.d/kodak.conf +/etc/sane.d/leo.conf +/etc/sane.d/lexmark.conf +/etc/sane.d/ma1509.conf +/etc/sane.d/magicolor.conf +/etc/sane.d/matsushita.conf +/etc/sane.d/microtek.conf +/etc/sane.d/microtek2.conf +/etc/sane.d/mustek.conf +/etc/sane.d/mustek_pp.conf +/etc/sane.d/mustek_usb.conf +/etc/sane.d/nec.conf +/etc/sane.d/net.conf +/etc/sane.d/p5.conf +/etc/sane.d/pie.conf +/etc/sane.d/pixma.conf +/etc/sane.d/plustek.conf +/etc/sane.d/plustek_pp.conf +/etc/sane.d/qcam.conf +/etc/sane.d/ricoh.conf +/etc/sane.d/rts8891.conf +/etc/sane.d/s9036.conf +/etc/sane.d/saned.conf +/etc/sane.d/sceptre.conf +/etc/sane.d/sharp.conf +/etc/sane.d/sm3840.conf +/etc/sane.d/snapscan.conf +/etc/sane.d/sp15c.conf +/etc/sane.d/st400.conf +/etc/sane.d/stv680.conf +/etc/sane.d/tamarack.conf +/etc/sane.d/teco1.conf +/etc/sane.d/teco2.conf +/etc/sane.d/teco3.conf +/etc/sane.d/test.conf +/etc/sane.d/u12.conf +/etc/sane.d/umax.conf +/etc/sane.d/umax1220u.conf +/etc/sane.d/umax_pp.conf +/etc/sane.d/v4l.conf +/etc/sane.d/xerox_mfp.conf" + +subpackages="lib${pkgname} $pkgname-devel" + +Add_dependency build pkg-config +Add_dependency build avahi-libs-devel +Add_dependency build jpeg-devel +Add_dependency build tiff-devel +Add_dependency build libgphoto2-devel +Add_dependency build v4l-utils-devel +Add_dependency build libusb-devel +Add_dependency build net-snmp-devel +Add_dependency build libieee1284-devel