- Update to 2.8.17.

- Add LICENSE, support staging, and convert LIB_DEPENDS to new format.
- Remove archivers/unzip dependency.
- Remove devel/gmake dependency.  bmake works fine now.
- Remove ONLY_FOR_ARCHS.  I believe it is no longer true.
- Do not add "-fPIC" to CFLAGS for amd64.
- Prefer CPPFLAGS over CFLAGS.
- Consistently use (b)yacc from base.  When devel/bison is installed,
the configure script automatically uses it instead of yacc from base.
- Use OPTIONS_RADIO instead of OPTIONS_DEFINE for SSL selection to
avoid user confusion, i. e., selecting both GNUTLS and OpenSSL should
not be allowed.
- Create a symbolic link instead of a hard link for stdsoap2.cpp.
This commit is contained in:
Jung-uk Kim 2014-01-16 17:32:30 +00:00
parent eaf8abf742
commit 3c6c44b9f7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=339942
8 changed files with 28 additions and 199 deletions

View File

@ -2,58 +2,50 @@
# $FreeBSD$
PORTNAME= gsoap
PORTVERSION= 2.8.10
PORTREVISION= 2
PORTVERSION= 2.8.17
CATEGORIES= devel
MASTER_SITES= SF/${PORTNAME}2/gSOAP
DISTNAME= ${PORTNAME}_${PORTVERSION}
EXTRACT_SUFX= .zip
MAINTAINER= ports@FreeBSD.org
COMMENT= Generator Tools for Coding SOAP/XML Web Services in C and C++
OPTIONS_DEFINE= OPENSSL GNUTLS
OPTIONS_DEFAULT= OPENSSL
LICENSE= GPLv2
USE_ZIP= yes
GNU_CONFIGURE= yes
USES= pathfix
MAKE_JOBS_UNSAFE= yes
CFLAGS+= -DWSDL_TYPEMAP_FILE=\\\"${DATADIR}/WS/typemap.dat\\\" \
CONFIGURE_ENV= LEX=flex YACC=yacc
CPPFLAGS+= -DWSDL_TYPEMAP_FILE=\\\"${DATADIR}/WS/typemap.dat\\\" \
-DSOAPCPP2_IMPORT_PATH=\\\"${DATADIR}/import\\\"
.if defined(.PARSEDIR)
USE_GMAKE= yes
.endif
GNU_CONFIGURE= yes
MAKE_JOBS_UNSAFE= yes
USES= pathfix
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}
ONLY_FOR_ARCHS= i386 amd64
OPTIONS_RADIO= SSL
OPTIONS_RADIO_SSL= GNUTLS OPENSSL
OPTIONS_DEFAULT= OPENSSL
NO_STAGE= yes
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64"
CFLAGS+= -fPIC
.endif
.if ! ${PORT_OPTIONS:MOPENSSL} && ! ${PORT_OPTIONS:MGNUTLS}
CONFIGURE_ARGS+=--disable-ssl
.endif
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MGNUTLS}
LIB_DEPENDS+= gnutls.47:${PORTSDIR}/security/gnutls \
gcrypt:${PORTSDIR}/security/libgcrypt \
gpg-error.0:${PORTSDIR}/security/libgpg-error
CONFIGURE_ARGS+=--enable-gnutls
LIB_DEPENDS= libgnutls.so:${PORTSDIR}/security/gnutls \
libgcrypt.so:${PORTSDIR}/security/libgcrypt \
libgpg-error.so:${PORTSDIR}/security/libgpg-error
CONFIGURE_ARGS= --enable-gnutls
LDFLAGS+= -L${LOCALBASE}/lib
.elif ${PORT_OPTIONS:MOPENSSL}
CONFIGURE_ARGS= --enable-ssl
.else
CONFIGURE_ARGS= --disable-ssl
.endif
post-patch:
${REINPLACE_CMD} -e 's|sys/timeb.h||' ${WRKSRC}/${CONFIGURE_SCRIPT}
${REINPLACE_CMD} -e 's| sys/timeb.h | |' ${WRKSRC}/${CONFIGURE_SCRIPT}
post-install:
@${MKDIR} ${PREFIX}/lib/gsoap
@${CP} ${WRKSRC}/gsoap/stdsoap2.c ${PREFIX}/lib/gsoap
@${LN} -f ${PREFIX}/lib/gsoap/stdsoap2.c ${PREFIX}/lib/gsoap/stdsoap2.cpp
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/gsoap
@${INSTALL_DATA} ${WRKSRC}/gsoap/stdsoap2.c \
${STAGEDIR}${PREFIX}/lib/gsoap
@${LN} -fs stdsoap2.c ${STAGEDIR}${PREFIX}/lib/gsoap/stdsoap2.cpp
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (gsoap_2.8.10.zip) = fddfd59ba9b0236daa59d1ced9149cb827d446e0a24b85395ed23c10858cabfb
SIZE (gsoap_2.8.10.zip) = 19156778
SHA256 (gsoap_2.8.17.zip) = 30a53785708c842694227753badda17010cac64efd43f7a4f2b0e8de3de68f28
SIZE (gsoap_2.8.17.zip) = 20695905

