diff -urN /usr/ports/comms/gsmlib/Makefile comms/gsmlib/Makefile --- /usr/ports/comms/gsmlib/Makefile Mon Aug 16 22:36:26 2004 +++ comms/gsmlib/Makefile Wed Aug 18 22:31:23 2004 @@ -15,11 +15,11 @@ MAINTAINER= ports@FreeBSD.org COMMENT= A library to access GSM mobile phones through GSM modems +USE_GNOME= gnometarget lthack USE_GETOPT_LONG= yes USE_REINPLACE= yes USE_GMAKE= yes USE_INC_LIBTOOL_VER= 13 -CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" INSTALLS_SHLIB= yes @@ -31,22 +31,16 @@ ${PTHREAD_CFLAGS} LDFLAGS= -L${LOCALBASE}/lib ${PTHREAD_LIBS} -.if !defined(WITHOUT_NLS) +.if defined(WITHOUT_NLS) +CONFIGURE_ARGS+= --disable-nls +PLIST_SUB+= NLS="@comment " +.else USE_GETTEXT= yes PLIST_SUB+= NLS="" -.else -CONFIGURE_ARGS+=--disable-nls -PLIST_SUB+= NLS="@comment " -.endif - -.include - -.if ${OSVERSION} >= 502126 -BROKEN= "Does not compile with gcc 3.4.2" .endif post-patch: @${GREP} -lR "" ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e \ 's|||g' -.include +.include diff -urN /usr/ports/comms/gsmlib/files/patch-configure comms/gsmlib/files/patch-configure --- /usr/ports/comms/gsmlib/files/patch-configure Sat Jan 4 05:13:14 2003 +++ comms/gsmlib/files/patch-configure Thu Jan 1 09:00:00 1970 @@ -1,10 +0,0 @@ ---- configure.orig Thu Oct 17 05:23:09 2002 -+++ configure Sat Nov 30 07:16:22 2002 -@@ -7400,6 +7400,7 @@ - - # This can be used to rebuild libtool when needed - LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" -+$ac_aux_dir/ltconfig $LIBTOOL_DEPS - - # Always use our own libtool. - LIBTOOL='$(SHELL) $(top_builddir)/libtool' diff -urN /usr/ports/comms/gsmlib/files/patch-gsmlib::gsm_map_key.h comms/gsmlib/files/patch-gsmlib::gsm_map_key.h --- /usr/ports/comms/gsmlib/files/patch-gsmlib::gsm_map_key.h Thu Jan 1 09:00:00 1970 +++ comms/gsmlib/files/patch-gsmlib::gsm_map_key.h Wed Aug 18 22:19:43 2004 @@ -0,0 +1,34 @@ +--- gsmlib/gsm_map_key.h.orig Wed May 15 04:38:12 2002 ++++ gsmlib/gsm_map_key.h Wed Aug 18 22:19:20 2004 +@@ -25,6 +25,16 @@ + + // wrapper for map key, can access Sortedtore to get sortOrder() + ++ template class MapKey; ++ ++ // compare two keys ++ template ++ extern bool operator<(const MapKey &x, ++ const MapKey &y); ++ template ++ extern bool operator==(const MapKey &x, ++ const MapKey &y); ++ + template class MapKey + { + SortedStore &_myStore; // my store +@@ -61,14 +71,6 @@ + const MapKey &y); + }; + +- // compare two keys +- template +- extern bool operator<(const MapKey &x, +- const MapKey &y); +- template +- extern bool operator==(const MapKey &x, +- const MapKey &y); +- + // MapKey members + + template diff -urN /usr/ports/comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc --- /usr/ports/comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc Fri Jul 18 13:02:18 2003 +++ comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc Wed Aug 18 01:27:46 2004 @@ -1,10 +1,84 @@ ---- gsmlib/gsm_unix_serial.cc.orig Thu Jul 17 20:44:42 2003 -+++ gsmlib/gsm_unix_serial.cc Thu Jul 17 20:44:54 2003 -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - #include +--- gsmlib/gsm_unix_serial.cc.orig Sun Sep 22 20:51:10 2002 ++++ gsmlib/gsm_unix_serial.cc Wed Aug 18 01:27:08 2004 +@@ -20,6 +20,7 @@ #include #include + #include ++#include + #include + #include + #include +@@ -178,11 +179,15 @@ + + // switch off non-blocking mode + int fdFlags; +- if ((fdFlags = fcntl(_fd, F_GETFL)) == -1) ++ if ((fdFlags = fcntl(_fd, F_GETFL)) == -1) { ++ close(_fd); + throwModemException(_("getting file status flags failed")); ++ } + fdFlags &= ~O_NONBLOCK; +- if (fcntl(_fd, F_SETFL, fdFlags) == -1) ++ if (fcntl(_fd, F_SETFL, fdFlags) == -1) { ++ close(_fd); + throwModemException(_("switching of non-blocking mode failed")); ++ } + + long int saveTimeoutVal = _timeoutVal; + _timeoutVal = 3; +@@ -194,17 +199,22 @@ + + // toggle DTR to reset modem + int mctl = TIOCM_DTR; +- if (ioctl(_fd, TIOCMBIC, &mctl) < 0) ++ if (ioctl(_fd, TIOCMBIC, &mctl) < 0) { ++ close(_fd); + throwModemException(_("clearing DTR failed")); ++ } + // the waiting time for DTR toggling is increased with each loop + usleep(holdoff[initTries]); +- if (ioctl(_fd, TIOCMBIS, &mctl) < 0) ++ if (ioctl(_fd, TIOCMBIS, &mctl) < 0) { ++ close(_fd); + throwModemException(_("setting DTR failed")); +- ++ } + // get line modes +- if (tcgetattr(_fd, &t) < 0) ++ if (tcgetattr(_fd, &t) < 0) { ++ close(_fd); + throwModemException(stringPrintf(_("tcgetattr device '%s'"), + device.c_str())); ++ } + + // set line speed + cfsetispeed(&t, lineSpeed); +@@ -229,9 +239,11 @@ + t.c_cc[VSUSP] = 0; + + // write back +- if(tcsetattr (_fd, TCSANOW, &t) < 0) ++ if(tcsetattr (_fd, TCSANOW, &t) < 0) { ++ close(_fd); + throwModemException(stringPrintf(_("tcsetattr device '%s'"), + device.c_str())); ++ } + // the waiting time for writing to the ME/TA is increased with each loop + usleep(holdoff[initTries]); + +@@ -279,11 +291,14 @@ + catch (GsmException &e) + { + _timeoutVal = saveTimeoutVal; +- if (initTries == 0) ++ if (initTries == 0) { ++ close(_fd); + throw e; ++ } + } + } + // no response after 3 tries ++ close(_fd); + throw GsmException(stringPrintf(_("reset modem failed '%s'"), + device.c_str()), OtherError); + }