pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
argyllcms: remove, same version in pkgsrc
Module Name: pkgsrc-wip
Committed By: Jonathan A. Kollasch <jakllsch%kollasch.net@localhost>
Pushed By: jakllsch
Date: Fri Nov 24 14:29:10 2023 -0600
Changeset: 7785054870cef1c80c95110d1bd8b11b2e498b99
Modified Files:
Makefile
Removed Files:
argyllcms/DESCR
argyllcms/Makefile
argyllcms/PLIST
argyllcms/distinfo
argyllcms/patches/patch-Jamtop
argyllcms/patches/patch-spectro_Jamfile
argyllcms/patches/patch-spectro_hidio.c
argyllcms/patches/patch-spectro_hidio.h
argyllcms/patches/patch-spectro_icoms__ux.c
argyllcms/patches/patch-spectro_usbio.c
argyllcms/patches/patch-spectro_usbio__bsd.c
Log Message:
argyllcms: remove, same version in pkgsrc
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=7785054870cef1c80c95110d1bd8b11b2e498b99
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 -
argyllcms/DESCR | 19 -
argyllcms/Makefile | 51 ---
argyllcms/PLIST | 135 -------
argyllcms/distinfo | 12 -
argyllcms/patches/patch-Jamtop | 74 ----
argyllcms/patches/patch-spectro_Jamfile | 15 -
argyllcms/patches/patch-spectro_hidio.c | 169 ---------
argyllcms/patches/patch-spectro_hidio.h | 22 --
argyllcms/patches/patch-spectro_icoms__ux.c | 36 --
argyllcms/patches/patch-spectro_usbio.c | 15 -
argyllcms/patches/patch-spectro_usbio__bsd.c | 515 ---------------------------
12 files changed, 1064 deletions(-)
diffs:
diff --git a/Makefile b/Makefile
index aed214e735..cc0720f5b3 100644
--- a/Makefile
+++ b/Makefile
@@ -184,7 +184,6 @@ SUBDIR+= arduino-builder
SUBDIR+= arduino-ctags
SUBDIR+= argouml
SUBDIR+= argtable2
-SUBDIR+= argyllcms
SUBDIR+= aribas
SUBDIR+= arla-3.99.14
SUBDIR+= arm-eabi-binutils
diff --git a/argyllcms/DESCR b/argyllcms/DESCR
deleted file mode 100644
index 43baf54f77..0000000000
--- a/argyllcms/DESCR
+++ /dev/null
@@ -1,19 +0,0 @@
-ArgyllCMS is an ICC compatible color management system, available
-as Open Source. It supports accurate ICC profile creation for
-scanners, cameras and film recorders, and calibration and profiling
-of displays and RGB & CMYK printers. Device Link can be created
-with a wide variety of advanced options, including specialized
-Video calibration standards and 3dLuts. Spectral sample data is
-supported, allowing a selection of illuminants observer types, and
-paper fluorescent whitener additive compensation. Profiles can also
-incorporate source specific gamut mappings for perceptual and
-saturation intents. Gamut mapping and profile linking uses the
-CIECAM02 appearance model, a unique gamut mapping algorithm, and
-a wide selection of rendering intents. It also includes code for
-the fastest portable 8 bit raster color conversion engine available
-anywhere, as well as support for fast, fully accurate 16 bit
-conversion. Device color gamuts can also be viewed and compared
-with a modern Web browser using X3DOM . Comprehensive documentation
-is provided for each major tool, and a general guide to using the
-tools for typical color management tasks is also available. A
-mailing list provides support for more advanced usage.
diff --git a/argyllcms/Makefile b/argyllcms/Makefile
deleted file mode 100644
index 314c60746d..0000000000
--- a/argyllcms/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-# $NetBSD$
-
-DISTNAME= Argyll_V3.0.2_src
-PKGNAME= ${DISTNAME:S/_V/cms-/:S/_src$//:tl}
-CATEGORIES= graphics
-MASTER_SITES= http://www.argyllcms.com/
-EXTRACT_SUFX= .zip
-
-MAINTAINER= pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE= https://www.argyllcms.com/
-COMMENT= ICC compatible color management system
-LICENSE= gnu-agpl-v3
-
-WRKSRC= ${WRKDIR}/${DISTNAME:S/_src$//}
-USE_TOOLS+= pkg-config
-USE_LANGUAGES= c c++
-
-PKGCONFIG_OVERRIDE+= png/libpng.pc.in
-PKGCONFIG_OVERRIDE+= tiff/libtiff-4.pc.in
-PKGCONFIG_OVERRIDE+= xml/mxml.pc.in
-PKGCONFIG_OVERRIDE+= zlib/zlib.pc.in
-
-BUILDLINK_TRANSFORM+= rm:-ldl
-
-BUILD_DEPENDS+= jam>=2.5.2:../../devel/jam
-
-do-build:
- cd ${WRKSRC} && ${SETENV} DESTDIR=${DESTDIR} PREFIX=${PREFIX} \
- REFSUBDIR=share/argyll/ref \
- ${MAKE_ENV} jam -q -fJambase ${_MAKE_JOBS}
-
-do-install:
- cd ${WRKSRC} && ${SETENV} DESTDIR=${DESTDIR} PREFIX=${PREFIX} \
- REFSUBDIR=share/argyll/ref \
- ${MAKE_ENV} jam -q -fJambase ${_MAKE_JOBS} install
- ${MV} ${DESTDIR}${PREFIX}/bin/License.txt \
- ${DESTDIR}${PREFIX}/share/argyll/
-
-.include "../../x11/libXinerama/buildlink3.mk"
-.include "../../x11/libXrandr/buildlink3.mk"
-.include "../../x11/xorgproto/buildlink3.mk"
-.include "../../x11/libXau/buildlink3.mk"
-.include "../../x11/libXdmcp/buildlink3.mk"
-.include "../../x11/libXext/buildlink3.mk"
-.include "../../x11/libXxf86vm/buildlink3.mk"
-.include "../../x11/libXScrnSaver/buildlink3.mk"
-.include "../../x11/libX11/buildlink3.mk"
-.include "../../graphics/tiff/buildlink3.mk"
-.include "../../graphics/png/buildlink3.mk"
-.include "../../mk/jpeg.buildlink3.mk"
-.include "../../mk/bsd.pkg.mk"
diff --git a/argyllcms/PLIST b/argyllcms/PLIST
deleted file mode 100644
index d48ca466cf..0000000000
--- a/argyllcms/PLIST
+++ /dev/null
@@ -1,135 +0,0 @@
-@comment $NetBSD$
-bin/applycal
-bin/average
-bin/cb2ti3
-bin/cctiff
-bin/ccxxmake
-bin/chartread
-bin/collink
-bin/colprof
-bin/colverify
-bin/cxf2ti3
-bin/dispcal
-bin/dispread
-bin/dispwin
-bin/extracticc
-bin/extractttag
-bin/fakeCMY
-bin/fakeread
-bin/greytiff
-bin/iccdump
-bin/iccgamut
-bin/icclu
-bin/iccvcgt
-bin/illumread
-bin/invprofcheck
-bin/kodak2ti3
-bin/ls2ti3
-bin/mppcheck
-bin/mpplu
-bin/mppprof
-bin/oeminst
-bin/printcal
-bin/printtarg
-bin/profcheck
-bin/refine
-bin/revfix
-bin/scanin
-bin/spec2cie
-bin/specplot
-bin/splitti3
-bin/spotread
-bin/synthcal
-bin/synthread
-bin/targen
-bin/tiffgamut
-bin/timage
-bin/txt2ti3
-bin/viewgam
-bin/xicclu
-share/argyll/License.txt
-share/argyll/ref/3dap5k.sp
-share/argyll/ref/ACES_P3.icm
-share/argyll/ref/CIE_C.sp
-share/argyll/ref/CMP_DT_003.cht
-share/argyll/ref/CMP_DT_mini.cht
-share/argyll/ref/CMP_Digital_Target-2019.cht
-share/argyll/ref/CMP_Digital_Target-4.cht
-share/argyll/ref/CMP_Digital_Target-4.cie
-share/argyll/ref/CMP_Digital_Target-4.ti2
-share/argyll/ref/CMP_Digital_Target-7.cht
-share/argyll/ref/CMP_Digital_Target_Studio.cht
-share/argyll/ref/ClayRGB1998.icm
-share/argyll/ref/ColorChecker.cht
-share/argyll/ref/ColorChecker.cie
-share/argyll/ref/ColorChecker.ti2
-share/argyll/ref/ColorCheckerDC.cht
-share/argyll/ref/ColorCheckerDC.ti2
-share/argyll/ref/ColorCheckerHalfPassport.cht
-share/argyll/ref/ColorCheckerHalfPassport.cie
-share/argyll/ref/ColorCheckerHalfPassport.ti2
-share/argyll/ref/ColorCheckerPassport.cht
-share/argyll/ref/ColorCheckerPassport.cie
-share/argyll/ref/ColorCheckerPassport.ti2
-share/argyll/ref/ColorCheckerSG.cht
-share/argyll/ref/ColorCheckerSG.ti2
-share/argyll/ref/D50_0.0.sp
-share/argyll/ref/D50_0.1.sp
-share/argyll/ref/D50_0.3.sp
-share/argyll/ref/D50_0.5.sp
-share/argyll/ref/D50_0.7.sp
-share/argyll/ref/D50_1.0.sp
-share/argyll/ref/D50_1.2.sp
-share/argyll/ref/D50_1.5.sp
-share/argyll/ref/D50_1.7.sp
-share/argyll/ref/D50_2.0.sp
-share/argyll/ref/D50_2.5.sp
-share/argyll/ref/D50_3.0.sp
-share/argyll/ref/DisplayP3.icm
-share/argyll/ref/EBU3213_PAL.icm
-share/argyll/ref/ECI2002.ti2
-share/argyll/ref/ECI2002R.ti2
-share/argyll/ref/F1.sp
-share/argyll/ref/F5.sp
-share/argyll/ref/F8.sp
-share/argyll/ref/FograStrip2.ti1
-share/argyll/ref/FograStrip2_2.ti2
-share/argyll/ref/FograStrip3.ti1
-share/argyll/ref/FograStrip3_3.ti2
-share/argyll/ref/GTIPlus.sp
-share/argyll/ref/Hutchcolor.cht
-share/argyll/ref/ISO12641_2_1.cht
-share/argyll/ref/ISO12641_2_3_1.cht
-share/argyll/ref/ISO12641_2_3_2.cht
-share/argyll/ref/ISO12641_2_3_3.cht
-share/argyll/ref/LaserSoftDCPro.cht
-share/argyll/ref/Office.sp
-share/argyll/ref/ProPhoto.icm
-share/argyll/ref/ProPhotoLin.icm
-share/argyll/ref/QPcard_201.cht
-share/argyll/ref/QPcard_201.cie
-share/argyll/ref/QPcard_202.cht
-share/argyll/ref/QPcard_202.cie
-share/argyll/ref/Rec2020.icm
-share/argyll/ref/Rec709.icm
-share/argyll/ref/RefMediumGamut.gam
-share/argyll/ref/SMPTE431_P3.icm
-share/argyll/ref/SMPTE_RP145_NTSC.icm
-share/argyll/ref/SOtele.sp
-share/argyll/ref/SpyderChecker.cht
-share/argyll/ref/SpyderChecker.cie
-share/argyll/ref/SpyderChecker24.cht
-share/argyll/ref/SpyderChecker24.cie
-share/argyll/ref/Trulux.sp
-share/argyll/ref/TruluxPlus.sp
-share/argyll/ref/ccxx.ti1
-share/argyll/ref/example.sp
-share/argyll/ref/example121.sp
-share/argyll/ref/i1_RGB_Scan_1.4.cht
-share/argyll/ref/i1_RGB_Scan_1.4.ti2
-share/argyll/ref/it8.cht
-share/argyll/ref/it8Wolf.cht
-share/argyll/ref/lab2lab.icm
-share/argyll/ref/linear.cal
-share/argyll/ref/sRGB.icm
-share/argyll/ref/strange.cal
diff --git a/argyllcms/distinfo b/argyllcms/distinfo
deleted file mode 100644
index badfb56a21..0000000000
--- a/argyllcms/distinfo
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD$
-
-BLAKE2s (Argyll_V3.0.2_src.zip) = 6b5ae8db701693424e0bb4b5670089e866984cef20cb86e49316748bc153d9bf
-SHA512 (Argyll_V3.0.2_src.zip) = befd9f3a1b06b8a403deaed38dd01cf93ae511bf200a37cae4516455050f0178fe51c6fa705579093795f2043ca19e7f79facd165f9e888cf80a3684fb586745
-Size (Argyll_V3.0.2_src.zip) = 14202724 bytes
-SHA1 (patch-Jamtop) = 2d68e70172ea3f5c651a9d6367489ada08f258ea
-SHA1 (patch-spectro_Jamfile) = 1e40d46df292dc73b55163c66e7bb4c7f89acf19
-SHA1 (patch-spectro_hidio.c) = cf9bae6bf2032ce5184c0760991aa3fe8f206fed
-SHA1 (patch-spectro_hidio.h) = cdf6600dd0c346fcc1e6b2d514e8a488dc3c771f
-SHA1 (patch-spectro_icoms__ux.c) = 729883ffb5c7060a9b87b23f8eb79fd6458e13f4
-SHA1 (patch-spectro_usbio.c) = decbe4f2e4d359e10678dbf6ad46d79bf9e16a21
-SHA1 (patch-spectro_usbio__bsd.c) = afe1ec7565bb2226dd525e65e14353e98c75c1ed
diff --git a/argyllcms/patches/patch-Jamtop b/argyllcms/patches/patch-Jamtop
deleted file mode 100644
index 0b72b89aea..0000000000
--- a/argyllcms/patches/patch-Jamtop
+++ /dev/null
@@ -1,74 +0,0 @@
-$NetBSD$
-
-Search and use pkgsrc ${X11BASE} and ${PREFIX} paths.
-Recognize pkgsrc libpng16.so (somewhat haphazardly).
-Recognize NetBSD.
-
---- Jamtop.orig 2023-10-23 00:55:56.000000000 +0000
-+++ Jamtop
-@@ -83,7 +83,11 @@ if $(UNIX) {
-
- # Hmm. Would be nice to use pkg-config here, if system has it.
- } else {
-- if [ GLOB /usr/X11R6/include/X11 : X.h ] {
-+ if [ GLOB $(X11BASE)/include/X11 : X.h ] {
-+ LibWinH = $(X11BASE)/include ;
-+ } else if [ GLOB $(PREFIX)/include/X11 : X.h ] {
-+ LibWinH = $(PREFIX)/include ;
-+ } else if [ GLOB /usr/X11R6/include/X11 : X.h ] {
- LibWinH = /usr/X11R6/include ;
- } else if [ GLOB /usr/include/X11 : X.h ] {
- LibWinH = /usr/include ;
-@@ -94,7 +98,11 @@ if $(UNIX) {
- }
-
- if $(HOST64) {
-- if [ GLOB /usr/X11R6/lib : libX11.so libX11.a ] {
-+ if [ GLOB $(X11BASE)/lib : libX11.so libX11.a ] {
-+ LibWinD = $(X11BASE)/lib ;
-+ } else if [ GLOB $(PREFIX)/lib : libX11.so libX11.a ] {
-+ LibWinD = $(PREFIX)/lib ;
-+ } else if [ GLOB /usr/X11R6/lib : libX11.so libX11.a ] {
- LibWinD = /usr/X11R6/lib ;
- } else if [ GLOB /usr/lib/x86_64-linux-gnu : libX11.so libX11.a ] {
- LibWinD = /usr/lib/x86_64-linux-gnu ;
-@@ -108,7 +116,11 @@ if $(UNIX) {
- ECHO Unable to locate the 64 bit X11 library files ;
- }
- } else {
-- if [ GLOB /usr/X11R6/lib : libX11.so libX11.a ] {
-+ if [ GLOB $(X11BASE)/lib : libX11.so libX11.a ] {
-+ LibWinD = $(X11BASE)/lib ;
-+ } else if [ GLOB $(PREFIX)/lib : libX11.so libX11.a ] {
-+ LibWinD = $(PREFIX)/lib ;
-+ } else if [ GLOB /usr/X11R6/lib : libX11.so libX11.a ] {
- LibWinD = /usr/X11R6/lib ;
- } else if [ GLOB /usr/lib/i386-linux-gnu : libX11.so libX11.a ] {
- LibWinD = /usr/lib/i386-linux-gnu ;
-@@ -123,6 +135,9 @@ if $(UNIX) {
- if $(OS) = FREEBSD {
- LINKFLAGS += -g -lrt -lusb ;
- GUILINKFLAGS += -L$(LibWinD) -g -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss ;
-+ } else if $(OS) = NETBSD {
-+ LINKFLAGS += -L$(PREFIX)/lib ${COMPILER_RPATH_FLAG}$(PREFIX)/lib -g -lrt -lusbhid ;
-+ GUILINKFLAGS += -L$(LibWinD) ${COMPILER_RPATH_FLAG}$(LibWinD) -g -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss ;
- } else if $(OS) = OPENBSD {
- LINKFLAGS += ;
- GUILINKFLAGS += -L$(LibWinD) -g -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -L/usr/local/lib ;
-@@ -153,11 +168,14 @@ rule CheckForLibrary {
- }
-
- if ! $(BUILTIN_$(UCASE)) && $(UNIX) {
-- if [ GLOB /usr/include$(subd) : $(lcase).h $(lcase)lib.h ]
-+ if [ GLOB $(PREFIX)/include$(subd) : $(lcase).h $(lcase)lib.h ]
-+ || [ GLOB /usr/include$(subd) : $(lcase).h $(lcase)lib.h ]
- || [ GLOB /usr/local/include$(subd) : $(lcase).h $(lcase)lib.h ]
- || [ GLOB /usr/include/x86_64-linux-gnu$(subd) : $(lcase).h $(lcase)lib.h ]
- || [ GLOB /usr/include/i386-linux-gnu$(subd) : $(lcase).h $(lcase)lib.h ] {
-- if [ GLOB /usr/lib : lib$(lcase).so ] || [ GLOB /usr/lib : lib$(lcase).a ]
-+ if [ GLOB $(PREFIX)/lib : lib$(lcase).so ] || [ GLOB $(PREFIX)/lib : lib$(lcase).a ]
-+ || [ GLOB $(PREFIX)/lib : lib$(lcase)16.so ] || [ GLOB $(PREFIX)/lib : lib$(lcase)16.a ]
-+ || [ GLOB /usr/lib : lib$(lcase).so ] || [ GLOB /usr/lib : lib$(lcase).a ]
- || [ GLOB /usr/local/lib : lib$(lcase).so ] || [ GLOB /usr/local/lib : lib$(lcase).a ]
- || [ GLOB /usr/lib64 : lib$(lcase).so ] || [ GLOB /usr/lib64 : lib$(lcase).a ]
- || [ GLOB /usr/lib/x86_64-linux-gnu : lib$(lcase).so ]
diff --git a/argyllcms/patches/patch-spectro_Jamfile b/argyllcms/patches/patch-spectro_Jamfile
deleted file mode 100644
index dcd33c06c4..0000000000
--- a/argyllcms/patches/patch-spectro_Jamfile
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Try to make linking work on NetBSD 9.3
-
---- spectro/Jamfile.orig 2023-10-23 00:56:14.000000000 +0000
-+++ spectro/Jamfile
-@@ -166,7 +166,7 @@ LINKLIBS = libinst libinstapp
- ../ccast/libccast $(SSLLIB) ../yajl/libyajl
- $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIB)
- ../numlib/libui libconv ../numlib/libnum
-- $(CMMLIBS) ;
-+ $(CMMLIBS) libconv ;
-
- if $(LIBUSB_IS_DLL) = true {
- LINKSHLIBS = $(LIBUSBDIR)/$(LIBUSB) ;
diff --git a/argyllcms/patches/patch-spectro_hidio.c b/argyllcms/patches/patch-spectro_hidio.c
deleted file mode 100644
index be03c22941..0000000000
--- a/argyllcms/patches/patch-spectro_hidio.c
+++ /dev/null
@@ -1,169 +0,0 @@
-$NetBSD$
-
-Recognize NetBSD.
-
---- spectro/hidio.c.orig 2023-10-23 00:56:17.000000000 +0000
-+++ spectro/hidio.c
-@@ -92,6 +92,10 @@
- #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
- #include <sys/types.h>
- #include <usbhid.h>
-+#elif defined(__NetBSD__)
-+#include <glob.h>
-+#include <dev/usb/usb.h>
-+#include <usbhid.h>
- #else /* assume Linux */
- # include <asm/types.h>
- # include <linux/hiddev.h>
-@@ -432,11 +436,54 @@ int hid_get_paths(icompaths *p) {
- #endif /* UNIX_APPLE */
-
- #if defined(UNIX_X11)
-+#if defined(__NetBSD__)
-+ {
-+ int i;
-+ int fd;
-+ glob_t g;
-+ const char *uhid_glob = "/dev/uhid[0-9]*";
-+ struct usb_device_info udi;
-+ devType itype;
-+
-+ if (glob(uhid_glob, GLOB_NOSORT, NULL, &g) != 0) {
-+ return ICOM_SYS;
-+ }
-+
-+ for (i = 0; i < g.gl_pathc; i++) {
-+ struct hid_idevice *hidd;
-+ if ((fd = open(g.gl_pathv[i], O_RDONLY)) < 0)
-+ continue;
-+
-+ if (ioctl(fd, USB_GET_DEVICEINFO, &udi) < 0) {
-+ a1logd(p->log, 6, "hid_get_paths: USB_GET_DEVICEINFO failed\n");
-+ close(fd);
-+ continue;
-+ }
-+ close(fd);
-
-+ /* Do a preliminary match */
-+ if ((itype = inst_usb_match(udi.udi_vendorNo, udi.udi_productNo, 0)) == instUnknown) {
-+ a1logd(p->log, 6, "hid_get_paths: instrument not reconized\n");
-+ continue;
-+ }
-+ if ((hidd = (struct hid_idevice *) calloc(sizeof(struct hid_idevice), 1)) == NULL) {
-+ a1loge(p->log, 6, "hid_get_paths() calloc failed!\n");
-+ return ICOM_SYS;
-+ }
-+ if ((hidd->dpath = strdup(g.gl_pathv[i])) == NULL) {
-+ a1loge(p->log, 6, "hid_get_paths() strdup failed!\n");
-+ return ICOM_SYS;
-+ }
-+ p->add_hid(p, hidd->dpath, udi.udi_vendorNo, udi.udi_productNo, 0, hidd, itype);
-+ }
-+
-+ globfree(&g);
-+ }
-+#elif defined NEVER
- /* This is how we'd go about adding HID support for Linux, IF it */
- /* was actually capable of communicating application composed reports - */
- /* which it is not, so HID seems pretty busted on Linux.. */
--#ifdef NEVER
-+
- /* We need to scan for /dev/hiddev* or /dev/usb/hiddev* device names, */
- /* and then read their vid & pid */
- {
-@@ -652,6 +699,24 @@ char **pnames /* List of process names
- #endif /* __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
- #endif /* UNIX_APPLE */
-
-+#if defined(UNIX_X11) && defined(__NetBSD__)
-+ static int hid_inited;
-+ if (!hid_inited) {
-+ hid_init(NULL);
-+ hid_inited = 1;
-+ }
-+ p->hidd->fd = open(p->hidd->dpath, O_RDWR);
-+ if (p->hidd->fd < 0)
-+ return ICOM_SYS;
-+ report_desc_t rd = hid_get_report_desc(p->hidd->fd);
-+ p->hidd->rchunk = hid_report_size(rd, hid_input, 0);
-+ p->hidd->wchunk = hid_report_size(rd, hid_output, 0);
-+ hid_dispose_report_desc(rd);
-+
-+ if (p->hidd->rchunk <= 0 || p->hidd->wchunk <= 0)
-+ return ICOM_SYS;
-+#endif
-+
- p->is_open = 1;
- a1logd(p->log, 8, "hid_open_port: HID port is now open\n");
- }
-@@ -709,6 +774,10 @@ void hid_close_port(icoms *p) {
- #endif /* __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
- #endif /* UNIX_APPLE */
-
-+#if defined(UNIX_X11) && defined(__NetBSD__)
-+ close(p->hidd->fd);
-+#endif
-+
- p->is_open = 0;
- a1logd(p->log, 8, "hid_close_port: has been released and closed\n");
- }
-@@ -907,6 +976,19 @@ printf("~1 IOHIDDeviceGet returned 0x%x\
- #endif /* __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
- #endif /* UNIX_APPLE */
-
-+#if defined(UNIX_X11) && defined(__NetBSD__)
-+ if (bsize % p->hidd->rchunk != 0)
-+ return ICOM_SYS; /* XXX right error code? */
-+ for (size_t i = 0; i < bsize; i += p->hidd->rchunk) {
-+ ssize_t ret;
-+ ret = read(p->hidd->fd, &rbuf[i], p->hidd->rchunk);
-+ if (ret < 0)
-+ return ICOM_SYS; /* XXX right error code? */
-+ else
-+ bread += ret;
-+ }
-+#endif
-+
- if (breadp != NULL)
- *breadp = bread;
-
-@@ -1047,6 +1129,19 @@ printf("~1 IOHIDDeviceSetReportWithCallb
- #endif /* __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
- #endif /* UNIX_APPLE */
-
-+#if defined(UNIX_X11) && defined(__NetBSD__)
-+ if (bsize % p->hidd->wchunk != 0)
-+ return ICOM_SYS; /* XXX right error code? */
-+ for (size_t i = 0; i < bsize; i += p->hidd->wchunk) {
-+ ssize_t ret;
-+ ret = write(p->hidd->fd, &wbuf[i], p->hidd->wchunk);
-+ if (ret < 0)
-+ return ICOM_SYS; /* XXX right error code? */
-+ else
-+ bwritten + ret;
-+ }
-+#endif
-+
- if (bwrittenp != NULL)
- *bwrittenp = bwritten;
-
-@@ -1117,6 +1212,10 @@ int hid_copy_hid_idevice(icoms *d, icomp
- #endif /* __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
- #endif /* UNIX_APPLE */
- #if defined (UNIX_X11)
-+ if ((d->hidd->dpath = strdup(s->hidd->dpath)) == NULL) {
-+ a1loge(d->log, ICOM_SYS, "hid_copy_hid_idevice: malloc\n");
-+ return ICOM_SYS;
-+ }
- #endif
- return ICOM_OK;
- }
-@@ -1140,6 +1239,8 @@ void hid_del_hid_idevice(struct hid_idev
- #endif /* __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
- #endif /* UNIX_APPLE */
- #if defined (UNIX_X11)
-+ if (hidd->dpath != NULL)
-+ free(hidd->dpath);
- #endif
- free(hidd);
- }
diff --git a/argyllcms/patches/patch-spectro_hidio.h b/argyllcms/patches/patch-spectro_hidio.h
deleted file mode 100644
index 76a5b6806b..0000000000
--- a/argyllcms/patches/patch-spectro_hidio.h
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD$
-
-Attempt to add NetBSD support to spectro/hidio
-
---- spectro/hidio.h.orig 2023-10-23 00:56:17.000000000 +0000
-+++ spectro/hidio.h
-@@ -80,6 +80,15 @@ struct hid_idevice {
- int bread; /* Bytes read by callback */
- #endif /* __MAC_OS_X_VERSION_MAX_ALLOWED < 1060 */
- #endif
-+#if defined(UNIX_X11)
-+#if defined(__NetBSD__)
-+ char *dpath; /* Device path */
-+ /* Stuff setup when device is open: */
-+ int fd; /* file descriptor */
-+ int rchunk;
-+ int wchunk;
-+#endif
-+#endif
- };
-
- /* Cleanup and then free an hidd entry */
diff --git a/argyllcms/patches/patch-spectro_icoms__ux.c b/argyllcms/patches/patch-spectro_icoms__ux.c
deleted file mode 100644
index 2fe1c7bd9a..0000000000
--- a/argyllcms/patches/patch-spectro_icoms__ux.c
+++ /dev/null
@@ -1,36 +0,0 @@
-$NetBSD$
-
-Add (some) serial port handling for NetBSD; neutralize serial port probing on NetBSD.
-
---- spectro/icoms_ux.c.orig 2018-07-09 02:57:13.000000000 +0000
-+++ spectro/icoms_ux.c
-@@ -242,6 +242,13 @@ int serial_get_paths(icompaths *p, icom_
- /* This should match uart & USB devs. */
- ( strncmp (de->d_name, "cua", 3) == 0
- && strlen (de->d_name) < 7)
-+#elif defined(__NetBSD__)
-+ ( strncmp(de->d_name, "tty", 3) == 0
-+ && isdigit((unsigned char)de->d_name[3]))
-+ || ( strncmp(de->d_name, "ttyU", 4) == 0
-+ && isdigit((unsigned char)de->d_name[4]))
-+ || ( strncmp(de->d_name, "ttyY", 4) == 0
-+ && isdigit((unsigned char)de->d_name[4]))
- #else
- /* Presumably Linux.. */
- ( strncmp(de->d_name, "ttyS", 4) == 0
-@@ -261,6 +268,7 @@ int serial_get_paths(icompaths *p, icom_
- strcpy(dpath, dirn);
- strcat(dpath, de->d_name);
-
-+#if !defined(__NetBSD__)
- /* See if the (not fast) serial port is real */
- if (strncmp(de->d_name, "ttyUSB", 6) != 0
- && strncmp(de->d_name, "ttyHS", 5) != 0
-@@ -300,6 +308,7 @@ int serial_get_paths(icompaths *p, icom_
- dctype |= icomt_fastserial;
- dctype |= icomt_btserial;
- }
-+#endif
-
- #ifndef ENABLE_SERIAL
- if (dctype & icomt_fastserial) { /* Only add fast ports if !ENABLE_SERIAL */
diff --git a/argyllcms/patches/patch-spectro_usbio.c b/argyllcms/patches/patch-spectro_usbio.c
deleted file mode 100644
index 7c37201db4..0000000000
--- a/argyllcms/patches/patch-spectro_usbio.c
+++ /dev/null
@@ -1,15 +0,0 @@
-$NetBSD$
-
-Attempt to add NetBSD support to spectro/usbio
-
---- spectro/usbio.c.orig 2023-10-23 00:56:17.000000000 +0000
-+++ spectro/usbio.c
-@@ -96,7 +96,7 @@ static int icoms_usb_wait_io(
- # include "usbio_ox.c"
- #endif
- #if defined(UNIX_X11)
--# if defined(__FreeBSD__) || defined(__OpenBSD__)
-+# if defined(__FreeBSD__) || defined (__NetBSD__) || defined(__OpenBSD__)
- # include "usbio_bsd.c"
- # else
- # include "usbio_lx.c"
diff --git a/argyllcms/patches/patch-spectro_usbio__bsd.c b/argyllcms/patches/patch-spectro_usbio__bsd.c
deleted file mode 100644
index 29a330d35c..0000000000
--- a/argyllcms/patches/patch-spectro_usbio__bsd.c
+++ /dev/null
@@ -1,515 +0,0 @@
-$NetBSD$
-
-Attempt to make actually function with NetBSD ugen(4).
-
---- spectro/usbio_bsd.c.orig 2023-10-23 00:56:17.000000000 +0000
-+++ spectro/usbio_bsd.c
-@@ -67,13 +67,15 @@ icompaths *p
- #if defined(__FreeBSD__)
- "/dev/usb/[0-9]*.*.0", /* FreeBSD >= 8 */
- "/dev/ugen[0-9]*", /* FreeBSD < 8, but no .E */
-+#elif defined(__NetBSD__)
-+ "/dev/ugen[0-9]*.00", /* NetBSD */
- #else
-- "/dev/ugen/[0-9]*.00", /* NetBSD, OpenBSD */
-+ "/dev/ugen/[0-9]*.00", /* OpenBSD */
- #endif
- NULL
- };
- int vid, pid;
-- int nconfig = 0, nep = 0;
-+ unsigned int configix, nconfig, nep;
- char *dpath;
- devType itype;
- struct usb_idevice *usbd = NULL;
-@@ -85,6 +87,9 @@ icompaths *p
- glob_t g;
- int fd;
- struct usb_device_info di;
-+ usb_device_descriptor_t udd;
-+ struct usb_interface_desc uid;
-+ struct usb_config_desc ucd;
- int rv, found = 0;
-
- if (paths[j] == NULL)
-@@ -121,12 +126,8 @@ icompaths *p
- continue;
- }
-
-- // ~~99 need to check number of end points ~~~
-- // ~~99 and number of configs
-- nconfig = 1;
--
--//USB_GET_DEVICEINFO struct usb_device_info
--//USB_GET_DEVICE_DESC struct usb_device_descriptor
-+ if (ioctl(fd, USB_GET_DEVICE_DESC, &udd) < 0)
-+ continue;
-
- /* Allocate an idevice so that we can fill in the end point information */
- if ((usbd = (struct usb_idevice *) calloc(sizeof(struct usb_idevice), 1)) == NULL) {
-@@ -136,8 +137,56 @@ icompaths *p
- return ICOM_SYS;
- }
-
-- usbd->nconfig = nconfig;
-+ usbd->nconfig = nconfig = udd.bNumConfigurations;
-
-+ /* Read the configuration descriptors looking for the first configuration, first interface, */
-+ /* and extract the number of end points for each configuration */
-+ for (configix = 0; configix < nconfig; configix++) {
-+ ucd.ucd_config_index = configix;
-+ if (ioctl(fd, USB_GET_CONFIG_DESC, &ucd) < 0) {
-+ free(usbd);
-+ close(fd);
-+ break;
-+ }
-+ usbd->nifce = ucd.ucd_desc.bNumInterface;
-+ usbd->config = ucd.ucd_desc.bConfigurationValue;
-+
-+ if (ucd.ucd_desc.bConfigurationValue != 1)
-+ continue;
-+
-+ uid.uid_config_index = USB_CURRENT_CONFIG_INDEX;
-+ uid.uid_interface_index = 0;
-+ uid.uid_alt_index = USB_CURRENT_ALT_INDEX;
-+
-+ if (ioctl(fd, USB_GET_INTERFACE_DESC, &uid) < 0) {
-+ break;
-+ }
-+
-+ nep = uid.uid_desc.bNumEndpoints;
-+
-+ unsigned int epix;
-+ struct usb_endpoint_desc ued;
-+ for (epix = 0; epix < nep; epix++) {
-+ ued.ued_config_index = USB_CURRENT_CONFIG_INDEX;
-+ ued.ued_interface_index = 0;
-+ ued.ued_alt_index = USB_CURRENT_ALT_INDEX;
-+ ued.ued_endpoint_index = epix;
-+ if (ioctl(fd, USB_GET_ENDPOINT_DESC, &ued) < 0) {
-+ break;
-+ }
-+
-+ const unsigned int ad = ued.ued_desc.bEndpointAddress;
-+ usbd->EPINFO(ad).valid = 1;
-+ usbd->EPINFO(ad).addr = ad;
-+ usbd->EPINFO(ad).packetsize = UGETW(ued.ued_desc.wMaxPacketSize);
-+ usbd->EPINFO(ad).type = ued.ued_desc.bmAttributes & IUSB_ENDPOINT_TYPE_MASK;
-+ usbd->EPINFO(ad).interface = uid.uid_desc.bInterfaceNumber;
-+ usbd->EPINFO(ad).fd = -1;
-+
-+ a1logd(p->log, 6, "set ep ad 0x%x packetsize %d type %d\n",ad,usbd->EPINFO(ad).packetsize,usbd->EPINFO(ad).type);
-+ }
-+ }
-+
- /* Found a known instrument ? */
- if ((itype = inst_usb_match(vid, pid, nep)) != instUnknown) {
- char pname[400], *cp;
-@@ -310,7 +359,6 @@ char **pnames /* List of process names
- if (p->is_open)
- p->close_port(p);
-
--#ifdef NEVER // ~~99
- /* Make sure the port is open */
- if (!p->is_open) {
- int rv, i, iface;
-@@ -345,12 +393,16 @@ char **pnames /* List of process names
- p->cconfig = 1;
-
- if (p->cconfig != config) {
-+#if 0
- if ((rv = ioctl(p->usbd->fd, USBDEVFS_SETCONFIGURATION, &config)) != 0) {
- a1logd(p->log, 1, "icoms_usb_setconfig failed with %d\n",rv);
- return ICOM_SYS;
- }
- p->cconfig = config;
- a1logd(p->log, 6, "usb_open_port: set config %d OK\n",config);
-+#else
-+ a1logd(p->log, 6, "usb_open_port: set config %d unimplemented\n",config);
-+#endif
- }
-
- /* We're done */
-@@ -363,6 +415,7 @@ char **pnames /* List of process names
- /* Claim all the interfaces */
- for (iface = 0; iface < p->nifce; iface++) {
-
-+#if 0
- if ((rv = ioctl(p->usbd->fd, USBDEVFS_CLAIMINTERFACE, &iface)) < 0) {
- struct usbdevfs_getdriver getd;
- getd.interface = iface;
-@@ -387,6 +440,30 @@ char **pnames /* List of process names
- return ICOM_SYS;
- }
- }
-+#endif
-+ }
-+
-+ char epdpath[33];
-+ snprintf(epdpath, sizeof(epdpath), "%s.%02d", p->usbd->dpath, 0);
-+ int fd;
-+ fd = open(epdpath, O_RDWR);
-+ p->ep[0].fd = fd;
-+
-+ for (int i = 1; i < 16; i++) {
-+ int flg;
-+ if (p->ep[i].valid && p->ep[i+16].valid)
-+ flg = O_RDWR;
-+ else if (p->ep[i].valid)
-+ flg = O_WRONLY;
-+ else if (p->ep[i+16].valid)
-+ flg = O_RDONLY;
-+ else
-+ continue;
-+
-+ snprintf(epdpath, sizeof(epdpath), "%s.%02d", p->usbd->dpath, i);
-+ int fd = open(epdpath, flg);
-+
-+ p->ep[i].fd = p->ep[i+16].fd = fd;
- }
-
- /* Clear any errors. */
-@@ -408,25 +485,10 @@ char **pnames /* List of process names
- p->rd_qa = 8;
- a1logd(p->log, 8, "usb_open_port: 'serial' read quanta = packet size = %d\n",p->rd_qa);
-
-- /* Start the reaper thread to handle URB completions */
-- if ((rv = pipe(p->usbd->sd_pipe)) < 0) {
-- a1loge(p->log, ICOM_SYS, "usb_open_port: creat pipe failed with %d\n",rv);
-- return ICOM_SYS;
-- }
-- pthread_mutex_init(&p->usbd->lock, NULL);
--
-- p->usbd->running = 1;
-- if ((rv = pthread_create(&p->usbd->thread, NULL, urb_reaper, (void*)p)) < 0) {
-- p->usbd->running = 0;
-- a1loge(p->log, ICOM_SYS, "usb_open_port: creating urb reaper thread failed with %s\n",rv);
-- return ICOM_SYS;
-- }
--
- p->is_open = 1;
- a1logd(p->log, 8, "usb_open_port: USB port is now open\n");
- }
-
--#endif // ~~99
- /* Install the cleanup signal handlers, and add to our cleanup list */
- usb_install_signal_handlers(p);
-
-@@ -445,88 +507,23 @@ static int icoms_usb_transaction(
- int length,
- unsigned int timeout /* In msec */
- ) {
-- int type;
- int remlen;
- unsigned char *bp;
-- int xlength = 0;
-+ ssize_t xlength = 0;
- int i;
- int reqrv = ICOM_OK;
-
--#ifdef NEVER // ~~99
- in_usb_rw++;
- a1logd(p->log, 8, "icoms_usb_transaction: req type 0x%x ep 0x%x size %d\n",ttype,endpoint,length);
-
-- if (!p->usbd->running) {
-- in_usb_rw--;
-- a1logv(p->log, 1, "icoms_usb_transaction: reaper thread is not running\n");
-- return ICOM_SYS;
-- }
-+ /* XXX USB_SET_TIMEOUT */
-
-- /* Translate icoms transfer type of Linux */
-- switch (ttype) {
-- case icom_usb_trantype_command:
-- type = USBDEVFS_URB_TYPE_CONTROL;
-- break;
-- case icom_usb_trantype_interrutpt:
-- type = USBDEVFS_URB_TYPE_INTERRUPT;
-- break;
-- case icom_usb_trantype_bulk:
-- type = USBDEVFS_URB_TYPE_BULK;
-- break;
-- }
-+ if ((endpoint & IUSB_ENDPOINT_DIR_MASK) == IUSB_ENDPOINT_OUT)
-+ xlength = write(p->ep[endpoint&0xf].fd, buffer, length);
-+ else
-+ xlength = read(p->ep[endpoint&0xf].fd, buffer, length);
-
-- /* Setup the icom req and urbs */
-- req.urbs = NULL;
-- pthread_mutex_init(&req.lock, NULL);
-- pthread_cond_init(&req.cond, NULL);
--
-- /* Linux historically only copes with 16384 length urbs, */
-- /* so break up longer requests into multiple urbs */
--
-- req.cancelled = 0;
-- req.nourbs = req.nurbs = (length + (1 << 14)-1) >> 14;
-- if ((req.urbs = (usbio_urb *)calloc(sizeof(usbio_urb), req.nourbs)) == NULL) {
-- in_usb_rw--;
-- a1loge(p->log, ICOM_SYS, "icoms_usb_transaction: control transfer too big! (%d)\n",length);
-- return ICOM_SYS;
-- }
--
-- bp = buffer;
-- remlen = length;
-- for (i = 0; i < req.nurbs; i++) {
-- req.urbs[i].req = &req;
-- req.urbs[i].urbno = i;
-- /* Setup Linux URB */
-- req.urbs[i].urb.usercontext = &req.urbs[i];
-- req.urbs[i].urb.type = type;
-- if (type != USBDEVFS_URB_TYPE_CONTROL)
-- req.urbs[i].urb.endpoint = endpoint;
-- if (remlen > 16384)
-- req.urbs[i].urb.buffer_length = 16384;
-- else
-- req.urbs[i].urb.buffer_length = remlen;
-- req.urbs[i].urb.buffer = (void *)bp;
-- remlen -= req.urbs[i].urb.buffer_length;
-- bp += req.urbs[i].urb.buffer_length;
-- req.urbs[i].urb.status = -EINPROGRESS;
-- }
--a1logd(p->log, 8, "icoms_usb_transaction: reset req %p nourbs to %d\n",&req,req.nourbs);
--
-- /* Add our request to the req list so that it can be cancelled on reap failure */
-- pthread_mutex_lock(&p->usbd->lock);
-- req.next = p->usbd->reqs;
-- p->usbd->reqs = &req;
-- pthread_mutex_unlock(&p->usbd->lock);
--
-- /* submit the URBs */
-- for (i = 0; i < req.nurbs; i++) {
-- if ((rv = ioctl(p->usbd->fd, USBDEVFS_SUBMITURB, &req.urbs[i].urb)) < 0) {
-- a1logd(p->log, 1, "coms_usb_transaction: Submitting urb to fd %d failed with %d\n",p->usbd->fd, rv);
-- req.urbs[i].urb.status = ICOM_SYS; /* Mark it as failed to submit */
-- req.nourbs--;
-- }
-- }
--
-+#if 0
- if (cancelt != NULL) {
- amutex_lock(cancelt->cmtx);
- cancelt->hcancel = (void *)&req;
-@@ -534,85 +531,7 @@ a1logd(p->log, 8, "icoms_usb_transaction
- amutex_unlock(cancelt->cond); /* Signal any thread waiting for IO start */
- amutex_unlock(cancelt->cmtx);
- }
--
-- /* Wait for the reaper to wake us, or for a timeout, */
-- /* or for the reaper to die. */
-- pthread_mutex_lock(&req.lock);
-- if (req.nourbs > 0) {
-- struct timeval tv;
-- struct timespec ts;
--
-- // this is unduly complicated...
-- gettimeofday(&tv, NULL);
-- ts.tv_sec = tv.tv_sec + timeout/1000;
-- ts.tv_nsec = (tv.tv_usec + (timeout % 1000) * 1000) * 1000L;
-- if (ts.tv_nsec > 1000000000L) {
-- ts.tv_nsec -= 1000000000L;
-- ts.tv_sec++;
-- }
--
-- for(;;) { /* Ignore spurious wakeups */
-- if ((rv = pthread_cond_timedwait(&req.cond, &req.lock, &ts)) != 0) {
-- if (rv != ETIMEDOUT) {
-- pthread_mutex_unlock(&req.lock);
-- a1logd(p->log, 1, "coms_usb_transaction: pthread_cond_timedwait failed with %d\n",rv);
-- rv = ICOM_SYS;
-- goto done;
-- }
--
-- /* Timed out - cancel the remaining URB's */
-- a1logd(p->log, 8, "coms_usb_transaction: time out - cancel remaining URB's\n");
-- reqrv = ICOM_TO;
-- if (!req.cancelled && (rv = cancel_req(p, &req, -1)) != ICOM_OK) {
-- pthread_mutex_unlock(&req.lock);
-- reqrv = ICOM_SYS;
-- /* Since cancelling failed, we can't wait for them to be reaped */
-- goto done;
-- }
--
-- /* Wait for the cancelled URB's to be reaped */
-- for (;req.nourbs > 0;) { /* Ignore spurious wakeups */
-- if ((rv = pthread_cond_wait(&req.cond, &req.lock)) != 0) {
-- pthread_mutex_unlock(&req.lock);
-- a1logd(p->log, 1, "coms_usb_transaction: pthread_cond_wait failed with %d\n",rv);
-- reqrv = ICOM_SYS;
-- /* Waiting for reap failed, so give up */
-- goto done;
-- }
-- }
-- } else {
-- a1logd(p->log, 8, "coms_usb_transaction: reap - %d left\n",req.nourbs);
-- }
-- if (req.nourbs <= 0)
-- break; /* All urbs's are done */
-- }
-- }
-- pthread_mutex_unlock(&req.lock);
--
-- /* Compute the overall result by going through the urbs. */
-- for (i = 0; i < req.nurbs; i++) {
-- int stat = req.urbs[i].urb.status;
-- xlength += req.urbs[i].urb.actual_length;
--
-- if (stat == ICOM_SYS) { /* Submit or cancel failed */
-- reqrv = ICOM_SYS;
-- } else if (reqrv == ICOM_OK && stat < 0 && stat != -ECONNRESET) { /* Error result */
-- if ((endpoint & IUSB_ENDPOINT_DIR_MASK) == IUSB_ENDPOINT_OUT)
-- reqrv = ICOM_USBW;
-- else
-- reqrv = ICOM_USBR;
-- } else if (reqrv == ICOM_OK && stat == -ECONNRESET) { /* Cancelled */
-- reqrv = ICOM_CANC;
-- } else if (reqrv == ICOM_OK
-- && req.urbs[i].urb.actual_length < req.urbs[i].urb.buffer_length) {
-- /* Disregard any following urb's status - they are probably cancelled */
-- break;
-- }
-- /* reqrv == ICOM_TO will ignore urb status */
-- }
--
-- if (ttype == icom_usb_trantype_command)
-- xlength += IUSB_REQ_HEADER_SIZE; /* Account for header - linux doesn't */
-+#endif
-
- /* requested size wasn't transferred ? */
- if (reqrv == ICOM_OK && xlength != length)
-@@ -621,6 +540,7 @@ a1logd(p->log, 8, "icoms_usb_transaction
- if (transferred != NULL)
- *transferred = xlength;
-
-+#if 0
- done:;
- if (cancelt != NULL) {
- amutex_lock(cancelt->cmtx);
-@@ -630,20 +550,7 @@ done:;
- cancelt->state = 2;
- amutex_unlock(cancelt->cmtx);
- }
--
-- /* Remove our request from the list */
-- pthread_mutex_lock(&p->usbd->lock);
-- preq = &p->usbd->reqs;
-- while (*preq != &req && *preq != NULL) /* Find it */
-- preq = &((*preq)->next);
-- if (*preq != NULL)
-- *preq = (*preq)->next;
-- pthread_mutex_unlock(&p->usbd->lock);
--
-- if (req.urbs != NULL)
-- free(req.urbs);
-- pthread_cond_destroy(&req.cond);
-- pthread_mutex_destroy(&req.lock);
-+#endif
-
- if (in_usb_rw < 0)
- exit(0);
-@@ -651,7 +558,6 @@ done:;
- in_usb_rw--;
-
- a1logd(p->log, 8, "coms_usb_transaction: returning err 0x%x and %d bytes\n",reqrv, xlength);
--#endif // ~~99
-
- return reqrv;
- }
-@@ -666,51 +572,34 @@ int value, int index, unsigned char *byt
- int timeout) {
- int reqrv = ICOM_OK;
- int dirw = (requesttype & IUSB_REQ_DIR_MASK) == IUSB_REQ_HOST_TO_DEV ? 1 : 0;
-- unsigned char *buf;
-+ struct usb_ctl_request ucr;
-
- a1logd(p->log, 8, "icoms_usb_control_msg: type 0x%x req 0x%x size %d\n",requesttype,request,size);
-
--#ifdef NEVER // ~~99
-- /* Allocate a buffer for the ctrl header + payload */
-- if ((buf = calloc(1, IUSB_REQ_HEADER_SIZE + size)) == NULL) {
-- a1loge(p->log, ICOM_SYS, "icoms_usb_control_msg: calloc failed\n");
-- return ICOM_SYS;
-- }
--
-+ ucr.ucr_addr = 0;
- /* Setup the control header */
-- buf[0] = requesttype;
-- buf[1] = request;
-- short2buf(buf + 2, value);
-- short2buf(buf + 4, index);
-- short2buf(buf + 6, size);
--
-- /* If it's a write, copy the write data into the buffer */
-- if (dirw)
-- memcpy(buf + IUSB_REQ_HEADER_SIZE, bytes, size);
--
-- reqrv = icoms_usb_transaction(p, NULL, transferred, icom_usb_trantype_command,
-- dirw ? 0x80 : 0x00, buf, IUSB_REQ_HEADER_SIZE + size, timeout);
--
-- /* If read, copy the data back */
-- if (!dirw)
-- memcpy(bytes, buf + IUSB_REQ_HEADER_SIZE, size);
-+ ucr.ucr_request.bmRequestType = requesttype;
-+ ucr.ucr_request.bRequest = request;
-+ USETW(ucr.ucr_request.wValue, value);
-+ USETW(ucr.ucr_request.wIndex, index);
-+ USETW(ucr.ucr_request.wLength, size);
-+ ucr.ucr_data = bytes;
-+ ucr.ucr_flags = USBD_SHORT_XFER_OK;
-+ ucr.ucr_actlen = 0;
-
-- if (transferred != NULL) /* Adjust for header size requested */
-- *transferred -= IUSB_REQ_HEADER_SIZE;
-+ /* XXX USB_SET_TIMEOUT */
-
-- free(buf);
-+ if (ioctl(p->ep[0].fd, USB_DO_REQUEST, &ucr) < 0)
-+ return ICOM_SYS; /* XXX */
-+
-+ if (transferred != NULL)
-+ *transferred = ucr.ucr_actlen;
-
--#endif // ~~99
- a1logd(p->log, 8, "icoms_usb_control_msg: returning err 0x%x and %d bytes\n",reqrv, *transferred);
- return reqrv;
- }
-
- /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
--/* Time out error return value */
--
--#define USBIO_ERROR_TIMEOUT -ETIMEDOUT
--
--/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-
- /* Cancel i/o in another thread */
- int icoms_usb_cancel_io(
-@@ -718,8 +607,9 @@ int icoms_usb_cancel_io(
- usb_cancelt *cancelt
- ) {
- int rv = ICOM_OK;
--#ifdef NEVER // ~~99
-+
- a1logd(p->log, 8, "icoms_usb_cancel_io called\n");
-+#ifdef NEVER // ~~99
- usb_lock_cancel(cancelt);
- if (cancelt->hcancel != NULL)
- rv = cancel_req(p, (usbio_req *)cancelt->hcancel, -1);
-@@ -740,6 +630,8 @@ int icoms_usb_resetep(
- ) {
- int rv = ICOM_OK;
-
-+ a1logd(p->log, 1, "icoms_usb_resetep unimplemented with %d\n",rv);
-+
- #ifdef NEVER // ~~99
- if ((rv = ioctl(p->usbd->fd, USBDEVFS_RESETEP, &ep)) != 0) {
- a1logd(p->log, 1, "icoms_usb_resetep failed with %d\n",rv);
-@@ -757,6 +649,8 @@ int icoms_usb_clearhalt(
- ) {
- int rv = ICOM_OK;
-
-+ a1logd(p->log, 1, "icoms_usb_clearhalt unimplemented with %d\n",rv);
-+
- #ifdef NEVER // ~~99
- if ((rv = ioctl(p->usbd->fd, USBDEVFS_CLEAR_HALT, &ep)) != 0) {
- a1logd(p->log, 1, "icoms_usb_clearhalt failed with %d\n",rv);
Home |
Main Index |
Thread Index |
Old Index