From 77d834b0bff3948041873404c0cee4728a3dcf29 Mon Sep 17 00:00:00 2001 From: krion Date: Wed, 18 Aug 2004 18:15:53 +0000 Subject: Fix build with gcc-3.4 PR: ports/70628 Submitted by: Ports Fury --- comms/gsmlib/Makefile | 18 ++--- comms/gsmlib/files/patch-configure | 10 --- comms/gsmlib/files/patch-gsmlib::gsm_map_key.h | 34 ++++++++ .../gsmlib/files/patch-gsmlib::gsm_unix_serial.cc | 90 ++++++++++++++++++++-- 4 files changed, 122 insertions(+), 30 deletions(-) delete mode 100644 comms/gsmlib/files/patch-configure create mode 100644 comms/gsmlib/files/patch-gsmlib::gsm_map_key.h (limited to 'comms/gsmlib') diff --git a/comms/gsmlib/Makefile b/comms/gsmlib/Makefile index 9c7c60b99f3c..e1a3a055960e 100644 --- a/comms/gsmlib/Makefile +++ b/comms/gsmlib/Makefile @@ -15,11 +15,11 @@ MASTER_SITES= http://www.pxh.de/fs/gsmlib/download/ 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 @@ CPPFLAGS= -I${LOCALBASE}/include -DBROKEN_STRFTIME -DHAVE_DECL_GETOPT \ ${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 --git a/comms/gsmlib/files/patch-configure b/comms/gsmlib/files/patch-configure deleted file mode 100644 index 54f27ec9e860..000000000000 --- a/comms/gsmlib/files/patch-configure +++ /dev/null @@ -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 --git a/comms/gsmlib/files/patch-gsmlib::gsm_map_key.h b/comms/gsmlib/files/patch-gsmlib::gsm_map_key.h new file mode 100644 index 000000000000..18ecc5748151 --- /dev/null +++ b/comms/gsmlib/files/patch-gsmlib::gsm_map_key.h @@ -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 --git a/comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc b/comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc index cbdc195928bb..4dabea9f4fcb 100644 --- a/comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc +++ b/comms/gsmlib/files/patch-gsmlib::gsm_unix_serial.cc @@ -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); + } -- cgit