Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Aug 2004 02:30:12 +0900
From:      KATO Tsuguru <tkato432@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/70628: Update port: comms/gsmlib
Message-ID:  <20040819023012.303158d1.tkato432@yahoo.com>
Resent-Message-ID: <200408181740.i7IHe7aT049998@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         70628
>Category:       ports
>Synopsis:       Update port: comms/gsmlib
>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:   Wed Aug 18 17:40:07 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     KATO Tsuguru
>Release:        FreeBSD 4.10-RELEASE-p2 i386
>Organization:
>Environment:
>Description:
- Fix build on -current after gcc 3.4 import

New file:
files/patch-gsmlib::gsm_map_key.h

Remove file:
files/patch-configure

>How-To-Repeat:
>Fix:

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 <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 502126
-BROKEN=		"Does not compile with gcc 3.4.2"
 .endif
 
 post-patch:
 	@${GREP} -lR "<malloc.h>" ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e \
 		's|<malloc\.h>|<stdlib.h>|g'
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
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 SortedStore> class MapKey;
++  
++  // compare two keys
++  template <class SortedStore>
++    extern bool operator<(const MapKey<SortedStore> &x,
++                          const MapKey<SortedStore> &y);
++  template <class SortedStore>
++    extern bool operator==(const MapKey<SortedStore> &x,
++                           const MapKey<SortedStore> &y);
++  
+   template <class SortedStore> class MapKey
+   {
+     SortedStore &_myStore;   // my store
+@@ -61,14 +71,6 @@
+                        const MapKey<SortedStore> &y);
+   };
+ 
+-  // compare two keys
+-  template <class SortedStore>
+-    extern bool operator<(const MapKey<SortedStore> &x,
+-                          const MapKey<SortedStore> &y);
+-  template <class SortedStore>
+-    extern bool operator==(const MapKey<SortedStore> &x,
+-                           const MapKey<SortedStore> &y);
+-  
+   // MapKey members
+   
+   template <class SortedStore>
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 <gsmlib/gsm_nls.h>
- #include <gsmlib/gsm_unix_serial.h>
- #include <gsmlib/gsm_util.h>
-+#include <assert.h>
- #include <termios.h>
+--- 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 <fcntl.h>
  #include <iostream>
+ #include <strstream>
++#include <cassert>
+ #include <errno.h>
+ #include <stdio.h>
+ #include <unistd.h>
+@@ -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);
+ }
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040819023012.303158d1.tkato432>