ports/104409: [new port] comms/libticables2: TI calculator link cables lib
Tijl Coosemans
tijl at ulyssis.org
Sat Oct 14 13:30:25 UTC 2006
>Number: 104409
>Category: ports
>Synopsis: [new port] comms/libticables2: TI calculator link cables lib
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Oct 14 13:30:23 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Tijl Coosemans
>Release: FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
>Description:
vesion 1.0.0 of libticables2.
(the existing comms/libticables will eventually be removed.)
>How-To-Repeat:
>Fix:
--- libticables2.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# libticables2
# libticables2/files
# libticables2/files/patch-src-bsd-link_ser.c
# libticables2/files/patch-src-bsd-link_gry.c
# libticables2/files/patch-silver
# libticables2/Makefile
# libticables2/distinfo
# libticables2/pkg-descr
# libticables2/pkg-plist
#
echo c - libticables2
mkdir -p libticables2 > /dev/null 2>&1
echo c - libticables2/files
mkdir -p libticables2/files > /dev/null 2>&1
echo x - libticables2/files/patch-src-bsd-link_ser.c
sed 's/^X//' >libticables2/files/patch-src-bsd-link_ser.c << 'END-of-libticables2/files/patch-src-bsd-link_ser.c'
X--- src/bsd/link_ser.c.orig Wed Oct 11 15:11:06 2006
X+++ src/bsd/link_ser.c Wed Oct 11 15:12:04 2006
X@@ -26,6 +26,7 @@
X #endif
X
X #include <stdio.h>
X+#include <stdlib.h>
X #include <string.h>
X
X #include "../ticables.h"
X@@ -39,21 +40,23 @@
X
X static int ser_prepare(CableHandle *h)
X {
X+ int ret;
X+
X switch(h->port)
X {
X- case PORT_1: h->address = 0x3f8; h->device = strdup("/dev/cuaa0");
X+ case PORT_1: h->address = 0x3f8; h->device = strdup("/dev/cuad0");
X break;
X- case PORT_2: h->address = 0x2f8; h->device = strdup("/dev/cuaa1");
X+ case PORT_2: h->address = 0x2f8; h->device = strdup("/dev/cuad1");
X break;
X- case PORT_3: h->address = 0x3e8; h->device = strdup("/dev/cuaa2");
X+ case PORT_3: h->address = 0x3e8; h->device = strdup("/dev/cuad2");
X break;
X- case PORT_4: h->address = 0x3e8; h->device = strdup("/dev/cuaa3");
X+ case PORT_4: h->address = 0x3e8; h->device = strdup("/dev/cuad3");
X break;
X default: return ERR_ILLEGAL_ARG;
X }
X
X // detect stuffs
X- err = check_for_tty(h->device));
X+ ret = check_for_tty(h->device);
X if(ret)
X {
X free(h->device); h->device = NULL;
END-of-libticables2/files/patch-src-bsd-link_ser.c
echo x - libticables2/files/patch-src-bsd-link_gry.c
sed 's/^X//' >libticables2/files/patch-src-bsd-link_gry.c << 'END-of-libticables2/files/patch-src-bsd-link_gry.c'
X--- src/bsd/link_gry.c.orig Wed Oct 11 15:19:24 2006
X+++ src/bsd/link_gry.c Wed Oct 11 16:26:38 2006
X@@ -51,10 +51,10 @@
X
X switch(h->port)
X {
X- case PORT_1: h->address = 0x3f8; h->device = strdup("/dev/cuaa0"); break;
X- case PORT_2: h->address = 0x2f8; h->device = strdup("/dev/cuaa1"); break;
X- case PORT_3: h->address = 0x3e8; h->device = strdup("/dev/cuaa2"); break;
X- case PORT_4: h->address = 0x3e8; h->device = strdup("/dev/cuaa3"); break;
X+ case PORT_1: h->address = 0x3f8; h->device = strdup("/dev/cuad0"); break;
X+ case PORT_2: h->address = 0x2f8; h->device = strdup("/dev/cuad1"); break;
X+ case PORT_3: h->address = 0x3e8; h->device = strdup("/dev/cuad2"); break;
X+ case PORT_4: h->address = 0x3e8; h->device = strdup("/dev/cuad3"); break;
X default: return ERR_ILLEGAL_ARG;
X }
X h->priv2 = (struct termios *)calloc(1, sizeof(struct termios));
X@@ -93,9 +93,15 @@
X termset->c_cflag = CS8 | CLOCAL | CREAD;
X termset->c_lflag = 0;
X #endif
X+ termset->c_cc[VMIN] = 0;
X+ termset->c_cc[VTIME] = h->timeout;
X
X cfsetispeed(termset, B9600);
X cfsetospeed(termset, B9600);
X+ tcsetattr(dev_fd, TCSANOW, termset);
X+
X+ if(tcflush(dev_fd, TCIOFLUSH) == -1)
X+ return ERR_FLUSH_ERROR;
X
X return 0;
X }
X@@ -111,31 +117,18 @@
X
X static int gry_reset(CableHandle *h)
X {
X- uint8_t unused[1024];
X- int n;
X-
X- /* Flush the input */
X- termset->c_cc[VMIN] = 0;
X- termset->c_cc[VTIME] = 0;
X- tcsetattr(dev_fd, TCSANOW, termset);
X- do
X- {
X- n = read(dev_fd, (void *) unused, 1024);
X- } while ((n != 0) && (n != -1));
X-
X- /* and set/restore the timeout */
X- termset->c_cc[VTIME] = h->timeout;
X- tcsetattr(dev_fd, TCSANOW, termset);
X+ if(tcflush(dev_fd, TCIOFLUSH) == -1)
X+ return ERR_FLUSH_ERROR;
X
X return 0;
X }
X
X static int gry_put(CableHandle* h, uint8_t *data, uint32_t len)
X {
X- int err;
X+ ssize_t ret;
X
X- err = write(dev_fd, (void *)data, len);
X- switch (err)
X+ ret = write(dev_fd, (void *)data, len);
X+ switch (ret)
X {
X case -1: //error
X return ERR_WRITE_ERROR;
X@@ -150,19 +143,24 @@
X
X static int gry_get(CableHandle* h, uint8_t *data, uint32_t len)
X {
X- int err;
X+ ssize_t ret;
X+ ssize_t i;
X
X tcdrain(dev_fd); // waits for all output written
X
X- err = read(dev_fd, (void *)data, len);
X- switch (err)
X+ for(i = 0; i < len; )
X {
X- case -1: //error
X- return ERR_READ_ERROR;
X- break;
X- case 0: // timeout
X- return ERR_READ_TIMEOUT;
X- break;
X+ ret = read(dev_fd, (void *)(data+i), len - i);
X+ switch (ret)
X+ {
X+ case -1: //error
X+ return ERR_READ_ERROR;
X+ break;
X+ case 0: // timeout
X+ return ERR_READ_TIMEOUT;
X+ break;
X+ }
X+ i += ret;
X }
X
X return 0;
END-of-libticables2/files/patch-src-bsd-link_gry.c
echo x - libticables2/files/patch-silver
sed 's/^X//' >libticables2/files/patch-silver << 'END-of-libticables2/files/patch-silver'
XIndex: src/ticables.c
X===================================================================
X--- src/ticables.c (revision 2995)
X+++ src/ticables.c (working copy)
X@@ -33,6 +33,9 @@
X #ifdef __LINUX__
X #include <sys/utsname.h>
X #endif
X+#if defined(HAVE_LIBUSB)
X+#include <usb.h>
X+#endif
X
X #include "gettext.h"
X #include "ticables.h"
X@@ -140,6 +143,10 @@
X ticables_info("kernel: %s", buf.release);
X }
X #endif
X+#if defined(HAVE_LIBUSB)
X+ /* init the libusb */
X+ usb_init();
X+#endif
X
X return (++ticables_instance);
X }
XIndex: src/linux/link_slv.c
X===================================================================
X--- src/linux/link_slv.c (revision 2995)
X+++ src/linux/link_slv.c (working copy)
X@@ -245,11 +245,11 @@
X han = usb_open(dev);
X ret = usb_get_string_simple(han, dev->descriptor.iProduct,
X string, sizeof(string));
X+ usb_close(han);
X if (ret > 0)
X return string;
X else
X return "";
X- usb_close(han);
X }
X
X return string;
X@@ -276,7 +276,7 @@
X if(dev->descriptor.idProduct == tigl_infos[i].pid)
X {
X ticables_info(" found <%s> on #%i, version <%x.%02x>",
X- tigl_get_product(dev), j+1,
X+ /*tigl_get_product(dev)*/ "", j+1,
X dev->descriptor.bcdDevice >> 8,
X dev->descriptor.bcdDevice & 0xff);
X
X@@ -296,9 +296,6 @@
X {
X int ret = 0;
X
X- /* init the libusb */
X- usb_init();
X-
X /* find all usb busses on the system */
X ret = usb_find_busses();
X if (ret < 0)
X@@ -480,6 +477,7 @@
X
X static int slv_reset(CableHandle *h)
X {
X+#if !defined(__BSD__)
X /* Reset both endpoints */
X #ifdef SLV_RESET
X TRYC(tigl_reset(uHdl));
X@@ -487,7 +485,7 @@
X TRYC(slv_close(h));
X TRYC(slv_open(h));
X #endif
X-
X+#endif
X return 0;
X }
X
END-of-libticables2/files/patch-silver
echo x - libticables2/Makefile
sed 's/^X//' >libticables2/Makefile << 'END-of-libticables2/Makefile'
X# New ports collection makefile for: libticables2
X# Date created: 11 October 2006
X# Whom: Tijl Coosemans <tijl at ulyssis.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME= libticables2
XPORTVERSION= 1.0.0
XCATEGORIES= comms
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= gtktiemu
XDISTNAME= ${PORTNAME}-20060925
X
XMAINTAINER= tijl at ulyssis.org
XCOMMENT= TI calculator link cables library
X
XLIB_DEPENDS= usb-0.1.8:${PORTSDIR}/devel/libusb
X
XWRKSRC= ${WRKDIR}/libticables
X
XUSE_AUTOTOOLS= libtool:15
XUSE_BZIP2= yes
XUSE_GMAKE= yes
XUSE_GNOME= glib20 gnomehack pkgconfig
XUSE_LDCONFIG= yes
X
X.if !defined(WITHOUT_NLS)
XUSE_GETTEXT= yes
XPLIST_SUB= NLS=""
X.else
XCONFIGURE_ARGS= --disable-nls
XPLIST_SUB= NLS="@comment "
X.endif
X
XCONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include"\
X LDFLAGS="-L${LOCALBASE}/lib"
X
X.include <bsd.port.mk>
END-of-libticables2/Makefile
echo x - libticables2/distinfo
sed 's/^X//' >libticables2/distinfo << 'END-of-libticables2/distinfo'
XMD5 (libticables2-20060925.tar.bz2) = ced32aaebb4ef940f781d20919887a69
XSHA256 (libticables2-20060925.tar.bz2) = 065b8423f7b0f73f46bf8fddb218330bba51d4aabd7585ebb9199623015c58c7
XSIZE (libticables2-20060925.tar.bz2) = 507489
END-of-libticables2/distinfo
echo x - libticables2/pkg-descr
sed 's/^X//' >libticables2/pkg-descr << 'END-of-libticables2/pkg-descr'
XThe ticables library is a library to handle the various TI calculator
Xlink cables.
X
XWWW: http://tilp.info/
X
X- Tijl Coosemans
Xtijl at ulyssis.org
END-of-libticables2/pkg-descr
echo x - libticables2/pkg-plist
sed 's/^X//' >libticables2/pkg-plist << 'END-of-libticables2/pkg-plist'
Xinclude/tilp2/export1.h
Xinclude/tilp2/stdints1.h
Xinclude/tilp2/ticables.h
Xinclude/tilp2/timeout.h
Xlib/libticables2.a
Xlib/libticables2.la
Xlib/libticables2.so
Xlib/libticables2.so.1
Xlibdata/pkgconfig/ticables2.pc
X%%NLS%%share/locale/fr/LC_MESSAGES/libticables2.mo
X at dirrmtry include/tilp2
END-of-libticables2/pkg-plist
exit
--- libticables2.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list