diff options
author | Ade Lovett <ade@FreeBSD.org> | 2000-09-16 18:12:06 +0000 |
---|---|---|
committer | Ade Lovett <ade@FreeBSD.org> | 2000-09-16 18:12:06 +0000 |
commit | 4387af4b6ef0e95e15d224b48a3325080abf1a9a (patch) | |
tree | f38b2ef10bb0939d08b74f1b5e349c2d69f00473 | |
parent | Fix MASTER_SITES (diff) |
Update to 1.0.3
PR: 21207
Submitted by: Ports Fury
Notes
Notes:
svn path=/head/; revision=32717
-rw-r--r-- | graphics/sane-backends/Makefile | 18 | ||||
-rw-r--r-- | graphics/sane-backends/distinfo | 2 | ||||
-rw-r--r-- | graphics/sane-backends/files/patch-ae | 180 | ||||
-rw-r--r-- | graphics/sane-backends/pkg-plist | 13 | ||||
-rw-r--r-- | graphics/sane-frontends/Makefile | 18 | ||||
-rw-r--r-- | graphics/sane-frontends/distinfo | 2 | ||||
-rw-r--r-- | graphics/sane-frontends/files/patch-ae | 180 | ||||
-rw-r--r-- | graphics/sane-frontends/pkg-plist | 13 | ||||
-rw-r--r-- | graphics/sane/Makefile | 18 | ||||
-rw-r--r-- | graphics/sane/distinfo | 2 | ||||
-rw-r--r-- | graphics/sane/files/patch-ae | 180 | ||||
-rw-r--r-- | graphics/sane/pkg-plist | 13 |
12 files changed, 615 insertions, 24 deletions
diff --git a/graphics/sane-backends/Makefile b/graphics/sane-backends/Makefile index cb087faea72c..0be0865f8056 100644 --- a/graphics/sane-backends/Makefile +++ b/graphics/sane-backends/Makefile @@ -6,7 +6,7 @@ # PORTNAME= sane -PORTVERSION= 1.0.2 +PORTVERSION= 1.0.3 CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_SUNSITE} \ ftp://ftp.mostang.com/pub/sane/ @@ -21,17 +21,21 @@ GTK_CONFIG?= ${X11BASE}/bin/gtk12-config USE_GMAKE= yes USE_LIBTOOL= yes -INSTALLS_SHLIB= yes CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ GTK_CONFIG="${GTK_CONFIG}" \ LIBS="-L${LOCALBASE}/lib" CONFIGURE_ARGS= --disable-gtktest +INSTALLS_SHLIB= yes -MAN1= saned.1 scanimage.1 xscanimage.1 -MAN5= sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-dll.5 sane-dc25.5 \ - sane-dmc.5 sane-epson.5 sane-hp.5 sane-microtek.5 sane-microtek2.5 \ - sane-mustek.5 sane-net.5 sane-pint.5 sane-pnm.5 sane-umax.5 \ - sane-qcam.5 sane-scsi.5 sane-artec.5 sane-fujitsu.5 sane-sharp.5 +MAN1= saned.1 scanimage.1 xcam.1 xscanimage.1 +MAN5= sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-artec.5 \ + sane-avision.5 sane-canon.5 sane-coolscan.5 sane-dc210.5 \ + sane-dc25.5 sane-dll.5 sane-dmc.5 sane-epson.5 \ + sane-fujitsu.5 sane-hp.5 sane-microtek.5 sane-microtek2.5 \ + sane-mustek.5 sane-mustek_pp.5 sane-net.5 sane-pint.5 \ + sane-plustek.5 sane-pnm.5 sane-qcam.5 sane-ricoh.5 \ + sane-s9036.5 sane-scsi.5 sane-sharp.5 sane-snapscan.5 \ + sane-st400.5 sane-tamarack.5 sane-umax.5 sane-v4l.5 pre-configure: @${ECHO} "*** Note: SANE can be built with an X scanner interface" diff --git a/graphics/sane-backends/distinfo b/graphics/sane-backends/distinfo index eade6264497e..5c98b7de3911 100644 --- a/graphics/sane-backends/distinfo +++ b/graphics/sane-backends/distinfo @@ -1 +1 @@ -MD5 (sane-1.0.2.tar.gz) = 8cd5d092225f98032db88a221a1d6efe +MD5 (sane-1.0.3.tar.gz) = c1c2e08358e0196109724ecdbe316c7b diff --git a/graphics/sane-backends/files/patch-ae b/graphics/sane-backends/files/patch-ae new file mode 100644 index 000000000000..c880e73f2c0c --- /dev/null +++ b/graphics/sane-backends/files/patch-ae @@ -0,0 +1,180 @@ +--- sanei/sanei_scsi.c.orig Sat Aug 12 23:54:15 2000 ++++ sanei/sanei_scsi.c Fri Sep 8 22:38:49 2000 +@@ -2424,6 +2424,169 @@ + cam_freeccb(ccb); + return SANE_STATUS_GOOD; + } ++ ++#define WE_HAVE_FIND_DEVICES ++ ++int ++cam_compare_inquiry(int fd, path_id_t path_id, ++ target_id_t target_id, lun_id_t target_lun, ++ const char *vendor, const char *product, const char *type) ++{ ++ struct ccb_dev_match cdm; ++ struct device_match_pattern *pattern; ++ struct scsi_inquiry_data *inq; ++ int retval = 0; ++ ++ /* build ccb for device match */ ++ bzero(&cdm, sizeof(cdm)); ++ cdm.ccb_h.func_code = XPT_DEV_MATCH; ++ ++ /* result buffer */ ++ cdm.match_buf_len = sizeof(struct dev_match_result); ++ cdm.matches = (struct dev_match_result *)malloc(cdm.match_buf_len); ++ cdm.num_matches = 0; ++ ++ /* pattern buffer */ ++ cdm.num_patterns = 1; ++ cdm.pattern_buf_len = sizeof(struct dev_match_pattern); ++ cdm.patterns = (struct dev_match_pattern *)malloc(cdm.pattern_buf_len); ++ ++ /* assemble conditions */ ++ cdm.patterns[0].type = DEV_MATCH_DEVICE; ++ pattern = &cdm.patterns[0].pattern.device_pattern; ++ pattern->flags = DEV_MATCH_PATH | DEV_MATCH_TARGET | DEV_MATCH_LUN; ++ pattern->path_id = path_id; ++ pattern->target_id = target_id; ++ pattern->target_lun = target_lun; ++ ++ if (ioctl(fd, CAMIOCOMMAND, &cdm) == -1) { ++ DBG (1, "error sending CAMIOCOMMAND ioctl"); ++ retval = -1; ++ goto ret; ++ } ++ ++ if ((cdm.ccb_h.status != CAM_REQ_CMP) ++ || ((cdm.status != CAM_DEV_MATCH_LAST) ++ && (cdm.status != CAM_DEV_MATCH_MORE))) { ++ DBG (1, "got CAM error %#x, CDM error %d\n", ++ cdm.ccb_h.status, cdm.status); ++ retval = -1; ++ goto ret; ++ } ++ ++ if (cdm.num_matches == 0) { ++ DBG (1, "not found\n"); ++ retval = -1; ++ goto ret; ++ } ++ ++ if (cdm.matches[0].type != DEV_MATCH_DEVICE) { ++ DBG (1, "no device match\n"); ++ retval = -1; ++ goto ret; ++ } ++ ++ inq = &cdm.matches[0].result.device_result.inq_data; ++ if ((vendor && cam_strmatch(inq->vendor, vendor, SID_VENDOR_SIZE)) || ++ (product && cam_strmatch(inq->product, product, SID_PRODUCT_SIZE))) ++ retval = 1; ++ ++ ret: ++ free(cdm.patterns); ++ free(cdm.matches); ++ return(retval); ++} ++ ++void ++sanei_scsi_find_devices (const char *findvendor, const char *findmodel, ++ const char *findtype, ++ int findbus, int findchannel, int findid, int findlun, ++ SANE_Status (*attach) (const char *dev)) ++{ ++ int fd; ++ struct ccb_dev_match cdm; ++ struct periph_match_pattern *pattern; ++ struct periph_match_result *result; ++ int i; ++ char devname[16]; ++ ++ DBG_INIT(); ++ ++ if ((fd = open(XPT_DEVICE, O_RDWR)) == -1) { ++ DBG (1, "could not open %s\n", XPT_DEVICE); ++ return; ++ } ++ ++ /* build ccb for device match */ ++ bzero(&cdm, sizeof(cdm)); ++ cdm.ccb_h.func_code = XPT_DEV_MATCH; ++ ++ /* result buffer */ ++ cdm.match_buf_len = sizeof(struct dev_match_result) * 100; ++ cdm.matches = (struct dev_match_result *)malloc(cdm.match_buf_len); ++ cdm.num_matches = 0; ++ ++ /* pattern buffer */ ++ cdm.num_patterns = 1; ++ cdm.pattern_buf_len = sizeof(struct dev_match_pattern); ++ cdm.patterns = (struct dev_match_pattern *)malloc(cdm.pattern_buf_len); ++ ++ /* assemble conditions ... findchannel is ignored */ ++ cdm.patterns[0].type = DEV_MATCH_PERIPH; ++ pattern = &cdm.patterns[0].pattern.periph_pattern; ++ pattern->flags = PERIPH_MATCH_NAME; ++ strcpy(pattern->periph_name, "pass"); ++ if (findbus != -1) { ++ pattern->path_id = findbus; ++ pattern->flags |= PERIPH_MATCH_PATH; ++ } ++ if (findid != -1) { ++ pattern->target_id = findid; ++ pattern->flags |= PERIPH_MATCH_TARGET; ++ } ++ if (findlun != -1) { ++ pattern->target_lun = findlun; ++ pattern->flags |= PERIPH_MATCH_LUN; ++ } ++ ++ /* result loop */ ++ do { ++ if (ioctl(fd, CAMIOCOMMAND, &cdm) == -1) { ++ DBG (1, "error sending CAMIOCOMMAND ioctl"); ++ break; ++ } ++ ++ if ((cdm.ccb_h.status != CAM_REQ_CMP) ++ || ((cdm.status != CAM_DEV_MATCH_LAST) ++ && (cdm.status != CAM_DEV_MATCH_MORE))) { ++ DBG (1, "got CAM error %#x, CDM error %d\n", ++ cdm.ccb_h.status, cdm.status); ++ break; ++ } ++ ++ for (i = 0; i < cdm.num_matches; i++) { ++ if (cdm.matches[i].type != DEV_MATCH_PERIPH) ++ continue; ++ result = &cdm.matches[i].result.periph_result; ++ DBG (4, "%s%d on scbus%d %d:%d\n", ++ result->periph_name, result->unit_number, ++ result->path_id, result->target_id, result->target_lun); ++ if (cam_compare_inquiry(fd, result->path_id, ++ result->target_id, result->target_lun, ++ findvendor, findmodel, findtype) == 0) { ++ sprintf(devname, "/dev/%s%d", result->periph_name, result->unit_number); ++ (*attach) (devname); ++ } ++ } ++ } while ((cdm.ccb_h.status == CAM_REQ_CMP) ++ && (cdm.status == CAM_DEV_MATCH_MORE)); ++ ++ free(cdm.patterns); ++ free(cdm.matches); ++ close(fd); ++ return; ++} ++ + #endif + + +@@ -3722,6 +3885,7 @@ + int findbus, int findchannel, int findid, int findlun, + SANE_Status (*attach) (const char *dev)) + { ++ DBG_INIT(); + DBG (1, "sanei_scsi_find_devices: not implemented for this platform\n"); + } + diff --git a/graphics/sane-backends/pkg-plist b/graphics/sane-backends/pkg-plist index eb9071549fa1..e6f6d114695d 100644 --- a/graphics/sane-backends/pkg-plist +++ b/graphics/sane-backends/pkg-plist @@ -18,13 +18,16 @@ etc/sane.d/m3096g.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/net.conf +etc/sane.d/plustek.conf etc/sane.d/ricoh.conf etc/sane.d/s9036.conf etc/sane.d/saned.conf etc/sane.d/sharp.conf etc/sane.d/snapscan.conf etc/sane.d/sp15c.conf +etc/sane.d/st400.conf etc/sane.d/tamarack.conf etc/sane.d/umax.conf include/sane/config.h @@ -35,6 +38,7 @@ include/sane/sanei_codec_ascii.h include/sane/sanei_codec_bin.h include/sane/sanei_debug.h include/sane/sanei_net.h +include/sane/sanei_pa4s2.h include/sane/sanei_scsi.h include/sane/sanei_wire.h include/sane/saneopts.h @@ -92,9 +96,15 @@ lib/sane/libsane-microtek2.so.1 lib/sane/libsane-mustek.a lib/sane/libsane-mustek.so lib/sane/libsane-mustek.so.1 +lib/sane/libsane-mustek_pp.a +lib/sane/libsane-mustek_pp.so +lib/sane/libsane-mustek_pp.so.1 lib/sane/libsane-net.a lib/sane/libsane-net.so lib/sane/libsane-net.so.1 +lib/sane/libsane-plustek.a +lib/sane/libsane-plustek.so +lib/sane/libsane-plustek.so.1 lib/sane/libsane-pnm.a lib/sane/libsane-pnm.so lib/sane/libsane-pnm.so.1 @@ -113,6 +123,9 @@ lib/sane/libsane-snapscan.so.1 lib/sane/libsane-sp15c.a lib/sane/libsane-sp15c.so lib/sane/libsane-sp15c.so.1 +lib/sane/libsane-st400.a +lib/sane/libsane-st400.so +lib/sane/libsane-st400.so.1 lib/sane/libsane-tamarack.a lib/sane/libsane-tamarack.so lib/sane/libsane-tamarack.so.1 diff --git a/graphics/sane-frontends/Makefile b/graphics/sane-frontends/Makefile index cb087faea72c..0be0865f8056 100644 --- a/graphics/sane-frontends/Makefile +++ b/graphics/sane-frontends/Makefile @@ -6,7 +6,7 @@ # PORTNAME= sane -PORTVERSION= 1.0.2 +PORTVERSION= 1.0.3 CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_SUNSITE} \ ftp://ftp.mostang.com/pub/sane/ @@ -21,17 +21,21 @@ GTK_CONFIG?= ${X11BASE}/bin/gtk12-config USE_GMAKE= yes USE_LIBTOOL= yes -INSTALLS_SHLIB= yes CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ GTK_CONFIG="${GTK_CONFIG}" \ LIBS="-L${LOCALBASE}/lib" CONFIGURE_ARGS= --disable-gtktest +INSTALLS_SHLIB= yes -MAN1= saned.1 scanimage.1 xscanimage.1 -MAN5= sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-dll.5 sane-dc25.5 \ - sane-dmc.5 sane-epson.5 sane-hp.5 sane-microtek.5 sane-microtek2.5 \ - sane-mustek.5 sane-net.5 sane-pint.5 sane-pnm.5 sane-umax.5 \ - sane-qcam.5 sane-scsi.5 sane-artec.5 sane-fujitsu.5 sane-sharp.5 +MAN1= saned.1 scanimage.1 xcam.1 xscanimage.1 +MAN5= sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-artec.5 \ + sane-avision.5 sane-canon.5 sane-coolscan.5 sane-dc210.5 \ + sane-dc25.5 sane-dll.5 sane-dmc.5 sane-epson.5 \ + sane-fujitsu.5 sane-hp.5 sane-microtek.5 sane-microtek2.5 \ + sane-mustek.5 sane-mustek_pp.5 sane-net.5 sane-pint.5 \ + sane-plustek.5 sane-pnm.5 sane-qcam.5 sane-ricoh.5 \ + sane-s9036.5 sane-scsi.5 sane-sharp.5 sane-snapscan.5 \ + sane-st400.5 sane-tamarack.5 sane-umax.5 sane-v4l.5 pre-configure: @${ECHO} "*** Note: SANE can be built with an X scanner interface" diff --git a/graphics/sane-frontends/distinfo b/graphics/sane-frontends/distinfo index eade6264497e..5c98b7de3911 100644 --- a/graphics/sane-frontends/distinfo +++ b/graphics/sane-frontends/distinfo @@ -1 +1 @@ -MD5 (sane-1.0.2.tar.gz) = 8cd5d092225f98032db88a221a1d6efe +MD5 (sane-1.0.3.tar.gz) = c1c2e08358e0196109724ecdbe316c7b diff --git a/graphics/sane-frontends/files/patch-ae b/graphics/sane-frontends/files/patch-ae new file mode 100644 index 000000000000..c880e73f2c0c --- /dev/null +++ b/graphics/sane-frontends/files/patch-ae @@ -0,0 +1,180 @@ +--- sanei/sanei_scsi.c.orig Sat Aug 12 23:54:15 2000 ++++ sanei/sanei_scsi.c Fri Sep 8 22:38:49 2000 +@@ -2424,6 +2424,169 @@ + cam_freeccb(ccb); + return SANE_STATUS_GOOD; + } ++ ++#define WE_HAVE_FIND_DEVICES ++ ++int ++cam_compare_inquiry(int fd, path_id_t path_id, ++ target_id_t target_id, lun_id_t target_lun, ++ const char *vendor, const char *product, const char *type) ++{ ++ struct ccb_dev_match cdm; ++ struct device_match_pattern *pattern; ++ struct scsi_inquiry_data *inq; ++ int retval = 0; ++ ++ /* build ccb for device match */ ++ bzero(&cdm, sizeof(cdm)); ++ cdm.ccb_h.func_code = XPT_DEV_MATCH; ++ ++ /* result buffer */ ++ cdm.match_buf_len = sizeof(struct dev_match_result); ++ cdm.matches = (struct dev_match_result *)malloc(cdm.match_buf_len); ++ cdm.num_matches = 0; ++ ++ /* pattern buffer */ ++ cdm.num_patterns = 1; ++ cdm.pattern_buf_len = sizeof(struct dev_match_pattern); ++ cdm.patterns = (struct dev_match_pattern *)malloc(cdm.pattern_buf_len); ++ ++ /* assemble conditions */ ++ cdm.patterns[0].type = DEV_MATCH_DEVICE; ++ pattern = &cdm.patterns[0].pattern.device_pattern; ++ pattern->flags = DEV_MATCH_PATH | DEV_MATCH_TARGET | DEV_MATCH_LUN; ++ pattern->path_id = path_id; ++ pattern->target_id = target_id; ++ pattern->target_lun = target_lun; ++ ++ if (ioctl(fd, CAMIOCOMMAND, &cdm) == -1) { ++ DBG (1, "error sending CAMIOCOMMAND ioctl"); ++ retval = -1; ++ goto ret; ++ } ++ ++ if ((cdm.ccb_h.status != CAM_REQ_CMP) ++ || ((cdm.status != CAM_DEV_MATCH_LAST) ++ && (cdm.status != CAM_DEV_MATCH_MORE))) { ++ DBG (1, "got CAM error %#x, CDM error %d\n", ++ cdm.ccb_h.status, cdm.status); ++ retval = -1; ++ goto ret; ++ } ++ ++ if (cdm.num_matches == 0) { ++ DBG (1, "not found\n"); ++ retval = -1; ++ goto ret; ++ } ++ ++ if (cdm.matches[0].type != DEV_MATCH_DEVICE) { ++ DBG (1, "no device match\n"); ++ retval = -1; ++ goto ret; ++ } ++ ++ inq = &cdm.matches[0].result.device_result.inq_data; ++ if ((vendor && cam_strmatch(inq->vendor, vendor, SID_VENDOR_SIZE)) || ++ (product && cam_strmatch(inq->product, product, SID_PRODUCT_SIZE))) ++ retval = 1; ++ ++ ret: ++ free(cdm.patterns); ++ free(cdm.matches); ++ return(retval); ++} ++ ++void ++sanei_scsi_find_devices (const char *findvendor, const char *findmodel, ++ const char *findtype, ++ int findbus, int findchannel, int findid, int findlun, ++ SANE_Status (*attach) (const char *dev)) ++{ ++ int fd; ++ struct ccb_dev_match cdm; ++ struct periph_match_pattern *pattern; ++ struct periph_match_result *result; ++ int i; ++ char devname[16]; ++ ++ DBG_INIT(); ++ ++ if ((fd = open(XPT_DEVICE, O_RDWR)) == -1) { ++ DBG (1, "could not open %s\n", XPT_DEVICE); ++ return; ++ } ++ ++ /* build ccb for device match */ ++ bzero(&cdm, sizeof(cdm)); ++ cdm.ccb_h.func_code = XPT_DEV_MATCH; ++ ++ /* result buffer */ ++ cdm.match_buf_len = sizeof(struct dev_match_result) * 100; ++ cdm.matches = (struct dev_match_result *)malloc(cdm.match_buf_len); ++ cdm.num_matches = 0; ++ ++ /* pattern buffer */ ++ cdm.num_patterns = 1; ++ cdm.pattern_buf_len = sizeof(struct dev_match_pattern); ++ cdm.patterns = (struct dev_match_pattern *)malloc(cdm.pattern_buf_len); ++ ++ /* assemble conditions ... findchannel is ignored */ ++ cdm.patterns[0].type = DEV_MATCH_PERIPH; ++ pattern = &cdm.patterns[0].pattern.periph_pattern; ++ pattern->flags = PERIPH_MATCH_NAME; ++ strcpy(pattern->periph_name, "pass"); ++ if (findbus != -1) { ++ pattern->path_id = findbus; ++ pattern->flags |= PERIPH_MATCH_PATH; ++ } ++ if (findid != -1) { ++ pattern->target_id = findid; ++ pattern->flags |= PERIPH_MATCH_TARGET; ++ } ++ if (findlun != -1) { ++ pattern->target_lun = findlun; ++ pattern->flags |= PERIPH_MATCH_LUN; ++ } ++ ++ /* result loop */ ++ do { ++ if (ioctl(fd, CAMIOCOMMAND, &cdm) == -1) { ++ DBG (1, "error sending CAMIOCOMMAND ioctl"); ++ break; ++ } ++ ++ if ((cdm.ccb_h.status != CAM_REQ_CMP) ++ || ((cdm.status != CAM_DEV_MATCH_LAST) ++ && (cdm.status != CAM_DEV_MATCH_MORE))) { ++ DBG (1, "got CAM error %#x, CDM error %d\n", ++ cdm.ccb_h.status, cdm.status); ++ break; ++ } ++ ++ for (i = 0; i < cdm.num_matches; i++) { ++ if (cdm.matches[i].type != DEV_MATCH_PERIPH) ++ continue; ++ result = &cdm.matches[i].result.periph_result; ++ DBG (4, "%s%d on scbus%d %d:%d\n", ++ result->periph_name, result->unit_number, ++ result->path_id, result->target_id, result->target_lun); ++ if (cam_compare_inquiry(fd, result->path_id, ++ result->target_id, result->target_lun, ++ findvendor, findmodel, findtype) == 0) { ++ sprintf(devname, "/dev/%s%d", result->periph_name, result->unit_number); ++ (*attach) (devname); ++ } ++ } ++ } while ((cdm.ccb_h.status == CAM_REQ_CMP) ++ && (cdm.status == CAM_DEV_MATCH_MORE)); ++ ++ free(cdm.patterns); ++ free(cdm.matches); ++ close(fd); ++ return; ++} ++ + #endif + + +@@ -3722,6 +3885,7 @@ + int findbus, int findchannel, int findid, int findlun, + SANE_Status (*attach) (const char *dev)) + { ++ DBG_INIT(); + DBG (1, "sanei_scsi_find_devices: not implemented for this platform\n"); + } + diff --git a/graphics/sane-frontends/pkg-plist b/graphics/sane-frontends/pkg-plist index eb9071549fa1..e6f6d114695d 100644 --- a/graphics/sane-frontends/pkg-plist +++ b/graphics/sane-frontends/pkg-plist @@ -18,13 +18,16 @@ etc/sane.d/m3096g.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/net.conf +etc/sane.d/plustek.conf etc/sane.d/ricoh.conf etc/sane.d/s9036.conf etc/sane.d/saned.conf etc/sane.d/sharp.conf etc/sane.d/snapscan.conf etc/sane.d/sp15c.conf +etc/sane.d/st400.conf etc/sane.d/tamarack.conf etc/sane.d/umax.conf include/sane/config.h @@ -35,6 +38,7 @@ include/sane/sanei_codec_ascii.h include/sane/sanei_codec_bin.h include/sane/sanei_debug.h include/sane/sanei_net.h +include/sane/sanei_pa4s2.h include/sane/sanei_scsi.h include/sane/sanei_wire.h include/sane/saneopts.h @@ -92,9 +96,15 @@ lib/sane/libsane-microtek2.so.1 lib/sane/libsane-mustek.a lib/sane/libsane-mustek.so lib/sane/libsane-mustek.so.1 +lib/sane/libsane-mustek_pp.a +lib/sane/libsane-mustek_pp.so +lib/sane/libsane-mustek_pp.so.1 lib/sane/libsane-net.a lib/sane/libsane-net.so lib/sane/libsane-net.so.1 +lib/sane/libsane-plustek.a +lib/sane/libsane-plustek.so +lib/sane/libsane-plustek.so.1 lib/sane/libsane-pnm.a lib/sane/libsane-pnm.so lib/sane/libsane-pnm.so.1 @@ -113,6 +123,9 @@ lib/sane/libsane-snapscan.so.1 lib/sane/libsane-sp15c.a lib/sane/libsane-sp15c.so lib/sane/libsane-sp15c.so.1 +lib/sane/libsane-st400.a +lib/sane/libsane-st400.so +lib/sane/libsane-st400.so.1 lib/sane/libsane-tamarack.a lib/sane/libsane-tamarack.so lib/sane/libsane-tamarack.so.1 diff --git a/graphics/sane/Makefile b/graphics/sane/Makefile index cb087faea72c..0be0865f8056 100644 --- a/graphics/sane/Makefile +++ b/graphics/sane/Makefile @@ -6,7 +6,7 @@ # PORTNAME= sane -PORTVERSION= 1.0.2 +PORTVERSION= 1.0.3 CATEGORIES= graphics MASTER_SITES= ${MASTER_SITE_SUNSITE} \ ftp://ftp.mostang.com/pub/sane/ @@ -21,17 +21,21 @@ GTK_CONFIG?= ${X11BASE}/bin/gtk12-config USE_GMAKE= yes USE_LIBTOOL= yes -INSTALLS_SHLIB= yes CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ GTK_CONFIG="${GTK_CONFIG}" \ LIBS="-L${LOCALBASE}/lib" CONFIGURE_ARGS= --disable-gtktest +INSTALLS_SHLIB= yes -MAN1= saned.1 scanimage.1 xscanimage.1 -MAN5= sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-dll.5 sane-dc25.5 \ - sane-dmc.5 sane-epson.5 sane-hp.5 sane-microtek.5 sane-microtek2.5 \ - sane-mustek.5 sane-net.5 sane-pint.5 sane-pnm.5 sane-umax.5 \ - sane-qcam.5 sane-scsi.5 sane-artec.5 sane-fujitsu.5 sane-sharp.5 +MAN1= saned.1 scanimage.1 xcam.1 xscanimage.1 +MAN5= sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-artec.5 \ + sane-avision.5 sane-canon.5 sane-coolscan.5 sane-dc210.5 \ + sane-dc25.5 sane-dll.5 sane-dmc.5 sane-epson.5 \ + sane-fujitsu.5 sane-hp.5 sane-microtek.5 sane-microtek2.5 \ + sane-mustek.5 sane-mustek_pp.5 sane-net.5 sane-pint.5 \ + sane-plustek.5 sane-pnm.5 sane-qcam.5 sane-ricoh.5 \ + sane-s9036.5 sane-scsi.5 sane-sharp.5 sane-snapscan.5 \ + sane-st400.5 sane-tamarack.5 sane-umax.5 sane-v4l.5 pre-configure: @${ECHO} "*** Note: SANE can be built with an X scanner interface" diff --git a/graphics/sane/distinfo b/graphics/sane/distinfo index eade6264497e..5c98b7de3911 100644 --- a/graphics/sane/distinfo +++ b/graphics/sane/distinfo @@ -1 +1 @@ -MD5 (sane-1.0.2.tar.gz) = 8cd5d092225f98032db88a221a1d6efe +MD5 (sane-1.0.3.tar.gz) = c1c2e08358e0196109724ecdbe316c7b diff --git a/graphics/sane/files/patch-ae b/graphics/sane/files/patch-ae new file mode 100644 index 000000000000..c880e73f2c0c --- /dev/null +++ b/graphics/sane/files/patch-ae @@ -0,0 +1,180 @@ +--- sanei/sanei_scsi.c.orig Sat Aug 12 23:54:15 2000 ++++ sanei/sanei_scsi.c Fri Sep 8 22:38:49 2000 +@@ -2424,6 +2424,169 @@ + cam_freeccb(ccb); + return SANE_STATUS_GOOD; + } ++ ++#define WE_HAVE_FIND_DEVICES ++ ++int ++cam_compare_inquiry(int fd, path_id_t path_id, ++ target_id_t target_id, lun_id_t target_lun, ++ const char *vendor, const char *product, const char *type) ++{ ++ struct ccb_dev_match cdm; ++ struct device_match_pattern *pattern; ++ struct scsi_inquiry_data *inq; ++ int retval = 0; ++ ++ /* build ccb for device match */ ++ bzero(&cdm, sizeof(cdm)); ++ cdm.ccb_h.func_code = XPT_DEV_MATCH; ++ ++ /* result buffer */ ++ cdm.match_buf_len = sizeof(struct dev_match_result); ++ cdm.matches = (struct dev_match_result *)malloc(cdm.match_buf_len); ++ cdm.num_matches = 0; ++ ++ /* pattern buffer */ ++ cdm.num_patterns = 1; ++ cdm.pattern_buf_len = sizeof(struct dev_match_pattern); ++ cdm.patterns = (struct dev_match_pattern *)malloc(cdm.pattern_buf_len); ++ ++ /* assemble conditions */ ++ cdm.patterns[0].type = DEV_MATCH_DEVICE; ++ pattern = &cdm.patterns[0].pattern.device_pattern; ++ pattern->flags = DEV_MATCH_PATH | DEV_MATCH_TARGET | DEV_MATCH_LUN; ++ pattern->path_id = path_id; ++ pattern->target_id = target_id; ++ pattern->target_lun = target_lun; ++ ++ if (ioctl(fd, CAMIOCOMMAND, &cdm) == -1) { ++ DBG (1, "error sending CAMIOCOMMAND ioctl"); ++ retval = -1; ++ goto ret; ++ } ++ ++ if ((cdm.ccb_h.status != CAM_REQ_CMP) ++ || ((cdm.status != CAM_DEV_MATCH_LAST) ++ && (cdm.status != CAM_DEV_MATCH_MORE))) { ++ DBG (1, "got CAM error %#x, CDM error %d\n", ++ cdm.ccb_h.status, cdm.status); ++ retval = -1; ++ goto ret; ++ } ++ ++ if (cdm.num_matches == 0) { ++ DBG (1, "not found\n"); ++ retval = -1; ++ goto ret; ++ } ++ ++ if (cdm.matches[0].type != DEV_MATCH_DEVICE) { ++ DBG (1, "no device match\n"); ++ retval = -1; ++ goto ret; ++ } ++ ++ inq = &cdm.matches[0].result.device_result.inq_data; ++ if ((vendor && cam_strmatch(inq->vendor, vendor, SID_VENDOR_SIZE)) || ++ (product && cam_strmatch(inq->product, product, SID_PRODUCT_SIZE))) ++ retval = 1; ++ ++ ret: ++ free(cdm.patterns); ++ free(cdm.matches); ++ return(retval); ++} ++ ++void ++sanei_scsi_find_devices (const char *findvendor, const char *findmodel, ++ const char *findtype, ++ int findbus, int findchannel, int findid, int findlun, ++ SANE_Status (*attach) (const char *dev)) ++{ ++ int fd; ++ struct ccb_dev_match cdm; ++ struct periph_match_pattern *pattern; ++ struct periph_match_result *result; ++ int i; ++ char devname[16]; ++ ++ DBG_INIT(); ++ ++ if ((fd = open(XPT_DEVICE, O_RDWR)) == -1) { ++ DBG (1, "could not open %s\n", XPT_DEVICE); ++ return; ++ } ++ ++ /* build ccb for device match */ ++ bzero(&cdm, sizeof(cdm)); ++ cdm.ccb_h.func_code = XPT_DEV_MATCH; ++ ++ /* result buffer */ ++ cdm.match_buf_len = sizeof(struct dev_match_result) * 100; ++ cdm.matches = (struct dev_match_result *)malloc(cdm.match_buf_len); ++ cdm.num_matches = 0; ++ ++ /* pattern buffer */ ++ cdm.num_patterns = 1; ++ cdm.pattern_buf_len = sizeof(struct dev_match_pattern); ++ cdm.patterns = (struct dev_match_pattern *)malloc(cdm.pattern_buf_len); ++ ++ /* assemble conditions ... findchannel is ignored */ ++ cdm.patterns[0].type = DEV_MATCH_PERIPH; ++ pattern = &cdm.patterns[0].pattern.periph_pattern; ++ pattern->flags = PERIPH_MATCH_NAME; ++ strcpy(pattern->periph_name, "pass"); ++ if (findbus != -1) { ++ pattern->path_id = findbus; ++ pattern->flags |= PERIPH_MATCH_PATH; ++ } ++ if (findid != -1) { ++ pattern->target_id = findid; ++ pattern->flags |= PERIPH_MATCH_TARGET; ++ } ++ if (findlun != -1) { ++ pattern->target_lun = findlun; ++ pattern->flags |= PERIPH_MATCH_LUN; ++ } ++ ++ /* result loop */ ++ do { ++ if (ioctl(fd, CAMIOCOMMAND, &cdm) == -1) { ++ DBG (1, "error sending CAMIOCOMMAND ioctl"); ++ break; ++ } ++ ++ if ((cdm.ccb_h.status != CAM_REQ_CMP) ++ || ((cdm.status != CAM_DEV_MATCH_LAST) ++ && (cdm.status != CAM_DEV_MATCH_MORE))) { ++ DBG (1, "got CAM error %#x, CDM error %d\n", ++ cdm.ccb_h.status, cdm.status); ++ break; ++ } ++ ++ for (i = 0; i < cdm.num_matches; i++) { ++ if (cdm.matches[i].type != DEV_MATCH_PERIPH) ++ continue; ++ result = &cdm.matches[i].result.periph_result; ++ DBG (4, "%s%d on scbus%d %d:%d\n", ++ result->periph_name, result->unit_number, ++ result->path_id, result->target_id, result->target_lun); ++ if (cam_compare_inquiry(fd, result->path_id, ++ result->target_id, result->target_lun, ++ findvendor, findmodel, findtype) == 0) { ++ sprintf(devname, "/dev/%s%d", result->periph_name, result->unit_number); ++ (*attach) (devname); ++ } ++ } ++ } while ((cdm.ccb_h.status == CAM_REQ_CMP) ++ && (cdm.status == CAM_DEV_MATCH_MORE)); ++ ++ free(cdm.patterns); ++ free(cdm.matches); ++ close(fd); ++ return; ++} ++ + #endif + + +@@ -3722,6 +3885,7 @@ + int findbus, int findchannel, int findid, int findlun, + SANE_Status (*attach) (const char *dev)) + { ++ DBG_INIT(); + DBG (1, "sanei_scsi_find_devices: not implemented for this platform\n"); + } + diff --git a/graphics/sane/pkg-plist b/graphics/sane/pkg-plist index eb9071549fa1..e6f6d114695d 100644 --- a/graphics/sane/pkg-plist +++ b/graphics/sane/pkg-plist @@ -18,13 +18,16 @@ etc/sane.d/m3096g.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/net.conf +etc/sane.d/plustek.conf etc/sane.d/ricoh.conf etc/sane.d/s9036.conf etc/sane.d/saned.conf etc/sane.d/sharp.conf etc/sane.d/snapscan.conf etc/sane.d/sp15c.conf +etc/sane.d/st400.conf etc/sane.d/tamarack.conf etc/sane.d/umax.conf include/sane/config.h @@ -35,6 +38,7 @@ include/sane/sanei_codec_ascii.h include/sane/sanei_codec_bin.h include/sane/sanei_debug.h include/sane/sanei_net.h +include/sane/sanei_pa4s2.h include/sane/sanei_scsi.h include/sane/sanei_wire.h include/sane/saneopts.h @@ -92,9 +96,15 @@ lib/sane/libsane-microtek2.so.1 lib/sane/libsane-mustek.a lib/sane/libsane-mustek.so lib/sane/libsane-mustek.so.1 +lib/sane/libsane-mustek_pp.a +lib/sane/libsane-mustek_pp.so +lib/sane/libsane-mustek_pp.so.1 lib/sane/libsane-net.a lib/sane/libsane-net.so lib/sane/libsane-net.so.1 +lib/sane/libsane-plustek.a +lib/sane/libsane-plustek.so +lib/sane/libsane-plustek.so.1 lib/sane/libsane-pnm.a lib/sane/libsane-pnm.so lib/sane/libsane-pnm.so.1 @@ -113,6 +123,9 @@ lib/sane/libsane-snapscan.so.1 lib/sane/libsane-sp15c.a lib/sane/libsane-sp15c.so lib/sane/libsane-sp15c.so.1 +lib/sane/libsane-st400.a +lib/sane/libsane-st400.so +lib/sane/libsane-st400.so.1 lib/sane/libsane-tamarack.a lib/sane/libsane-tamarack.so lib/sane/libsane-tamarack.so.1 |