View File

@ -1,39 +0,0 @@
--- gsoap/stdsoap2.c.orig
+++ gsoap/stdsoap2.c
@@ -809,7 +809,7 @@ soap_flush_raw(struct soap *soap, const char *s, size_t n)
#ifndef WITH_LEANER
if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
{ char t[16];
- sprintf(t, "\r\n%lX\r\n" + (soap->chunksize ? 0 : 2), (unsigned long)n);
+ sprintf(t, &"\r\n%lX\r\n"[soap->chunksize ? 0 : 2], (unsigned long)n);
DBGMSG(SENT, t, strlen(t));
if ((soap->error = soap->fsend(soap, t, strlen(t))))
return soap->error;
@@ -9534,7 +9534,8 @@ soap_element_start_end_out(struct soap *soap, const char *tag)
}
for (np = soap->nlist; np; np = np->next)
{ if (np->index == 1 && np->ns)
- { sprintf(soap->tmpbuf, *(np->id) ? "xmlns:%s" : "xmlns", np->id);
+ {
+ sprintf(soap->tmpbuf, *(np->id) ? "xmlns:%s" : "xmlns%s", *(np->id) ? np->id : "");
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enabling utilized binding (level=%u) %s='%s'\n", np->level, soap->tmpbuf, np->ns));
soap_set_attr(soap, soap->tmpbuf, np->ns, 1);
np->index = 2;
@@ -11635,7 +11636,7 @@ SOAP_FMAC1
const char*
SOAP_FMAC2
soap_LONG642s(struct soap *soap, LONG64 n)
-{ sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, n);
+{ sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, (long long) (n));
return soap->tmpbuf;
}
#endif
@@ -12453,7 +12454,7 @@ SOAP_FMAC1
const char*
SOAP_FMAC2
soap_ULONG642s(struct soap *soap, ULONG64 n)
-{ sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, n);
+{ sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, (unsigned long long) (n));
return soap->tmpbuf;
}
#endif

View File

@ -1,39 +0,0 @@
--- gsoap/stdsoap2.cpp.orig
+++ gsoap/stdsoap2.cpp
@@ -809,7 +809,7 @@ soap_flush_raw(struct soap *soap, const char *s, size_t n)
#ifndef WITH_LEANER
if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
{ char t[16];
- sprintf(t, "\r\n%lX\r\n" + (soap->chunksize ? 0 : 2), (unsigned long)n);
+ sprintf(t, &"\r\n%lX\r\n"[soap->chunksize ? 0 : 2], (unsigned long)n);
DBGMSG(SENT, t, strlen(t));
if ((soap->error = soap->fsend(soap, t, strlen(t))))
return soap->error;
@@ -9534,7 +9534,8 @@ soap_element_start_end_out(struct soap *soap, const char *tag)
}
for (np = soap->nlist; np; np = np->next)
{ if (np->index == 1 && np->ns)
- { sprintf(soap->tmpbuf, *(np->id) ? "xmlns:%s" : "xmlns", np->id);
+ {
+ sprintf(soap->tmpbuf, *(np->id) ? "xmlns:%s" : "xmlns%s", *(np->id) ? np->id : "");
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Enabling utilized binding (level=%u) %s='%s'\n", np->level, soap->tmpbuf, np->ns));
soap_set_attr(soap, soap->tmpbuf, np->ns, 1);
np->index = 2;
@@ -11635,7 +11636,7 @@ SOAP_FMAC1
const char*
SOAP_FMAC2
soap_LONG642s(struct soap *soap, LONG64 n)
-{ sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, n);
+{ sprintf(soap->tmpbuf, SOAP_LONG_FORMAT, (long long) (n));
return soap->tmpbuf;
}
#endif
@@ -12453,7 +12454,7 @@ SOAP_FMAC1
const char*
SOAP_FMAC2
soap_ULONG642s(struct soap *soap, ULONG64 n)
-{ sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, n);
+{ sprintf(soap->tmpbuf, SOAP_ULONG_FORMAT, (unsigned long long) (n));
return soap->tmpbuf;
}
#endif

View File

@ -1,25 +0,0 @@
--- gsoap/stdsoap2.h.orig 2008-01-27 22:02:36.000000000 +0100
+++ gsoap/stdsoap2.h 2008-07-04 12:35:55.000000000 +0200
@@ -314,9 +314,6 @@
# define HAVE_STRRCHR
# define HAVE_STRTOD
# define HAVE_SSCANF
-# define HAVE_STRTOD_L
-# define HAVE_SSCANF_L
-# define HAVE_SPRINTF_L
# define HAVE_STRTOL
# define HAVE_STRTOUL
# define HAVE_STRTOLL
@@ -1462,9 +1465,9 @@
# endif
# ifndef DBGFUN
# define DBGFUN(FNAME) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s()\n", __FILE__, __LINE__, FNAME))
-# define DBGFUN1(FNAME, FMT, ARG) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT")\n", __FILE__, __LINE__, FNAME, (ARG)))
-# define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT1", "FMT2")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2)))
-# define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT1", "FMT2", "FMT3")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2), (ARG3)))
+# define DBGFUN1(FNAME, FMT, ARG) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT ")\n", __FILE__, __LINE__, FNAME, (ARG)))
+# define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT1 ", " FMT2 ")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2)))
+# define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT1 ", " FMT2 ", " FMT3 ")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2), (ARG3)))
# endif
# ifndef DBGHEX
# define DBGHEX(DBGFILE, MSG, LEN) \

View File

@ -1,11 +0,0 @@
--- gsoap/wsdl/service.cpp.orig
+++ gsoap/wsdl/service.cpp
@@ -2281,7 +2281,7 @@ static void ident()
char tmp[256];
int i;
strftime(tmp, 256, "%Y-%m-%d %H:%M:%S GMT", gmtime(p));
- fprintf(stream, "/* %s\n Generated by wsdl2h "WSDL2H_VERSION" from ", outfile?outfile:"");
+ fprintf(stream, "/* %s\n Generated by wsdl2h " WSDL2H_VERSION " from ", outfile?outfile:"");
if (infiles)
{ for (i = 0; i < infiles; i++)
fprintf(stream, "%s ", infile[i]);

View File

@ -1,29 +0,0 @@
--- gsoap/wsdl/types.cpp.orig
+++ gsoap/wsdl/types.cpp
@@ -1206,7 +1206,7 @@ void Types::gen(const char *URI, const char *name, const xs__simpleType& simpleT
&& simpleType.restriction->minExclusive
&& simpleType.restriction->minExclusive->value
&& is_integer(simpleType.restriction->minExclusive->value))
- fprintf(stream, " "SOAP_LONG_FORMAT, to_integer(simpleType.restriction->minExclusive->value)+1);
+ fprintf(stream, " " SOAP_LONG_FORMAT, (long long) to_integer(simpleType.restriction->minExclusive->value)+1);
if (!anonymous
&& simpleType.restriction->maxLength
&& simpleType.restriction->maxLength->value)
@@ -1228,7 +1228,7 @@ void Types::gen(const char *URI, const char *name, const xs__simpleType& simpleT
&& simpleType.restriction->maxExclusive
&& simpleType.restriction->maxExclusive->value
&& is_integer(simpleType.restriction->maxExclusive->value))
- fprintf(stream, ":"SOAP_LONG_FORMAT, to_integer(simpleType.restriction->maxExclusive->value)-1);
+ fprintf(stream, ":" SOAP_LONG_FORMAT, (long long) to_integer(simpleType.restriction->maxExclusive->value)-1);
if (!anonymous)
{ fprintf(stream, ";\n");
if (pflag && simpleType.name)
@@ -2974,7 +2974,7 @@ static const char *utf8(char *t, const char *s)
if (c < 0xFC)
c = ((c & 0x03) << 24) | (c1 << 18) | (c2 << 12) | (c3 << 6) | c4;
else
- c = ((c & 0x01) << 30) | (c1 << 24) | (c2 << 18) | (c3 << 12) | (c4 << 6) | *++s & 0x3F;
+ c = ((c & 0x01) << 30) | (c1 << 24) | (c2 << 18) | (c3 << 12) | (c4 << 6) | (*++s & 0x3F);
}
}
}

View File

@ -1,20 +0,0 @@
--- gsoap/wsdl/wsdl2h.cpp.orig
+++ gsoap/wsdl/wsdl2h.cpp
@@ -85,7 +85,7 @@ char *infile[MAXINFILES],
*proxy_host = NULL,
*proxy_userid = NULL,
*proxy_passwd = NULL;
-extern const char
+const char
*mapfile = WSDL_TYPEMAP_FILE,
*import_path = WSDL2H_IMPORT_PATH,
*cwd_path = NULL,
@@ -118,7 +118,7 @@ const char serviceformat[] = "//gsoap %-4s service %s:\t%s %s\n";
const char paraformat[] = " %-35s%s%s%s";
const char anonformat[] = " %-35s%s_%s%s";
-const char copyrightnotice[] = "\n** The gSOAP WSDL/Schema processor for C and C++, wsdl2h release "WSDL2H_VERSION"\n** Copyright (C) 2000-2012 Robert van Engelen, Genivia Inc.\n** All Rights Reserved. This product is provided \"as is\", without any warranty.\n** The wsdl2h tool is released under one of the following two licenses:\n** GPL or the commercial license by Genivia Inc. Use option -l for details.\n\n";
+const char copyrightnotice[] = "\n** The gSOAP WSDL/Schema processor for C and C++, wsdl2h release " WSDL2H_VERSION "\n** Copyright (C) 2000-2012 Robert van Engelen, Genivia Inc.\n** All Rights Reserved. This product is provided \"as is\", without any warranty.\n** The wsdl2h tool is released under one of the following two licenses:\n** GPL or the commercial license by Genivia Inc. Use option -l for details.\n\n";
const char licensenotice[] = "\
--------------------------------------------------------------------------------\n\